Hierarchical Model Composition
SBML Level 3 Package Activity Status Page
|Package name:||Hierarchical Model Composition|
|Package label:|| |
|Package purpose:||A means for defining how a model is composed from other models.|
|Package Working Group mailing list:||sbml-comp|
|Contact address (where to ask questions):||email@example.com|
|Specification status:||Final specification approved and two independent implementations are available.|
|Latest specification document:||Version of 14 November 2013|
|SBML Editor acting as liason:||Lucian Smith|
Status of specification and/or proposal development
Update of 2012-07-20: Editing of the specification is underway. A new release is expect prior to COMBINE 2012.
A separate page lists a number of examples, discussion points and questions about the Hierarchical Model Composition package for SBML Level 3.
Status of LibSBML support
|LibSBML implementation status:||A full (with respect to the specification) implementation is available.|
|Where can you find a distribution?:||SourceForge directory|
Currently, in the implementation of the extension for libSBML 5.5.0, all new attributes and child objects can be read, written, created, examined, and modified. Additionally, a 'flattening' routine is available that will fully translate a hierarchical model to a non-hierarchical 'flat' model with exactly the same mathematics, including all conversion factors.
Unavailable at this time is a method for validating a model according to the rules defined in the 'comp' specification, though many of these rules are implemented to prevent dynamic creation of invalid models. Additionally, no routine is available to calculate the MD5 hash of a file within libsbml. These capabilities are planned for a future release.
Status of JSBML support
|JSBML implementation status:||A full (with respect to the specification) implementation is available.|
|Where can you find a distribution?:||directory|
|Where can you find in-progress source code?:||directory|
No work is currently being done to implement comp in JSBML. Volunteers are welcome.
Status of RELAX NG schemas
|RELAX NG schema status:||A final schema is available.|
|Link to schema:||comp|
The existing RNG schema for comp is based on the proposed schema from 2011, and has not yet been updated to include newer constructs like the 'ReplacedBy' element, nor to incorporate validation decisions that were made at the 2012 HARMONY, such as restricting replacements to only involve the same class of element. The majority of the proposed specification is implemented, however.
Status of third-party application support
|3rd-party software implementation status:||Two or more implementations have been released.|
The released Antimony v2.1-beta has partial support for comp, and can create, read, and flatten the hierarchical models it creates using these constructs. Current development work in Antimony includes better support for rule and assignment replacement, as well as for deletions.
iBioSim support for comp is still in development, but will, when released, include support for import and export of all (or nearly all) comp elements.
The proposal was accepted by community vote and has now entered the specification phase. The current public specification document is indicated above. For historical reference, the proposal put to a vote is still available in the SVN repository A full detailed history of the research and development of this specification (starting in the year 2000) is available in the 'History' section of the current proposed specification.