Simulation modelling is the practice of building executable models of real or hypothetical systems to study their behaviour over time. Several formalisms exist, each suited to different kinds of systems and different questions.

Paradigms and tools

System Dynamics

Stocks, flows, and feedback loops. Continuous-time modelling of aggregate quantities. Best for socio-economic, ecological, and epidemiological systems.

  • Simlin — browser-based System Dynamics

Discrete-Event Simulation (DES)

Systems that change state at discrete event times. Best for queueing, logistics, and operations modelling. The underlying theory is formalised by the Discrete Event System Specification (DEVS) framework, and the paradigm traces back to the General Purpose Simulation System (GPSS) released by IBM in 1961.

  • SimPy — Python DES library

Generalised Dynamical Systems (GDS)

BlockScience’s block-structured, state-update formalism for cryptoeconomic modelling. See Generalised Dynamical Systems (GDS) and cadCAD.

Agent-Based Modelling (ABM)

Systems modelled as autonomous interacting agents that follow local rules. Emergent behaviour arises from their interaction.

  • HASH Simulation Platform — open-source agent-based simulation platform by HASH Labs (now deprecated, but hCore and hEngine remain on GitHub)
  • Arbiter — Ethereum sandbox for event-driven blockchain simulations (demo video)
  • TokenSPICE — EVM agent-based token simulator

Visual and block-based

See Open-Source Visual Simulation Modelling Software.

Multi-paradigm

  • AnyLogic — commercial platform supporting DES, System Dynamics, and agent-based modelling
  • JAMES II — Java-based academic framework from the University of Rostock. Plugin architecture supports DEVS, stochastic π-calculus, cellular automata, and many other formalisms; used primarily in computational systems biology research
  • Aivika — Haskell multi-paradigm library by David Sorokin. Uses functional programming and monadic composition to integrate DES, System Dynamics, and combined discrete-continuous models

References

Papers

Learning resources

Case studies