Syster CLI
Command-line interface for SysML v2 and KerML analysis and interchange.
Installation
Or build from source:
Usage
Basic Analysis
# Analyze a single file
# Analyze a directory
# With verbose output
# With standard library
# Custom stdlib path
Export Formats
Export models to various interchange formats:
# Export to XMI (OMG standard)
# Export to YAML (human-readable)
# Export to JSON-LD (linked data)
# Export to KPAR (Kernel Package Archive)
# Export AST as JSON
# Self-contained export (includes stdlib)
Import and Roundtrip
# Import and validate an XMI file
# Import into workspace for analysis
# Decompile XMI back to SysML text
Export Format Examples
Given this SysML input:
part def Vehicle {
attribute mass : Real;
}
XMI Output
YAML Output
- '@type': PartDefinition
'@id': cc10f11d-996f-4251-8952-9723018b762d
name: Vehicle
qualifiedName: Vehicle
ownedMember:
- '@id': 48e432b9-fdfe-483a-bd2d-36e6417703b2
- '@type': AttributeUsage
'@id': 48e432b9-fdfe-483a-bd2d-36e6417703b2
name: mass
qualifiedName: Vehicle::mass
owner:
'@id': cc10f11d-996f-4251-8952-9723018b762d
- '@type': FeatureTyping
'@id': rel_1
source:
'@id': 48e432b9-fdfe-483a-bd2d-36e6417703b2
target:
'@id': Real
AST JSON Output (--export-ast)
Features
- Parse and validate SysML v2 and KerML files
- Symbol table analysis with qualified names
- Import resolution and type checking
- Error reporting with source locations
- Export to XMI, YAML, JSON-LD, and KPAR formats
- Import and validate interchange files
- Decompile XMI back to SysML text
- Self-contained export with embedded stdlib
Supported Formats
| Format | Extension | Description |
|---|---|---|
| XMI | .xmi |
OMG XML Metadata Interchange (standard) |
| YAML | .yaml |
Human-readable YAML representation |
| JSON-LD | .jsonld |
JSON Linked Data format |
| KPAR | .kpar |
Kernel Package Archive (ZIP) |
License
MIT