JSim Modeling System

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract JSim is a Java-based simulation system for building quantitative numeric models and analyzing them with respect to experimental reference data.

JSim's primary focus is in physiology and biomedicine; however its computational engine is quite general and applicable to a wide range of scientific domains.

JSim models may intermix ordinary differential equations (ODEs), partial differential equations (PDEs), implicit equations, integrals, summations, discrete events and procedural code as appropriate.

JSim's model compiler can automatically insert conversion factors for compatible physical units as well as detect and reject unit unbalanced equations.

JSim also imports the Systems Biology Markup Language (SBML) and CellML model archival formats (see G6G Abstract Number 20293) and (see G6G Abstract Number 20294).

JSim model calculations are specified in JSim's own Mathematical Modeling Language (MML) an easy-to-read text-based language.

MML models are most often expressed in terms of mathematical equations (for example, ordinary and partial differential equations, implicit equations), but formulation via discrete events and function calls to Java, C and FORTRAN are also available.

MML is constructed so that model writers may intermix mathematics, events and procedural code as needed.

JSim supports multiple "domains" or independent variables (e.g. time, space).

MML variables may vary over any combination of the declared domains.

JSim's MML compiler does extensive cross-checks to insure that models are neither over-specified nor under-specified and that a variable's declared domains are consistent with its usage.

MML models are aware of physical units, and the model compiler contains a ‘unit balancer’ that automatically adjusts run-time calculations with appropriate conversion factors, while rejecting nonsensical equations (such as kg = kg/sec).

JSim's extensive cross-checking catches many common mistakes and so facilitates creation of valid models more quickly and easily than with standard procedural languages.

The JSim graphical user interface (GUI) allows modelers to edit and compile multiple MML models, manipulate model parameters, run models and graph results.

Experimental data and/or built-in function generators may be used to drive model inputs.

Numeric data may be fed into and retrieved from JSim in a variety of formats allowing interconnection with other programs.

JSim's built-in model analysis tools include loops (multiple model runs with varying parameters), sensitivity analysis and automated parameter optimization.

JSim project files encapsulate the complete state of a JSim GUI window, potentially including multiple models, data sets, parameter sets, notes, and plot pages.

Project files are self-contained, facilitating sharing of results between researchers and restoration of state in later JSim sessions.

JSim uses a variety of public and proprietary numeric solvers for solving ODEs, PDEs, linear and non-linear implicit equations and parameter optimization.

Default settings are provided automatically for these solvers so that beginning modelers normally do Not need to worry about the settings.

However, the settings are controllable in high-performance settings for more sophisticated users.

Other features/capabilities of JSim include:

1) JSim's Run Time Markup Language (RTML) which allows model writers to develop more sophisticated run-time interfaces for their model incorporating multiple pages, diagrams and hyperlinks.

2) jsbatch, a command-line tool that provides access to the JSim computational engine in a form convenient for batch processing.

3) jsfim, a tool for constructing functional (parametric) images using region-of-interest (ROI) data and the JSim computational engine.

4) JSim remote server which allows model computations to be done on a more advanced server computer rather than the user's desktop; The server is also used to power JSim enabled web sites.

5) JSim plug-ins allows programmers to extend JSim base functionality, such as customized graphics, data formats, and GUI-based model builders.

6) JSim supports import of models in the CellML and SBML archival formats.

7) JSim 1.6.67 and above support multiprocessing, the ability to utilize 'multiple system' processors for faster calculation.

System Requirements

JSim downloads are available as precompiled binaries (Linux, Mac, Windows) or source code.

JSim can also run as a Java applet within your web browser.


JSim is developed by the National Simulation Resource at the University of Washington, Department of Bioengineering.

Manufacturer Web Site JSim

Price Contact manufacturer.

G6G Abstract Number 20473

G6G Manufacturer Number 104098