What is SED-ML?

Welcome to the home page of the Simulation Experiment Description Markup Language (SED-ML). SED-ML is an XML-based format for encoding simulation setups, to ensure exchangeability and reproducibility of simulation experiments.

The current version is SED-ML Level 1 Version 2 and covers the description of time course simulation experiments as well as repeated tasks and steady state experiments. For additional specification documents and proposals see the Specifications page.

logo L1V2 (official specification document) pdf


The increasing use of computational simulation experiments to inform modern biological research creates new challenges to annotate, archive, share and reproduce such experiments. The recently published Minimum Information About a Simulation Experiment (MIASE) proposes a minimal set of information that should be provided to allow the reproduction of simulation experiments among users and software tools.

SED-ML encodes in a computer-readable exchange format the information required by MIASE to enable reproduction of simulation experiments. It has been developed as a community project and it is defined in a detailed technical specification and additionally provides an XML schema.

SED-ML covers the description of the most frequent type of simulation experiments in the area, namely time course simulations. SED-ML documents specify

  • which models to use in an experiment,
  • modifications to apply on the models before using them,
  • which simulation procedures to run on each model,
  • what analysis results to output,
  • and how the results should be presented.
These descriptions are independent of the underlying model implementation. SED-ML is a software-independent format for encoding the description of simulation experiments; it is not specific to particular simulation tools.


SED-ML is build of the following main objects: the Model, the Simulation, the Task, the DataGenerator, and the Output. In SED-ML L1V3 the DataDescription is added.


The Model class is used to reference the models used in the simulation experiment. SED-ML itself is independent of the model encoding underlying the models. The only requirement is that the model needs to be referenced by using an unambiguous identifier which allows for finding it, for example using a MIRIAM URI. To specify the language in which the model is encoded, a set of predefined language URNs is provided.

The SED-ML Change class allows the application of changes to the referenced models, including changes on the XML attributes, e.g. changing the value of an observable, computing the change of a value using mathematics, or general changes on any XML element of the model representation that is addressable by XPath expressions, e.g. substituting a piece of XML by an updated one.


The Simulation class defines the simulation settings and the steps taken during simulation. These include the particular type of simulation and the algorithm used for the execution of the simulation; preferably an unambiguous reference to such an algorithm should be given, using a controlled vocabulary, or ontologies. One example for an ontology of simulation algorithms is the Kinetic Simulation Algorithm Ontology KiSAO. Further information encodable in the Simulation class includes the step size, simulation duration, and other simulation-type dependent information.


SED-ML makes use of the notion of a Task class to combine a defined model (from the Model class) and a defined simulation setting (from the Simulation class). A task always holds one reference each. To refer to a specific model and to a specific simulation, the corresponding IDs are used.


The raw simulation result sometimes does not correspond to the desired output of the simulation, e.g. one might want to normalise a plot before output, or apply post-processing like mean-value calculation. The DataGenerator class allows for the encoding of such post-processings which need to be applied to the simulation result before output. To define data generators, any addressable variable or parameter of any defined model (from instances of the Model class) may be referenced, and new entities might be specified using MathML definitions.


The Output class defines the output of the simulation, in the sense that it specifies what shall be plotted in the output. To do so, an output type is defined, e.g. 2D-plot, 3D-plot or data table, and the according axes or columns are all assigned to one of the formerly specified instances of the DataGenerator class.

Language URNs

The following languages have to our knowledge so far been used with SED-ML. To specify the language of a model in the Model class, please use the according URN given. The general scheme for a language URN in SED-ML is urn:sedml:language:language name and version.

Language URN Specification URL
CellML (generic) urn:sedml:language:cellml none
CellML 1.0 urn:sedml:language:cellml.1_0 http://www.cellml.org/specifications/cellml_1.0
CellML 1.1 urn:sedml:language:cellml.1_1 http://www.cellml.org/specifications/cellml_1.1
NeuroML (generic) urn:sedml:language:neuroml none
NeuroML Version 1.8.1 Level 1 urn:sedml:language:neuroml.version-1_8_1.level-1 none
NeuroML Version 1.8.1 Level 2 urn:sedml:language:neuroml.version-1_8_1.level-2 none
SBML (generic) urn:sedml:language:sbml none
SBML Level 1 Version 1 urn:sedml:language:sbml.level-1.version-1 http://sbml.org/Special/specifications/sbml-level-1/version-1/html/
SBML Level 1 Version 2 urn:sedml:language:sbml.level-1.version-2 http://sbml.org/Special/specifications/sbml-level-1/version-2/html/
SBML Level 2 Version 1 urn:sedml:language:sbml.level-2.version-1 http://www.sbml.org/specifications/sbml-level-2/version-1/html/
SBML Level 2 Version 2 urn:sedml:language:sbml.level-2.version-2 http://www.sbml.org/specifications/sbml-level-2/version-2/revision-1/sbml-level-2-version-2-rev1.pdf
SBML Level 2 Version 3 urn:sedml:language:sbml.level-2.version-3 http://www.sbml.org/specifications/sbml-level-2/version-3/release-1/sbml-level-2-version-3-rel-1.pdf
SBML Level 2 Version 4 urn:sedml:language:sbml.level-2.version-4 http://precedings.nature.com/documents/2715/version/1
SBML Level 3 Version 1 urn:sedml:language:sbml.level-3.version-1 http://precedings.nature.com/documents/4123/version/1
VCML (generic) urn:sedml:language:vcml none

Predefined Symbols

As described in the SED-ML specification some modeling languages use predefined symbols or implicit variables. In order to handle such variables the SED-ML introduced symbol URNs. The general scheme for a symbol URN in SED-ML is urn:sedml:symbol:symbolName.

Language URN Definition
SBML urn:sedml:symbol:time Time in SBML is an intrinsic model variable that is addressable in model equations via a csymbol 'time'.

© 2017 sed-ml.org. Report website issue