CellML.org - CellML Specification - Overview

CellML Logo

CellML Specification - Overview

Final Draft — 18 May 2001

the PDF!


This document specifies CellMLTM 1.0, an XML-based language for describing and exchanging models of cellular and subcellular processes. MathML embedded in CellML documents is used to define the underlying mathematics of models. Models consist of a network of re-usable components, each with variables and equations manipulating those variables. Metadata may be embedded in CellML documents using RDF.

Status of this document

On 18 May 2001 this document enters a final draft review period. The review period allows time for interested parties to thoroughly read this document, and implementors to find serious problems, if any. After 18 May 2001 the syntax of CellML 1.0, as described in this specification, will not change unless serious flaws are highlighted.

The authors invite feedback from the public. Readers are encouraged to subscribe and send comments to the cellml-discussion mailing list. Alternatively, readers may send comments and questions via e-mail to info@cellml.org.

The latest version of the CellML specification is available at the following URI:

The list of errata associated with this document is available at the following URI:

Quick Links

The CellML specification can be viewed as one large document in either HTML or PDF formats, or viewed in the following manageable sections:

  • Introduction — This section introduces CellML, XML, the terminology used throughout the specification, and the structure of the specification.
  • Fundamentals — This section explains concepts used in all other sections of the specification, such as the definition of a valid CellML identifier and the use of XML namespaces in CellML.
  • Model Structure — This section describes how models are organised in CellML. It includes an explanation of the use of a network of components to define a model and a discussion of variables in CellML.
  • Mathematics — This section describes how MathML is used to define mathematical equations and algorithms in CellML documents.
  • Units — This section explains the requirements for units in CellML and describes how a modeller can define arbitrary sets of units.
  • Grouping — This section explains how a model can be organised into logical encapsulation and geometric containment hierarchies by grouping components.
  • Reactions — This section introduces the CellML syntax that makes it possible to define the chemical expressions that make up reaction/pathway models without resorting to MathML.
  • Metadata Framework — This section describes how RDF is used in CellML documents to define metadata and associate it with models, model components, and other CellML elements.
  • Appendices — The appendices cover advanced and technical topics including the CellML DTD, recommendations for adding scripts to CellML documents, and units processing algorithms. A list of the major changes since the last version of the specification is also available.