Skip to content

CLI Commands Reference ​

This reference documents every command, subcommand, and flag registered in @modelscript/cli (apps/cli/src/main.ts and apps/cli/src/commands/). All commands can be invoked via modelscript or its shorthand alias msx, and any command can be accelerated with the global --daemon flag.


Compilation, Simulation & Optimization ​

compile / flatten ​

Compiles and flattens a hierarchical Modelica class into a canonical Differential-Algebraic Equation (DAE) representation in linear WebAssembly memory (DAEBuilder). flatten is an exact alias for compile.

bash
msx compile <name> [paths..]
msx flatten <name> [paths..]
msx convert <name> [paths..]
msx flatten <name> [paths..]
msx convert <name> [paths..]
OptionTypeDefaultDescription
-o, --output, --outstringoutput file path for compiled representation
-t, --todae | modelica | sysml2 | sysml | ssp | fmu"dae"target output representation (dae, modelica, sysml2, ssp, fmu)
-m, --modelstringexplicit class/system name when first positional argument is a file
-l, --language, --langstringexplicit language ID override
-L, --modelica-pathstringdirectories to search for Modelica libraries (colon-separated)
-F, --flattenerts | wasm | hybrid | diff"hybrid"Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison)
--timingbooleanfalsereport timing information for each stage as JSON to stderr
--memory-profilebooleanfalseprofile memory usage across phases and report as JSON to stderr
bash
# Flatten a model using the hybrid WASM kernel with timing breakdowns
msx flatten Modelica.Electrical.Analog.Examples.ChuaCircuit -L ./libraries --timing

instantiate ​

Instantiates a Modelica class via the Salsa QueryEngine and prints the resolved component hierarchy, inherited modifications, and bindings prior to DAE index reduction.

bash
msx instantiate <name> <paths...>

simulate ​

Compiles a model, performs Block Lower Triangular (BLT) Pantelides index reduction and tearing, and executes a numerical time-domain or steady-state simulation locally or on a remote Slurm HPC cluster.

bash
msx simulate <name> [paths..]
msx sim <name> [paths..]
msx sim <name> [paths..]
OptionTypeDefaultDescription
-o, --output, --outstringoutput file path for simulation results
-m, --modelstringexplicit class/system name when first positional argument is a file
-l, --language, --langstringexplicit language ID override
--start-timenumberoverride experiment start time
--stop-timenumberoverride experiment stop time
--tolerancenumberoverride experiment tolerance
--interval, --step-size, --output-intervalnumberoverride experiment output interval / step size
-f, --formatcsv | json | none"csv"output format
--solvereuler | rk4 | dopri5 | tsit5 | trbdf2 | rodas4p | bdf | auto | cvode | webgpu"dopri5"ODE solver to use
--interface-typecs | me | autoFMI interface type when simulating an FMU: 'cs', 'me', or 'auto'
--start-valuestring[]override FMU variable start value as name=value (repeatable)
--input-filestringCSV file providing time-varying input trajectories (time,u1,u2,...)
--output-variablestring[]variable name(s) to record in FMU simulation output (repeatable)
--initial-fmu-state-filestringrestore serialized FMU state from file before stepping
--final-fmu-state-filestringsave serialized FMU state to file after simulation finishes
--log-fmi-callsbooleanfalselog all FMI C API calls and logger callbacks to stderr
--realtimenumberrun simulation in real-time mode with given scale factor (e.g., 1.0 for 1x)
--enginejs | arena | wasm | c | jit"js"simulation backend: js (pure JavaScript), arena (arena-native DoD), wasm (WebAssembly via emcc), c (native compiled), jit (in-memory JIT)
--jitbooleanfalseenable in-memory JIT compilation engine (sub-15ms execution)
--timingbooleanfalsereport timing information for each stage as JSON to stderr
--memory-profilebooleanfalseprofile memory usage across phases and report as JSON to stderr
--jacobiandense | sparse | fd"sparse"Jacobian calculation method
-F, --flattenerts | wasm | hybrid | diff"hybrid"Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison)
--steady-statebooleanfalseSolve steady-state initial equilibrium only without time integration
--cloudbooleanfalsedispatch simulation to ModelScript Cloud HPC cluster
--profilestring"standard"cloud compute profile (standard, high-memory, gpu-a100, hpc-mpi-64)
--asyncbooleanfalsesubmit cloud job asynchronously and return immediately with Job ID
--poll-intervalnumber1500polling interval in milliseconds for cloud simulation status
--output-dirstring"./results"directory to write downloaded simulation result file
--api-urlstringoverride ModelScript API base URL
bash
# Run a stiff DAE simulation using the 4th-order Rosenbrock solver and sparse symbolic Jacobians
msx simulate RLC_Circuit circuit.mo --stop-time 10.0 --solver rodas4p --engine arena --jacobian sparse --format csv > trajectory.csv

# Dispatch a heavy multi-domain simulation to the Cloud HPC cluster
msx simulate ThermalGrid plant.mo --cloud --profile high-cpu --stop-time 3600 --output-dir ./runs/thermal

optimize ​

Formulates and solves a nonlinear Dynamic Optimization / Optimal Control Problem (OCP) over a flattened DAE using direct collocation and sequential quadratic programming (SQP).

bash
msx optimize <name> <paths..>
OptionTypeDefaultDescription
--objectivestringcost integrand expression (e.g. "u^2")
--controlsstringcontrol variable names (comma-separated)
--control-boundsstringcontrol bounds as var:min:max (comma-separated)
--start-timenumberoverride start time
--stop-timenumberoverride stop time
--num-intervalsnumber50number of collocation intervals
--tolerancenumber0.000001NLP convergence tolerance
--max-iterationsnumber200maximum SQP iterations
--formatcsv | json"csv"output format
bash
msx optimize EV_BatteryPack vehicle.mo \
  --objective energyLoss \
  --controls currentCommand \
  --control-bounds "currentCommand:-200:200" \
  --stop-time 600 \
  --num-intervals 100 \
  --format json > optimal_profile.json

grad ​

Computes forward, adjoint, or central finite-difference parameter sensitivities (∇pJ) of scalar objective metrics with respect to model parameters.

bash
msx grad <name> <paths..>
OptionTypeDefaultDescription
--paramsstringcomma-separated list of parameter names to differentiate
--targetstringtarget state variable name to compute terminal sensitivity for (default: first state)
--start-timenumberoverride experiment start time
--stop-timenumberoverride experiment stop time
--stepnumbercommunication step size
--jsonbooleanfalseoutput results as JSON

surrogate ​

Executes a Design of Experiments (DoE) campaign over a physics model, trains a Reduced-Order Model (ROM) surrogate, attaches convex-hull/bounding-box extrapolation guardrails, and exports standalone C, ONNX, or Modelica .mo blocks.

bash
msx surrogate <name> [paths..]
OptionTypeDefaultDescription
--inputsstringinput parameter names (comma-separated)
--input-boundsstringinput bounds as var:min:max (comma-separated)
--outputsstringoutput variable names (comma-separated)
--strategyfull-factorial | latin-hypercube | sobol | central-composite"latin-hypercube"Design of Experiments (DoE) sampling strategy
--num-samplesnumber50number of samples to generate
--architecturemlp | polynomial | rbf"mlp"Reduced Order Model (ROM) architecture
--start-timenumberoverride start time
--stop-timenumberoverride stop time
--formatc | onnx | mo | all"c"target export format: C/WASM ('c'), ONNX graph ('onnx'), Modelica block ('mo'), or all ('all')
--from-onnxstringpath to external ONNX JSON model file to import instead of training from Modelica source
--extrapolation-guardrailsbooleantrueembed Modelica assertion guardrails for input bounds
--extrapolation-levelwarning | error"warning"severity level of Modelica extrapolation assertions
--extrapolation-flagbooleantrueemit Boolean isExtrapolating output variable in Modelica
--out-filestringoutput file name (defaults to <model>_surrogate.<ext>)
--replace-componentstringname of component declaration in Modelica model to replace with surrogate
--replace-outstringoutput path for modified Modelica model with replaced component
--reportstring"report.json"output report JSON file
bash
msx surrogate HeatExchanger thermal.mo \
  --inputs "massFlow,inletTemp" \
  --input-bounds "massFlow:0.1:5.0,inletTemp:280:380" \
  --outputs "outletTemp,pressureDrop" \
  --strategy sobol \
  --num-samples 128 \
  --architecture mlp \
  --format all \
  --out-file build/hx_rom

mc ​

Runs high-throughput Monte Carlo uncertainty propagation across stochastic parameter distributions using worker threads and the linear-memory WASM evaluator.

bash
msx mc <name> <paths..>
OptionTypeDefaultDescription
--runsnumber1000Number of Monte Carlo runs
--threadsnumber1Number of parallel threads
--paramsstringRandom variables in format name:dist:arg1:arg2 (comma-separated)
--seednumberPRNG seed
--lhsbooleanfalseUse Latin Hypercube Sampling
--formatcsv | json"json"Output format
--outputstringOutput file path (defaults to stdout if not provided)
--enginewasm | js"wasm"simulation backend: wasm or js
bash
msx mc RLC_Filter filter.mo \
  --params "R:gaussian:100:5,C:uniform:1e-6:1.2e-6" \
  --runs 5000 \
  --lhs \
  --threads 8 \
  --seed 42 \
  --output mc_summary.json

csg ​

Extracts Constructive Solid Geometry (CSG) primitives and kinematic frame transformations from a Modelica class, writes build/csg/execution_graph.json, and invokes the OpenCASCADE (@modelscript/cad) worker to generate 3D CAD meshes.

bash
msx csg <name> <paths...>

Linting, Formatting, Diffing & Compiler Inspection ​

lint ​

Executes the static analysis pipeline (WASM GLR parse validation, CST lint rules, Salsa semantic queries, unit checking, and control-flow analysis) across one or more files or directories.

bash
msx lint <path> [paths...]
msx check <path> [paths...]
msx validate <path> [paths...]
msx check <path> [paths...]
msx validate <path> [paths...]
OptionTypeDefaultDescription
-l, --language, --langstringFilter to specific language (e.g. modelica, sysml2, owl2, scad, ssp, cfd, fea, pscad, fortran, easy5, rocets, lps, sima, gtsuite)
-f, --formatterminal | json"terminal"Output format: terminal or json
--profileDL | EL"DL"OWL 2 ontology profile to validate against (DL or EL)
--strictbooleanfalseTreat warnings as errors
bash
# Lint an entire polyglot workspace and emit JSON for CI processing
msx lint ./models ./requirements --format json

parse ​

Parses a file using its registered native WebAssembly GLR parser (parser.wasm) and prints the concrete syntax tree (CST), node byte offsets, or parse errors.

bash
msx parse <file>
OptionTypeDefaultDescription
-l, --languagestringExplicit language override (e.g. modelica, sysml2, scad, step, owl2, csv)
--encodingutf8 | utf16le | utf16be | utf32le | utf32be"utf8"Input encoding to use

format ​

Formats source files canonically using the grammar's CST-preserving pretty-printer while preserving comments and annotations.

bash
msx format <files..>
OptionTypeDefaultDescription
-w, --writebooleanfalseEdit files in place
-c, --checkbooleanfalseCheck if files are formatted without writing (exits with code 1 if unformatted)
-l, --languagestringExplicit language override (e.g. modelica, sysml2, scad, step)
--indent-sizenumber2Number of spaces per indentation level
--preserve-formattingbooleanfalsePreserve original token layout where grammar permits

unparse ​

Parses a source file into linear CST memory and unparses it back into text to verify lossless round-trip grammar rules.

bash
msx unparse <file>
OptionTypeDefaultDescription
-o, --outputstringOutput file path (default prints to stdout)
-l, --languagestringExplicit language override
--indent-sizenumber2Number of spaces per indentation level

diff ​

Computes a structural CST/AST and semantic DAE comparison between two files (oldFile and newFile), identifying added/removed components, modified parameter bindings, and altered equations regardless of whitespace formatting.

bash
msx diff <file1> <file2>
OptionTypeDefaultDescription
-l, --languagestringExplicit language override (e.g. modelica, sysml2, scad)
--order-agnosticbooleantrueIgnore child order changes in declarative sections (e.g. equation sets)
--breaking-onlybooleanfalseOnly report breaking changes (API modifications, deleted connectors, type switches)
--formatterminal | json | summary | visual-html | visual-svg | pr-comment"terminal"Output format
-o, --outputstringOutput file path for visual formats

pr-diff ​

Generates visual schematic/architectural diffs (highlighting added components in green, modified in amber, and deleted in red) and PR review summaries between two Git revisions.

bash
msx pr-diff [file]
OptionTypeDefaultDescription
-b, --basestring"HEAD~1"Base Git reference (branch, tag, or commit hash)
--headstringHead Git reference (branch, commit hash, or omit for working tree)
-f, --formatvisual-html | visual-svg | pr-comment | json | terminal"visual-html"Output format for the visual diff
-o, --outputstringOutput file path (defaults to stdout or visual-diff.html / visual-diff.svg)
-v, --viewstring"All"SysML v2 viewpoint projection filter (e.g. All, BDD, IBD, StateMachine)
--breaking-onlybooleanfalseOnly report breaking changes
--openbooleanfalseAutomatically open generated visual HTML in default web browser

i18n ​

Extracts translatable descriptions, documentation strings, and identifier aliases from models (extract), compiles translation catalogs (compile), or translates a model into a target locale (translate).

bash
msx i18n <paths..>
OptionTypeDefaultDescription
-o, --outputstringpath to the output .pot file

Formal Verification, Safety & Test Synthesis ​

verify ​

Unified formal verification and simulation validation for SysML v2 and Modelica: decision tables, assume-guarantee contracts, state machines, and optional flowpipe reachability. Results can be emitted as terminal output or as JSON, CTRF, JUnit, SARIF, HTML, or DHF reports for CI/CD and compliance workflows.

bash
msx verify [target] [paths..]
OptionTypeDefaultDescription
--allbooleanfalseexecute all applicable formal verification stages
--decisionsbooleantrueverify decision table exhaustiveness and determinism
--contractsbooleantrueverify assume-guarantee contract compatibility and refinement
--state-machinesbooleantrueverify state machine and activity workflow soundness/deadlock-freedom
--flowpipebooleanfalseenable validated continuous/hybrid reachability flowpipes
--ordernumber4Taylor model flowpipe expansion order
--dtnumbertime step size in seconds for flowpipe reachability
--horizonnumbertime horizon (stop time) in seconds for flowpipe reachability
--initial-setstringinitial state set bounds (e.g. 'x=[0.9,1.1],y=[-0.1,0.1]')
--barriersbooleanfalseenable sum-of-squares barrier certificate synthesis
--falsifybooleanfalseenable adversarial requirement falsification
--simulationbooleantrueverify dynamic simulation trajectory requirements
--clearancebooleanfalseenable 3D CAD clearance and physical collision verification
--mcdcbooleanfalsesynthesize 100% MC/DC independent condition test pairs
--b2bbooleanfalseverify Back-to-Back MiL-vs-SiL equivalence against standalone C99
--b2b-tolnumber0.0001maximum allowable numerical tolerance between MiL and SiL
--b2b-compilergcc | clang | tcc | arm-none-eabi-gcc"gcc"host/target C compiler for SiL compilation
--b2b-dtnumberfixed integration step size in seconds for SiL RK4
--algorithmsbooleantrueexecute sound algorithmic abstract interpretation for zero RTEs
--formatterminal | json | ctrf | junit | sarif | html | dhf"terminal"output report format: terminal, json, ctrf, junit, sarif, html, or dhf
--reportstringwrite test report to specified file path
--exportstringcomma-separated list of formal spec export formats: smt2, nuxmv, ocra, mos
--export-dirstring"."target directory for exported formal specifications
-F, --flattenerts | wasm | hybrid | diff"hybrid"Flattener backend: 'ts', 'wasm', 'hybrid', or 'diff'
--enginewasm | js"wasm"simulation backend: wasm or js
--timingbooleanfalseoutput timing JSON to stderr
--update-hypergraphbooleanfalsesynchronize verification verdicts directly into digital thread hypergraph
bash
# Verify a controller and emit a GitHub Code Scanning SARIF report
msx verify BrakingController brake.mo --format sarif --report results.sarif

falsify ​

Performs optimization-guided falsification of Signal Temporal Logic (STL) safety properties (◻[a,b]ϕ, ◊[a,b]ϕ, ϕ1U[a,b]ϕ2) by searching disturbance and parameter spaces to minimize quantitative robustness ρ(ϕ,x,t)<0.

bash
msx falsify
OptionTypeDefaultDescription
--propertystringName of the target SysML requirement or property
--sysmlstringPath to SysML v2 model file (.sysml)
--modelicastringPath to Modelica DAE model file (.mo)
--cadstringPath to CAD procedural file (.scad or .ts)
--paramsstringJSON array or file path containing parameter bounds
--formulastringSTL formula JSON or predicate shorthand (e.g. 'stress <= 200')
--algorithmde | cem | cmaes | cma-es | pso"de"Falsification global optimization algorithm
--generationsnumber10Maximum optimization generations
--populationnumber12Population size per generation
--outTracestringPath to output CanonicalTraceRecord JSON
--outCadstringPath to output counterexample CAD model file

export-formal ​

Translates SysML v2 models into external formal verification formats: SMT-LIB2, nuXmv, and OCRA contract specifications.

bash
msx export-formal <paths..>
OptionTypeDefaultDescription
-f, --formatsmt2 | nuxmv | ocra"smt2"Target formal representation: 'smt2' (SMT-LIB v2.6), 'nuxmv' (nuXmv .smv), or 'ocra' (OCRA .oss)
-o, --outputstringOutput file path (prints to stdout if omitted)
--logicQF_LRA | QF_NRA | QF_IDL | ALLSMT-LIB logic directive (default: auto-detected QF_LRA or QF_NRA)
-m, --modulestring"System"Module name for nuXmv or top-level component name for OCRA
-s, --scopestringScope filter for extracted constraints or state machines
--invariantsstring[]Additional safety invariants (INVARSPEC) to emit for nuXmv
--ltlstring[]Temporal logic specifications (LTLSPEC) to emit for nuXmv
--minimizestring[]Parametric optimization objectives to minimize in SMT-LIB2
--maximizestring[]Parametric optimization objectives to maximize in SMT-LIB2
bash
# Export a SysML v2 controller to a nuXmv model
msx export-formal acc.sysml --format nuxmv -o acc.smv

verify-decisions ​

Evaluates Architectural Decision Records (ADRs) and SysML v2 trade-study constraints against flattened simulation parameters and formal bounds.

bash
msx verify-decisions <paths..>
OptionTypeDefaultDescription
--jsonbooleanfalseOutput verification results in structured JSON format

decompose ​

Performs structural subsystem partitioning and Assume-Guarantee (A/G) contract decomposition across large system models, checking whether top-level system guarantees follow compositionally from subsystem contracts (⋀i(Ai⇒Gi)⊢Gsys).

bash
msx decompose <paths..>
OptionTypeDefaultDescription
-r, --max-regionsnumber64Maximum number of regions to partition (default: 64)
-d, --max-depthnumber8Maximum branch condition exploration depth (default: 8)
--jsonbooleanfalseOutput regions in JSON format

generate-tests ​

Synthesizes deterministic test vectors and stimulus harnesses from model guard conditions and assertions to achieve Modified Condition/Decision Coverage (MC/DC) and boundary-value coverage.

bash
msx generate-tests <paths..>
OptionTypeDefaultDescription
-f, --formatterminal | json | ctrf | junit | modelica"terminal"Output report format (terminal, json, ctrf, junit, modelica)
--mcdcbooleantrueEnforce 100% MC/DC condition-outcome test pair synthesis
-o, --outputstringWrite generated test suite to file instead of stdout
-m, --modelstring"Model"Target model name when generating Modelica .mos simulation scripts

Polyglot Digital Thread, Co-Simulation & Standards Interop ​

render ​

Renders headless, publication-grade SVG diagrams for Modelica component icons/schematics, SysML v2 architectural views, and PSCAD Single-Line Diagrams (SLDs) using @modelscript/diagram.

bash
msx render <name> [paths..]
OptionTypeDefaultDescription
-i, --iconbooleanfalserender icon (Modelica)
-v, --viewstringdiagram view/projection (e.g. All, BDD, IBD, StateMachine, Activity, SLD, Taxonomy, Properties)
-t, --themedark | light | blueprint"light"color theme for polyglot SVG export (dark, light, blueprint)
-o, --outputstringoutput SVG file path (defaults to stdout)
bash
# Render a SysML v2 Internal Block Diagram in blueprint theme
msx render SpacecraftPower spacecraft.sysml --view IBD --theme blueprint -o docs/ibd.svg

fmu ​

Exports a Modelica class as a Functional Mock-up Unit (.fmu ZIP archive) compliant with FMI 2.0 and/or FMI 3.0 for Model Exchange (me) and Co-Simulation (cs), or imports/inspects an existing .fmu via msx fmu import <file.fmu>. export-fmu is an alias for fmu.

bash
msx fmu <name> [paths..]
msx export-fmu <name> [paths..]
OptionTypeDefaultDescription
-o, --outputstringoutput file path (default: <name>.fmu or <name>.fmu.xml)
--descriptionstringmodel description string
--start-timenumberdefault experiment start time
--stop-timenumberdefault experiment stop time
--step-size, --output-intervalnumberdefault experiment step size / output interval
--tolerancenumbersolver relative tolerance
--xml-onlybooleanfalseoutput only the modelDescription.xml (no archive)
--typeme | cs | both"both"FMU type: 'me' (Model Exchange), 'cs' (Co-Simulation), 'both' (default)
--interface-typecs | me | autoFMI interface type when simulating an FMU: 'cs', 'me', or 'auto'
--solverstring"rk4"ODE solver when simulating an FMU in Model Exchange mode ('euler', 'rk4', 'cvode')
--start-valuestring[]override FMU variable start value as name=value (repeatable)
--input-filestringCSV file providing time-varying input trajectories (time,u1,u2,...)
--output-variablestring[]variable name(s) to record in simulation output (repeatable)
--initial-fmu-state-filestringrestore serialized FMU state from file before stepping
--final-fmu-state-filestringsave serialized FMU state to file after simulation finishes
--log-fmi-callsbooleanfalselog all FMI C API calls and logger callbacks to stderr
--formatcsv | json | none"csv"simulation output format ('csv', 'json', 'none')
--targetwasm | c | js | all"all"export target: 'wasm' (WebAssembly), 'c' (C sources), 'js' (JavaScript), or 'all' (multi-target)
--sourcebooleantrueinclude C source files in the FMU archive
--compilebooleanfalsecompile C sources into a shared library using the system C compiler
--fmi-version2 | 3 | both"both"FMI version to include: '2', '3', or 'both'
--wasmbooleanfalsecompile model to WebAssembly and include in the FMU archive
-F, --flattenerts | wasm | hybrid | diff"hybrid"Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison)
--goldenstringpath to golden CSV trajectory for 'verify' subcommand
--timingbooleanfalsereport timing information for each stage as JSON to stderr
bash
# Export an FMI 3.0 Co-Simulation FMU with embedded C sources and WebAssembly binary
msx fmu DC_Motor motor.mo --fmi-version 3 --type cs --wasm --output build/DC_Motor.fmu

import-fmu ​

Unpacks an external FMI 2.0 or FMI 3.0 .fmu archive, parses its modelDescription.xml, and generates a strongly typed Modelica wrapper block (and optional SSP system binding) so the FMU can be connected and simulated inside ModelScript. fmu-import is an alias for import-fmu.

bash
msx import-fmu <fmu>
msx fmu-import <fmu>
OptionTypeDefaultDescription
-o, --outputstringOutput path for the generated .mo file
-p, --packagestringEnclosing package name (e.g. ImportedFMUs)
-v, --verbosebooleanfalseVerbose output

cosim ​

Manages distributed FMI/SSP Co-Simulation master orchestration sessions, participant FMUs, recorded trajectory histories, and adaptive communication step-size optimization against the ModelScript Hub / Co-Simulation service.

bash
msx cosim
Options for cosim replay
OptionTypeDefaultDescription
--sessionstringSession ID to replay
--speednumber1Playback speed factor (1.0 = real-time)
--fromstringReplay start time (ISO 8601)
Options for cosim optimize
OptionTypeDefaultDescription
--paramsstringParameter bounds formatted as 'kp:0.1:10.0,kd:0.01:1.0' or JSON array
--objectivestringSimulation objective signal or loss variable to minimize (e.g. 'error_integral')
--algorithmde | cma-es | cmaes | pso"de"Optimization algorithm (de, cma-es, cmaes, pso)
--generationsnumber15Maximum optimization generations
--populationnumber12Population / swarm size per generation
--seednumber42Random seed for reproducible optimization
OptionTypeDefaultDescription
--api-urlstring"http://localhost:3000"ModelScript API base URL
SubcommandArgumentsDescription
status—Display health and active worker metrics of the Co-Simulation master orchestrator.
sessions—List active and completed distributed Co-Simulation sessions.
participants<sessionId>List connected FMU/simulator participants, port couplings, and current simulation time t in a session.
fmus—List registered FMU artifacts available in the Co-Simulation repository.
upload<path.fmu>Upload a local .fmu archive to the Co-Simulation registry.
replay<sessionId>Deterministically replay a recorded Co-Simulation session from its saved input/coupling log.
history<sessionId>Fetch step-by-step coupling residuals, rollbacks, and trajectory history for a session.
optimize<sessionId>Run post-mortem Richardson extrapolation analysis on a session to recommend optimal communication step sizes Hi.

pscad ​

Provides full lifecycle tooling for Manitoba Hydro PSCAD electromagnetic transient (EMT) workspaces (.pscx cases and .pswx workspaces), including domain-specific electrical linting, Single-Line Diagram (SLD) generation, EMT simulation, IEEE Std 2800-2022 grid interconnection verification, and conversion to Modelica/SSP.

bash
msx pscad <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (for diagram SVG, Modelica, SSD, CSV, or COMTRADE export)
--tstop, --stop-time, --durationnumber1Simulation duration in seconds
--step, --step-size, --dtstring"20us"Simulation fixed time step (e.g. '20us' or 20e-6)
-f, --formatpscad | psout | comtrade | comtrade-bin | cff"pscad"Result format for 'sim' with --out (base path): pscad (.out/.inf), psout (.psout), comtrade, comtrade-bin, cff
ActionDescription
lintValidate .pscx/.pswx schematics against electrical EMT rules (M6001–M6011, including floating nodes, transformer winding ratios, CSMF unconnected inputs, and traveling-wave line Δt underflow).
diagramRender a publication-quality SVG Single-Line Diagram (SLD) from a .pscx project.
diffCompute a topological and parameter diff between two .pscx revisions.
simExecute a fixed-step nodal admittance (Gv(t)=ihist(t−Δt)) EMT simulation.
verify-ieee2800Run automated IEEE Std 2800-2022 Inverter-Based Resource (IBR) compliance checks (Low/High Voltage Ride-Through LVRT/HVRT, frequency ride-through, and reactive current injection step response).
export-modelicaTranslate a .pscx schematic into an equivalent Modelica .mo model using Modelica.Electrical.
export-sspPackage a .pswx multi-project workspace into an SSP 1.0 .ssp architecture container.
bash
# Verify IEEE 2800-2022 LVRT/HVRT compliance on a solar plant PSCAD case
msx pscad verify-ieee2800 SolarPlant_250MW.pscx --tstop 3.0 --step 20us -o ieee2800_report.json

polyglot ​

Queries the unified multi-language WorkspaceIndex, verifies cross-domain traceability links (@satisfies, @verifies, @allocates), inspects digital threads, and monitors operational digital twin drift across all 44 supported languages.

bash
msx polyglot <action>
Options for polyglot project
OptionTypeDefaultDescription
--targetsysml2 | modelica | owl2 | step | csv | scad | json-schemaTarget domain identifier
--outstringOutput file destination path
--strictbooleanfalseEnforce strict CPA confluence and type validation
Options for polyglot verify
OptionTypeDefaultDescription
--strictbooleanfalseEnforce strict CPA: fail on any cyclic conflict or ambiguous rule overlap
Options for polyglot query
OptionTypeDefaultDescription
--workspacestringPath to workspace directory containing polyglot models
--domainstringTarget domain filter (modelica, sysml2, step, owl2, scad, csv)
--check-paritybooleantrueValidate physical quantity and unit parity for linked twins
--jsonbooleanfalseOutput results in JSON format
Options for polyglot check-twins
OptionTypeDefaultDescription
--workspacestringWorkspace root directory
--strictbooleanfalseExit with code 1 if any twin is broken or unit parity fails
--jsonbooleanfalseOutput results in JSON format
Options for polyglot index
OptionTypeDefaultDescription
--workspacestringWorkspace root directory
--outstring"salsa-index.db"Output path for the generated salsa-index.db
--jsonbooleanfalseOutput summary in JSON format
SubcommandDescription
project [dir]Summarize all indexed languages, files, symbols, and cross-language bindings in a workspace.
verify [dir]Verify cross-language dimensional consistency, port types, requirement satisfaction, and digital thread integrity.
thread <symbol>Trace the upstream/downstream polyglot digital thread for a symbol (from OWL2 ontology → SysML v2 requirement → Modelica equation → STEP CAD geometry → ReqIF/DHF dossier).
query <expr>Execute a cross-language symbol or FLWOR query against the unified WorkspaceIndex.
check-twins [dir]Compare live telemetry streams or CSV logs against nominal model predictions to detect parameter drift and anomalies.
index [dir]Build and serialize the workspace-wide polyglot symbol and dependency index (polyglot-index.json).

align ​

Executes the Triple Graph Grammar (TGG) and Critical Pair Analysis (CPA) bidirectional synchronization engine across paired architectural, physical, and geometric models.

bash
msx align <source> <target>
OptionTypeDefaultDescription
--min-confidencenumber0.6Minimum confidence score to display candidates (0.0 - 1.0)
--thresholdnumber0.85Confidence threshold to auto-seed into Digital Thread Hypergraph
--applybooleanfalseAuto-seed matching pairs into Digital Thread Hypergraph
--hypergraphstringPath to existing hypergraph state JSON to update
--jsonbooleanfalseOutput raw JSON candidates

sysml ​

Provides dedicated interoperability workflows between OMG SysML v2 (.sysml) and Modelica (.mo) models.

bash
msx sysml <action>
Options for sysml export
OptionTypeDefaultDescription
-f, --formatsysmlx | ssp | fmu"sysmlx"Export format (sysmlx = OMG JSON-LD, ssp = SSP package, fmu = Monolithic FMU)
-o, --outputstringTarget output filepath
-d, --descriptionstringSystem or interchange description metadata
--include-stdlibbooleanfalseInclude KerML standard library symbols in export
Options for sysml import
OptionTypeDefaultDescription
-o, --outputstringTarget output .sysml file path (default prints to stdout if not specified)
--indentnumber2Indentation depth in spaces
Options for sysml check
OptionTypeDefaultDescription
-f, --formatterminal | json"terminal"Output format
--strictbooleanfalseTreat warnings as errors
Options for sysml info
OptionTypeDefaultDescription
-f, --formattable | json"table"Output display format
SubcommandDescription
export <file.mo>Project a Modelica class hierarchy into a SysML v2 .sysml part def / port def / connection architecture model.
import <file.sysml>Synthesize executable Modelica .mo skeleton classes, connectors, and connect() equations from a SysML v2 file.
check <files...>Validate SysML v2 ↔ Modelica port compatibility, KerML quantity units, and @satisfies requirement constraints.
info <file.sysml>Print package metrics (part definitions, ports, state machines, requirements, and constraint blocks).
sync <file.sysml> <file.mo>Synchronize structural changes and parameter values bi-directionally between .sysml and .mo files.

oslc ​

Exposes workspace models and requirements as OASIS OSLC 3.0 Linked Data resources (Requirements Management oslc_rm and Architecture Management oslc_am) with TRS 3.0 (Tracked Resource Set) changelog feeds for IBM DOORS Next, Polarion, and Jira integration.

bash
msx oslc <action>
Options for oslc export
OptionTypeDefaultDescription
-i, --inputstringPath to input file (e.g. .reqif, .json)
-d, --domainrm | qm | am | all"all"OSLC domain to export: rm (Requirements), qm (Quality/Tests), am (Architecture), or all
-f, --formatturtle | jsonld"turtle"RDF serialization format: turtle or jsonld
-o, --outputstringOutput file path (prints to stdout if not specified)
Options for oslc serve
OptionTypeDefaultDescription
-i, --inputstringOptional initial requirements or thread file to populate
-p, --portnumber8080Port to bind HTTP server
-H, --hoststring"localhost"Host interface to listen on
SubcommandDescription
export [path]Serialize workspace symbols, requirements, and traceability links as static OSLC 3.0 RDF documents.
serve [path]Start an HTTP OSLC 3.0 Service Provider catalog, delegated UI preview server, and TRS 3.0 change log endpoint.

reqif ​

Imports and exports OMG ReqIF 1.2 (Requirements Interchange Format .reqif XML and .reqifz archives), translating specification hierarchies and attributes directly to and from SysML v2 requirement def blocks.

bash
msx reqif <action>
ActionDescription
importImport and inspect OMG ReqIF 1.2 requirements document with hierarchy and traceability relations
exportExport SysML v2 requirements or model specs into OMG ReqIF 1.2 XML format
lintLint OMG ReqIF document for missing attributes, dangling relations, and unbounded contracts
verifyFormally verify requirements decomposition completeness or multi-domain physics compliance using Nelson-Oppen
to-sysmlTranslate ReqIF requirements and satisfaction relations into SysML v2 definitions
to-modelicaTranslate ReqIF requirements contracts into a Modelica plant monitor verification block
Options for reqif import
OptionTypeDefaultDescription
--to-sysmlstringGenerate SysML v2 requirement definition file
--to-modelicastringGenerate Modelica verification block file
--formattable | json"table"Output display format
Options for reqif export
OptionTypeDefaultDescription
-o, --outputstringPath to output .reqif file
-t, --titlestring"Exported Requirements"Document title for ReqIF specification
Options for reqif verify
OptionTypeDefaultDescription
-d, --deckarrayOne or more physics simulation decks (.raw, .inp, .cfg, .json) to verify against
--pssestringPath to PSS/E .raw power-flow case
--pscadstringPath to PSCAD / COMTRADE case or IEEE 2800 report
--simastringPath to SIMA .inp mooring case
--feastringPath to FEA .inp / .bdf structural case
--cfdstringPath to CFD .cfg / .su2 / .foam aerodynamics case
--formatpretty | json"pretty"Output format
Options for reqif to-sysml
OptionTypeDefaultDescription
-o, --out, --outputstringOutput .sysml file path
Options for reqif to-modelica
OptionTypeDefaultDescription
-o, --out, --outputstringOutput .mo file path

ddp ​

Inspects, packs, and converts ISO/PAS 81346 Digital Data Packages (.ddp) and IDTA Asset Administration Shell (AAS v3.0) packages (.aasx) for industrial digital twin handover.

bash
msx ddp <action>
Options for ddp inspect
OptionTypeDefaultDescription
--formattable | json"table"Output format
Options for ddp pack
OptionTypeDefaultDescription
-o, --outputstringOutput file path (default: package.ddp)
-f, --filesarrayAdditional files to bundle into package
Options for ddp to-aasx
OptionTypeDefaultDescription
-o, --outputstringOutput .aasx file path
--kindType | Instance"Type"Asset kind (Type or Instance)
SubcommandDescription
inspect <file.ddp>Validate and list reference designations (=, +, - aspect trees), models, and documents inside a .ddp archive.
pack <dir>Bundle a workspace directory into a signed ISO/PAS 81346 .ddp archive.
to-aasx <file.ddp>Convert a .ddp package or workspace manifest into an IDTA AAS v3.0 .aasx Digital Twin package with TechnicalData and SimulationModels submodels.

dhf ​

Generates, inspects, and cryptographically audits Design History File (DHF) compliance dossiers structured for FDA 21 CFR Part 820.30, ISO 13485, ISO 26262, and DO-178C regulatory submissions.

bash
msx dhf <action> [paths..]
OptionTypeDefaultDescription
-f, --formatmarkdown | json | html"markdown"Output format
-o, --outputstringFile path to save the generated DHF dossier
-t, --titlestring"Design History File (DHF) — IEC 62304 / ISO 14971 Compliance Dossier"Dossier Title
-d, --devicestring"Safety-Critical Cyber-Physical System (Class C)"Target medical device or safety-critical system name
-a, --authorstring"ModelScript Verification Engineering Team"Author name
SubcommandDescription
export [path]Compile requirements traceability matrices (RTM), formal verification proofs, simulation summaries, and SHA-256 artifact hashes into a DHF dossier.
status [path]Report requirement verification coverage, unverified hazards, and suspect links across the workspace.
audit [file]Verify the cryptographic SHA-256 hash chain and Ed25519 signatures of an exported DHF bundle.

Inspects, lints, compiles into linear DAEs, and projects MATLAB Simulink control block diagrams (.slx zip packages and .mdl structured text).

bash
msx simulink <action> [files..]
OptionTypeDefaultDescription
--from-modelicastringPath to modified Modelica file for bidirectional synchronization
--strategytarget-wins | source-wins | physics-simplex"target-wins"Conflict reconciliation strategy
-o, --out, --outputstringOutput file path for generated code or export
ActionDescription
inspectDump subsystem block tree, parameters, solver settings, and line routing.
lintRun pre-flight static analysis (algebraic loops M7202, unconnected ports M7201, divide-by-zero risks M7209).
to-modelicaTranslate block diagram into standard acausal Modelica.Blocks models.
to-daeLower continuous states and transfer functions directly into the WebAssembly DAE arena.
bash
msx simulink inspect CruiseControl.slx
msx simulink lint EngineGovernor.mdl
msx simulink to-modelica Suspension.slx --out=Suspension.mo

autosar ​

Inspects, lints, projects, and simulates AUTOSAR Classic and Adaptive (.arxml) software component architectures and Virtual Run-Time Environment (RTE) runnables.

bash
msx autosar <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path for generated code or export
--durationnumber0.1Simulation duration for Virtual RTE [s]
--stepnumber0.01Simulation timestep for Virtual RTE [s]
ActionDescription
inspectInspect software component types, port prototypes, runnables, timing events, and network PDUs.
lintDetect unconnected R-ports (M7401), interface mismatches (M7402), WCET budget overflows (M7405), and PDU bit overlap (M7406).
to-modelicaGenerate Modelica standard interface blocks for SIL plant co-simulation.
to-sysmlProject software architecture into OMG SysML v2 part def hierarchies.
to-daeLower software states and calibrated parameters into ModelScript linear-memory DAE arena.
simulate-rteExecute the discrete event Virtual RTE scheduler and route signals across assembly connectors.
bash
msx autosar inspect Powertrain.arxml
msx autosar lint BrakeController.arxml
msx autosar to-sysml Steering.arxml --out=Steering.sysml
msx autosar simulate-rte PowertrainSystem.arxml --duration=0.5 --step=0.01 --out=rte_trace.json

olga ​

Provides complete command-line tooling for Schlumberger OLGA transient multiphase flow models (.opi, .key, .genkey, .tab, .tpl, .ppl), including drift-flux hydrodynamic simulation, severe slugging analysis, PVT flash, autonomous history matching, and flow assurance verification.

bash
msx olga <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (e.g. for trajectory CSV, SVG diagram, or .fmu archive)
-d, --duration, --stop-time, --tstopnumberSimulation duration in seconds [s]
--dt, --step, --step-sizenumberSimulation time step in seconds [s]
--diameternumberPipeline internal diameter in meters [m] for bathymetry survey
--cell-lengthnumberMaximum control volume cell length in meters [m] for bathymetry survey
--restartstringPath to checkpoint (.rst or .json) file to warm restart simulation from
--checkpoint-outstringPath to write simulation state checkpoint (.rst) at completion or periodically
--checkpoint-intervalnumberPeriodic checkpoint snapshot interval in seconds [s]
--tunestringComma-separated list of parameters to calibrate in 'tune' action (e.g. 'roughness,choke_cd,u_ambient')
--max-evalsnumber150Maximum number of objective evaluations during history matching optimization
--reportstringPath to write tuning Markdown report
--viewstring"profile"Diagram view type: 'profile', 'schematic', 'pvt', 'wellbore', 'slug', 'bathy'
--togenkey | opi | sysml2"genkey"Target format for conversion ('genkey', 'opi', 'sysml2')
--maopnumber250Maximum Allowable Operating Pressure limit in bar [bar]
--marginnumber3Required hydrate avoidance subcooling margin in Kelvin [K]
--capacitynumber150Topside slug catcher maximum liquid surge capacity in m³ [m³]
--min-velnumber0.5Minimum gas turndown velocity in m/s [m/s]
--max-surgenumber85Maximum allowable topside slug catcher surge volume in m³ [m³]
--min-hydrate-marginnumber3Minimum required hydrate avoidance subcooling margin in Kelvin [K]
--max-waxstring"2mm"Maximum allowable wax deposition layer thickness in mm [mm]
--max-corrosionstring"0.1mm/yr"Maximum allowable internal sweet CO2 corrosion rate in mm/year [mm/yr]
--out-reportstringPath to write Flow Assurance Gate Markdown summary report
--fmi-version2.0 | 3.0 | both"2.0"FMI specification version for FMU export: '2.0', '3.0', or 'both'
--macro-stepnumber1Co-simulation communication step size in seconds [s] (default: 1.0)
--algorithmgauss-seidel | jacobi"gauss-seidel"Co-simulation coupling algorithm ('gauss-seidel' | 'jacobi')
--compstringFeed composition string for EOS flash (e.g. 'C1:0.75,C2:0.10,C3:0.08,nC4:0.04,C7:0.03')
--pnumber50Operating pressure in bar [bar] for flash (default: 50.0)
--tnumber300.15Operating temperature in Kelvin or Celsius for flash (default: 300.15 K)
--modelpr | srk"pr"Cubic equation of state model ('pr' | 'srk')
--envelopebooleanfalseTrace two-phase saturation envelope (cricondenbar & cricondentherm)
--anti-slugbooleanfalseEnable active subsea topside closed-loop anti-slug controller during simulation
--slug-setpointnumber50Anti-slug riser base pressure setpoint in bar [bar] (default: 50.0)
--slug-kpnumber0.0000015Anti-slug PI proportional gain [1/Pa] (default: 1.5e-6)
--slug-tinumber30Anti-slug PI integral time constant in seconds [s] (default: 30.0)
--slug-washoutnumber20Anti-slug high-pass washout filter time constant in seconds [s] (default: 20.0)
--slug-chokenumber0.5Anti-slug baseline nominal choke opening [0..1] (default: 0.50)
--tripstringDynamic well trip event specification (e.g. 'WELL_1:20' for shut-in at t=20s)
--junction-volnumber5Gathering manifold junction accumulator volume in m³ [m³] (default: 5.0)
ActionDescription
inspectDump flowpath pipe discretization, valve configurations, sources, and boundary conditions.
lintRun pre-flight flow assurance checks (M7001–M7013: CFL violations, severe slugging, pig stuck hazards, wax/asphaltene precipitation).
simulateExecute transient 1D drift-flux simulation with Lagrangian slug tracking and scraper pig dynamics.
verifyCheck formal regulatory limits (MAOP, hydrate subcooling margin, slug surge volume, erosion limits).
diagramRender SVG schematics, seabed bathymetry elevation profiles, PVT envelopes, or slug statistics.
tuneRun automated history matching against field measurement CSV telemetry.
flashCompute Peng-Robinson (PR) or Soave-Redlich-Kwong (SRK) thermodynamic vapor-liquid equilibrium (VLE) flash.
networkSolve coupled gathering network transients across multiple branches and subsea manifolds.
cosimRun multi-rate SSP co-simulation coupling flowlines with topside process facilities.
to-daeLower flowline equations into ModelScript DAE arena.
to-modelicaTranslate pipe and boundary networks into Modelica.Fluid models.
bash
msx olga simulate subsea_tieback.opi --duration=3600 --out=traj.csv
msx olga lint deepwater_riser.genkey
msx olga diagram tieback.opi --view=profile --out=profile.svg
msx olga flash --comp="C1:0.75,C2:0.10,C3:0.08,nC4:0.04,C7:0.03" --p=50 --t=295.15 --envelope

simpack ​

Tooling for Dassault Systèmes SIMPACK multibody dynamics (.spck XML and .sim ASCII decks), including Grübler mobility analysis, 3D kinematic joint evaluation, Berg elastomeric bushings, and Craig-Bampton flexible body lowering.

bash
msx simpack <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path
-f, --formathtml | sarif | junit | ctrf"html"Report format: html | sarif | junit | ctrf
--stop-time, --tstop, --durationnumber5Simulation stop time [s]
--step, --step-size, --dtnumber0.005Simulation time step [s]
ActionDescription
lintCheck for dangling marker references, kinematic loops, and parameter inconsistencies.
mobilityCalculate mechanism spatial degrees of freedom (M=6n−∑ci) and detect overconstraints.
to-modelicaProject the mechanism into standard Modelica.Mechanics.MultiBody components.
simulateLower the multibody model to a DAE and integrate it in time.
to-fmuPackage the multibody assembly as an FMI 2.0 Co-Simulation FMU.
reportGenerate a homologation-style report for the model.
bash
msx simpack lint DoubleWishbone.spck
msx simpack mobility Suspension.spck
msx simpack to-modelica Mechanism.sim --out=Mechanism.mo

gensys ​

Tooling for GENSYS railway vehicle dynamics (.calc, .geom, .track), including FASTSIM wheel-rail contact mechanics, Polach non-linear creep, ERRI B176 track irregularities, Sperling ride comfort, and EN 14363 / UIC 518 running safety homologation.

bash
msx gensys <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path
-f, --formathtml | sarif | junit | ctrf"html"Report format: html | sarif | junit | ctrf
--stop-time, --tstop, --durationnumber5Simulation stop time [s]
--step, --step-size, --dtnumber0.005Simulation time step [s]
--y-forcenumber25Lateral wheel force Y [kN] for EN 14363 verification
--q-forcenumber80Vertical wheel force Q [kN] for EN 14363 verification
--axle-loadnumber160Nominal axle load 2*Q0 [kN] for Prud'homme limit
--wz-vertnumberSperling vertical ride comfort index Wz
--wz-horiznumberSperling horizontal ride comfort index Wz
--unloadingnumberEN 14067-6 crosswind wheel unloading ratio Delta Q / Q0
--conicitynumberWheel-rail equivalent conicity lambda_eq
ActionDescription
lintValidate vehicle inertial and geometric parameters against railway engineering rules.
to-modelicaProject the vehicle model into Modelica.
verifyEvaluate EN 14363 derailment quotient (Y/Q≤0.80) and Prud'homme lateral limit from --y-force, --q-force, --axle-load.
simulateLower the vehicle model to a DAE and integrate it in time.
to-fmuPackage the vehicle model as an FMI Co-Simulation FMU.
reportWrite an EN 14363 homologation report (--format html | sarif | junit | ctrf).
bash
msx gensys lint ManchesterBenchmark.calc
msx gensys verify --y-force 40 --q-force 80 --axle-load 160
msx gensys report ManchesterBenchmark.calc --format html --out homologation.html

spice ​

Analog circuit simulation and netlist analysis for SPICE (.cir, .sp, .net, .lib), including DC operating point, transient, and AC analyses (AC sweep parameters come from the netlist .AC directive), and ECAD graph generation.

bash
msx spice <action>
ActionDescription
simulateSimulate SPICE netlist with DC operating point (.OP), transient (.TRAN), or AC frequency response (.AC)
lintPerform pre-flight structural and electrical rule checks on SPICE netlist
inspectInspect circuit topology, component breakdown by kind, nodes, models, subcircuits, and directives
to-modelicaTranslate SPICE netlist to idiomatic Modelica 3.x electrical components and connections
to-ecadProject SPICE netlist to ECAD NetlistGraph for PCB routing and design rule checking
to-daeLower SPICE netlist directly into zero-GC linear-memory DAE arena
diagramRender SPICE circuit schematic diagram to standalone vector SVG or JSON graph
syncSynchronize tuned parameters and topology from Modelica 3.x back into SPICE netlist
Options for spice simulate
OptionTypeDefaultDescription
-a, --analysisop | tran | acAnalysis type (op, tran, ac). Defaults to directives defined in netlist
--tstepnumberTransient step size (seconds)
--tstopnumberTransient stop time (seconds)
-f, --formattable | json | csv"table"Output format
-o, --outstringWrite results to output file
Options for spice lint
OptionTypeDefaultDescription
-f, --formatpretty | json"pretty"Output format
Options for spice inspect
OptionTypeDefaultDescription
-f, --formatpretty | json"pretty"Output format
-o, --out, --outputstringWrite summary to output JSON file
Options for spice to-modelica
OptionTypeDefaultDescription
-o, --out, --outputstringOutput .mo file path
Options for spice to-ecad
OptionTypeDefaultDescription
-o, --outstringOutput JSON file path
Options for spice to-dae
OptionTypeDefaultDescription
-f, --formatpretty | json"pretty"Output format
-o, --out, --outputstringOutput JSON file for DAE metadata
Options for spice diagram
OptionTypeDefaultDescription
-f, --formatsvg | json"svg"Output format (svg or json)
-o, --outstringOutput file path (e.g., schematic.svg or graph.json)
Options for spice sync
OptionTypeDefaultDescription
--from-modelicastringPath to Modelica model file to synchronize from
--strategytarget-wins | source-wins | physics-simplex"target-wins"Conflict reconciliation strategy
-o, --outstringOutput file path (default: in-place)
bash
msx spice simulate LowPassFilter.cir --analysis op
msx spice simulate PowerSupply.cir --analysis tran --tstep 1e-6 --tstop 0.02 --out transient.csv
msx spice simulate AudioAmplifier.sp --analysis ac --format csv --out bode.csv

adams ​

Tooling for MSC Adams mechanism datasets (.adm) and command files (.cmd), including 3D Euler/Cardan kinematics, Grübler spatial mobility analysis, and cross-domain SIMPACK / Modelica projections.

bash
msx adams <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path
--stop-time, --tstop, --durationnumber5Simulation stop time [s]
--step, --step-size, --dtnumber0.005Simulation time step [s]
--stabilizationbaumgarte | algebraic"baumgarte"Constraint stabilization method
ActionDescription
lintCheck the dataset for dangling references and parameter inconsistencies.
mobilityCalculate mechanism degrees of freedom and detect overconstraints.
to-modelicaProject the mechanism into Modelica.Mechanics.MultiBody components.
to-simpackConvert the Adams dataset into SIMPACK .spck XML.
simulateLower to a DAE (Baumgarte or algebraic stabilization via --stabilization) and integrate it in time.
bash
msx adams mobility FourBarLinkage.adm
msx adams lint LandingGear.adm
msx adams to-simpack RobotArm.adm --out=RobotArm.spck

urdf ​

Robotics compiler tooling for ROS URDF (.urdf) and Xacro (.xacro) descriptions, featuring Featherstone recursive dynamics (ABA forward dynamics, RNEA inverse dynamics), joint limit verification, and 3D CAD projections.

bash
msx urdf <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path
--gravitynumber9.80665Gravitational acceleration [m/s^2]
ActionDescription
lintValidate kinematic tree acyclicity (M7504), joint limits (M7508), and inertia tensors (M7506).
rneaEvaluate inverse dynamics (RNEA) at test joint coordinates.
to-modelicaGenerate a Modelica.Mechanics.MultiBody robotic system.
to-simpackProject the robot description into SIMPACK .spck XML.
to-adamsProject the robot description into an MSC Adams .adm dataset.
to-daeLower kinematic state equations directly into the DAEBuilder arena.
bash
msx urdf rnea KukaIiwa14.urdf
msx urdf lint Manipulator.xacro
msx urdf to-modelica PandaArm.urdf --out=PandaArm.mo

easy5 ​

Tooling for Boeing / MSC EASY5 dynamic models (.ez5, .ezm, .ezd), including linear state-space analysis, User General (UG) Fortran routines, tabular map interpolation, and Modelica/SSP projections.

bash
msx easy5 <action> [files..]
OptionTypeDefaultDescription
--from-modelicastringPath to modified Modelica file for bidirectional synchronization
--strategytarget-wins | source-wins | physics-simplex"target-wins"Conflict reconciliation strategy
-o, --out, --outputstringOutput file path (for code generation or SVG diagram)
--min-freqnumber0.01Minimum frequency for Bode response (rad/s)
--max-freqnumber1000Maximum frequency for Bode response (rad/s)
--num-pointsnumber60Number of frequency logarithmic evaluation points
--max-iternumber50Maximum Newton-Raphson iterations for trim equilibrium
--tolnumber0.000001Convergence tolerance for trim equilibrium
-f, --formatterminal | json"terminal"Output format: 'terminal' or 'json'
--jsonbooleanfalseEmit JSON output
ActionDescription
inspectDump component blocks, connection topology, and parameter tables.
lintCheck for dangling connections, missing table files, and rate limits.
to-modelicaProject continuous block diagram to Modelica 3.x.
to-sspPackage model as an FMI SystemStructure.ssd container.
to-daeLower continuous and discrete equations into DAEBuilder arena.

gtsuite ​

Tooling for Gamma Technologies GT-SUITE powertrain and engine models (.gtm, .gtd), including crank-slider kinematics, Wiebe combustion, Woschni heat transfer, Zeldovich NOx emissions, and DAE lowering.

bash
msx gtsuite <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (for code generation, trajectories, or SVG diagrams)
--speednumberEngine speed override in RPM
--durationnumber0.5Simulation duration in seconds
--viewschematic | pv"schematic"Diagram view: 'schematic' or 'pv'
--max-bsfcnumber240Verification ceiling for BSFC in g/kWh
--max-boostnumber2.8Verification ceiling for boost pressure in bar
--max-noxnumber60Verification ceiling for NOx concentration in ppm
--min-knocknumber0.05Verification floor for knock safety margin
-f, --formatterminal | json"terminal"Output format: 'terminal' or 'json'
ActionDescription
inspectInspect engine cylinders, intake/exhaust manifolds, valves, and turbochargers.
lintDetect compressor surge (M9002), invalid compression ratio (M9005), and acoustic CFL limits.
simulateExecute in-WASM Mean-Value Engine Model (MVEM) transient simulation.
to-modelicaProject 1D powertrain architecture to Modelica standard blocks.
to-daeLower engine thermodynamics and flow dynamics into DAEBuilder arena.

sima ​

Tooling for DNV / SINTEF SIMA marine systems (.inp, .sima, .sys, .hyd), including Cummins equation 6-DOF floater dynamics, catenary mooring solvers, and DNV-OS-E301 station-keeping verification.

bash
msx sima <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (for code generation or exported manifests)
--consequence-classnumber2DNV consequence class (1 or 2, default: 2)
ActionDescription
inspectInspect marine vessels, mooring lines, catenary segments, and environmental loads.
lintCheck negative metacentric height (M7001), line underflow (M7002), and attachment nodes.
summaryPrint a model summary: vessels, lines, and environment.
verifyVerify DNV-OS-E301 / DNV-ST-0119 line tension safety factors.
offsetReport vessel watch-circle and offset limits.
to-modelicaProject marine system into acausal Modelica physical components.
to-sspExport an SSP SystemStructure.ssd.
to-sysml2Export a SysML v2 model.
to-daeLower hydrodynamics and mooring tension equations into DAEBuilder arena.

rocets ​

Tooling for NASA ROCETS liquid rocket engine transient decks (.roc, .deck, .map), including turbopump flow balance, CEA equilibrium combustion, supersonic nozzle expansion, and Bartz throat heat transfer.

bash
msx rocets <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (for code generation or SVG diagram)
--target-pcnumberTarget chamber pressure in Pascals for balance solve
--mrnumberTarget oxidizer-to-fuel mixture ratio for balance solve
--t-endnumber2End time for transient trajectory simulation (seconds)
-f, --formatterminal | json"terminal"Output format: 'terminal' or 'json'
--jsonbooleanfalseEmit JSON output
ActionDescription
inspectInspect turbopumps, combustion chambers, regenerative cooling channels, and valves.
lintDetect extreme mixture ratios (M8011), turbine overspeed (M8013), and negative chamber pressure.
simulateSolve steady-state flow balance or transient rocket engine ignition start sequence.
to-modelicaProject cryogenic fluid networks and turbomachinery into Modelica 3.x.
to-daeLower propulsion governing equations into DAEBuilder arena.

psse ​

Tooling for Siemens PSS/E power transmission cases (.raw, .dyr, .sav), including bus/branch netlist extraction, Full-Newton AC power flow solving, and Modelica / PSCAD EMT projections.

bash
msx psse <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (e.g. for SVG diagram)
--algorithm, --algnr | fdpf"nr"Power flow algorithm: 'nr' (Newton-Raphson) or 'fdpf' (Fast Decoupled)
--tolnumber0.0001Convergence tolerance in p.u.
--max-iternumber25Maximum allowable power flow iterations
ActionDescription
inspectDump bus count, generators, transmission lines, transformers, and load summary.
lintValidate bus voltage bounds, check for isolated buses, and verify generator P/Q limits.
solveSolve steady-state AC power flow on the nodal admittance matrix Ybus.
summaryPrint a base-case summary.
diagramExport a single-line diagram as SVG.
netlistExtract the bus/branch netlist.
to-modelicaProject power grid into acausal Modelica transmission lines and generators.
to-daeLower bus injection equations and generator swing dynamics into DAEBuilder arena.

lps ​

Tooling for Energy Solutions PipelineStudio gas and liquid pipeline networks (.lps, .tgx, .tlx, .psg), including AGA-8 / GERG-2008 natural gas compressibility, hydrogen blending (H2≤20%), open-channel slack line flow, water hammer liquid surge, and transient line pack accounting.

bash
msx lps <action> [files..]
OptionTypeDefaultDescription
-o, --out, --outputstringOutput file path (e.g. for SysML or Modelica export)
-f, --formatterminal | json"terminal"Output format: terminal or json
--jsonbooleanfalseOutput results in JSON format
--duration, --stop-time, --tstopnumber3600Simulation duration in seconds for transient run
--step, --step-size, --dtnumber10Transient simulation timestep in seconds
--restartstringPath to .sav checkpoint file to resume simulation from
--save-checkpointstringPath to write output .sav state snapshot
--eosAGA8 | GERG2008 | PENG_ROBINSON | IDEALEquation of state to use (AGA8, GERG2008, PENG_ROBINSON, IDEAL)
--soilbooleanfalseRun 1D radial cylindrical soil thermal conduction simulation
--slackbooleanfalseEvaluate open-channel slack line gravity flow on downhill pipes
ActionDescription
inspectDump pipeline pipes, compressors, pumps, delivery regulators, and receipt nodes.
lintCheck for MAOP overpressure (M8001), compressor surge (M8002), and high hydrogen blend ratios.
simulateRun transient fluid network pressure propagation and inventory line pack calculations.
solveSolve the steady-state network.
linepackCompute pipeline inventory (line pack).
sysmlProject pipeline topology and control station hierarchies into OMG SysML v2.
verifyRun design and safety verification on the steady-state solution.
to-modelicaProject pipe network into Modelica.Fluid gas/liquid transmission models.
to-daeLower Euler gas/liquid equations directly into DAEBuilder arena.

Language Workbench, Daemon & IDE Tooling ​

daemon ​

Controls the lifecycle of the persistent background ModelScript compiler daemon (~/.modelscript/daemon.sock).

bash
msx daemon <action>
SubcommandDescription
startSpawn the background compiler daemon if not already running.
stopGracefully shut down the running daemon and remove its socket file.
statusReport whether the daemon is running, its PID, uptime, and cached workspace count.
restartStop any active daemon instance and immediately start a fresh one.

build ​

Compiles a @modelscript/dsl grammar definition into a zero-dependency native WebAssembly GLR parser (parser.wasm) along with strongly typed TypeScript CST node definitions.

bash
msx build [entry]
OptionTypeDefaultDescription
--targetwasm | native"native"Compilation target (wasm or native)
--registerbooleanfalseRegister the compiled language into the user catalog (~/.modelscript/languages/)

generate ​

Scaffolds a new WebAssembly GLR parser (parser) or a complete standalone VS Code language extension (extension including TextMate grammars, LSP wiring, and package.json contributions) from a @modelscript/dsl language definition.

bash
msx generate [target] [entries..]
OptionTypeDefaultDescription
--entrystring"src/language.ts"Path to primary language spec file
-o, --outdirstring"build/src-gen"Output directory
--vsixbooleanfalsePackage into a .vsix extension bundle

language ​

Manages the dynamic polyglot language registry (lang is an alias for language).

bash
msx language <action> [target]
msx lang <action> [target]
msx lang <action> [target]
SubcommandDescription
listList all registered languages (.mo, .sysml, .msx, .pscx, .scad, .stp, .owl, .ssp, .csv, .su2, .inp, .gbr) and their loaded .wasm parser states.
register <path>Dynamically register a custom language plugin module into ~/.modelscript/languages.json.
unregister <id>Remove a dynamically registered language plugin by language ID.

lsp ​

Starts the multi-language ModelScript Language Server Protocol (@modelscript/lsp) server.

bash
msx lsp
OptionTypeDefaultDescription
--stdiobooleantrueRun language server over standard I/O (default for VS Code, Neovim, Emacs)
--portnumberRun language server over a TCP port

playground ​

Launches a local interactive web playground server for live grammar authoring, GLR parse tree visualization, Salsa query inspection, and DAE simulation.

bash
msx playground

sandbox ​

Executes untrusted .msx scripts or .mo simulations inside a memory-capped, capability-isolated WebAssembly sandbox with no host filesystem or network access.

bash
msx sandbox [entries..]
OptionTypeDefaultDescription
-o, --outdirstring"build/src-gen"output directory for extension build artifacts
--openbooleantrueOpen the browser automatically

Package Registry, Cloud HPC & Hub Administration ​

init ​

Initializes a new modelscript.json package manifest in the current directory.

bash
msx init [path]
OptionTypeDefaultDescription
-y, --yesbooleanfalseAccept all defaults without prompts

login, logout, whoami ​

Manages authentication sessions against the Ansatz Package Registry or self-hosted Ansatz / ModelScript hub node. Credentials and signing keys are stored in ~/.ansatzrc (or ~/.modelscriptrc).

bash
msx login
OptionTypeDefaultDescription
-e, --emailstringEmail address or username
-p, --passwordstringPassword (recommended only in non-interactive/automated environments)
-t, --tokenstringAuthenticate directly with a personal access token or API token
--otpstringTwo-factor authentication code (TOTP or backup recovery code)
-r, --registrystringRegistry API URL
bash
msx logout
OptionTypeDefaultDescription
-r, --registrystringRegistry API URL to log out from
--allbooleanfalseClear all saved registry preferences and credentials
bash
msx whoami
OptionTypeDefaultDescription
-r, --registrystringRegistry API URL to query against
--jsonbooleanfalseOutput in JSON format

install ​

Resolves semantic version constraints, verifies SHA-256 content-addressable digests and Ed25519 publisher signatures, and installs Modelica/SysML/ModelScript packages into modelica_modules/ while updating msx.lock.

bash
msx install [package]
msx i [package]
msx add [package]
OptionTypeDefaultDescription
-s, --savebooleantrueSave installed package to package.json dependencies
--frozen-lockfile, --frozen, --cibooleanfalseEnforce zero-trust installation against msx.lock (fails if lockfile is missing, out of sync, or tampered)
--dry-runbooleanfalseSimulate transitive dependency resolution without writing packages or lockfile to disk

pack, publish, unpublish ​

Packages, cryptographically signs, and publishes libraries to the Ansatz Package Registry.

bash
msx pack [path]
OptionTypeDefaultDescription
-o, --outstringOutput directory for the generated archive
-d, --dry-runbooleanfalseInspect files and archive details without creating the file
--jsonbooleanfalseOutput archive metadata as JSON
bash
msx publish <path>
OptionTypeDefaultDescription
--signaturestringCryptographic detached signature for supply chain verification
-d, --dry-runbooleanfalseReport files and archive metadata without publishing to the registry
-t, --tagstring"latest"Registers the published package with the given dist-tag
--no-verifybooleanfalseSkip pre-flight syntax and manifest verification
bash
msx unpublish [path]
OptionTypeDefaultDescription
-n, --namestringLibrary name (used with --version instead of a path)

cloud ​

Manages remote high-performance computing (HPC) simulation sweeps, Slurm batch jobs, and organization compute credit wallets on Ansatz Cloud HPC.

bash
msx cloud <action> [target]
OptionTypeDefaultDescription
-p, --profilestringCompute profile ID (standard, high-memory, gpu-a100, hpc-mpi-64)
-d, --domainstringSimulation domain (modelica, cfd, fea, monte-carlo)
-f, --followbooleanFollow log stream in real time
-o, --outputstringOutput path for downloaded artifacts
--api-urlstringModelScript API server URL
SubcommandArgumentsDescription
profiles—List available CPU/GPU hardware execution profiles (standard, high-cpu, gpu-a100, slurm-mpi) and credit burn rates.
balance / wallet—Display current organization compute credit balance, active reservations, and ledger history.
jobs / list—List recent and running cloud simulation jobs.
status<jobId>Query real-time queue state (QUEUED, RUNNING, COMPLETED, FAILED) and progress percentage for a job.
logs<jobId>Stream stdout/stderr compiler and solver logs from a cloud worker.
cancel<jobId>Terminate a queued or running cloud job and refund unused reserved credits.
download<jobId> [outDir]Download completed trajectory CSV/Parquet artifacts and diagnostic reports.
dispatch<name> <paths...>Directly submit a containerized simulation or DoE sweep job to the cloud queue.

hub, db, archive ​

Administrative CLI commands for operators managing a self-hosted ModelScript Enterprise Hub instance (see Platform Administration Guide).

bash
msx hub <command>
msx ansatz <command>
msx node <command>
ActionDescription
initInitialize a ModelScript hub node with tailored profile configurations
statusQuery the compliance and health readiness probe of a ModelScript node
upgradeOrchestrate a safe zero-downtime rolling upgrade with pre-upgrade backup and automatic rollback
accountsManage local and remote accounts (tootctl accounts equivalent: list, modify, prune)
domainsManage federation domain policies (list, block, silence, allow, purge)
prune-remotePrune unengaged remote posts, cached remote media, and stale remote actor profiles (tootctl statuses/media remove)
relayManage ActivityPub relay subscriptions (list, add, pause, resume, remove)
Options for hub init
OptionTypeDefaultDescription
-p, --profilestandalone | internal | corporate | federated | federated-lite | flagshipDeployment profile: 'standalone' | 'internal' | 'corporate' | 'federated' | 'federated-lite' | 'flagship'
-d, --dirstring"."Target directory to write configuration files into
--portnumber3000API server port
--domainstringPublic domain for federated or internal node
--admin-userstring"admin"Initial administrator username
--admin-emailstring"[email protected]"Initial administrator email address
--admin-passstringInitial administrator password
--tunnel-tokenstringCloudflare Tunnel token for zero-open-ports ingress
-y, --yesbooleanfalseSkip interactive prompts and accept all defaults
Options for hub upgrade
OptionTypeDefaultDescription
--tagstring"latest"Target Docker IMAGE_TAG to deploy
--profilestring"federated-lite"Docker Compose profile to run
--compose-dirstring"."Directory containing docker-compose.yml and docker-compose.prod.yml
--dry-runbooleanfalsePrint upgrade steps and compose commands without mutating state
--tokenstringAdmin Bearer JWT token for maintenance lock and hot backup (or set MSX_TOKEN)
Options for hub accounts
OptionTypeDefaultDescription
--user-idnumberExplicit numeric user ID
--roleuser | moderator | auditor | adminAssign staff role
--statusactive | frozen | suspendedAssign account status
--daysnumber90Inactivity window in days when pruning unreferenced remote accounts
--urlstring"http://localhost:3000"Base URL of the hub node
--tokenstringAdmin Bearer JWT token (or set MSX_TOKEN)
Options for hub domains
OptionTypeDefaultDescription
--tierallow | silence | suspendExplicit federation tier
--reasonstringPublic or administrative moderation comment
--reject-mediabooleanStrip and refuse remote media/artifact attachments from this domain
--reject-reportsbooleanIgnore incoming ActivityPub Flag reports from this domain
--obfuscatebooleanPartially obfuscate domain name on public blocklist
--urlstring"http://localhost:3000"Base URL of the hub node
--tokenstringAdmin Bearer JWT token (or set MSX_TOKEN)
Options for hub prune-remote
OptionTypeDefaultDescription
--daysnumber90Retain unengaged remote statuses for N days
--media-daysnumber14Retain cached remote media/artifacts for N days
--account-daysnumber90Retain unreferenced remote accounts for N days
--urlstring"http://localhost:3000"Base URL of the hub node
--tokenstringAdmin Bearer JWT token (or set MSX_TOKEN)
Options for hub relay
OptionTypeDefaultDescription
--urlstring"http://localhost:3000"Base URL of the hub node
--tokenstringAdmin Bearer JWT token (or set MSX_TOKEN)
bash
msx db <action>

Actions:status, upgrade, rollback, plan, verify, doctor, support-bundle, backup, backups, restore, prune, export-bundle, import-bundle

OptionTypeDefaultDescription
--dbstringPath to local SQLite database file for offline air-gapped maintenance
--dry-runbooleanfalsePreview pending migrations without applying changes
--skip-backupbooleanfalseSkip automated pre-flight hot snapshot (not recommended for production)
--labelstringOptional snapshot label when creating a hot backup (`msx db backup --label pre-release`)
--filestringBackup snapshot or bundle file path (`msx db restore --file ...` / `msx db import-bundle --file ...`)
--keepnumber7Number of most recent snapshots to keep when pruning (`msx db prune --keep 7`)
--api-urlstringModelScript API server URL
bash
msx archive [action] [users..]
OptionTypeDefaultDescription
--formatzip | json"zip"Archive payload format: zip (default) or json
-c, --concurrencynumberMaximum concurrent worker jobs (default: 2 or ARCHIVE_CONCURRENCY env)
-o, --outputstringDestination path or file for single-user archive
--output-dirstringDestination directory for batch archives (default: ./data/archives)
--waitbooleantrueWait and stream download after queueing completes
--api-urlstringModelScript Hub API endpoint URL
bash
# Initialize Hub configuration or query cluster service health
msx hub <init|status> [--api-url <url>]

# Inspect database migration state, plan schema upgrades, or verify relational and physical integrity (online or offline air-gapped)
msx db <status|upgrade|rollback|plan|verify> [--db <file.sqlite>] [--dry-run] [--skip-backup]

# Request, poll, or download long-term regulatory cold-storage archives
msx archive <request|status|download> <targetId> [-o <path>]

Open-Core under the GNU AGPL v3 License; Enterprise Edition (ee/) under the ModelScript Enterprise License. • Trademark Policy