This directory contains example SysML v2 models.
The official OMG SysML v2 training examples are not included in this repository.
Download them with:
./scripts/download-training-examples.shThat fetches sysml/src/training from the pinned pilot release
(https://github.com/Systems-Modeling/SysML-v2-Pilot-Implementation) into
sysml-v2-training/, which is gitignored.
Status: the corpus gate's current result is in docs/project/training-examples.md, with the files that still report errors and why.
Each of these is a model and a walkthrough of the commands that exercise it.
| Model | Walkthrough | What it demonstrates |
|---|---|---|
| runtime-showcase/ | runtime-showcase/README.md | what only running a model answers: a recursive mass rollup over a materialized launch vehicle, a delta-v budget with units carried through to an analysis verdict, a reliability product asserted of two missions, a mission action branching on its budget and a clocked state machine — each with one well-formed construct that fails at runtime with the reason named — a spacecraft downlink whose ground station and spacecraft run on one clock through an interface, with orthogonal regions, timed do actions and a schedule choice, and the same failures found in the published Apollo 11 model |
| disposal-robot-demo/robot.sysml | disposal-robot-demo/README.md | one bomb-disposal robot, end to end: structure, calculations, an action with a fork/join, a branch and a nested flow, a hierarchical state machine an object exhibits, assignment through a feature chain, the solver commands, the view renderings, and the same questions from Python |
| disposal-team-demo/team.sysml | disposal-team-demo/README.md | the team around that robot, written for what the robot demo does not reach: quantities with units, select and reduce over a fleet, a message crossing the connector two parts are joined by, an occurrence with a snapshot and a timeslice, and a requirement, use case, verification case and analysis case over the same subject |
| relay-probe-demo/mission.sysml | relay-probe-demo/README.md | one individual probe across its mission phases: event occurrences ordered in time, snapshots and a timeslice of one individual, occurrences with multiplicity, a calculation reading across two snapshots, a requirement whose subject is a snapshot, and a beacon inside a timeslice sending telemetry through its probe's own port |
| analysis-demo/lander.sysml | analysis-demo/README.md | analysis cases, asked every way the tool answers them: an analysis whose action steps feed each other and whose objective is a requirement, run bound, with arguments and on an object; a verification case whose body decides its verdict beside its objective; a parameter sweep and a seeded sample; two trade studies choosing among three landers; an action and a state machine due at the same instant of one clock, under each scheduling policy and explored; -trace, -json, the REPL forms and the same questions from Python |
| verdicts-demo/rover.sysml | verdicts-demo/README.md | Verdicts(...) in a document query: one row per assertion about a rover and every object it holds — its constraints, a requirement it carries, a satisfy of its battery with the verification case verifying it, six wheels from a multiplicity and a heater no value decides — over the declared object, then over the object a session holds after a drive; what the table sees that evaluating one expression does not |
| analysis-results-demo/lander-results.sysml | analysis-results-demo/README.md | saving analysis runs into the model: -analysis and -sweep print and discard, so each run is written back as a part usage typed by a result-record definition with @RecordedRun provenance metadata and a ref part to its subject — then a document groups the records by subject, filters the sweep rows and the trade study, lists every annotated record's command, and flags the record a later model edit made stale, beside live Verdicts recomputed at render time |
| external-tool-demo/thermal.sysml | external-tool-demo/README.md | an analysis action performed by a program outside the tool: a Python solver registered through OPENSYSML_TOOLS with an invocation/reply manifest block, previewed by -tool-dry-run without starting it, run by -analysis, recorded by -record-run with every tool call named in RecordedRun.tools, and tabulated by a rendered document |
| solver-demo.sysml | SOLVER-DEMO.md | %check, %explain, %solve, %configure and %optimize — what conditions can hold, which conflict, what satisfies them, which variants are permitted, what is best (needs z3 or cvc5) |
| oosem-demo/oosem-demo.sysml | oosem-demo/README.md | the OOSEM library on a small Earth-observation mission: as-is and to-be enterprise, causal analysis, stakeholder needs derived down to component requirements with #moe/#mop, the black-box system context and its use case, the logical scenario and components, and the physical architecture distributed over nodes |
| mosa-demo/mosa-demo.sysml | mosa-demo/README.md | the MOSA library on a modular ground vehicle: the major system platform, its major system components and a modular autonomy system, the modular system interfaces between them (one written as #keyInterface), the consensus standards they conform to, data rights and proprietary elements, interface control, MOSA requirements with their traces, a conformance assessment, the MOSA views and a generated interface control document; -validate reports the openness gaps the model leaves on purpose |
| views-demo.sysml | VIEWS-DEMO.md | %view and %render — the five rendering kinds, the text/Mermaid/Markdown forms, viewpoint conformance and filtered exposure |
| expressions-demo.sysml | EXPRESSIONS-DEMO.md | the expression forms worked through one payload: as casts that select rather than convert, * as the unbounded value, .metadata on an annotated part, calculations passed and invoked as function values, a Set with no order and no repeats, a rank-three tensor quantity indexed and scaled, and collect/select/reduce bodies typed by what they return |
| action-executor-demo.sysml | ACTION-EXECUTOR-DEMO.md | executing actions, and stepping one in the REPL |
| self-model/ | self-model/README.md | OpenSysML's own architecture in SysML v2: the analysis pipeline as parts, ports and item flows onto the Go packages that implement it, the validation tiers and the two execution engines as state machines, the AGENTS.md architecture invariants as requirements the tool evaluates, and the views make self-model renders the architecture diagrams from |
parser_features_demo_*.sysml/.kerml |
PARSER_FEATURES_DEMOS.md | the notation the parser accepts, feature by feature |
SysML-LoRD models Legend of the Red Dragon, the
BBS door game, as a system — every mechanic an executable SysML action or transition — and
plays it in the browser at https://lord.opensysml.org/: a program on the public Go API
(client/opensysml), compiled to WebAssembly, that depends on this repository as a module.
Additional example models may be added to this directory. SysML v2 files use the .sysml
extension and KerML files use .kerml.