Below is quick overview of JSim, for a detailed overview please download:
JSim model calculations are specified in JSim's own Mathematical Modeling Language (MML) an easy-to-read text-based language. MML is a declarative language, not a procedural one. MML models primarily consist of declaration of physical units, declaration of variables, and declaration of constraints on those variables. 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 or 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 converion factors, while rejecting non-sensical 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 notable features of JSim include:
- 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.
- jsbatch , a command-line tool that provides access to the JSim computational engine in a form convenient for batch processing.
- jsfim , a tool for constructing functional (parametric) images using region-of-interest(ROI) data and the JSim computational engine;
- JSim remote server which allows model computations to be done on a powerful server computer rather than the user's desktop. The server is also used to power JSim enabled web sites .
- JSim plugins allow programmers to extend JSim base functionality, such as customized graphics, data formats, and GUI-based model builders.
- JSim supports import of models in the CellML and SBML archival formats.
- JSim supports multiprocessing , the ability to utilize multiple system processors for faster calculation.
Comments or Questions?
Model development and archiving support at https://www.imagwiki.nibib.nih.gov/physiome provided by the following grants: NIH U01HL122199 Analyzing the Cardiac Power Grid, 09/15/2015 - 05/31/2020, 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.