libSBML C API  5.18.0
Hierarchical Model_t Composition

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

Data Structures

class  CompBase_t
 comp Convenience class for SBase_t-derived classes. More...
 
class  CompExtension_t
 comp Base extension class for the package. More...
 
class  CompFlatteningConverter_t
 comp "Flattens" a model, removing composition. More...
 
class  CompModelPlugin_t
 comp Extension of Model_t. More...
 
class  CompPkgNamespaces_t
 comp SBMLNamespaces_t extension for the package. More...
 
class  CompSBasePlugin_t
 comp Extension of SBase_t. More...
 
class  CompSBMLDocumentPlugin_t
 comp Extension of SBMLDocument_t. More...
 
class  CompValidator_t
 comp Entry point for package validation. More...
 
class  Deletion_t
 comp Deletion of an object from a submodel. More...
 
class  ExternalModelDefinition_t
 comp A reference to an externally-defined model. More...
 
class  ListOfDeletions_t
 comp A list of Deletion_t objects. More...
 
class  ListOfExternalModelDefinitions_t
 comp A list of ExternalModelDefinition_t objects. More...
 
class  ListOfModelDefinitions_t
 comp A list of ModelDefinition_t objects. More...
 
class  ListOfPorts_t
 comp A list of Port_t objects. More...
 
class  ListOfReplacedElements_t
 comp A list of ReplacedElement_t objects. More...
 
class  ListOfSubmodels_t
 comp A list of Submodel_t objects. More...
 
class  ModelDefinition_t
 comp A model used in model composition. More...
 
class  Port_t
 comp An interface to be used in composition. More...
 
class  ReplacedBy_t
 comp Indicates an object replaced by another. More...
 
class  ReplacedElement_t
 comp Indicates an object replaces another. More...
 
class  Replacing_t
 comp Convenience class. More...
 
class  SBaseRef_t
 comp Base class for references to objects. More...
 
class  SBMLFileResolver_t
 comp Resolves documents stored on a file system. More...
 
class  SBMLResolver_t
 comp Base class for SBML resolvers. More...
 
class  SBMLResolverRegistry_t
 comp Registry of all SBML resolvers. More...
 
class  SBMLUri_t
 comp Utility class for handling URIs. More...
 
class  Submodel_t
 comp A model instance inside another model. More...
 

Data Structure Documentation

class CompBase_t
class CompExtension_t
class CompFlatteningConverter_t
class CompPkgNamespaces_t
class CompValidator_t
class Replacing_t
class SBMLFileResolver_t
class SBMLResolver_t
class SBMLResolverRegistry_t
class SBMLUri_t