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

Served by Gloin.

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

What's New with JSim?

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

This document provides a running log of changes made in the various public and beta releases of JSim 2.0 as well as pending changes to upcoming releases. Most recent changes are listed first.

Version 2.17 - pending

Version 2.16 - Beta release 10 Dec 2015

For Sensop optimizations, a new user-settable optimization control parameter added, provisionally named Max stat iter (maximum static iterations). When this parameter is non-zero, Sensop will terminate if it makes more than 'Max stat iters' iterations without improving the best parameter estimates. See Optimizer reference for more information.Fix by EB. Requested by MB.

Default PDE solver is now LSFEA, it was MacCormack. Requested by JBB.

Clarified error message when JSim cannot sequence a variable expression. Bug report by MN.

Optimization report now includes RMS and relative RMS (RRMS) error for individual curves when multiple, simultaneous data curve fits are run. This information can be useful when data curves differ by orders of magnitude or have different dimensions. The RRMS error is calculated by taking the indivdual curve fit RMS and dividing it by the weighted standard deviation of the data curve (Calculations info). RRMS error is only reported on non-negative data.

The 'Advanced' menu on the Run Time page does not control nth point for available domains if Memory page has Data storage set to 'all points'. Changed behavior of 'Advanced' menu so that domains are not visible if 'nth point' storage not enabled.

Fixed bug where 'Advanced' settings overlayed 'Model Outputs' when no domains are declared in model. Bug report by GR.

Version 2.15 - Beta release 22 Oct 2014, public release 10 Dec 2015

Fixed bug in jsfim that caused crash when only a single curve was to be modeled. Fix by EB.

Added RMS error value column to jsfim output file specified by -o switch. Fix by EB. Feature request by MB.

Fixed misspelling in jsfim verbose messages ("Staring optimizations"). Fix by EB. Bug report by MB.

Updates to support Ubuntu Linux build (Thanks to EB):

Scaled Monte Carlo histogram when printing hardcopy. Previously the histogram was truncated on right-hand side. Bug reported by GR.

Fixed issue where the plot page rules no longer work after saving a project file, after tabbing between 'Message' and 'Plot' page, or when user changed color preference. Issue more pronounced in version 2.14 but was also in previous versions. Bug report by JBB and GR.

Added confirmation dialog when a parameter set is unlocked. Feature request JB.

Fixed position of "Data storage:" label in model "Memory" tab so that it doesn't overlap with menu control. This bug was first noted in version 2.14.

Added pointer to JSim memory configuration options to model "Memory" tab. Feature request JB.

Improved run-time Nth point memory storage. See JSim Memory Usage web page for more information.

JSim now checks the $HOME environment variable if the Java property "user.home" is not set correctly. This allows JSim to run, without modification, on some systems where "user.home" is not set correctly. Bug report by MB & DM.

Version 2.14 - Beta release 14 May 2014

Moved parameter locking control from top right to left top of parameter page and added accompanying locked/unlocked icon for clarity. Added locked/unlocked indications to various parameter set selection lists. Change request by JB.

Updated Permissions attribute in JSim applet jar file to remove annoying warning from latest Java. This change effected Mar 25 on physiome.org (while still running JSim version 2.13). Bug report by JB.

Fixed bug in Monte Carlo analysis that aborted when optimizing on function generation parameters. Bug report by GR.

Fixed bug wherein a change to the JSim color preference would be incompletely propagated to all content tabs. Previously, only tabs that had been previously visited would be rendered in the new color.

Fixed bug wherein RTML variable buttons that had been previosly clicked became inoperative if the user changed the JSim color preference. Bug report by GR.

Added "-i" and "-ofitfmt" switches to jsfim in support of AA's QCT application. Also, modified fit data output so curve names reflect the name of the reference data to which they are matched.

Clarified error message resulting from invalid specification of the Java property "user.home". Bug report by MB/DM.

Added "Advanced" section to main model parameter page including "# loops" and "every Nth point" controls. Feature request by JB.

Version 2.13 - Beta release 15 Jan 2014, public release 14 May 2014

While running model loops, the user may now skip ahead to the next iteration by pressing the Next Loop button. Feature request by JB.

Made numerous improvements and bug-fixed to plot and plot tics routines. Linear scale plot tics now include subtics (3 or 4 between each tic, depending upon the scale). Log scale plot tics and subtics are now more appropriate to the data, especially when large or small dynamic ranges are used. Tics routine now also controls the contour levels in contour plots, Log scale contour plots now use contour levels that are logarithmically spaced and not longer hang when displaying a large dynamic range (e.g. 10 orders of magnitude). Numeric labels on plot contours now display using JSim's standard numeric formatting. SGT plot routines were improved to properly display log scale axis labels in PlainAxis objects. Contour plot line style and thickness controls now work properly. Contour plot lines may be made invisible by selecting the blank line style (this is not a change, but the functionality was not well known).

Fixed bug in auto log scaling of of regularly spaced grid data that would occasionally misscale the X axis. Bug report BJ.

The "LSFEA" PDE solver now refers to LSFEA3. In previous versions, LSFEA referred to the older LSFEA2, and LSFEA3 had to be selected separately. LSFEA3 appears to be superior in every sense to LSFEA2, so LSFEA2 has been retired. Thanks to GR for the LSFEA3 code.

A warning message is now issued when a variable possesses both an initial condition and a specifying equation (example below). Previously, no warning was issues. Users should correct their models if they see this warning, which will be upgraded to an error in Version 2.14. Bug report by GR.

// example code overspecified variable A
// will generate warning in version 2.13, an error in version 2.14
real A(t);
when (t=t.min) A=1;  // initial condition
A = t^2;             // entirely specifying equation

All model compilation errors now trigger a beep and bright yellow background warning messages. Previously, only model parser errors triggered this behaviour. Other compilation errors did not beep, and left the warning message background the default color.

Created new document JSim Parameter Sets describing various features of JSim parameter sets. Moved parameter set lock from parameter set "Edit" menu to top right corner of parameter set content page for better visibility. Also augmented text in a model's "ParSet" menu showing the current parameter set to also show whether that parameter set is locked. Change requests by JB.

Added run-time profiling options for better assessment of numeric solver performance. In the JSim GUI, the profile may be viewed a model's "Debug" tab by selecting "View Runtime Profile" from the "View" menu. When using jsbatch, use the new switch -oprofile.

Added -refx option to jsfim. This switch will support future work regarding AA's QCT project.

Version 2.12 - Beta release 12 Aug 2013, public release 14 Aug 2013

Fixed bug that delivered a "NullPointerException" message to the user when model compilation aborted at and early stage due to an MML syntax error. This bug occurs in JSim releases 2.10 and 2.11. Bug report by JB.

Removed vestigal ODE code that could sometimes cause models with intertwined ODEs and implicit equations to fail with the message below (bug report by YA):

Variables {} exceeded specified zero-finder error: (NaN>1.0E-6)

JSim WWW applets are now signed with a certificate from the InCommon certificate authority. As a result, warning messages users receive at applet launch will be less dire in most cases. Previously, JSim WWW applets were signed using a self-signed certificate.

Added more descriptions for ontological tags in the Consolidated Model Database. Now more than 95% of tags have associated descriptions (up from 64% previously).

Optimization and Monte Carlo residual graphs now show the absolute value of residuals when the log scale option is selected. Change request by GR.

Changed the term "Normalized covariance matrix" to "Correlation matrix". Change request by JB.

Version 2.11 - Beta release 13 May 2013

Added numerous descriptions to the ontological tagging in the Consolidated Model Database. 3387 of the 5307 ontological tags (64%) now have descriptions. Previously, only 1555 did (29%). Work continues to associate descriptions with all the ontological tags in the database.

Fixed bug in MML parser that failed to warn user if a variable had multiple conflicting unit definitions. Bug report by BJ.

JSim MacOS are now digitally signed, which makes them simpler to install on version 10.8 and above. Previously, the MacOS security monitor needed to be manually disabled before JSim could be installed on Mac OS version 10.8 and above.

Fixed bug that caused a NullPointerException during save if the user visited a model's "Browser" tab without rendering. Bug report by GR.

Fixed bug that caused project data sets to fail at load time if a regularly spaced data grid within the data set had a number of points more compactly notated as an exponential than as an integer (e.g. 1E3 vs 1000). The exponential count for the number of points was not correctly interpreted at file read time, causing the data set to disappear from the project. This problem has been fixed. Bug report by GR.

Changed JSim's default memory allocation on Windows from 1500MB to 1200MB. We've had reports of several Windows machines that fail to start JSim when more that 1200MB is requested.

Added cellMLNames property to MML code generated on CellML import. This property is a semi-colon separated list of CellML component.variable names mapped to the MML variable. Feature request by MN.

Version 2.10 - Beta release 30 Jan 2013, Public release Apr 2013

Changed the number of significant digits for output values on model pages from 8 to 5 digits to prevent text-field overflow. Change request by JB.

Widened best parameter value column in optimization report from 12 to 15 characters because some values were being truncated. Bug report by GR.

The JSim Consolidated Model Database is now available, providing uniform model search across 5 model archives: NSR Webmodels, Biomodels, JWS, CellML and Kegg pathways.

Fixed bug in Nested Plot printing that caused some of the component plots to be pushed off the edge of the page when then plot window was made very wide. Bug report by GR.

Fixed bug in Matlab data export that generated Matlab-incompatible names for expressions starting with a digit (e.g. 10*F). Bug report by MB.

Modified JSim local server so that it does not load native solver libraries until run-time. This allows access the server translation facitilies by Java clients without the need for native libraries. Change based on request by MN.

Improved binary distribution scripts so that multiple copies of libsbml are not included. Previous distributions made copies instead of symbolic links for libsbml libraries.

Version 2.09 - Beta release 16 Oct 2012, public release 30 Jan 2013

Added new Save Every Nth Point feature, reducing the memory required for long model runs. Feature request JB.

Texts in a model's "Debug" tab (e.g. standard units file) are now initially positioned at the beginning of the file. Previously, they were positioned at the end of the file. Change request JB.

Added -builddirsfx switch to jsbatch and jsfim to enable running large numbers of simultaneous jobs on high-performance clusters. Feature request by AA.

Added -ofinal switch to jsbatch, allowing printing of only the final values for model variables after a run.

Added JSim.plan.XMMLTranslator class for light-weight MML to XMML translation. Feature request by MN.

Due to internal engine changes, JSim release 2.09 will require a new compatible release of QPP (0.916) to work with it.

Version 2.08 - Beta release 8 Aug 2012

Fixed bug in LSFEA PDE solver in which problems with x-dependent source terms were not calculated correctly. Bug report by GR.

A revised version of the LSFEA PDE solver is now available under the name LSFEA3. This is expected to replace the existing LSFEA solver, once users have had a chance to evaluate it. The algorithm change is as follows. The spatial resolution equals the number of grid points used by the other solvers (no longer restricted to just the odd integers) and the solution values at the endpoints of the spatial array are no longer used to store information needed for the next time step. This has resulted in more accurate spatial displays. The calculations for system transit time and mass balance are approximately the same with minor differences. New code thanks to GR.

Fixed bug in MacIntosh version in which double-clicking on model or project files did not always launch the most recent version. Bug fix thanks to AS.

Most tabs in the JSim GUI now have a "Help" menu. Selecting items from this menu causes the relevant documentation page to be loaded into your desktop web browser.

JSim's Model Browser now retains any user edited layout between refreshes. The layout is also stored in the project file so it can be restored when reloaded. Selecting "Revert to default layout" from the Render menu abandons user edits and performs a fresh computer generated layout. Update thanks to BJ.

Each JSim download and documentation page now has a button to send comments and questions to JSim support staff.

Version 2.07 - Beta release 12 Jun 2012

JSim Nested Plots, implementing Bosan-Harris "worlds within worlds" graphics for multidimensional parameter visualization, are now available.

JSim multiple optimization runs now work properly with a remote server. This allows you run Monte Carlo analysis in applets and jsfim now supports the same -server switch as JSim and jsbatch.

Note for QPP users: Above changes to multiple optimization mean that a new QPP release (0.915) will be required to work correctly with JSim 2.07.

JSim can now export models in Matlab .m format. Thanks to SG, BJ and GR.

Updates to SBML import (most thanks to LS):

Bumped default JSim maximum memory allocation from 600 to 1500MB. If your computer has less than 2GB of memory, you will need to configure JSim to use less than the default allocation.

Plot data text display now scrolls properly using the mouse wheel.

Changed values of Monte-Carlo "addMethod" control parameter from "scaled" and "fixed" to "proportional" and "additive". Change request by JB.

Fixed bug in Monte-Carlo printing that caused "can't be cast to Printable" error message when any graph other than the histogram was printed.

Fixed bug in Antimony code generation that caused at timeout error message for very large models. Bug report by GR.

Fixed bug in model and data file import in which loading a misformatted data file or XML model file caused the GUI to become confused, creating a temporarily invisible, but empty, project data set or model. Bug report by MB.

Added option to delete model custom RTML to model RunTime "Pages" menu.

Fixed bug in Monte Carlo graphs in which the View menu selected item was not properly set when an existing project file was reloaded.

Messages indicating project file settings that do not apply to the current version of JSim now appear only in verbose mode (-v switch).

Version 2.06 - Beta release 2 Feb 2012

JSim's Monte Carlo analysis module is now available. This module, found in the new "Monte Carlo" tab in the JSim GUI, allows the user to estimate parameter confidence by running multiple optimizations on noisy data sets. Currently, this functionality is not available when using a remote server (e.g. running applets).

JSim now allows export of models in CellML format using either the JSim GUI or jsbatch. Feature implementation thanks to LS.

Fixed bug in the handling SBML models with time-varying compartment volumes. Bug fix by LS.

JSim's Linux Makefiles now support both EL5 or EL6 releases of Redhat Linux. Previously, only EL5 was supported. This change only affects those building JSim from source. Additions thanks to BJ.

Removed extraneous console messages when rendering graphics in a model's "Browser" tab. Change thanks to BJ.

Fixed bug in UtilIO.readBytes(File) that caused inconsistent QPP "File not found" error due to accumulation of unclosed FileInputStreams. Bug report by AA.

Version 2.05 - Beta release 19 Dec 2011

JSim distributions are now built with JDK 1.6. Previously, JDK 1.5 was used. This change keeps JSim in step with current Java feature, performance and security developments. JSim WWW users are advised to update their browser JRE to 1.6. Because of this change, Macintoshes must now run Snow Leopard or later (earlier versions do not support Java 1.6). This change fixes a two bugs noted in the previous version:

Improvements to parameter set functionality:

JSim's CellML importer has been substantially improved (thanks to LS):

Added list of value labels to XMML output for choice variables. Feature request by MN.

Increased precision in definition of unit atm (atmosphere) in nsrunit.mod to 101325 pascals. Previously, it was 101300 pascals.

Fixed bug in unit processing that incorrectly allowed unit prefixes to be applies to non-prefixable units. Bug report LS.

Fixed bug in tracking parameter set changes. Previously, the parameter set change flag was erroneously set whenever a model was recompiled. Bug report by JB.

Fixed bug that sometimes caused applet plotpages with "update during run" enabled to generate an "Array index exception" message. Bug report by GR.

Version 2.04 - Beta release 24 Oct 2011, public release 19 Dec 2011

Added control to model optimization page for rounding precision of optimization results. Feature request by GR.

Widened parameter value text boxes in model Run Time tab by one digit (was 11, now 12). Feature request by JB.

Fixed bug in Simulated Annealing in which optimizer sometimes returned a bogus error code, with the result that the optimized parameters were not updated properly. Bug fix by GR.

Fixed bug in SBML import that calculated species concentration incorrectly. Bug fix by LS.

Improved unit handling during SBML import to produce more user-friendly names (e.g. millimeter*second^-1.0 is now mm/s).

CellML import now uses improved MathML processing routines that were previously used only by SBML import. The result is that approximately 100 more models on the CellML Models Page now run under JSim than did under version 2.03.

JSim's Biomodels archive has been updated to include approximately 150 new models.

Version 2.03 - Beta release 20 Sep 2011

PowerPC-based Macintoshes are no longer supported. You must have an Intel-based Mac to run JSim 2.03 and above.

Numerous upgrades to SBML import/export, thanks to LS:

Antimony model import, export and embedding are now supported.

jsbatch -osbml switch now accepts an SBML version number, e.g.

jsbatch -f test.mod -osbml l2v1

XMML output now supports constants with units.

The process of building JSim from source has changed somewhat.

Version 2.02 - Beta release 11 May 2011, public release 9 Aug 2011

Fixed bug in compiler's handling of delay ODEs that caused run-time errors in the VS001 model. Bug reports by MN, GR.

Improved error message for improperly formed integrals and summations. Bug report by JB.

Fix bug that caused stack dump during font resize when model is not compiled. Bug report by BJ.

Version 2.01 - Beta release 28 Mar 2011, public release 11 May 2011

Added Genetic algorithm based optimizer. Code by DC and GR.

Added alternative standard units file "nsrunitcgs.mod", which defines the same units as "nsrunit.mod", but implements CGS-based unit compatibility rather that SI-based compatibility. This can be important for some electrophysiology models in which, for example, conductivity may be expressed in either sec/cm or siemens, which are compatible units under CGS, but not under SI. The model "Debug" tab in the JSim GUI, now offers view options for both nsrunit and nsrunitcgs. To support nsrunitcgs, the JSim computational engine was modified to be units agnostic. Previously, "nsrunit" was assumed by all model, regardless of whether it was included in the model. Change request by JB.

Fixed bug in JSim GUI where SBML ouput text in model "Debug" pane did not properly refresh when model was recompiled. Bug report by BJ.

Completed XMML specification and implementation. Additions include unit types, implicit bounds and matrix, and calculation sequence. Also modified a number of tag names for consistency.

Added explicit error message when LSFEA PDE solver is run with too few grid points. Previously this error resulted in unhelpful ArrayIndexException. New code by GR.

SBML output now properly handles implicit equations.

Modified jsbatch -i and -o switches to replace at signs (@) in switch arguments by spaces. This is useful when specifying expressions with united constants which require embedded spaces, e.g. "(1 sec)".

MathML "logbase" tag is now properly handled during SBML/CellML import.

Version 2.00 - Public release Feb 22, 2011

This version introduces the new JSim compiler and associated functionality. See here for details.

JSim pop-up help is now disabled at program startup. Use F1 to enable hover help, Shift-F1 to enable fast help.

JSim's default background color is a deeper shade of blue for version 2. If you prefer the old color, select "Light blue background" from the Project tab Preferences menu.

PlanWriter plugins have been discontinued in version 2. Use the new XMML output instead.

The following bug has been noted: in the JSim GUI, SBML output text in model "Debug" pane does not properly refresh when a model is recompiled.

Previous versions

For information on earlier JSim releases, see here .

Comments or Questions?

[This page was last modified 10Dec15, 11:43 am.]

Model development and archiving support at physiome.org 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.