Professional Documents
Culture Documents
CRF-RDTE-TR-20050901-01 2/2/2009
Abstract
Simulations are an invaluable tool in determining the behaviors of the interactions of components of a complex system. The range of systems that are simulated are ever growing, from the manufacturing industries, to ecosystems, celestial bodies, sub-atomic particles and so forth. The list of uses for simulation systems is nearly endless. Simulations can be grouped into different classes, the subject of this document is agent-based simulations. In general terms, an agent-based simulation is a model of a real-world phenomenon based upon the use of agents which represent a model of a component of the system to be simulated. The agent is, in other words, a model of an item or entity that exists in the system modeled. A simple example of this would be a salesman agent in a traveling salesman simulation. The concept of agent-based simulation has been in use for some time. Currently, most agent-based simulations are quite specific to the problem modeled. In an attempt to generalize the simulation concepts to permit reuse of simulation components at the agent level, a novel framework and simulation API has been developed. The Generic Agent Framework (GAF) has been designed to permit the modeling and simulation of phenomenon based on the use of extensible agents that loosely coupled via a standard API. This methodology permits the addition of agents into hybrid simulations by reusing the agents used in previous sub-simulations. This reuse will expand the realm of understanding of phenomenon modeled via massive agent parallelization across simulation environments and platforms.
Public Distribution
CRF-RDTE-TR-20050901-01
Table of Contents
Abstract ........................................................................................................................................... 2 Introduction ..................................................................................................................................... 4 Agent Simulation Concept ........................................................................................................... 4 Agent Simulation Overview ......................................................................................................... 5 GAF Operations Overview ........................................................................................................... 6 GAF Agent Base Types ............................................................................................................. 7 Conclusions...................................................................................................................................... 9 Appendices ...................................................................................................................................... 9 Works Cited ..................................................................................................................................... 9
Public Distribution
CRF-RDTE-TR-20050901-01
Introduction
Agent based simulations have been used for years in various disciplines to model complex systems via a less is more approach. In general, the agent based paradigm allows a component of a system to be defined in an agent, which then can be populated en masse within the simulation. These instances of an agent can then interact within the constraints of the rules defined in the agent model. This provides tremendous power and complexity of simulation with minimal effort. In general, agent based simulations have been used to model patterns in space, either through a cellular approach, or via a vector space. In both cases, the environment of the simulation is representative of spatial domains in 2 or 3 dimensions, simulating a real-world environment. This is a primary use for agent based simulations however, with a minimum of abstraction, the agent paradigm can effectively serve a more broad range of simulation needs including lower dimensions (0 or 1D) and high dimensional space (ND). The use of multi-dimensional (or 0dimensional) spaces can add great value and complexity to a simulation, with great potential rewards. The GAF accomplishes this by design.
Public Distribution
CRF-RDTE-TR-20050901-01
The GAF is designed to permit agent creation, operation and interaction through a simple API and many extension points. This use of object-oriented design is a natural fit for the agent simulation methodology.
The agent is given access to all other agents it requires at creation time via a reference to a listing of other agents. This listing mechanism provides a docket of environmental factors that contribute to the agents overall behavior as realized in the calculation and update phases. There is no restriction on the complexity of these methods, or the presence of other methods to augment the agent functionality.
The overall sequence of events for a simulation run involves the calculation of all agents, followed by the update of all agents. This basic sequence is repeated until a stop state is achieved, either by a fixed iteration limit, a user action, or an agent imposed completion message.
Public Distribution
CRF-RDTE-TR-20050901-01
GAF Agent Base Types In the GAF, there are several core types of agents. The primary agent types are: Spatial Agents Global Agents Static Agents Agent Pools Generic Agents Agents that are spatially aware in some fixed dimensional space Agents that are of global extent Agents that represent a single static value (constant) Agents that serve as a container for other agents
Public Distribution
CRF-RDTE-TR-20050901-01
The spatial agent is the primary class of agents used for classic geospatial simulations. Spatial agents are sub-classed into 3 primary types: Raster Agent Agent existing as a cellular space, the nature of the cells and space is defined in the sub-classes of this type. The agents move about via discreet cell addresses, occupying a cell of the space. This is the basis for cellular automata models (Conway game of life). Vector Agent Agent existing as a Cartesian space, as defined by a Cartesian grid parameter set. The agents are free to move about using Euclidean geometry and occupy any aspect of the space. Graph Agent Agent existing as a graph structure, composed of nodes and edges. Agents are free to move along the graph, occupying edges, nodes, or points along edges. This is often used in network simulations.
These spatial agent types are the foundation data sets, which may or may not actually participate in the simulation itself, instead serving as a set of base layers used as the environmental background for the active agents moving throughout the space. The active agents themselves may be of these very types as well. The use of different types of agents together in a single simulation is supported as a standard form, with a translation between heterogeneous coordinate spaces performed at the agent level to ensure spatial concomitance. Spatial Dimensions Simulations can be performed between and across data sources of varying dimensionality. This is accomplished via a standard data access API and a set of dimensional agent classes. These classes are defined in both raster and vector spaces at each dimensional level.
Public Distribution
CRF-RDTE-TR-20050901-01
Vector Agents There are several basic sub-types of vector agent, each designed to provide a native support for a backing store. There is a single common API for spatial data file I/O, allowing a single code base to support multiple underlying file types through this common API in a pluggable manner. For fixed data type access, the use of vector agent sub-types is the simple choice, there are several specialized agent types provided for this purpose.
Conclusions
The Generic Agent Framework (GAF) concept, once developed, will provide a robust feature set for the development of consistent, interoperable agent-based modeling applications that may be distributed dynamically.
Public Distribution
CRF-RDTE-TR-20050901-01