21 October 2014

Post date: Oct 22, 2014 10:23:27 AM

Stuart Rossiter led a discussion about tools for social simulation and some papers which help give context for it (Davidsson's discussion on how ABM differs from object-oriented simulation, DES and dynamic microsimulation; and Railsback et al.'s review of platforms using the StupidModel 'example/reference model' which illustrates common features in ABMs).

One useful characterisation of tools is by two axes: visual vs. non-visual development and integrated-tool-like ('user'focused') vs. library-like ('programmer-focused'). It is also useful to understand toolkits as providing layers of functionality: core domain model (abstraction of the real-world system, including of space and time), meta-data capture (for indicators/metrics from the model), run control (user control of the run) and experiment control (model experiments, often multi-run; e.g., sensitivity analysis). Each of these has 'cross-cutting' capabilities for aspects such as user interface (visualisation/control) and data input/output.

Tools mentioned were: MASON, NetLogo, Repast Simphony, AnyLogic (the 'big 4' for ABM, with AnyLogic being commercial and multi-paradigm); StarLogo, AScape, Swarm (other ABM platforms); JADE (primarily for AI-oriented multi-agent simulation); iThink/Stella, Vensim (for system dynamics (SD)); Simul8 (for discrete-event simulation (DES)).

Some code simulations 'raw' in Python or Java using general libraries (such as matplotlib and TkInter for visualisation, or PyBrain for neural networks).

Joe Viana also (post meeting) pointed out Jason (similar to JADE in typically being for MAS).