Comparison of agent-based modeling software

Last updated

In the last few years, the agent-based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent-based applications. More and more such toolkits are coming into existence, and each toolkit has a variety of characteristics. Several individuals have made attempts to compare toolkits to each other (see references). Below is a chart intended to capture many of the features that are important to ABM toolkit users.

Contents

Comparison of ABM Software

Agent Based Modeling Toolkit Comparison
PlatformPrimary DomainSupporting OrganizationLicenseProgramming LanguageOperating SystemUser Support GIS Capabilities3D CapabilitiesLast Update
Adaptive Modeler Building agent-based market simulation models for price forecasting of real-world stocks and other securitiesAltreva; Utrecht, NetherlandsProprietary; free evaluation version available for research and experimentation (some limitations but no expiration)No programming skills required. An adaptive form of genetic programming is used to create trading rules. Users can select functions to be used in the genetic programming engine.WindowsFAQ, documentation, tutorial, examples, forum, email supportUn­knownYes Up to 3 agent properties can be visualized in real-time using 2D graphics and colorJuly 20, 2020 (Version 1.6.0) [1]
AgentScript Browser-based agent-based modeling platformOwen Densmore, RedfishGroup LLCOpensource GPL, and other licensing availableJavascriptAll OS with BrowsersDocumentation, Tutorials, examples, Google Groups, email and consulting servicesYes supports web GIS standards (raster/vector tiles, wms, kml and geojson)YesAugust 7, 2022 [2]
AnyLogic Agent-based general purpose; also supports discrete event and system dynamics simulations.The AnyLogic Company; Oakbrook Terrace, Illinois, USAProprietary; Free Personal Learning Edition availableJavaLinux, macOS, WindowsDemos; training; online community; ask a question; online help; tutorials; consulting servicesYes: supports both tile maps from free online providers and shapefile-based mapsYesSeptember 24, 2021 [3] [4]
FAMEdistributed agent-based modelling of energy systems and marketsGerman Aerospace Center, GermanyApache version 2Java; PythonCross-platformslide-shows; documentation; examples; email supportNoNoJuly 8, 2022 (Version 1.4.0) [5]
Framsticks 2D/3D simulations of (evolving) multi-agent systems and artificial lifePoznan University of Technology, Poznan, PolandDepends on module: GPL/LGPL/ProprietaryFramScript (similar to JavaScript)Cross-platformEmail developer; tutorials; manual; FAQ; forums; API; documentation; selected publications; examplesYesYesJuly 14, 2015 [6]
GAMA Platform Modeling and simulation development environment for building spatially explicit agent-based simulations.IRD/SU international research unit UMMISCO, FranceGPL v3.0GAML (GAma Modeling Language) for simulations, Java for extensionsWindows; Linux; *nix; Mac OS Xtutorials; manual; FAQ; forums; documentation; selected publications; examplesYesYesApril 15, 2023;9 months ago (version 1.9.1) [7]
MASON General purpose; social complexity, physical modeling, abstract modeling, AI/machine learningGeorge Mason University, Fairfax, Virginia, USAAcademic Free License (open source)JavaCross-platformMailing list; documentation; Tutorials; third party extensions; reference papers; APIYesYesSeptember 3, 2019 (Version 20) [8]
NetLogo Social and natural sciences; Help beginning users get started authoring modelsNorthwestern University, Evanston, Illinois, USAGPLNetLogoCross-platformDocumentation; FAQ; selected references; tutorials; third party extensions; defect list; mailing listsYesYesSeptember 29, 2022 (Version 6.3.0) [9]
Repast Social sciencesArgonne National Laboratory, University of Chicago; Lemont, Illinois, USABSDJava (RepastS, RepastJ); Python (Repast4Py); Visual Basic, .Net, C++, J#, C# (Repast.net)Cross-platformDocumentation; mailing list; defect list; reference papers; external tools; tutorials; FAQ; examplesYesYesDecember 22, 2022 (Version 2.10.0) [10]
Soar General purpose AI; human performance modeling; learning (including explanation-based learning)John E. Laird, Clare Bates Congdon, Mazin Assanie, Nate Derbinsky and Joseph Xu; Division of Computer Science and Engineering, University of Michigan, Ann Arbor, Michigan, USABSDSoar 1 to 5 in Lisp; Soar 6 in C; Java, C++, TCLCross-platformDocumentation; FAQ; selected publications; defect list; third party extensions; mailing list; contact authors; tutorial; examples; wikiUn­knownUn­knownJuly 28, 2017 (Version 9.6.0) [11]
StarLogo Social and natural sciences; Educators; for students to model the behavior of decentralized systems; user friendly for K–12 studentsMitchel Resnick, Eric Klopfer, and others at MIT Media Lab and The MIT Scheller Teacher Education Program, Massachusetts Institute of Technology; Cambridge, MA, USAFree (closed source) – Clearthought Software License, Version 1.0StarLogo (an extension of Logo)Cross-platformMailing list; tutorials; FAQ; bug list; documentation; developer contactsUn­knownUn­knownNovember 27, 2018 [12]
Swarm General purpose agent basedSwarm Development GroupGPLJava; Objective-CCross-platformWiki; tutorials; examples; documentation; FAQ; selected publications; mailing listsUn­knownUn­known2005 [13]

Related Research Articles

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

<span class="mw-page-title-main">NetLogo</span>

NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.

<span class="mw-page-title-main">FLTK</span>

Fast Light Toolkit (FLTK) is a cross-platform widget library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming.

An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models. Particularly within ecology, ABMs are also called individual-based models (IBMs). A review of recent literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used in many scientific domains including biology, ecology and social science. Agent-based modeling is related to, but distinct from, the concept of multi-agent systems or multi-agent simulation in that the goal of ABM is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems, rather than in designing agents or solving specific practical or engineering problems.

Swarm is the name of an open-source agent-based modeling simulation package, useful for simulating the interaction of agents and their emergent collective behaviour. Swarm was initially developed at the Santa Fe Institute in the mid-1990s, and since 1999 has been maintained by the non-profit Swarm Development Group. Also known as the Swarm Simulation System, it is available for free and use, covered by the GNU General Public License.

<span class="mw-page-title-main">Hopsan</span>

Hopsan is a free simulation environment for fluid and mechatronic systems, developed at Linköping University. Although originally developed for simulation of fluid power systems, it has also been adopted for other domains such as electric power, flight dynamics, and vehicle dynamics. It uses bi-directional delay lines to connect different components.

<span class="mw-page-title-main">Mantis Bug Tracker</span> Bug tracking system

Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.

A source-code-hosting facility is a file archive and web hosting facility for source code of software, documentation, web pages, and other works, accessible either publicly or privately. They are often used by open-source software projects and other multi-developer projects to maintain revision and version history, or version control. Many repositories provide a bug tracking system, and offer release management, mailing lists, and wiki-based project documentation. Software authors generally retain their copyright when software is posted to a code hosting facilities.

<span class="mw-page-title-main">Open Cascade Technology</span> Open-source 3D modelling software

Open Cascade Technology (OCCT), formerly called CAS.CADE, is an open-source software development platform for 3D CAD, CAM, CAE, etc. that is developed and supported by Open Cascade SAS company.

The Recursive Porous Agent Simulation Toolkit (Repast) is a widely used free and open-source, cross-platform, agent-based modeling and simulation toolkit. Repast has multiple implementations in several languages and built-in adaptive features, such as genetic algorithms and regression.

Web-based simulation (WBS) is the invocation of computer simulation services over the World Wide Web, specifically through a web browser. Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

Agent-based social simulation consists of social simulations that are based on agent-based modeling, and implemented using artificial agent technologies. Agent-based social simulation is a scientific discipline concerned with simulation of social phenomena, using computer-based multiagent models. In these simulations, persons or group of persons are represented by agents. MABSS is a combination of social science, multiagent simulation and computer simulation.

MASON is a multi-agent simulation environment developed in Java.

CloudSim is a framework for modeling and simulation of cloud computing infrastructures and services. Originally built primarily at the Cloud Computing and Distributed Systems (CLOUDS) Laboratory, the University of Melbourne, Australia, CloudSim has become one of the most popular open source cloud simulators in the research and academia. CloudSim is completely written in Java. The latest version of CloudSim is CloudSim v6.0.0-beta on GitHub.

<span class="mw-page-title-main">GAMA Platform</span> Simulation platform

GAMA is a simulation platform with a complete modelling and simulation integrated development environment (IDE) for building spatially explicit agent-based simulations.

CovidSim is an epidemiological model for COVID-19 developed by Imperial College COVID-19 Response Team, led by Neil Ferguson. The Imperial College study addresses the question: If complete suppression is not feasible, what is the best strategy combining incomplete suppression and control that is feasible and leads to acceptable outcomes?

References

  1. "Altreva - Stock market forecasting software using agent-based market simulation models". www.altreva.com. Retrieved 29 November 2023.
  2. "Agentscript Github". GitHub .
  3. (Version 8.7.7) "AnyLogic latest version - 8.7.7". www.anylogic.com. Retrieved 16 January 2020.
  4. "Anylogic changes history". Anylogic. Archived from the original on 8 December 2018. Retrieved 9 November 2021.
  5. "FAME-Framework · GitLab". GitLab. Retrieved 29 November 2023.
  6. History framsticks.com
  7. "Releases · gama-platform/Gama". GitHub .
  8. "Releases · eclab/Mason". GitHub .
  9. "Releases · NetLogo/NetLogo". GitHub .
  10. "Releases · Repast/Repast.simphony". GitHub .
  11. "Releases · SoarGroup/Soar". GitHub .
  12. "Welcome".
  13. "Swarm:Stable release - Swarm".