Skip to content

SysML v2 · KerML 1.1 · written in Go

A SysML v2 toolchain that runs the model, not just reads it.

OpenSysML materializes the instances a model describes, evaluates their features with units carried and checked, performs actions and advances state machines on a clock, and decides requirements and analysis objectives against what it finds — so it reports what a validator or expression evaluator cannot reach: the rollup with an unvalued leaf, the result in the wrong dimension, the action with no step to start at. It also parses, validates, serves an editor over LSP, generates documents and exports RDF, with Go, Python, Node, Java, Rust, Julia and MATLAB clients for the same runtime.

Apache-2.0 · Linux, macOS and Windows binaries · loads the Apollo 11 model in 0.27 s, and finds what running it turns up · the runtime of the OpenSysML REDK

Refereed against the OMG pilot implementation

Not self-assessed — measured against the reference implementation.

OpenSysML is run beside a pinned build of the OMG pilot implementation over the same models, and the two are compared wherever they can be: the diagnostics each reports, the diagnostics the reference's own test suites declare, how names resolve, and whether an invalid model is turned away. Each comparison has a committed baseline that anyone can reproduce, and the results are kept in the records rather than restated here.

What this is not: the comparison is of what two implementations report on the same files, not an official conformance suite, and no certification or percentage of the specification is claimed. The reference evaluates expressions but executes neither actions nor state machines, so behavior is beyond what it can referee. Read how each comparison is measured and what it currently reports, or which rules are faithful, approximate or missing.

8 ms to parse the Apollo 11 model — 28 files, 7,200 lines — on one core. 0.27 s to load it with the standard library, resolve every name and validate it. 42 MB/s of SysML v2 through the parser — 880 lines a millisecond.

Measured on the public Apollo 11 SysML v2 model (Airbus, MPL-2.0); the commands to repeat it are on the performance page.

Speed is the smaller point. The pinned OMG pilot validator passes all 28 files without a finding and OpenSysML's own validation reports 2 warnings and no error; asked to run the model, the runtime stops its delta-v, reliability and injection calculations and the instantiation of the mission itself at defects only execution reaches — an e that resolves to a valueless ISO 80000 quantity, a gravitational parameter typed as a force, three mission phases with no succession between them. Each is reproduced in the showcase's Apollo 11 section.

What it does

Install

# Linux and macOS
curl -fsSL https://opensysml.org/install.sh | sh

# Windows
irm https://opensysml.org/install.ps1 | iex

# macOS, with Homebrew
brew install Open-MBEE/tap/opensysml

# with a Go toolchain
go install github.com/Open-MBEE/OpenSysML/cmd/sysml@latest

Every release's archives, checksums and signatures are on the downloads page; the install page covers every route, verification, and macOS Gatekeeper.

To try what landed today rather than at the last release, the nightly snapshot builds develop every night as a prerelease.

Compliance, stated plainly

Every construct is recorded as faithful, approximate or not implemented. No conformance certification is claimed.

Defects, declared

Where the published reference material is itself defective, the correction is declared and the corpus left as published.

Known gaps

The roadmap lists what is missing, in the order it should be picked up.

The stack around it

OpenSysML is the runtime of the OpenSysML REDK (Runtime Environment and Development Kit), beside a Rust toolchain, the OMG reference implementation and a version-controlled model store.

Sponsor

OpenSysML REDK documentation

  • Guide — install and use OpenSysML.
  • Manual — generate documents from models.
  • Reference — commands, APIs and formats.
  • Internals — architecture, testing and design.
  • Project — compliance, roadmap and release information.