Agent-based modeling requires more complicated formalism to describe the behavior and dynamics of individual agents and their spatial distribution. Perhaps for this reason there are no 'drag-and-drop' and 'click-and-run' software packages available so far. All software tools in this area are designed around some programming language. It can be either versions of high-end full-fledged programming languages such as C++ or Java, or some simplified languages like Logo. But it still requires some programming to get the model to run. All packages have links to GIS data, though some make a special effort to emphasize that. This connection usually goes in one direction and is provided by routines that import data from raster GIS (ArcView, ArcGIS) and make it available for the modeling tools.
• Swarm - Swarm Development Group, http:// www.swarm.org/ - open source, any platform.
A collection of software libraries, written in Objective C, originally developed at the Santa Fe Institute and since then taken up as an open source project with developers all over the world. Swarm is a software package for multiagent simulation of complex systems. It is specifically geared toward the simulation of agent-based models composed of large numbers of objects. EcoSwarm is an extension library of code that can be used for individualbased ecological models (http://www.humboldt.edu/ ^ecomodel/index.htm).
• Repast - ROAD (Repast Organization for Architecture and Development), http://repast.sourcefor-ge.net/ - open source, any platform
Repast (Recursive Porus Agent Simulation Toolkit) is an agent-based simulation toolkit originally developed by researchers at the University of Chicago and the Argonne National Laboratory. Repast borrows many concepts from the Swarm toolkit. It is different in its multiple implementations in several languages (Java, C#, .NET, Python) and its built-in adaptive features such as genetic algorithms and regression. Includes libraries for genetic algorithms, neural networks, random number generation, and specialized mathematics, has built-in system dynamics modeling capabilities, has integrated GIS support.
• MASON - George Mason University, http:// cs.gmu.edu/ - open source, any platform
MASON stands for Multi-Agent Simulator of Neighborhoods ... or Networks ... or something It contains both a Java model library and an optional suite of visualization tools in 2-D and 3-D. It can represent continuous, discrete, or hexagonal 2-D, 3-D, or network data, and any combination of it. Provided visualization tools can display these environments in 2-D or in 3-D, scaling, scrolling, or rotating them as needed. Documentation is limited.
• Cormas - Cirad, http://cormas.cirad.fr/ - freeware
Programming environment to model multiagent systems, with focus on natural resources management. It is based on VisualWorks, a programming environment which allows the development of applications in SmallTalk programming language and is freely available from a third party website.
• StarLogo - MIT, http://education.mit.edu/ - open source, Mac/Win
A programmable modeling environment for exploring the behaviors of decentralized systems, such as bird flocks, traffic jams, and ant colonies. Designed especially for use by students. It is an extension of the Logo programming language, which allows control over thousands of graphic individuals called 'turtles' in parallel. Comes with a nice interface, making it user friendly, and ready to use. Some basics of the Logo language are simple to learn and one can start modeling in less than an hour.
• NetLogo - Uri Wilensky (Northwestern University), http://ccl.northwestern.edu/ - freeware, Mac/ Win/Linux
NetLogo, a descendant of StarLogo, is a multiplatform general-purpose complexity modeling and simulation environment. Design is similar to StarLogo, also having a user interface. Written in Java and includes APIs so that it can be controlled from external Java code and users can write new commands and reporters in Java. Comes with hundreds of sample models and code examples that help beginning users get started. Very well documented. Has a systems dynamics component.
Pros. Perhaps the only possible way to identify emergent properties that come from interaction between agents. Most of the applications are open source, which creates infinite possibilities for linkages, extensions, and improvements.
Cons. Requires programming skills, therefore may take considerable time to learn.
Was this article helpful?