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.
- Machinations — see Machinations Economic Models
- scottfr/simulation — JavaScript library supporting System Dynamics, ODEs, and agent-based modelling
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
- ROSS: A high-performance, low-memory, modular Time Warp system — parallel DES execution
- Cross-state events: A new approach to parallel discrete event simulation
- Synchronous speculative simulation of tightly coupled agents in continuous time on CPUs and GPUs
- Process Modelling for Simulation: Observations and Open Issues
- Hybrid Simulation in Healthcare: New Concepts and New Tools
Learning resources
- Introduction to Modelling and Simulation (Johns Hopkins APL)
- Modelling and Simulation Concepts (McGill)
- Discrete Event Modelling and Simulation (McGill)
- Introduction to Simulation and Modelling (Peter Sloot) — introductory course notes
- Introduction to Discrete-Time Simulation (Software Solutions Studio) — industry-oriented primer