/JSIT

Java Simulation Infrastructure Toolkit (JSIT): a library to help with best-practice software engineering for simulations

Primary LanguageJava

JSIT Library README

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.

Licensing

LGPL Logo

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/>.

Dependencies

JSIT requires Java 6+. It uses the following third-party libraries with LGPL-compatible licenses (nested items show dependencies of the primary dependencies):

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.

AnyLogic

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 the libver.querydsl-sql Ant property accordingly (to reflect the version of the library AnyLogic is using).