Simulation engine

Top   Previous   Next

BioUML workbench provides two alternative simulation engines:

1) Java simulation engine - it automatically generates and compiles Java code on the base of visual model (diagram) of a biological system. For simulation we have adopted odeToJava library (Patterson and Spiteri, 2003) that provides methods for numerical solutions both stiff and non-stiff systems of ODEs. For solving algebraic equations Newton solver is used.

2) MATLAB simulation engine - workbench automatically generates code for MATLAB and invokes MATLAB engine to simulate a model behaviour using JMatlink library ( http://www.held-mueller.de/JMatLink/ ).

 

Main parts of simulation engine are: code generator, formulas processor, algebraic equations solver and results writer. BioUML provides powerful formula processor that parses text and MathML expressions, result is presented as syntax tree and used by formatters to generate corresponding Java or Matlab code (Figure 1.5).

 

math-parser

Figure 1.5 . P arsing and conversions of mathematical expressions by simulation engine.
Both simulations engines pass SBML semantic test suite that provides a set of valid SBML models with a simulated time course data (Finney,  et al., 2004). Test details are available at: http://www.biouml.org/sbml_tests/overview.html .
 
BioUML workbench version is able to simulate all 150 SBML models from BioModlels database (release 9). According to our metrics now BioUML is the best simulator for SBML models. Test details are available at: http://www.biouml.org/biomodels.shtml