|
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).
Figure 1.5
. P
arsing and conversions of mathematical expressions by simulation engine.
|