|
|
Although there are many systems available for developing agent-based models, we have selected eight for review, separated into three categories of licensing policy: 1) open source (SWARM, MASON and Repast); 2) shareware/freeware (StarLogo, NetLogo and OBEUS); and 3) proprietary systems (AgentSheets and AnyLogic). These systems were chosen because they largely or wholly fulfilled the criteria that they are: maintained and still being developed; widely used and supported by a strong user community; accompanied by a variety of demonstration models and in some instances the model’s programming script or source code is available; and finally they are capable of developing spatially explicit models, possibly via the integration of GIS functionality.
Table 8‑3, Table 8‑4 and Table 8‑5 summarise information relating to each system for comparison purposes, categorised by their licensing policy. These tables have been adapted from the work of Najlis et al. (2001) and Parker (2001). The remainder of this subsection provides further information about each system, identifying examples of geospatial models that have been developed with the system. A caveat must be noted at this point ― the information provided within this subsection aims to be accurate and up-to-date. However, the systems reviewed are constantly being updated, thus modellers are advised to check each system’s website to obtain the latest information.
Table 8‑3 summarises information for three selected open source toolkits, SWARM, MASON and Repast:
SWARM: Designed specifically for the development of multi-agent simulations of complex adaptive systems (although agent-based models can easily be developed using SWARM as well). Inspired by research into artificial life, SWARM was designed to study biological systems, and attempts to replicate mechanisms observable in biological phenomena. In addition to modelling biological systems, SWARM has been used to develop models for anthropological, computer science, ecological, economic, geographical, and political science purposes. Useful examples of spatially explicit models include: the simulation of pedestrians in the urban centres (Schelhorn et al., 1999 and Haklay et al., 2001); and the examination of crowd congestion at London’s Notting Hill carnival (Batty et al., 2003). Najlis et al. (2001) identify the difficulty of learning to use SWARM as a significant factor to consider before choosing this system to develop an agent-based model, although this should be less of a problem for a modeller with strong programming skills.
MASON: Multi Agent Simulation Of Neighbourhood, was developed by the Evolutionary Computation Laboratory (ECLab) and the Centre for Social Complexity at George Mason University. At present MASON does not provide functionality for dynamically charting model output (e.g. histograms, line graphs, pie charts, etc.) during a simulation, or allow GIS data to be imported/exported (Luke et al., 2004). However, the developers of MASON are continuing to develop further functionality, and they hope users will develop and contribute tools themselves (e.g. GIS integration). Unfortunately there is little technical documentation and a relatively small user group in comparison to some of the other systems identified within this Guide. However, ‘how-to’ documentation, demonstration models (e.g. simple network models; the seminal ‘heatbugs’ example implemented in many toolkits, see Figure 8‑2), and several publications detailing the implementation and/or application of MASON are available for a prospective modeller to evaluate the system further.
Repast: Originally developed at the University of Chicago, the Recursive Porous Agent Simulation Toolkit (Repast) is currently maintained by Argonne National Laboratory and managed by the Repast Organisation for Architecture and Development (ROAD: http://repast.sourceforge.net). Repast caters for the implementation of models in three programming languages: Python (RepastPy); Java (RepastJ); and Microsoft.Net (Repast.Net). RepastPy allows basic models to be developed by modellers with limited programming experience via a ‘point-and-click’ GUI (Collier and North, 2005). RepastPy models can subsequently be exported/ converted into Java for further development in RepastJ. Repast.Net and RepastJ allow for more advanced models to be developed, because more complex functionality can be programmed into a model. RepastPy and RepastJ are the only two open source s/m toolkits that allow the development of both raster and vector agent-based models.
Whilst still being maintained, RepastJ, Repast.Net and RepastPy have now reached maturity and are no longer being developed. They have been superseded by Repast Simphony (RepastS) which provides all the core functionality of RepastJ or Repast.Net, although limited to implementation in Java. RepastS was released as an Alpha version in late 2006 and therefore limited information regarding its core functionality or example models is available. In relation to GIS functionality, there is no support for GIS integration in the Alpha versions.
Agent Analyst (Table 8‑3, Repast entry) is an ABM extension that allows users to create, edit, and run Repast models from within ArcGIS (Redlands Institute, 2006). Repast has a relatively large user group and an actively supported e-mail list, as well as extensive ‘how-to’ documentation and demonstration models available from the system website. Useful examples of spatially explicit models created using Repast include the studying of segregation, residential and firm location (Crooks, 2006) and the evacuation of pedestrians from within an underground station (Castle, 2006).
Table 8‑3 Comparison of open source simulation/modelling toolkits
|
|
SWARM |
MASON |
Repast |
|
Developers |
Santa Fe Institute/SWARM Development Group, USA |
Center for Social Complexity, George Mason University, USA |
University of Chicago, Department of Social Science Research Computing, USA |
|
Date of Inception |
1996 |
2003 |
2000 |
|
Website |
|||
|
Implementation Language |
Objective-C/Java |
Java |
Java/Python/Microsoft.Net |
|
Operating System |
Windows, UNIX, Linux, Mac OSX |
Windows, UNIX, Linux, Mac OSX |
Windows, UNIX, Linux, Mac OSX |
|
Required programming experience |
Strong |
Strong |
Strong |
|
Integrated GIS functionality |
Yes (e.g. Kenge GIS library for Raster data: http://www.gis.usu.edu/swarm) |
None |
Yes (e.g. OpenMap, Java Topology Suite, and GeoTools). Repast simulations can also be run within ArcGIS through an extension called Agent Analyst (see below). |
|
Integrated charting/graphing/ statistics |
Yes (e.g. R and S-plus statistical packages) |
None |
Yes (e.g. Colt statistical package, and basic Repast functionality for simple network statistics) |
|
Availability of demonstration models |
Yes |
Yes |
Yes |
|
Source code of demonstration models |
Yes |
Yes |
Yes |
|
Tutorials/’how-to’ Documentation |
Yes |
Yes |
Yes |
|
Additional information |
Minar et al. (1996) |
Luke et al. (2004) |
Agent Analyst Extension (http://www.institute.redlands.edu/agentanalyst) Useful weblog: http://www.gisagents.blogspot.com |
Table 8‑4 summarises information for three selected shareware/freeware toolkits, StarLogo, NetLogo and OBEUS:
StarLogo: is a modelling system developed at the Media Laboratory, Massachusetts Institute of Technology (MIT). Unlike the other six agent-based s/m systems discussed in this section, both StarLogo and NetLogo models are programmed procedurally, as opposed to having an object-oriented structure. Thus, models developed with StarLogo do not benefit from the similarity in abstraction shared between the agent-based and object-oriented paradigms. Furthermore, StarLogo lacks the same flexibility offered by open source systems, since modellers are constrained to the functionality provided by the system. However, the StarLogo website indicates that an open source version of the system (OpenStarLogo) has been developed and will be available in the near future. Despite these limitations, StarLogo is very easy to use, notably for people with very little programming experience. Dynamic charting of model output during a simulation is provided. In addition, a number of demonstration models and detailed ‘how-to’ documentation relating to these models is supplied with StarLogo, and many more are available to download from the World Wide Web. Batty et al. (1998) have used StarLogo to examine visitor movement within London’s Tate Gallery, examining how changes in room configuration can affect visitor movement between exhibits.
NetLogo: originally named StarLogoT, is a variant of StarLogo, originally developed at the Centre for Connected Learning and Computer-Based Modelling at Northwestern University. The critical distinction between the two s/m systems is that NetLogo is specifically designed for the deployment of models over the Internet. Both NetLogo and StarLogo provide functionality to import image files, which can be used to define the environments within which agents are located, thus facilitating the development of spatial models. NetLogo has been used to develop applications in disciplines varying from biology and physics to the social sciences. Extensive ‘how-to’ documentation, tutorials and demonstration models are available from the system website, and functionality can be extended through Application Programming Interfaces (APIs), although the source code for the system is currently unavailable.
OBEUS: Object-Based Environment for Urban Simulation, was developed at Tel Aviv University, Israel. Based on the theory of Geographic Automata Systems (GAS; Benenson and Torrens, 2004), it is designed for the simulation of urban phenomena; specifically in a geospatial context. GAS considers an urban system as consisting of objects that are either fixed (e.g. houses or roads) or non-fixed (e.g. people or cars). OBEUS is implemented in the Microsoft.NET framework, but relies on several third-party components (Microsoft.NET Framework, Borland C# compiler, etc.), which must be installed in order to operate the system. OBEUS provides a GUI to develop the structure of a model, although the behaviour and interaction rules of agents must be programmed using one of the Microsoft.NET languages (e.g. C#, C++, or Visual Basic, etc.). Consequently, moderate to strong programming skills are required. OBEUS has been used to develop a number of spatially explicit models, including the simulation of ethnic residential distributions within the Yaffo area of Tel Aviv between 1955 and 1995 (Benenson et al., 2002, Benenson et al., 2005), and street parking and urban sprawl (Benenson et al., 2004).
Table 8‑4 Comparison of shareware/freeware simulation/modelling systems
|
StarLogo |
NetLogo |
OBEUS |
|
Developers |
Media Laboratory, Massachusetts Institute of Technology, USA |
Centre for Connected Learning and Computer-Based Modelling, Northwestern University, USA |
Environmental Simulation Laboratory, Tel Aviv University, Israel |
|
Date of Inception |
Early 1990s, Java based version 2000 |
1999 |
Early 2000s |
|
Website |
|||
|
Implementation Language |
Proprietary scripting |
Proprietary scripting |
Microsoft.Net |
|
Operating System |
Windows, UNIX, Linux, Mac OSX |
Windows, UNIX, Linux, Mac OSX |
Windows |
|
Required programming experience |
Basic |
Basic |
Moderate-Strong |
|
Integrated GIS functionality |
None |
None |
Yes |
|
Integrated charting/graphing/statistics |
Yes |
Yes |
Unknown |
|
Availability of demonstration models |
Yes |
Yes |
Unknown |
|
Source code of demonstration models |
Yes |
Yes |
Unknown |
|
Tutorials/’how-to’ Documentation |
Yes |
Yes |
Yes |
|
Additional information |
OpenStarLogo website: http://education.mit.edu/openstarlogo/ |
User manual: http://eslab.tau.ac.il/OBEUS/OBEUSManual.pdf Geosimulation website: |
Table 8‑5 Comparison of proprietary simulation/modelling systems
|
AgentSheets |
AnyLogic |
|
Developers |
AgentSheets Inc., USA |
XJ Technologies, Russia |
|
Date of Inception |
1991 |
Unknown |
|
Website |
||
|
E-mail List |
None |
None |
|
Implementation Language |
Proprietary scripting |
Proprietary scripting |
|
Operating System |
Windows, UNIX, Linux, Mac OSX |
Windows, UNIX, Linux, Mac OSX |
|
Required programming experience |
None ― Basic |
Moderate |
|
Integrated GIS functionality |
None |
None |
|
Integrated charting/graphing/ statistics |
Yes |
Yes |
|
Availability of demonstration models |
Yes |
Yes |
|
Source code of demonstration models |
N /A |
N /A |
|
Tutorials/’how-to’ Documentation |
Yes |
Yes |
|
Additional information |
Carvalho (2000) and Repenning et al. (2000) |
Table 8‑5 summarises information for two proprietary toolkits, AgentSheets and AnyLogic, each of which is described in more detail below. As with many other commercial software products, both have much functionality and ongoing development that cannot be adequately described here, and readers are recommended to visit the web sites for the products to obtain more details and examples.
AgentSheets is a proprietary s/m system that allows modellers with limited programming experience to develop an agent-based model, because models are developed through a GUI (Repenning et al., 2000). A number of demonstration models are available from the system website. For example, Sustainopolis is a simulation analogous to the computer game SimCity that allows investigation of pollution dispersal within a city. Carvalho (2000) has used AgentSheets extensively to teach undergraduate students. He comments that it is easy to use the system to develop models quickly and provides students with hands-on experience of ABM without the need to learn a programming language. However, he also found that models created with AgentSheets were limited in their sophistication (notably in terms of the complexity of representation of agent behaviour and interaction). Furthermore, agents are limited to movement within a two-dimensional cell-based environment.
AnyLogic is a more sophisticated offering that incorporates a range of functionality for the development of agent-based models. For example, models can dynamically read and write data to spreadsheets or databases during a simulation run, as well as dynamically chart model output. Furthermore, external programs can be initiated from within an AnyLogic model for dynamic communication of information, and vice versa. However, AnyLogic models can only be created on Microsoft operating systems, although a simulation can be run on any Java-enabled operating system once compiled (e.g. a Macintosh operating system). The AnyLogic website notes that models have been developed for a diverse range of applications including: the study of social, urban and ecosystem dynamics (e.g. a predator-prey system); planning of healthcare schemes (e.g. the impact of safe syringe usage on HIV diffusion); computer and telecommunication networks (e.g. the placement of cellular phone base stations); and the location of emergency services and call centres. However, the source code of these examples and/or documentation of these models is not unavailable.
The example illustrated in Figure 8‑5 seeks to predict transport load and housing allocation (up to March 2009) within a city comprised of 5 independent zones. Each zone contains housing and business units, with various qualities of habitation and roads. Households may contain multiple members, who may work at various enterprises. Households can move in and out of the city, merge or separate, and even relocate to different zones (with an impact on travel patterns). Household members can change jobs when current ones become unsatisfactory (e.g. because of high living costs or low pay). Households whose prosperity improves may seek a better location to live within the city, which in turn may require them to purchase cars, resulting in raised CO2 emissions.
Figure 8‑5 An urban and transport dynamics model developed in AnyLogic (2006)
Source: http://www.xjtek.com/anylogic/demo_models/social_dynamics/
|
|