Parent topic Previous topic Next topic 

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

http://www.swarm.org

http://cs.gmu.edu/~eclab/projects/mason

http://repast.sourceforge.net

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

http://education.mit.edu/starlogo

http://ccl.northwestern.edu/netlogo

http://eslab.tau.ac.il/Research/default.aspx

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/

http://groups.yahoo.com/group/netlogo-users

User manual: http://eslab.tau.ac.il/OBEUS/OBEUSManual.pdf

Geosimulation website:

http://www.geosimulation.org

 

Table 8‑5 Comparison of proprietary simulation/modelling systems


 

AgentSheets

AnyLogic

Developers

AgentSheets Inc., USA

XJ Technologies, Russia

Date of Inception

1991

Unknown

Website

http://www.agentsheets.com

http://www.xjtek.com

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)

http://www.xjtek.com/support/forums/general  

                                                                                                                        

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/

  Back to Top    Back to Home Parent topic Previous topic Next topic