The suggested meta model is domain neutral and can be used for formalized description, visualization and simulation not only biological complex systems.
Problem domain is taken into account by following way:
database content - diagram elements are associated with problem domain database content.
diagram view builder - it allows to build graph view that take into account problem domain peculiarity, for example biological pathway diagram view builder uses specific views for different pathway elements: proteins are shown as circles, genes as rectangles, substances as squares.
semantic controller - provides semantic integrity of the diagram during its editing. It takes into account problem domain constraints, for example if some specie is removed on biological pathway diagram, all related reactions should be removed too.
Package biouml.standard defines diagram types for modeling biological pathways as well as most common biological data types (gene, protein, RNA, substance, reaction, etc.) and they mapping into simple text database.

Package biouml.model defines classes used to present structure of biological system as a clustered graph. It also defines concept of diagram and module that will be described latter.
Class DiagramElement is an abstract class to define common attributes for all graph elements:
kernel - database object that corresponds to this diagram element. parent - compartment to which this diagram element belongs.
name - the diagram element name. Usually it is the database object name. The name should be unique in the scope of the parent compartment.
title - diagram element title to be shown on the diagram. Usually it is the database object name.
comment - arbitrary comment as plain or html text.
view - diagram element view generated by DiagramViewBuilder database object name or identifier.
role - role that tis diagram element plays in mathematical model.
Node class defines attributes specific for graph node, namely:
location - graph node location (top left corner).
edges - graph edges connected with this node.
image - arbitrary image that can be used as this graph node view.
background - some background view. It is generally used to select or highlight graph node.
Edge class defines attributes specific for directed graph edges. Currently we use straight line as edge line path. However we plan introduce complex line path in BioUML bersion 0.7.2.
input - input graph node
output - output graph node
inPort - edge line path starting point
outPort - edge line path end point
Compartment is extension of Node class. It contains other diagram elements: nodes, edges or other internal compartments. It uses DataCollection framework to handle internal diagram elements. Specific compartment attributes are:
shape - the compartment shape. Currently compartment shape can be rectangle, round rectangle or ellipse.
shapeSize - size of compartment shape.
shapeColor - color of compartment shape.
Diagram is extension of Compartment class. It is specific attribute are DiagramType and DiagramViewOptions that are described below.

All diagrams are instances of the same class Diagram. To take into account different diagram types, Diagram contains type attribute that is instance of DiagramType class. DiagramType is responsible for visualization and semantic control of specific diagram. For this purpose it uses specialized subclasses of DiagramViewBuilder (to generate diagram view) and SemanticController to check the diagram semantics. DiagramType also defines what classes (database objects) can be used as nodes and edges.