Part of a series on |
Multi-agent systems |
---|
Multi-agent simulation |
Agent-oriented programming |
Related |
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.
Platform | Primary Domain | Supporting Organization | License | Programming Language | Operating System | User Support | GIS Capabilities | 3D Capabilities | Last Update |
---|---|---|---|---|---|---|---|---|---|
Adaptive Modeler | Building agent-based market simulation models for price forecasting of real-world stocks and other securities | Altreva; Utrecht, Netherlands | Proprietary; 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. | Windows | FAQ, documentation, tutorial, examples, forum, email support | Unknown | Yes Up to 3 agent properties can be visualized in real-time using 2D graphics and color | July 20, 2020 (Version 1.6.0) [1] |
AnyLogic | Agent-based general purpose; also supports discrete event and system dynamics simulations. | The AnyLogic Company; Oakbrook Terrace, Illinois, USA | Proprietary; Free Personal Learning Edition available | Java | Linux, macOS, Windows | Demos; training; online community; ask a question; online help; tutorials; consulting services | Yes: supports both tile maps from free online providers and shapefile-based maps | Yes | November 20, 2024 [2] [3] |
Framsticks | 2D/3D simulations of (evolving) multi-agent systems and artificial life | Poznan University of Technology, Poznan, Poland | Depends on module: GPL/LGPL/Proprietary | FramScript (similar to JavaScript) | Cross-platform | Email developer; tutorials; manual; FAQ; forums; API; documentation; selected publications; examples | Yes | Yes | July 14, 2015 [4] |
GAMA Platform | Modeling and simulation development environment for building spatially explicit agent-based simulations. | IRD/SU international research unit UMMISCO, France | GPL v3.0 | GAML (GAma Modeling Language) for simulations, Java for extensions | Windows; Linux; *nix; Mac OS X | tutorials; manual; FAQ; forums; documentation; selected publications; examples | Yes | Yes | April 15, 2023 (version 1.9.1) [5] |
MASON | General purpose; social complexity, physical modeling, abstract modeling, AI/machine learning | George Mason University, Fairfax, Virginia, USA | Academic Free License (open source) | Java | Cross-platform | Mailing list; documentation; Tutorials; third party extensions; reference papers; API | Yes | Yes | September 3, 2019 (Version 20) [6] |
NetLogo | Social and natural sciences; Help beginning users get started authoring models | Northwestern University, Evanston, Illinois, USA | GPL | NetLogo | Cross-platform | Documentation; FAQ; selected references; tutorials; third party extensions; defect list; mailing lists | Yes | Yes | September 29, 2022 (Version 6.3.0) [7] |
Repast | Social sciences | Argonne National Laboratory, University of Chicago; Lemont, Illinois, USA | BSD | Java (RepastS, RepastJ); Python (Repast4Py); Visual Basic, .Net, C++, J#, C# (Repast.net) | Cross-platform | Documentation; mailing list; defect list; reference papers; external tools; tutorials; FAQ; examples | Yes | Yes | December 22, 2022 (Version 2.10.0) [8] |
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, USA | BSD | Soar 1 to 5 in Lisp; Soar 6 in C; Java, C++, TCL | Cross-platform | Documentation; FAQ; selected publications; defect list; third party extensions; mailing list; contact authors; tutorial; examples; wiki | Unknown | Unknown | July 28, 2017 (Version 9.6.0) [9] |
StarLogo | Social and natural sciences; Educators; for students to model the behavior of decentralized systems; user friendly for K–12 students | Mitchel Resnick, Eric Klopfer, and others at MIT Media Lab and The MIT Scheller Teacher Education Program, Massachusetts Institute of Technology; Cambridge, MA, USA | Free (closed source) – Clearthought Software License, Version 1.0 | StarLogo (an extension of Logo) | Cross-platform | Mailing list; tutorials; FAQ; bug list; documentation; developer contacts | Unknown | Unknown | November 27, 2018 [10] |
Swarm | General purpose agent based | Swarm Development Group | GPL | Java; Objective-C | Cross-platform | Wiki; tutorials; examples; documentation; FAQ; selected publications; mailing lists | Unknown | Unknown | 2005 [11] |
Vahana.jl | General purpose with focus on network dynamics | Zuse Institut Berlin; Germany | MIT | Julia | Cross-plattform | tutorials; examples; documentation; email support | No: only via additional packages | Yes: support of n-dimensional rasters, no support for continuous space | August 27, 2024 (Version 1.2) [12] |
Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning 'word' or 'thought'.
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, HLASM, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, PL/I, Prolog, Python, R, Rexx, 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.
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.
Ruby on Rails is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer and HTML, CSS and JavaScript for user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.
The actor model in computer science is a mathematical model of concurrent computation that treats an actor as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other indirectly through messaging.
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.
The Template Toolkit (TT) is a template engine used primarily for building web sites, but is also suitable for creating any type of digital document, such as a PDF or LaTeX file. Template Toolkit is based on a mini-language and does not allow direct Perl in its templates by default, unlike some competing products. This forces developers to separate business logic into Perl libraries, leaving only presentation logic in their templates. It is written in Perl, with some popular accessories in C. It is released under a free software licence.
Text Template Transformation Toolkit is a free and open-source template-based text generation framework. T4 source files are usually denoted by the file extension ".tt".
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.
Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.
Play Framework is an open-source web application framework which follows the model–view–controller (MVC) architectural pattern. It is written in Scala and usable from other programming languages that are compiled to JVM bytecode, e.g. Java. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.
Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.
MASON is a multi-agent simulation environment developed in Java.
AngularJS is a discontinued free and open-source JavaScript-based web framework for developing single-page applications. It was maintained mainly by Google and a community of individuals and corporations. It aimed to simplify both the development and the testing of such applications by providing a framework for client-side model–view–controller (MVC) and model–view–viewmodel (MVVM) architectures, along with components commonly used in web applications and progressive web applications.
GAMA is a simulation platform with a complete modelling and simulation integrated development environment (IDE) for writing and experimenting spatially explicit agent-based models.