The Java Simulation Infrastructure Toolkit (JSIT) is a set of Java libraries that provides certain software-engineering best-practice features for simulations. The idea is that it is used to supplement a given simulation toolkit (such as AnyLogic or MASON) to provide features that they tend to lack, and provide common design and coding for them (especially useful for those developing simulations using a number of toolkits).
It exists as a core library supplemented by toolkit-specific helper libraries. (It can be used without the helper library, but this requires the user to code helper classes themselves.) Currently, a helper library exists only for AnyLogic, though support for at least MASON and Repast Simphony is planned.
JSIT is developed by Stuart Rossiter (originally as part of research at the University of Southampton, UK). Contact him at stuart.p.rossiter@gmail.com.
JSIT is open source software released under the LGPL license (see Licensing below). JSIT source code is stored on GitHub at https://github.com/sprossiter/JSIT.
For further information on using JSIT and how it works, see the User Guide. There is also a JSIT change history.
JSIT is distributed under the GNU LGPL V3 license, which has a copying permission statement as below. (See the full LGPL license and GPL license for more details.)
Copyright 2018 University of Southampton, Stuart Rossiter
JSIT is free software: you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
JSIT is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with JSIT. If not, see <http://www.gnu.org/licenses/>.
JSIT requires Java 6+. It uses the following third-party libraries with LGPL-compatible licenses (nested items show dependencies of the primary dependencies):
-
Apache Subversion JavaHL (Java binding for SVN)
The links above can be used to get source code for these dependencies.
Copies of all their licences and any required attribution (notice) files are
included in bundled JSIT distributions (in the lib
folder together with the
dependencies themselves).
If you're developing JSIT, you can use the getDependencies
target of the
JSIT Ant build file (src/main/build/build.xml
) to
populate all the open source dependencies in the lib
folder.
To use the JSIT AnyLogic helper library, you will need a valid copy of AnyLogic version 7.1.1 or later. (AnyLogic code package names changed with this version.) When running AnyLogic models using JSIT, the required runtime libraries are automatically available.
To develop (compile) the JSIT AnyLogic helper library, you will need the
following AnyLogic-related libraries added to the lib
folder:
-
AnyLogic Engine, which exists in an AnyLogic installation under the
plugins\com.anylogic.engine_<version stamp>
directory, or is produced by exporting an AnyLogic model to a Java applet. This library is covered by the AnyLogic Engine Runtime License Agreement. -
QueryDSL SQL library version as used by AnyLogic (needed only for Javadoc generation), which exists in an AnyLogic installation under the
plugins\com.anylogic.third_party_libraries_<version stamp>\lib\database\querydsl
directory. You will also need to set thelibver.querydsl-sql
Ant property accordingly (to reflect the version of the library AnyLogic is using).