Language Reference
This section is generated from the sysml-rs language pack: a machine-readable index of every SysML v2 / KerML language concept, one “card” per concept. The pack is an index over the normative sources, not an authority: every card points at the governing specification clause and paraphrases it — where a card and the specification disagree, the specification wins. Use these pages to find which clause governs a question, then read and cite that clause.
Implementation-support marks (parse / resolve / elaborate / execute) are machine-derived from test evidence in the sysml-rs repository, never hand-written: ✓ means a gate test passed for that axis at the current spec drop, ✗ means a reviewed known limitation, and unknown means no evidence either way — it never means “no”.
Generated from spec drop 2025-04 (327 cards, pack tree 44751e816e61e04c8d799cf5c1adacb6a987bb52073b87794f486eb35e71f8b5).
Categories
- Behavior (51 cards)
- Cases (15 cards)
- Connections (1 cards)
- Expressions (37 cards)
- Implementation Notes (10 cards)
- Standard Library (33 cards)
- Metadata (5 cards)
- Requirements (18 cards)
- State Machines (8 cards)
- Structure (65 cards)
- Validation Rules (76 cards)
- Views (8 cards)
Raw JSON for tools and agents
The pack itself ships with this book as static JSON under language-pack/: manifest.json (spec-drop identity and pinned source hashes), cards/<id>.json (one card per concept), and indexes/ (keywords.json term index, aliases.json alias → card id, dependencies.json one-hop expansion map, cards.jsonl the whole corpus as JSONL). On the published site these resolve as <book-url>/language-pack/manifest.json, <book-url>/language-pack/cards/<id>.json, and so on. The intended lookup pattern: find candidate cards via indexes/keywords.json or indexes/aliases.json, read cards/<id>.json, expand one hop via indexes/dependencies.json, then cite the card’s normative_clauses.
Regenerating
These pages and the raw JSON are generated artifacts — edit the generator, not the pages. From a sibling sysml-rs checkout:
# regenerate the pack (see tools/spec-index/README.md for source fetching)
cargo run -p spec-index -- language-pack
# re-render this section + refresh the shipped JSON (from the book repo)
./tools/render-language-pack.sh
Licensing and attribution
The pack is citation-only by design: no OMG specification prose is reproduced in any card, example, or page — summaries are original paraphrases, and normative content is referenced by document + clause locator. The grammar information (rule names, structure, keyword literals) is derived from the Xtext grammars of the SysML-v2 Pilot Implementation, which is licensed LGPL-3.0-or-later; this notice covers that derivation. Metamodel facets are derived from the OMG-published TTL vocabularies at pinned revisions. These generated pages and the shipped JSON carry the terms above, distinct from the CC-BY-4.0 license of this book’s prose chapters.