Hi all,

A new draft specification, the Custom Subset Metadata Specification, has 
been added to the CellML site, at 

The abstract of the specification is as follows:
CellML provides a mechanism to describe mathematical models. CellML 
allows models of arbitrary complexity to be created, and models can be 
combined using the import functionality in CellML 1.1 to create even 
more complex models. One consequence of this is that CellML models can 
potentially have massive numbers of variables and even components. While 
backend tools can process such large numbers of variables on modern 
computers, this creates a significant problem when designing user 
interfaces. One principle of good user interface design is that you 
should present the user with the minimum number of choices possible. 
This makes it faster for the user to locate the functionality they 
desire, and so improves user productivity. In order to cut down on the 
choices of variables, components, or other parts of the model available, 
however, it is necessary to determine which parts of the model the user 
is likely to edit, in advance. As CellML has been designed to be domain 
independent, there is no generic way to do this automatically. Moreover, 
even if we could do this, different users may put the model to different 
uses, and so have different preferences as to what they will edit.

It is clear that there needs to be some way to specify which parts of 
the model users will change the most often, so restricted views of the 
models can be shown to the user (with an option to show the full model 
if desired). CellML provides a grouping facility, through the use of the 
cellml:group element. However, this element is inappropriate for this 
particular application, because:

   1. Grouping only works for components. However, it would be useful to
      define sets of variables, mathematical equations, and other
      elements in the model, in addition to components. This could be
      overcome by making a revised version of the specification, but
      this would likely introduce many incompatibilities with existing
   2. CellML has been designed to separate data, which is essential to
      the evaluation of the model, from metadata. Because the
      information being conveyed here relates to how the model should be
      displayed, rather than the mathematical interpretation of the
      model, it is clearly metadata. Therefore, it fits better into the
      existing CellML metadata (cmeta) framework, as RDF, than it does
      as a part of the core CellML specification.


Comments on this specification are solicited, please send them to 

Best regards,
Andrew Miller

cellml-discussion mailing list

Reply via email to