libSBML C# API  5.18.0
Hierarchical Model Composition

The libSBML “comp” extension implements support for the SBML Level 3 Hierarchical Model Composition package. It can be used in SBML Level 3 Version 1 and Version 2 documents.

Introduction

In the context of SBML, hierarchical model composition refers to the ability to include models as submodels inside another model. The goal is to support the ability of modelers and software tools to do such things as (1) decompose larger models into smaller ones, as a way to manage complexity; (2) incorporate multiple instances of a given model within one or more enclosing models, to avoid literal duplication of repeated elements; and (3) create libraries of reusable, tested models, much as is done in software development and other engineering fields. SBML Level 3 Version 1 Core, by itself, has no direct support for allowing a model to include other models as submodels. The Level 3 Hierarchical Model Composition package adds the missing capabilities. The figure below illustrates some of the scenarios targeted by this package.

Two examples of model configuration supported by the “comp” package: (left) a model composed of a submodel that is itself composed of submodels; (right) a model composed of submodels, one of which is defined in an external file.

Authors

The primary authors of the SBML Level 3 Hierarchical Model Composition specification are Lucian P. Smith, Michael Hucka, Stefan Hoops, Andrew Finney, Martin Ginkel, Chris J. Myers, Ion Moraru and Wolfram Liebermeister.

The specification for this SBML package

This API documentation for libSBML does not provide a complete explanation of the SBML Level 3 Hierarchical Model Composition (“comp”) package. If you are developing software that uses “comp”, you are strongly urged to read the actual specification for the package. A link to the specification document current is provided below, along with a link to the page of known issues (if any).

Specification for SBML Level 3 Hierarchical Model Composition, current at the time of this libSBML release (5.18.0). Note: an Internet connection is required to access these documents.
Specification (in PDF format) Known issues
Hierarchical Model Composition package, Version 1 Release 3 Errata page
More...

Classes

class  libsbmlcs.CompBase
 comp Convenience class for SBase-derived classes. More...
 
class  libsbmlcs.CompExtension
 comp Base extension class for the package. More...
 
class  libsbmlcs.CompFlatteningConverter
 comp 'Flattens' a model, removing composition. More...
 
class  libsbmlcs.CompModelPlugin
 comp Extension of Model. More...
 
class  libsbmlcs.CompSBasePlugin
 comp Extension of SBase. More...
 
class  libsbmlcs.CompSBMLDocumentPlugin
 comp Extension of SBMLDocument. More...
 
class  libsbmlcs.Deletion
 comp Deletion of an object from a submodel. More...
 
class  libsbmlcs.ExternalModelDefinition
 comp A reference to an externally-defined model. More...
 
class  libsbmlcs.ListOfDeletions
 comp A list of Deletion objects. More...
 
class  libsbmlcs.ListOfExternalModelDefinitions
 comp A list of ExternalModelDefinition objects. More...
 
class  libsbmlcs.ListOfModelDefinitions
 comp A list of ModelDefinition objects. More...
 
class  libsbmlcs.ListOfPorts
 comp A list of Port objects. More...
 
class  libsbmlcs.ListOfReplacedElements
 comp A list of ReplacedElement objects. More...
 
class  libsbmlcs.ListOfSubmodels
 comp A list of Submodel objects. More...
 
class  libsbmlcs.ModelDefinition
 comp A model used in model composition. More...
 
class  libsbmlcs.Port
 comp An interface to be used in composition. More...
 
class  libsbmlcs.ReplacedBy
 comp Indicates an object replaced by another. More...
 
class  libsbmlcs.ReplacedElement
 comp Indicates an object replaces another. More...
 
class  libsbmlcs.Replacing
 comp Convenience class. More...
 
class  libsbmlcs.SBaseRef
 comp Base class for references to objects. More...
 
class  libsbmlcs.SBMLFileResolver
 comp Resolves documents stored on a file system. More...
 
class  libsbmlcs.SBMLResolver
 comp Base class for SBML resolvers. More...
 
class  libsbmlcs.SBMLResolverRegistry
 comp Registry of all SBML resolvers. More...
 
class  libsbmlcs.SBMLUri
 comp Utility class for handling URIs. More...
 
class  libsbmlcs.Submodel
 comp A model instance inside another model. More...
 

Detailed Description

The libSBML “comp” extension implements support for the SBML Level 3 Hierarchical Model Composition package. It can be used in SBML Level 3 Version 1 and Version 2 documents.

Introduction

In the context of SBML, hierarchical model composition refers to the ability to include models as submodels inside another model. The goal is to support the ability of modelers and software tools to do such things as (1) decompose larger models into smaller ones, as a way to manage complexity; (2) incorporate multiple instances of a given model within one or more enclosing models, to avoid literal duplication of repeated elements; and (3) create libraries of reusable, tested models, much as is done in software development and other engineering fields. SBML Level 3 Version 1 Core, by itself, has no direct support for allowing a model to include other models as submodels. The Level 3 Hierarchical Model Composition package adds the missing capabilities. The figure below illustrates some of the scenarios targeted by this package.

Two examples of model configuration supported by the “comp” package: (left) a model composed of a submodel that is itself composed of submodels; (right) a model composed of submodels, one of which is defined in an external file.

Authors

The primary authors of the SBML Level 3 Hierarchical Model Composition specification are Lucian P. Smith, Michael Hucka, Stefan Hoops, Andrew Finney, Martin Ginkel, Chris J. Myers, Ion Moraru and Wolfram Liebermeister.

The specification for this SBML package

This API documentation for libSBML does not provide a complete explanation of the SBML Level 3 Hierarchical Model Composition (“comp”) package. If you are developing software that uses “comp”, you are strongly urged to read the actual specification for the package. A link to the specification document current is provided below, along with a link to the page of known issues (if any).

Specification for SBML Level 3 Hierarchical Model Composition, current at the time of this libSBML release (5.18.0). Note: an Internet connection is required to access these documents.
Specification (in PDF format) Known issues
Hierarchical Model Composition package, Version 1 Release 3 Errata page