Using GIS Vector Data to Build Virtual ... - ACM Digital Library

1 downloads 0 Views 325KB Size Report
Dec 17, 2004 - A thesis at Old Dominion University evaluates the use of GIS vector data to build virtual environments for ABM to support the conduct of studies ...
Using GIS Vector Data to Build Virtual Environments For Agent Based Models Karl D. Liebert, Masters Student Modeling and Simulation Old Dominion University Norfolk, VA 23529 [email protected]

David C. Earnest, PhD. Political Science and International Studies Old Dominion University Norfolk, VA 23529 [email protected]

Keywords: Continuous Agent Space, Discrete Agent Space, Geospatial Information Systems (GIS), NetLogo, OBEUS, Repast, Swarm, UrbanSim

Determinants and Spatial Efficiency Among Late Ancestral Pueblo Populations of the Mesa Verde Region, U.S. Southwest and Understanding Anasazi Culture Change Through Agent Based Modeling illustrate the application of environmental data to support analysis in an ABM environment. These early examples apply lessons about the ability to produce emergent, societal behavior from a population of agents, existing on a lattice of cells, all acting on local behavioral rules. These studies provide a basis for studying population behaviors and demonstrate the need to apply real-world environment data when analyzing population behavior in a real-world environment. The agent space, which is the space in which agents move, used in these studies of Kohler and Gumerman have been Cellular Automata (CA). CA have their merits; however, as it will be shown in a later section, a continuous agent space may be more intuitive or accurate in some applications. Toward the use of real-world environment data, GIS is the format commonly used to store and distribute that data. A thesis at Old Dominion University evaluates the use of GIS vector data to build virtual environments for ABM to support the conduct of studies as described by Kohler and Gumerman, placing the agent under more realistic constraints. This paper documents first findings that may be of interest to the broader community. It is structured as follows: Section 2 will summarize the possible agent space modeling approaches. Section 3 evaluates NetLogo, Swarm, and Repast regarding their support of GIS data. In addition, OBEUS and UrbanSIM are evaluated, as GIS support is part of their design. Section 4 draws conclusions.

Abstract After focusing on proofs of principle and feasibility, the new generation of agent-based applications is becoming more realistic. The use of real-world data, particularly geospatial information system (GIS) data, to set up the environment is one of the resulting challenges to be solved. This paper compares two possible approaches: discrete and continuous agent space modeling. NetLogo, Swarm, Repast, OBEUS, and UrbanSim are evaluated with regard to support of these ideas for agent space modeling. The results presented show that first applications are possible, but that more community support is needed. 1.

INTRODUCTION There exists a need for Agent-based Modeling (ABM) Development Environments (DE) to use real world data as an environment within which agents may interact. In this paper, we will focus on geospatial data as real world data setting up a realistic environment for the agents. In the past several years, ABM based applications have grown in their sophistication. Early agent based social interaction models demonstrated their ability to produce complex behaviors from basic sets of rules [1]. This benchmark work proves the ability to produce recognizable population behaviors in an ABM. Researchers have applied this approach to increasingly complex models of interaction. Models have included real-world environmental data and complex interagent and agent-environment patterns of interaction [2]. While the early prototypes were designed as proof-ofprinciple, recent developments target the more realistic representation of geospatial aspects of the environment. Many excellent examples of the application of ABM to study population-environment interaction are documented by Kohler and Gumerman in Dynamics in Human and Primate Societies [3]. Notably among the research presented therein, Be There Then: A Modeling Approach to Settlement

2008 SpringSim

Andreas Tolk, PhD. Engineering Management and Systems Engineering Old Dominion University Norfolk, VA 23529 [email protected]

2.

MODELING OF AGENT SPACES The working definition we use in this paper for “agent space” is based on the common concept used in NetLogo, Swarm, and Repast: agent space is a structure which defines the relationship between agents. There are two principle ways to model the agent space: • Use of cells (or CA) for a discrete agent space. In this environment, agents move from cell to cell.

45

1-56555-319-5



2.2. Continuous Agent Space It is important at this point to explain what is meant by a continuous space. The concept of agent space is common to Repast, Swarm, NetLogo, and other ABM DE. Agent space defines the space in which their interaction with each other and their environment takes place. Most commonly, these spaces are discrete lattices, shaped like a grid or a hexagonal game board. Cellular Automata use this sort of discrete agent space. In a continuous agent space the agent positional coordinates are real or floating point numbers. A continuous agent space aligns well with vector GIS data and intuitively with agent models that move independently of artificial cellular grids. A continuous environment is more intuitive and natural for ABM that utilizes GIS data. The concept of continuous spatial automata is developed in [5]. Agent position is described by continuous coordinate values. In this agent environment, the artificiality of limited neighbors or integral proximity becomes a set of agents that can respond to as many other agents as there are in the model. A neighborhood may now vary based upon a variety of factors, depending upon context, including relationship networks or linear proximity. In this continuous environment, agents may move in any direction. By representing agent position in continuous coordinates, their relationships become much more dynamic. Criteria to consider may now include proximity, the number of other agents within proximity, these agent's attributes, or even the degree to which they encroach upon the respective agent's resources. The application of continuous agent space to GIS based models has been considered previously [6, 7] but remains an opportunity for further development. While intuitive, continuous agent space requires new methods for determining neighbors. These are computationally expensive compared to methods in cellular space. The most straightforward method is an n x n comparison or O(n2). This will work for small to moderate agent population sizes. If neighborhoods vary based on the context of the rules, the computational complexity increases even more rapidly, O(n2r), where n is the number of agents and r is the number of rules. In this case, a large population of agents becomes computationally intractable. Some ways of meeting this computational challenge are simplified agent behaviors, increased computational power, and algorithmic efficiency. In addition, the use of filters or cascading system design may decrease the complexity in special application domains, but in principle the challenge remains. However, this computational challenge is not the topic of this paper and is highlighted here only as a consideration for the interested reader. A challenge of interest in the context of this paper when using continuous agent space is that it does not align with raster images depicting GIS environment attributes the way CA do. What was a convenience in a CA grid is now an un-

Use of a continuous agent space in which the location of an agent is specified by coordinates. A third agent space model is the network. In a network the relationships between agents made through explicit connections. This paper will focus on the two, spatial agent space models. In both cases, the environment can change and interact with the agents. As such, it is common practice to implement the cells or other subsections as agents themselves. We will summarize the approaches and challenges for both approaches in this section. 2.1. Discrete Agent Space Most research using ABM surveyed in the preparation of this work is still a variation on CA rather than agents that move freely in a continuous environment. In many studies this approach keeps the problem computationally tractable. An agent's neighbors (other agents that can affect the agent's behavior) are limited to those in its Moore's neighborhood. Even if the neighborhood is expanded beyond the adjacent cells, the computational overhead is still only a multiple of the number of agents. There is a natural correlation between raster projections of environmental data and CA. Thus, most support for realworld geospatial data as the basis for agent environments has been in the form of raster images generated from Geospatial Information System (GIS) data. Because the cell size in the raster images may be set manually, it is easy to align the raster cells with the CA grid. The transfer to raster form imposes artificialities into data that were not present in the original vector-based GIS shape files. Slivers of land connecting two larger land masses may become a discontinuous string of islands. Inversely, rivers may become sporadic pools of water along their original line of flow. Aligning the resolution of the CA and the associated raster image with the needs of the study is another challenge of this approach to GIS agent environments. For example, in studying population behaviors, there must be a balance between the aggregation of societal units the agent represent and the size of the raster cell. Again resolution is lost, this time in the social units. If agents represent families, how does that impact the role of the pioneering individual agents willing to strike out and explore? Individuals are lost in statistical models of where and when social groups might move. A final complication of finite state CA is the potential to fall into repetitive patterns. As exemplified in Conway's Life [4], repetitive patterns emerge. In a model with multiple continuous cell state variables, these obvious patterns are not a likely occurrence; however, similar more subtle effects may be occurring that influence the outcome of the model.

1-56555-319-5

46

2008 SpringSim

welcome artificiality. Using continuous space, a more natural and convenient GIS environment is a shape file. Containing vector data, the shape file format is commonly used for mapping land features such as hydrology, soil type, terrain elevation, and weather. In a shape file, environment data may be stored as points, lines, or polygons. This diversity of methods for mapping data allows the environmental characteristics to closely follow their real-world distribution. By using this environmental data in its original format, a model uses the best data available without losing resolution in the conversion to, and storage as, a raster image. In addition to the preservation of resolution, by not converting the data to a raster image, the original data classifications are preserved. This provides agents a more rich variety of data values with which to interact. A final point in favor of using a vector GIS file is the following: while the researcher building the model must still analyze the adequacy of the data for the purposes of the study, the use of the authoritative data in its original format assures at least the researcher that it is the best data possible. A researcher may determine it is necessary to qualify their results if the data was not a perfect fit for the study, but GIS vector data should be used by any study that benefits from a continuous agent environment nonetheless, as it is at least good data from reliable sources. In the past three years, studies utilizing GIS vector data have become more prevalent. The term for these simulations and their use is Geographical Agent Simulation (GAS). GAS has evolved in the past five years to use complex and detailed environments. UrbanSim is an outstanding example. UrbanSim is a comprehensive environment for studying urban growth. It includes several models of various systems affecting urban growth and urban growth's effect on the surrounding resources.

ity among ABM developers. Two others, UrbanSim r854 and OBEUS v1.0 are examined because their features as GAS that satisfied much of the criteria for evaluation. Table 1 provides the websites from which the ABM DE were acquired. The study considers both objective and subjective criteria in examining ABM development tools. It evaluates the usability of the documentation based upon its completeness and the quality of the tutorials and examples. Also, it considers the usability of the development environment itself. Most importantly, this study examines the ability of the ABM DE to support development of models that utilize vector GIS environment data in a continuous agent space. Finally, it will look at a problem particular to models of this sort: the ability to query environment data based upon a geographic location. In addition, a couple of general statements regarding the user friendliness of installation, use of examples, documentation, and other points of interest when selecting an ABM DE will be documented. It should be pointed out that in particular these points reflect the viewpoint of the authors and are based on individual experiences, not on studies with a statistically significant number of students.

3.

3.1. NetLogo NetLogo is a very accessible ABM DE. It is an IDE with a built-in code interpreter. Extensive documentation and sample models accompany the release. From the assortment of model examples, a user may derive most any model NetLogo can support. It is suitable for interested students, behavioral studies, and other purposes. The two basic types of agents in NetLogo are patches and turtles. Patches are the cells in the lattice-like environment. Turtles are agents that move within this lattice. NetLogo uses a derivation of Logo programming language, commonly used to teach basic programming principles to students. It uses a structured, hierarchical program model. Starting from the examples, extending the code to capture the behaviors of interest to a study should not be difficult. For the modeler with no programming experience learning the rudiments of Logo is recommended [8]. NetLogo may use GIS data to provide an agent data environment in one of two ways, however, manipulation of

Table 1: ABM DE and Their Sources ABM DE Source NetLogo 4.0 http://ccl.northwestern.edu/netlogo/

EVALUATING USABILITY OF GIS DATA IN LEGACY ABM APPLICATIONS The number of ABM Software Development Environments available that support a continuous, GIS environment is severely limited. None examined in this study were designed with this purpose in mind; though, some are moving in this direction, with great promise. In the underlying study conducted for the thesis at Old Dominion University, ABM DE will provide a model description environment, integrated development environments (IDE) for programming, as well as application programming interface (API) for ABM development. Among DE considered, all of these approaches have been used, sometimes in conjunction with one another, to give ABM modelers a DE in which they can effectively develop their model. This study will examine several ABM DE. Swarm 2.2, NetLogo 4.0, and the Recursive Porous Agent Simulation Toolkit (Repast J) were considered because of their popular-

2008 SpringSim

47

Swarm 2.2

http://www.Swarm.org/wiki/Swarm_main_page

Repast J 3.1

http://repast.sourceforge.net/download.html

OBEUS

http://www.eslab.tau.ac.il/obeus/obeus.htm

UrbanSim r854

http://www.urbansim.org/

1-56555-319-5

GIS data is required to allow NetLogo agents to interact with the data: a) NetLogo can read tables of point data exported as text from GIS analysis tools. b) GIS data may be saved in a raster image and loaded into patch grid on which the turtles move. In both cases, care must be taken to align the number of rows and columns in the raster with the dimensions of the patch lattice. Thus, NetLogo cannot directly import GIS vector data from shape files. A conversion program must translate the GIS information into properties of the patches. Currently, such conversion programs are project specific, as no standards evolved on the GIS or the NetLogo domain that allow a standardized mediation between both worlds. After their initial population, the patches and their associated data may be modified by either the patches or turtles. Thus the environment may evolve as the simulation progresses. Additionally, the final state of the environment may be saved as a result of the simulation. NetLogo supports the idea that cell – here called patches – are agents by design. Once initialized, patches are a good way to model the agent space appropriately. In NetLogo, the resolution of the screen dictates movement of turtle agents. Unlike the grid of patches used to describe the agent space, the turtles' position may be measured on continuous x and y coordinates based upon the pixels of the monitor. NetLogo has many benefits as an ABM DE: good documentation, a user-friendly environment, and a continuous agent space. However, the lack of facilities for managing and interacting with GIS data makes it a poor selection for applications requiring geographic coordinates and detailed interaction with GIS data [9].

ager allowing the user to select, run, and re-run models as in NetLogo and Repast. Each executable ran and exited independently. The Cygwin environment included all of the normal UNIXTM tools and builds the examples without problems. Currently Swarm does not provide native support for continuous space. A variety of 2-D grids are available. The variations have to do with whether or not the grid is a torus and the nature of the cells. So neighborhoods are defined using the traditional manner used in CA, by considering adjacent cells. Importing GIS data must be done in much the same way as it is done in NetLogo. The process is manually intensive and GIS vector data is not supported. Swarm does not natively provide the sort of environment needed for a continuous GIS space. The selection of Swarm in this study is a result of its common use among studies utilizing GIS data as the basis for the environment [3]. Its inclusion in this study may prove helpful to future researchers in selecting an ABM DE better suited for their study. 3.3. Repast J Consisting of a packaged set of Java libraries and plugin modules, Repast J is very accessible to the Java programmer. The modeler may use any Java IDE or create code in a text editor if desired; however, the tutorials and installation instructions are designed for the Eclipse IDE. Repast is also available in Python and C#. Repast Py is recommended for rapid prototyping in the documentation. The installation comes with source code for a suite of sample models. The models are also ready to run from the “Start” Menu after installation. Providing such a ready set of examples enables the user to rapidly get a feel for Repast's capabilities. And the associated source code illustrates examples of how to take advantage of these capabilities. Documentation for Repast J comes in the form of a set of installed “How To” HTML pages as well as a set of HTML Java Doc pages describing the API. These manuals cover all the basics of getting started with Repast J, including loading GIS shape files as layers in the agent space. For loading GIS polygons as interactive elements in the ABM, the modeler must look further for assistance [11]. There are more than fifteen options to the type of agent space. These come in the form of parent models the modeler may extend to suit their needs. These spaces include rectangular and hex grids as well as network and GIS spaces. These space models may be combined to suit the objectives of a model. The resulting agent space is the union of all of these, potentially irregular formed, patches. This is the situation in which identifying the location of an agent in the GIS data becomes a challenge. In the current implementation (based on personal information exchange with Robert Najlis, who is a member of the Repast core

3.2. Swarm Swarm is a popular CA ABM API. Written in Objective C, its most recent release supports use of Linux, Windows, and Mac OS. The model developers may use either Objective C or Java to construct their ABM. For the PC, installation is wrapped into an installation of Cygwin. In this respect, Swarm is easier to use than described in the document Getting Started with Swarm in the documentation [10]. Upon installation, the modeler may launch the Cygwin shell and get started. The shell opens to an empty directory, and the documentation provides no help. Familiarity with coding in a shell environment is a big help at this point. Thus, the support of a new user is not as good as in NetLogo. To run the example Swarm applications, the user must download them separately. The tar archive must then be moved the to the users Cygwin shell home directory using Windows Explorer. Then the archive may be unraveled using gunzip and tar. At this point the user can move into the example directories, make the executables, and run the example applications. There was no overarching model man-

1-56555-319-5

48

2008 SpringSim

team), GIS elements are stored as database tables and may be queried using a language similar to the Structured Query Language (SQL). Also, given the location of a pixel on the screen, the layer stored in the OpenMap GIS plug-in may be queried for the nearest GIS element. So, the optimized queries are limited to screen resolution. Intuitively, the location on the screen should not enter into the behavior of the model. If this approach is used, the model becomes a CA with a large number of cells. An alternate approach is to query each agent representing a GIS element individually.

aged and reasonably well documented API. The ability for an agent to inquire about the GIS elements at or near its location would make its GIS Space a usable tool for ABM modelers, but that feature is lacking. 3.4. OBEUS OBEUS is considered in this study because it was tailor-made for simulation using GIS vector data. OBEUS is based on the novel theory of Geographic Automata Systems, developed by Itzhak Benenson (Tel Aviv University) and Paul Torrens (Utah State University) [12]. This theory is presented in their book on Geosimulation that is recommended as an introduction for those interested in the field of GAS simulation [13]. While the documentation accompanying OBEUS builds a good case for its underlying concepts, it was insufficient to recreate the GAS tutorial example. The software release, last updated in May 2006, is not entirely compatible with the accompanying documentation. As for the tutorials, the settings in dialog boxes in the software did not correspond to the settings the user is told to select. In the Schelling's Model [14] tutorial, there is an added difficulty of sparse code examples and screen captures that do not match the tutorial. This problem may be overcome by importing the code for the irregular polygon version of Schelling's Model pictured in Figure 2, however there was no indication that these examples were included or how to import them into the OBEUS IDE. Model development with OBEUS requires the installation of some associated libraries but works as installed. A BorlandTM C# IDE comes bundled with the libraries. The OBEUS modeling environment creates much of the underlying source code for the developer and launches the C# IDE for coding of rules and behaviors. Because of this development paradigm, OBEUS is able to impose data modification restrictions tied to entity relationships. In this manner the modeling environment helps the user to avoid poor modeling practices. All of the data related to the models developed in OBEUS are stored in database tables. MySQL comes bundled in the distribution. The database aspects of the model are hidden from the user. Included in the model description user interface are tools for importing shape files to and exporting shape files from the database. This approach includes the cellular agent space such that all entities are GIS elements. Relationships are also stored in the database. This speeds processing as neighbors, a table of relationships built for the modeler in the case of a CA grid, are all easily retrieved and referenced. The extension of this approach is that the cell may have any shape and any number of neighbors, much like the network agent space. This aligns well with the application of Voronoi Maps or for any other contiguous polygon map. This point, made in the manual im-

Figure 1: Repast OpenMap Display with GIS Vector Hydrology and Point Agent Layers The GIS space is a continuous agent space. The display of an agent may be a point location in geographic coordinates or other GIS geometry. GIS data may be loaded as a background for the agent display. In this case the GIS elements are not interactive. Preferably, the GIS elements may be loaded as agents. In this case, agents may interact with the GIS elements much as they do with any other agent in the model. Figure 1 is an example of vector GIS agents and point agents (small squares) existing in a continuous space. The desired layer interface would provide a query for a geographic point. This query would return the GIS elements that include the given point. A valuable additional feature for this query would return all of the GIS elements within a given range. With this, an agent would be able to learn about its environment and neighbors regardless of resolution. By encapsulating the query in the layer, the model programmer is insulated from the complexity of an optimized geospatial query. However, no ready-to-go solution is available, but project-specific solutions must be developed by the modeler. Repast provides almost exactly what is needed for a continuous GIS agent space: continuous space, a suite of facilities for interacting with GIS data, and plug-ins providing the associated displays. These features come in a well-pack-

2008 SpringSim

49

1-56555-319-5

OBEUS appears to provide a very functional development environment. The BorlandTM C# IDE is nicely integrated with the model DE. The tool and its manual are currently out of sync. However it comes with a suite of basic examples that would enable the user to get started. It does not provide a continuous agent space; though, its CA approach allows it to accommodate irregular polygon cells. It also does not currently provide a facility to query the environment attributes given geographic coordinates or proximity. The developers have identified these needs. OBEUS has potential. If the modeler requires the use of a CA based upon irregular GIS polygons, they should consider OBEUS. 3.5. UrbanSim UrbanSim is a system of simulations designed to support policy decisions. Recently re-implemented in the Python scripting language using a set of simulation support libraries called Opus, UrbanSim provides an integrated model of urban growth and its impact on the surrounding resources. It incorporates geologic, environmental, and urban spatial data. Topography, land parcels, roads, and other geospatial features are loaded from GIS database tables. These tables evolve as urban growth impacts the model landscape. As examples, it reflects the impact of the consumption of natural resources by the construction and the expansion of road networks over the landscape. This study considers UrbanSim because it provides an example of how a high-fidelity ABM can provide input to urban planning decisions in the form of forecasts of the urban growth pattern, the environmental impact, and how government policies affect these forecasts. Additionally, its features may be compared to other ABM DE as a benchmark. Finally, the computing resources required to run UrbanSim may be considered when judging required performance for a GIS based ABM. Installation is straightforward but not simple. It has a number of required supporting components such as Python and Python libraries that must be obtained in order to complete installation. One requirement not noted in the installation instructions is that the Opus Workspace path may not include blank characters. Additionally, MySQL is a recommended component. These external parts of the UrbanSim execution environment are not bundled; however, the installation instructions are understandable to a user who has experience installing open source software. UrbanSim is not tied into an IDE in the way NetLogo and OBEUS are. It is primarily meant to be used out of the box for its given purpose of analyzing urban growth. Thus, there are not a lot of tutorials or example code. One set of data and the associated instructions are available to walk through set-up and use. The source website provides instructions for the user who would like to contribute to the

Figure 2: OBEUS Irregular Polygon CA Example of Schelling's Model ages, was not reproduced in the tutorial. The manual states OBEUS is capable of applying CA concepts, such as neighborhoods and cell attributes, to irregular polygon maps using the approach described above. The Schelling example bundled with the release demonstrates the concept of the irregular polygon CA. The example is a variation on Schelling's Model that has a controlled ingress and egress of tenant agents [14]. Figure 2 is a screen capture of this model after several iterations. In this implementation the buildings are cells which may be occupied by tenant agents. The reader can see the irregular layout of the buildings in the region under study. Thus a regular grid would be a poor choice. Using the neighborhood table approach described above, the neighbor list may be quickly generated and processed by the tenant agent. In the image, the shade of the fill of each building indicates its percentage of black occupancy. Darker shading indicates a black population of 70% or more. Lighter shading indicates 30 to 70% black occupancy. And white fill indicates the black occupancy is less than 30%. One of the original drivers for this study was the desire to define a neighborhood by spatial proximity. OBEUS does not provide the features to support this approach. GIS polygons are treated as cells. Relationships between fixed location entities (cells) provide the definition of the neighborhood. Mobile entities use these relationships to learn about their environment. There is no facility for a continuous agent space or for neighborhoods to be described by proximity. The addition of features to work with points, lines, and spatial proximity are on the list of future improvements [12].

1-56555-319-5

50

2008 SpringSim

Table 2. Summary of ABM DE support for study criteria. Document- Examples/ ation Tutorials

Language

Dev Env

Native GIS Support

Good

Good

Objective C or Java

Cygwin Shell

Excellent

Excellent

NetLogo

NetLogo

Repast

Good

Excellent

Java, C#, or Python

Eclipse



OBEUS

Poor

Good

C#

Custom/ Borland



UrbanSim

Fair

None

Python

Eclipse



Swarm NetLogo

development or extend the models in UrbanSim. In that case, Eclipse is the IDE identified. Because UrbanSim is primarily a product and a model development environment for a specific type of analysis, it is difficult to compare it to general purpose ABM DE. Considering the study criteria, UrbanSim incorporates a variety of GIS data to create a dynamic agent environment. However the agent space in UrbanSim is a CA grid. The data and instruction for one example is available on the UrbanSim website. The author learned of the issue with blank characters in the Opus Workspace path executing this example. The model is given a cache of data for the starting year and once launched runs independently until complete. The tutorial then provides instruction on viewing the results. Some possible views, called indicators, are graphs and color plots. These are images that may be imported into other documents. As noted in the introduction paragraph on UrbanSim, it may be used as a performance benchmark to gauge execution time on complex GIS-based ABM. UrbanSim running on a dual, 3.2GHz processor computer takes 5 days to perform a 30 year run against the Puget Sound dataset. The greatest amount of time is spent processing the travel model, which takes about 12 hours [15].



Continuous Space

Spatial Query









Repast, and UrbanSim User Manuals were appropriate for their target audience and purpose. As the first two are APIs and not complete IDEs, they are well written for programmers to understand. Repast manuals available for download to the authors did not address the area of interest to the study, that is loading GIS elements as agents. UrbanSim as a decision aid for urban planning had thorough documentation of its models and approaches to support its validity for that purpose. OBEUS documentation was missing some key pointers to help the new user get started. Otherwise, the documentation was accessible and appropriate to its audience. The contrast between the number and quality of model examples that come with each modeling environment is notable. Repast and NetLogo both come with a wide assortment of example models. Swarm and OBEUS came with some basic examples sufficient to get a modeler started. UrbanSim has one tutorial/example of usage/execution. It did not include a tutorial for the developer. While not a basis for determining the suitability of an ABM DE for a given study, the programming language the modeler must use is a significant factor in determining usability by a given modeler. This study focused on the native language for a given ABM DE. In Table 2, the first language given is the language used to complete tutorials and run examples. In that same vein, the usability of the programming/modeling environment is a factor for many readers. The “Dev Env” column gives the development environment that came bundled or that the documentation used. Native support for loading and interaction with a GIS environment was rare among the popular ABM DE. Only Repast provided facilities for loading and interacting with GIS data. OBEUS and UrbanSim also provided tools for loading shape files into a models database. Repast and UrbanSim both support modifying the GIS environment over the course of a simulation run. A Continuous Agent Space was another rare feature. Only NetLogo and Repast provided this type of space. Of these, the ability to query other agents within a given prox-

3.6. Summary of Results Table 2 provides an overview of the attributes in consideration and how ABM DE stacked-up. As with any API, the ones discussed here could be extended to provide the features in question. Since this is written from the modeler's perspective and not that of an advanced programmer, this option is discounted. Documentation became an important factor in evaluating these DE. If the documentation did not clearly enable the reader to get started, evaluation became very difficult. The user manual that came with NetLogo was outstanding. It is apparent that NetLogo is trying to address the ABM community beyond exclusively programmers. Swarm,

2008 SpringSim

Dynamic GIS

51

1-56555-319-5

imity was only available in NetLogo. However, there is some ambiguity in satisfying this requirement. NetLogo measures distance in “units” as it does not support geographic coordinates.

However, the supporting documentation has yet to catch up with the new capabilities of the API. The thesis work has continued using Repast Simphony and the authors hope the result will make the direct use of GIS in ABM more accessible to the agent modeling community.

4.

CONCLUSIONS We identified two ways to utilize GIS data, namely using the data for discrete agent space modeling or continuous agent space modeling. While continuous agent space and GIS vector data align well, their use in the evaluated ABM DEs is challenging. Most of them support raster representations of GIS data, but this approach contributes to a loss of data resolution which may impact a given study. Among the ABM DE considered, support for a continuous, dynamic, vector GIS based ABM DE is only currently provided by Repast. Others try to support by allowing the import of data extracted from vector GIS, or they take an alternative approach to how to use GIS vector data in a ABM (as observed with OBEUS). In the underlying thesis, we will proceed with the best candidate available given the objectives of this study. Using Repast J, the remaining gap is the spatial query. This sort of query allows the agent to learn about its environment and neighborhood without the convenience of a lattice agent space. A spatial query is needed to allow the agent to learn about the GIS elements at a given location, within a given range, or along a route. The authors will publish their findings and resulting recommendations. The topic of providing better services to utilize GIS data in support of setting up more realistic environments to provide agents with agent space, however, should become a topic of general interest. In collaboration with the broader Modeling & Simulation community, the ABM community should start to contribute to standardization efforts enabling the efficient use of GIS data. It should be pointed out that this includes a debate on how to perceive environmental features as well as how to communicate such data between agents. As such, agents need to be treated as engineered systems with particular focus on how they can integrate and be integrated into operational systems and their standards. GIS data is an important component of such an overarching approach enabling the integration of operational information into the world of agent-directed simulation with the ultimate objective to enable more efficient intelligent decision systems utilizing agent capabilities in the operational context.

References [1] Epstein, Joshua M., Robert Axtell. 1996. Growing Artificial Societies: Social Science from the Bottom Up. Washington D. C.: Brookings Institution Press. [2] Borning, A., Waddell, P., and Förster, R. 2006. “UrbanSim: Using simulation to inform public deliberation and decision making.” http://www.urbansim.org/papers/borning-urbansim--case--study--2006.pdf. [3] Kohler, Timothy A., George Gumerman, eds. 2000. Dynamics in Human and Primate Societies: Agent-Based Modeling of Social and Spatial Processes. New York, NY: Oxford University Press. [4] Gardner, Martin. 1970. “Mathematical Games: The Fantastic Combinations of John Conway's New Solitaire Game 'Life'.” Scientific American 223, 4:120-123. [5] MacLennan, B. J. 1990. “Continuous Spatial Automata”. Department of Computer Science Technical Report CS-190121, University of Tennessee at Knoxville. ftp://cs.utk.edu/pub/maclennan/CSA-tr.pdf. [6] Brown, D.G., R. Riolo, D.T. Robinson, M. North, and W. Rand. 2005. “Spatial process and data models: Toward integration of agent-based models and GIS.” Journal of Geographic Systems 7: 25-47. [7] Benenson, I. & Torrens, P.M. 2004. “A minimal prototype for integrating GIS and geographic simulation through Geographic Automata Systems”. In GeoDynamics, P. Atkinson, G. Foody, S. Darby, F. Wu (Eds.) Florida: CRC Press, pp. 347-369. [8] Mills. 2000. Introduction to Logo http://www.softronix.com/logo.html. [9] Wilensky, U. 2007. NetLogo Users Manual. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. [10] Swarm Development Group. Documentation Set for Swarm 2.2. Published 17 December 2004. http://www.Swarm.org/wiki/Swarm:_documentation_main_p age#Objective-C_Reference_Guide. [11] Jackson, J. 2005. “Repast GIS Manual”. McGill University. http://jeremyjac.googlepages.com/repast_tutorial2.pdf. [12] Benenson I. and Harbash, V. 2004. Object-Based Environment for Urban Simulation OBEUS: User’s Guide. Tel Aviv, Isreal. Environmental Simulation Laboratory, Tel Aviv University. http://www.eslab.tau.ac.il/obeus/obeus.htm. [13] Benenson I. and Harbash, V. 2004. Geosimulation – Automata-Based Modeling of Urban Phenomena, Wiley, 2004 [14] Schelling, T. C. (1978) Micromotives and Macrobehavior New York: W. W. Norton. [15] UrbanSim Project, The. 2007. UrbanSim Version 4: Reference Manual and Users Guide. Center for Urban Simulation and Policy Analysis, University of Washington. http://www.urbansim.org/download/.

5. POSTSCRIPT Repast Simphony became available subsequent to writing of this paper. It provides for some spatial queries as part of the API. Access to the underlying objects from the Java Topology Suite (JTS) provide a rich set of additional spatial queries. Additionally, loading of GIS agents from file includes features to automatically populate agent attributes that correspond to GIS element attributes in the file.

1-56555-319-5

52

2008 SpringSim