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