CellML (TM) is an XML-based language designed to facilitate the exchange of
biological models: across the World Wide Web. Processing applications are
able to appropriately render models based on the definition of model struct
ure given in a CellML document, and run simulations based on the definition
of the underlying mathematics.
CellML is designed to be a general framework upon which a wide variety of m
odels may be built;. The basic constituents and structure are simple; provi
ding a common basis for describing models and facilitating the creation of
complex models from simpler ones by combining models and/or adding detail t
o existing models.
CellML models are represented as a collection of discrete components linked
by connections to form a network. A component is a functional unit that ma
y correspond to a physical compartment;, a collection of entities engaged i
n similar tasks, or a convenient modelling abstraction. Components may cont
ain variables, mathematical relationships that specify the interactions bet
ween those variables, and metadata. Variables may be local to a component,
or made visible to other components via interface attributes. All interacti
ons between variables within a component are described using MathML content
markup. The interface attributes describe the external view of tile compon
ent, specifying those variables visible to other components. A connection i
s a directed mapping from externally visible variables in one component to
those of another. Every variable has a set of units associated with it, mak
ing it possible to connect together components with variables defined using
different units.
CellML offers additional facilities, such as metadata, for adding context i
nformation to a model, and component grouping. These assist in the creation
and maintenance of models but do not alter the mathematics of the model. A
ll models described using CellML can be reduced to the canonical form: a se
t of connected components.