1. Methodology
Download icon

JAS-mine: A new platform for microsimulation and agent-based modelling

  1. Matteo G. Richiardi  Is a corresponding author
  2. Ross E. Richardson  Is a corresponding author
  1. Institute for New Economic Thinking at the Oxford Martin School, University of Oxford Nuffield College and Collegio Carlo Alberto, England
  2. Institute for New Economic Thinking at the Oxford Martin School, University of Oxford, England
Software review
Cite this article as: M. G. Richiardi, R. E. Richardson; 2017; JAS-mine: A new platform for microsimulation and agent-based modelling; International Journal of Microsimulation; 10(1); 106-134. doi: 10.34196/ijm.00151
10 figures

Figures

The most popular languages in the PYPL popularity of programming language index.

The index is created by analyzing how often language tutorials are searched on Google, from http://pypl.github.io/PYPL.html. Java has consistently been the most popular programming language over recent history and, at the time of writing in 2016, has 24.1% market share, double the amount of the next most popular language, Python.

Smaller is better: the benchmark times for operations implemented in a number of programming languages relative to C.

The performance time of C is set to 1.0. Source: http://julialang.org/benchmarks.

The structure of JAS-mine’sManager classes.

The Collector acts as an intermediate layer between the Model class (which controls the model specification such as agents, their interaction and environment) and the Observer (which displays information about the state of the simulation in the Graphical User Interface). The Collector aggregates information about the model objects (agents), and calculates any statistics needed either by the Model’s objects (agents) themselves or for the Observer. The Collector can export the data to the output database or to csv files as required.

A screenshot from the Hibernate H2 console.

The console displays the information schema of a microsimulation model of labour force participation. There are two main tables: one containing panel data on individual agents (PERSON), and one containing time series aggregate data (STATISTICS). An additional table (JASMINE_EXPERIMENT_PARAMETER) contains the value of the model parameters (as set by the user through the GUI), while the JASMIN_EEXPERIMENT table contains information about the specific run (run id and time stamp).

The structure of a microsimulation model.

Simulations can be viewed as data structures which evolve through time according to predefined rules and parameters.

Object-relational mapping.

In JAS-mine the interaction between the simulation and the (input and output) data is achieved using Object-Relational Mapping (ORM), a programming approach that facilitates the integration of object-oriented software systems with relational databases. An ORM product (JAS-mine uses Hibernate) constructs an object-oriented interface to provide services on data persistence, while abstracting from the implementation characteristics of the specific relational database management system used.

The effects of parameters uncertainty.

JAS-mine’s regression utility tools is used to bootstrap regression coefficients during a multi-run execution of a simulation over 1000 runs. The chart was produced using kernel density estimation from analysis of the simulation’s output database performed by the statistical software program ‘R’.

Interactive mode.

Screenshot of the JAS-mine graphical user interface showing output from the Extended Schelling demonstration model, available at www.jasmine.net/demo/extended’schelling.

Interaction structure in the theoretical health inequality model.

The interaction between states (attributes) of individual agents and across a hierarchy of aggregation levels in the Theoretical Health Inequality Model. For each agent, E is the education level, Y is the income level, H is the health index, D is the mortality probability and L is the geographic location. Source: Wolfson et al. (2016).

JAS-mine performance.

The time taken (in minutes) for simulations of THIM implemented in JAS-mine to complete for a variety of population sizes. The three lines correspond to different data export options, with ‘Database’ referring to persistence to the output relational database, ‘CSV’ referring to the export of data to separate comma-separated values fles, and ‘No Output’ referring to the benchmark case where no data is exported. Simulations were executed on the ARCUS-B cluster of the University of Oxford’s Advanced Research Computing facility.

Download links

A two-part list of links to download the article, or parts of the article, in various formats.

Downloads (link to download the article as PDF)

Download citations (links to download the citations from this article in formats compatible with various reference manager tools)

Open citations (links to open the citations from this article in various online reference manager services)