JAS-mine is an open-source, object-oriented Java-based platform for discrete-event simulations which integrates tools for agent-based and dynamic microsimulation modelling, coherently with a trend of convergence of the two approaches.
The core of the JAS-mine toolkit is represented by the simulation engine. JAS-mine builds on the idea that simulations are data structures which evolve through time according to predefined rules and parameters (see figure)
and it has built-in utilities for communicating with an underlying relational database. In addition, the platform provides standard tools which are frequently used both in agent-based modelling and dynamic microsimulations, like design of experiments (DOE), run-time monitoring and visualization with plots and graphs (GUI), I/O communication, statistical analysis, etc.
The main value added of the platform, however, is to give the researcher a guide / template on how to structure a generic simulation model. The philosophy of JAS-mine is always to favour clarity, transparency and flexibility. The rationale behind this is the belief that the real bottleneck in agent-based and dynamic microsimulation modelling comes from humans, rather than machines: minimizing modelling time then becomes even more important than minimizing computing time.
These objectives are achieved by:
2) adhering to a strict modelling discipline that maintains the separation between things that are conceptually separate. In particular, JAS-mine favours the separation of data representation and management, which is automatically taken care of by the simulation engine, from the implementation of processes and behavioural algorithms, which should be the primary concern of the modeller. This results in quicker, more robust and more transparent model building, simplifying modular development and subsequent extensions and modifications.