Computational modeling software frameworks provide a wide range of modeling strategies, scaffolding, and supporting abstractions for model developers. Please let us know if you have any corrections or changes to make to the list.
AgentBase.org allows you to do Agent Based Modeling (ABM) in the browser. You can edit, save, and share models without installing any software or even reloading the page. Models are written in Coffeescript and use the AgentBase library.
The AMP project provides extensible frameworks and exemplary tools for representing, editing, generating, executing and visualizing agent-based models (ABMs) and any other domain requiring spatial, behavioral and functional features.
Agentpy is an open-source framework for the development and analysis of agent-based models in Python.
Primary goals of the framework include:
Source code available at https://github.com/joelforamitti/agentpy
AgentScript is a minimalist Agent Based Modeling (ABM) framework based on NetLogo agent semantics. Its goal is to promote the Agent Oriented Programming model in a highly deployable CoffeeScript/JavaScript implementation.
Agents.jl is a Julia framework for agent-based modeling (ABM) that provides structure and components for quickly implementing agent-based models, run them in batch, collect data, and visualize them. To that end, it provides the following functionalities:
A Java Eclipse-based modeling platform that supports System Dynamics, Process-centric (AKA Discrete Event), and Agent Based Modeling.
Ascape is an innovative tool for developing and exploring general-purpose agent-based models. It is designed to be flexible and powerful, but also approachable, easy to use and expressive. Models can be developed in Ascape using far less code than in other tools. Ascape models are easier to explore, and profound changes to the models can be made with minimal code changes. Ascape offers a broad array of modeling and visualization tools.
breve is a free, open-source software package which makes it easy to build 3D simulations of multi-agent systems and artificial life. Using Python, or using a simple scripting language called steve, you can define the behaviors of agents in a 3D world and observe how they interact. breve includes physical simulation and collision detection so you can simulate realistic creatures, and an OpenGL display engine so you can visualize your simulated worlds.
Cormas is a generic ABM platform dedicated to common-pool resource management. As free software, Cormas is used by an international community of researchers willing to understand the relationships between societies and their environment. It is intended to facilitate the design of ABM as well as the monitoring and analysis of simulation scenarios. Cormas has taken an innovative direction oriented toward the collective design of models and interactive simulation. The main idea is to enable the stakeholders to interact with the execution of a simulation by modifying the behavior of the agents and the way they use the resources. As our intention is to involve more deeply the stakeholders into the modeling process, it is necessary to have an easily changeable tool to act on the simulation and to modify the conceptual model on the fly.
CRAFTY is a large-scale ABM of land use change. It has been designed to allow efficient but powerful simulation of a wide range of land uses and the goods and services they produce. It is fully open-source and can be used without the need for any programming.
DEVS-Suite 3.0.0 is the first discrete-event/discrete-time simulator that offers the capability to generate and visualize Superdense Time Trajectories. Two new types of time-based trajectories (plots) are introduced to the Business Intelligence Reporting Tool (BIRT) and then integrated into the DEVS-Suite 2.1.0. This simulator supports a rich set of menu-driven capabilities to create and customize two new kinds of time-based trajectories.
EcoLab is both the name of a software package and a research project that is looking at the dynamics of evolution.
EMOD, Epidemiological MODeling software, is an agent-based modeling platform that simulates that simulates the actions and interactions of individuals in an area to model disease dynamics in a population. Each agent (such as a human or vector) can be assigned a variety of “properties” (for example, age, gender, etc.), and their behavior and interactions with one another are determined by using decision rules.
Source available at https://github.com/InstituteforDiseaseModeling/EMOD
ENVISION is a GIS-based tool for scenario-based community and regional integrated planning and environmental assessments. It provides a robust platform for integrating a variety of spatially explicit models of landscape change processes and production for conducting alternative futures analyses.
Evoplex is a fast, robust and extensible platform implemented in C++ for developing agent-based models (ABM) and multi-agent systems (MAS) on networks. Each agent is represented as a node and interacts with its neighbors, as defined by the network structure.
FLAME is a generic agent-based modelling system which can be used to development applications in many areas. It generates a complete agent-based application which can be compiled and built on the majority of computing systems ranging from laptops to HPC super computers.
FLAMEGPU is a high performance Graphics Processing Unit (GPU) extension to the FLAME framework. It provides a mapping between a formal agent specifications with C based scripting and optimised CUDA code. This includes a number of key ABM building blocks such as multiple agent types, agent communication and birth and death allocation. Agent Based (AB) modellers are able to focus on specifying agent behaviour and run simulations without explicit understanding of CUDA programming or GPU optimisation strategies.
GAMA (GIS Agent-based Modeling Architecture) is a modeling and simulation development environment for building spatially explicit agent-based simulations.
GAMA has been developed with a very general approach, and can be used for many applications domains. Some additional plugins have been developed to fit with particular needs. Example of domains where GAMA is mostly present : Transport, Urban growth, Epidemiology, the Environment. Training sessions about topics such as “urban management”, and “epidemiology” are also provided by the team.
HexSim is a free, versatile, multi-species, life history simulator ideal for building models of animal and plant population viability, interactions, and responses to disturbance. HexSim models are spatially-explicit and individual-based, and HexSim individuals can be assigned dynamic life history traits. HexSim also includes a full genetics sub-model, making it a true eco-evo simulator.
iLand is a general model of forest ecosystem dynamics. It can be employed to elucidate a wide variety of ecology and management-related questions, simulating individual tree competition, growth, mortality, and regeneration. It addresses interactions between climate (change), disturbance regimes, vegetation dynamics, and forest management.
Use Insight Maker to start with a conceptual map of your Insight and then convert it into a complete simulation model. Insight Maker supports extensive diagramming and modeling features that enable you to easily create representations of your system.
JAMSIM is a framework for creating microsimulation models in Java. It provides code and packages for common features of microsimulation models for end users.
JAS-mine is a Java platform that aims at providing a unique simulation tool for discrete-event simulations, including agent-based and microsimulation models.
Jason is an interpreter for an extended version of AgentSpeak. It implements the operational semantics of that language, and provides a platform for the development of multi-agent systems, with many user-customisable features. Jason is available as Open Source, and is distributed under GNU LGPL.
The LANDIS-II forest landscape model simulates future forests (both trees and shrubs) at decadal to multi-century time scales and spatial scales spanning hundreds to millions of hectares. The model simulates change as a function of growth and succession and, optionally, as they are influenced by range of disturbances (e.g., fire, wind, insects), forest management, land use change. Climate and climate change affect processes throughout the model. LANDIS-II is highly customizable with dozens of libraries (‘extensions’) to choose from.
The MADeM (Multi-modal Agent Decision Making) model provides agents with a general mechanism to make socially acceptable decisions. In this kind of decisions, the members of an organization are required to express their preferences with regard to the different solutions for a specific decision problem. The whole model is based on the MARA (Multi-Agent Resource Allocation) theory, therefore, it represents each one of these solutions as a set of resource allocations.
MARS is a platform for multi-agent system modeling in the Eclipse IDE that runs on .NET Core.
MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
A modeling platform consisting of the Functional Agent-based Language for Simulation (FABLES) programming language, a participatory simulations software, and the Model Exploration Module (MEME), which manages experiments for batch processing and analysis.
For more than the last two decades, multi-agent simulations have been highlighted to model mega-scale social or biological agents and to simulate their emergent collective behavior that may be difficult only with mathematical and macroscopic approaches. A successful key for simulating megascale agents is to speed up the execution with parallelization. Although many parallelization attempts have been made to multiagent simulations, most work has been done on shared-memory programming environments such as OpenMP, CUDA, and Global Array, or still has left several programming problems specific to distributed-memory systems, such as machine unawareness, ghost space management, and cross-processor agent management (including migration, propagation, and termination). To address these parallelization challenges, we have been developing MASS, a new parallel-computing library for multi-agent and spatial simulation over a cluster of computing nodes.
MATLAB is a multi-paradigm numerical computing environment and programming language developed by MathWorks.
MATSim is an open-source framework to implement large-scale agent-based transport simulations.
Mesa is an open source ABM framework in Python. It allows users to quickly create agent-based models using built-in core components (such as spatial grids and agent schedulers) or customized implementations; visualize them using a browser-based interface; and analyze their results using Python’s data analysis tools. Its goal is to be the Python 3-based alternative to NetLogo, Repast, or MASON.
Mobidyc is a software project that aims to promote Individual-Based Modelling in the field of ecology, biology and environment. It is the acronym for MOdelling Based on Individuals for the DYnamics of Communities.
MOOSE is a finite-element framework that aids in application development by harnessing state-of-the-art fully-coupled, fully-implicit multiphysics solvers while providing automatic parallelization, mesh adaptivity, and a growing set of physics modules.
MOOSE includes an ever-expanding set of physics modules including solid mechanics, phase-field, Navier-Stokes, and heat conduction. MOOSE supports multi-scale models allowing linking of MOOSE-based applications, enabling collaboration across applications, time-scales, and spatial domains.
Mathematical Programming-based Multi-Agent Systems (MPMAS) is a software package for simulating land use change in agriculture and forestry. It combines economic models of farm household decision-making with a range of biophysical models simulating the crop yield response to changes in the crop water supply and changes in soil nutrients.
MPMAS is part of a family of models called multi-agent systems models of land-use/cover change (MAS/LUCC). These models couple a cellular component representing a physical landscape with an agent-based component representing land-use decision-making (Parker et al. 2002). MAS/LUCC models have been applied in a wide range of settings (for overviews see Parker et al. 2003) yet have in common that agents are autonomous decision-makers who interact and communicate and make decisions that can alter their environment.
NetLogo is a multi-agent programmable modeling environment. It is used by tens of thousands of students, teachers and researchers worldwide. It also powers HubNet participatory simulations. It is authored by Uri Wilensky and developed at the CCL. You can download it free of charge.
Object Modeling System (OMS) is a pure Java, object-oriented modeling framework that facilitates component-based model construction. This is a collaborative project active among the U.S. Department of Agriculture and partner agencies and organizations involved with agro-environmental modeling. OMS v3.+ is a highly interoperable and lightweight modeling framework for component-based model and simulation development on multiple platforms.
OESjs is a JavaScript-based framework for Object Event Simulation (OES), which is a Discrete Event Simulation paradigm combining object-oriented modeling with the simulation approach of event scheduling. OESjs supports development of web-based simulations, which are especially good for using simulations in education. See the introductory tutorial at https://sim4edu.com/reading/IntroTutorial.html
OESjs supports:
OSMOSE is a multispecies agent based model focused on fish species. It assumes opportunistic predation based on spatial co-occurrence and size adequacy between a predator and its prey (size-based opportunistic predation) and represents fish individuals grouped into schools characterized by their size, weight, age, taxonomy and geographical location (2D).
The Repast Suite is a family of advanced, free, and open source agent-based modeling and simulation platforms that have collectively been under continuous development for over 15 years.
The SEIB-DGVM is a dynamic vegetation model, which aims to simulate transient impacts of climatic change on terrestrial ecosystem, and land-atmosphere interactions. It contains mechanical-based or empirical-based algorithms for :
SeSAm (Shell for Simulated Agent Systems) provides a generic environment for modeling and experimenting with agent-based simulation. We specially focused on providing a tool for the easy construction of complex models, which include dynamic interdependencies or emergent behaviour.
The SOSIEL platform is a multi-agent system that was developed for building models that are capable of capturing the spatio-temporal complexity of social contexts in which the heterogeneity of knowledge, the need for learning, and the potential for collective action play a significant role. The SOSIEL Platform can simulate the cross-generational progression of one or a large number of boundedly-rational agents, each of which is represented by a cognitive architecture that consists of theoretically-grounded cognitive processes and agent-specific and empirically-grounded knowledge. The agents can interact among themselves and/or with coupled natural (e.g., LANDIS-II) and/or technical systems, learn from their and each other’s experience, create new practices, and make decisions about taking and then take (potentially collective) actions.
SpaDES is an R metapackage for implementing a variety of event-based models, with a focus on spatially explicit models. These include raster-based, event-based, and agent-based models. The core simulation components (provided by SpaDES.core
) are built upon a discrete event simulation (DES) framework that facilitates modularity, and easily enables the user to include additional functionality by running user-built simulation modules (see also SpaDES.tools). Included are numerous tools to visualize rasters and other maps (via quickPlot
), and caching methods for reproducible simulations (via reproducible). Additional functionality is provided by the SpaDES.addins
and SpaDES.shiny
packages.
StarLogo TNG is a downloadable programming environment that lets students and teachers create 3D games and simulations for understanding complex systems.
Swarm is a platform for agent-based models (ABMs) that includes a conceptual framework for designing, describing, and conducting experiments on ABMs.
Vahana is a high-performance, agent-based modeling library developed in in Julia, specifically (but not only) for large-scale simulations of complex social networks. It leverages the power of Graph Dynamical Systems, coupled with advanced parallel computing methods, allowing efficient scaling to thousands of cores. At the same time it is designed with an accessible and expressive interface that hides the parallelization aspect, and makes the construction of network-centric models intuitive and easy.
See https://s-fuerst.github.io/Vahana.jl/stable/ for more detailed documentation.