Comparison of agent-based modeling software
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.
Comparison of ABM Software
Platform | Primary Domain | Supporting Organization | License | Programming Language | Operating System | User Support | GIS Capabilities | 3D Capabilities | Last Update |
---|---|---|---|---|---|---|---|---|---|
Altreva 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. User 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 | May 4, 2020 (Version 1.5.5) [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 | Cross-platform | 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 | January 23, 2020[2] |
Cougaar | Multi-agent systems; highly distributed, scalable, reliable, survivable applications; Domain independent; large scale distributed, complex, data intensive (can be configured for small-scaled embedded applications) | Cougaar Software Inc.; Vienna, Virginia, USA]. | Cougaar Open Source License (COSL) is a modified version of the OSI approved BSD License | Java | Linux, macOS, Windows | FAQ; tutorials; slide shows; documentation; selected references; email support; public forums; mailing lists | Yes Integrated with OpenMap | No | 2012 [3] |
Framsticks | 2D/3D simulations of (evolving) multi-agent systems and artificial life | Poznan University of Technology, Poznan, Poland | Depends on module: GPL/LGPL/Propertiary | FramScript (similar to JavaScript) | Cross-platform | Email developer; tutorials; manual; FAQ; forums; API; documentation; selected publications; examples | Yes | Yes | July 14, 2015 [4] |
JADE | Distributed applications composed of autonomous entities | Telecom Italia; Torino & Parma, Italy | LGPL version 2 | Java | Cross-platform | FAQ; mailing list; defect list; tutorials; API; documentation | Unknown | Unknown | August 6, 2017 [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 | January 6, 2020 (Version 6.1.1) [7] |
Repast | Social sciences | Argonne National Laboratory, University of Chicago; Lemont, Illinois, USA | BSD | Java (RepastS, RepastJ); Python (RepastPy); Visual Basic, .Net, C++, J#, C# (Repast.net) | Cross-platform | Documentation; mailing list; defect list; reference papers; external tools; tutorials; FAQ; examples | Yes | Yes | September 30, 2019 [8] |
SARL | Distributed applications composed of autonomous entities | * Stéphane Galland, Burgundy Franche-Comté University, France; * Nicolas Gaud, Burgundy Franche-Comté University, France, * Sebastian Rodriguez, Advanced Informatics Technology Research Group, Tucuman, Argentina |
Apache version 2 | SARL, Java | Cross-platform | FAQ; mailing list; bug tracker; tutorials; API; documentation | Yes By using Java extension libraries, e.g. AFC. | Yes By using Java extension libraries, e.g. Java 3D. | October 26, 2019 [9] |
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) [10] |
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 [11] |
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 [12] |
gollark: It compiles in reasonable time *and* makes a 600KB binary in debug mode which is much nicer than equivalent Rust.
gollark: I only need something like two routes so a full web framework is overkill.
gollark: ```nimimport optionsimport asyncdispatchimport httpximport tiny_sqliteimport macrosimport karax/[karaxdsl, vdom]import ./dbmacro includeFile(x: string): string = newStrLitNode(readFile(x.strVal))const css = includeFile("./src/style.css")let database = openDatabase("./monitoring.sqlite3")migrate(database)var threadDB {.threadvar.}: Option[DbConn]proc openDB(): DbConn = if isNone threadDB: threadDB = some openDatabase("./monitoring.sqlite3") get threadDBproc mainPage(): string = let vnode = buildHtml(html()): head: style: text css text "Bee deployed" $vnodeproc onRequest(req: Request) {.async.} = if req.httpMethod == some(HttpGet): case req.path.get() of "/": req.send(body=mainPage(), code=Http200, headers="Content-Type: text/html") else: req.send(Http404) else: req.send(Http404)echo "Starting up"run(onRequest, initSettings(Port(7800), "", 0))```This is what I have so far.
gollark: One per thread is likely sort of better ish slightly anyway.
gollark: Nope, this is probably fine.
References
- https://www.altreva.com/release_notes.html
- "AnyLogic latest version - 8.5.1". www.anylogic.com. Retrieved 2020-01-16.
- https://archive.is/20121209111144/http://cougaar.org/
- http://www.framsticks.com/files/apps/history.xml
- https://jade.tilab.com/news/
- https://github.com/eclab/mason/releases
- https://github.com/NetLogo/NetLogo/releases
- https://github.com/Repast/repast.simphony/releases
- http://www.sarl.io/news/index.html
- https://github.com/SoarGroup/Soar/releases
- https://www.slnova.org/#info
- http://www.swarm.org/wiki/Swarm:Stable_release
External links
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.