This page will look better in a graphical browser that supports web standards, but is accessible to any browser or internet device.

Served by Samwise.

Cardiac Physiome Society workshop: November 6-9, 2017 , Toronto

Using BCLs in MML

This page is for the current JSim version 2.0. Click here for the earlier JSim 1.6 version.


This document is an introduction to Biological Component Librarys (BCLs), and their use in constructing JSim models.


JSim's Mathematical Modeling Language (MML) is a human-readable language for describing a model in mathematical terms. MML supports the definition of high-level Biological Component Libraries (BCLs) that describe a model in terms of physical or physiological entities (e.g. compartments, membranes, chemical species ...). When a BCL-based model runs, the high-level, hierarchical components are translated into a flat namespace MML representation, a process called "flattening". This MML representation is then translated by JSim's Planner into procedural code which is controlled within the JSim user environment for numerical calculation and analysis.

BCLs allow complex models to be assembled more quickly and accurately and lower the barrier of entry to modeling by removing the requirement that modelers derive the mathematical state equations for a system. Because BCLs incorporate domain specific knowledge, they are more compact than MML. Because BCLs share the representation mechanisms of MML, modelers can intermix low-level MML constructs when the required functionality is not present in the BCL per se.

Available BCLs

NSR currently distributes one BCL with JSim, the Metabolite Flow and Exchange (MFAX) BCL. MFAX contains a set of components appropriate for chemical network models in multiple compartments with convective flow and membrane transport between those compartments:

The BTex BCL, which was supported under earlier JSim versions, has been revised and supplanted by the MFAX BCL, which contains a super-set of BTex BCL functionality. The BTex BCL is no longer supported.

Creating a BCL is a fairly technical process, and should be undertaken by experienced Java programmers. If you are interested in this, contact the NSR for more information.

Comments or Questions?

[This page was last modified 06Jul12, 3:16 pm.]

Model development and archiving support at provided by the following grants: NIH/NIBIB BE08407 Software Integration, JSim and SBW 6/1/09-5/31/13; NIH/NHLBI T15 HL88516-01 Modeling for Heart, Lung and Blood: From Cell to Organ, 4/1/07-3/31/11; NSF BES-0506477 Adaptive Multi-Scale Model Simulation, 8/15/05-7/31/08; NIH/NHLBI R01 HL073598 Core 3: 3D Imaging and Computer Modeling of the Respiratory Tract, 9/1/04-8/31/09; as well as prior support from NIH/NCRR P41 RR01243 Simulation Resource in Circulatory Mass Transport and Exchange, 12/1/1980-11/30/01 and NIH/NIBIB R01 EB001973 JSim: A Simulation Analysis Platform, 3/1/02-2/28/07.