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. All changes by EB unless othersize noted.
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:
- GR noted JSim would occasionally exit with an "insufficient heap memory" error during contour plotting.
- MH reported JSim on his Windows 7 box would consistently crash when navigating directories in file selection menus.
Improvements to parameter set functionality:
- Parameter sets now include sections for model loops, sensitivity analysis and optimization. Feature request by JB.
- The parSetModified flag (indicating that model parameter values have been changed since the last parameter set load or store) is now restored properly when a project file is loaded. Previously, the flag was written to the project file correctly, but restored incorrectly when the project file was reloaded. Bug report by JB.
- User changes to solver and function generator parameters now set the parSetModified flag properly. Previously, only model parameter changed affected the parSetModified flag.
- JSim now supports parameter files with the .par suffix. These files are designed to be both human and machine readable and support programatic interation with JSim parameter sets. The .par file text displays in JSim ParSet tabs and may be written via the "Export par file..." item in the GUI File menu or via the -opar switch in jsbatch. Par files may be loaded into the GUI via either Project tab Add menu item "Import par file", or via the -f command line switch
- The ParSet tab File menu now has an item "Import selected pars..." that allow you to import selected contents from other parameter sets.
JSim's CellML importer has been substantially improved (thanks to LS):
- Implicit equations are now handled better. Previously, implicit equations generated compilation errors that needed to be corrected by user.
- Models contain unit consistency errors now have unit conversion set off. Previously, for the model to compile successfully, the user was required to either turn unit conversion off, or correct the model unit errors.
- Constant variables that appear in exponents may cause problem for unit-balance, since JSim allows you to adjust these values. Such variables are now replaced by their constant values, allowing the model to pass unit balance.
- MathML piecewise without otherwise is now supported.
- Variable and units are now renamed if they cause conflicts with JSim reserved words or pre-defined units.
- For further details of this update, see here.
- For information on using JSim to curate CellML models, see here.
- NSR's CellML archive has been updated with more recent versions of the v1.0 models. As a result of these changes, 615 of the 642 models now run under JSim, and 494 of those pass unit balance.
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:
- SBML export now includes units for variables.
- SBML import now treats units in a more idiomatic JSim-like fashion.
- An initial assignment to a constant value that uses a non-constant variable in the formula now gets the phrase 'when (t=t.min)' in front of it.
- Initial assignments for compartments were being lost, but now are found.
- Rational numbers in mathml now accepted.
- Stoichiometry Math is now working for SBML level 3 (this is where the stoichiometry of a reaction is a variable that can be used in other mathematical contexts, and changed or assigned values to over time.)
- The algebraic rule sorter had a bug when converting overdetermined systems to just-enough-determined systems.
- 'exponentiale' now accepted.
- A variety of functions like 'arctan' etc. are now converted to more basic forms.
- avogadro as a csymbol in mathml is now accepted.
- Boolean symbols 'false' and 'true' now accepted in mathML.
- A constant value with a delay equation ('x three seconds ago' when x is constant) is now converted to just 'x' in JSim.
- A bug where a species with an initial assignment that was flagged 'isSubstanceOnly' would cause JSim to crash if converting from sbml to sbml was fixed (a pointer was being saved in JSim that was part of the sbml model--when the model went out of scope, it deleted the pointer.)
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 .
[This page was last modified 02Feb12, 9:49 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.
