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 5. For additional specification documents and proposals see the Specifications page.
L1V5 (official specification document)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
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 DataDescription
, the Model
,
the Simulation
, the Task
, the DataGenerator
, and
the Output
.
The DataDescription
class allows to specify datasets for a simulation experiment. Such data can be used
for instance for parametrization of model simulations or to plot data together with simulation results.
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 attributes, e.g. changing the value of an
observable, computing the change of a value using
mathematics, or general changes on any element of the
model representation that is addressable, such as 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.
SedBase
)AbstractTask
, Task
, RepeatedTask
)RepeatedTask
, Range
, SetValue
)Range
, FunctionalRange
, UniformRange
, VectorRange
)Model
, Change
)Change
, ChangeAttribute
, ComputeChange
, AddXML
, RemoveXML
, ChangeXML
)Simulation
, OneStep
, SteadyState
, UniformTimeCourse
, Algorithm
, AlgorithmParameter
)Output
, Report
, Plot2D
, Plot3D
, DataSet
, Curve
, Surface
)DataGenerator
, Variable
, Parameter
)DataDescription
, DimensionDescription
, DataSource
, Slice
)Variable
)Parameter
)© 2017-2021 sed-ml.org. Report website issue