COMBINE SED-ML Simulation Experiments (.sedml)
@modelscript/sedml (languages/sedml) provides native WebAssembly parsing, KiSAO solver algorithm validation, multi-task simulation protocol execution (UniformTimeCourse, OneStep, SteadyState, RepeatedTask), DataGenerator post-processing, DAEBuilder lowering, and Modelica experiment projection for Simulation Experiment Description Markup Language (SED-ML Level 1 Version 3/4) reproducible simulation studies.
Supported Extensions & Standards
| Extension | Format | Description |
|---|---|---|
.sedml, .xml | COMBINE SED-ML | XML specification of listOfModels, listOfSimulations, listOfTasks, listOfDataGenerators, and listOfOutputs |
Key Capabilities
1. Reproducible Simulation Protocols & KiSAO Solvers
- Parses SED-ML elements:
- Models & Changes (
model,changeAttribute,computeChange): Base model references (SBML, CellML, Modelica) and parameter overrides. - Simulations (
uniformTimeCourse,oneStep,steadyState): Initial time, output start/end times, number of points, and KiSAO algorithm identifiers (KISAO:0000019CVODE,KISAO:0000032RK4,KISAO:0000029Gillespie SSA). - Tasks & Data Generators (
task,repeatedTask,dataGenerator): MathML/infix normalization and scaling of raw simulation variables forplot2D,plot3D, andreportoutputs.
- Models & Changes (
2. Protocol Execution & Modelica Experiment Projection
- Executes time-course and parameter-sweep tasks (
executeSedml), lowers the experiment schedule into@modelscript/runtime'sDAEBuilderarena, and generates Modelica models annotated withannotation(experiment(StartTime=..., StopTime=..., NumberOfIntervals=..., Tolerance=...))(sedmlToModelica).
Pre-Flight Diagnostics
10 rules8 error2 warning
| Code | Rule | Severity | Message |
|---|---|---|---|
M9151 | invalid-time-course-bounds | error | UniformTimeCourse simulation '<simId>' defines invalid time course bounds ('<details>'). |
M9152 | invalid-kisao-id | error | Simulation '<simId>' specifies missing or malformed algorithm KiSAO identifier '<kisaoId>'; expected 'KISAO:xxxxxxx'. |
M9153 | unresolved-model-reference | error | SED-ML element '<ownerId>' references undefined model '<modelRef>'. |
M9154 | unresolved-simulation-reference | error | Task '<taskId>' references undefined simulation '<simRef>'. |
M9155 | unresolved-task-reference | error | SED-ML variable or subTask in '<ownerId>' references undefined task '<taskRef>'. |
M9156 | unresolved-data-generator-reference | error | Output '<outputId>' element '<itemId>' references undefined dataGenerator '<dataGenRef>'. |
M9157 | circular-model-source | error | Model '<modelId>' source reference chain '<chain>' forms a circular dependency. |
M9158 | undefined-data-generator-math-variable | warning | DataGenerator '<dataGenId>' math expression references identifier '<symbolName>' not declared in listOfVariables or listOfParameters. |
M9159 | empty-sedml-experiment | warning | SED-ML document defines an empty experiment with no simulations or tasks. |
M9160 | duplicate-sedml-id | error | SED-ML identifier '<id>' on '<elementKind>' is declared multiple times within the document. |
Generated from languages/sedml/src/errors.ts. All languages →
CLI Usage
bash
# Validate time-course bounds, KiSAO IDs, and model/task/dataGenerator references
msx lint OscillatoryProtocol.sedml
# Parse and inspect SED-ML simulation experiment definitions
msx parse OscillatoryProtocol.sedml
