CellML.org - CellML Specification - Overview

CellML Logo

CellML Specification - Overview

Draft — 6 November 2002

the PDF!


This document specifies CellMLTM 1.1, 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. Models may import other models to create systems of increasing complexity. Metadata may be embedded in CellML documents using RDF.

Status of this document

This document is a draft version of the specification for CellML 1.1. As a Working Draft, this specification may be updated, replaced, or made obsolete at any time. It is distributed for discussion purposes only and should not be used as a reference.

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 always 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 of 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 mathematical expressions are defined in CellML documents using MathML, and defines the CellML subset of MathML elements.
  • 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 CellML syntax that allows the modeller to classify the involvement of the participants in the chemical expressions that make up reaction/pathway models.
  • 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.
  • Importing Models — This section explains how a modeller may reuse parts of existing models. This feature also allows a modeller to create an incomplete model, with the expectation that the necessary components and connections may be included in the future when more knowledge is available.
  • Appendices — The appendices cover advanced and technical topics including the CellML DTD, recommendations for adding scripts to CellML documents, and units processing algorithms.