©Copyright JASSS

JASSS logo ----

Stefania Bandini, Sara Manzoni and Giuseppe Vizzari (2009)

Agent Based Modeling and Simulation: An Informatics Perspective

Journal of Artificial Societies and Social Simulation 12 (4) 4

For information about citing this article, click here

Received: 11-Aug-2009    Accepted: 22-Aug-2009    Published: 31-Oct-2009

PDF version

* Abstract

The term computer simulation is related to the usage of a computational model in order to improve the understanding of a system's behavior and/or to evaluate strategies for its operation, in explanatory or predictive schemes. There are cases in which practical or ethical reasons make it impossible to realize direct observations: in these cases, the possibility of realizing 'in-machina' experiments may represent the only way to study, analyze and evaluate models of those realities. Different situations and systems are characterized by the presence of autonomous entities whose local behaviors (actions and interactions) determine the evolution of the overall system; agent-based models are particularly suited to support the definition of models of such systems, but also to support the design and implementation of simulators. Agent-Based models and Multi-Agent Systems (MAS) have been adopted to simulate very different kinds of complex systems, from the simulation of socio-economic systems to the elaboration of scenarios for logistics optimization, from biological systems to urban planning. This paper discusses the specific aspects of this approach to modeling and simulation from the perspective of Informatics, describing the typical elements of an agent-based simulation model and the relevant research.

Multi-Agent Systems, Agent-Based Modeling and Simulation

* Introduction

The term computer simulation means the usage of a computational model to gain additional insight into a complex system's behavior (e.g. biological or social systems) by envisioning the implications of the modeling choices, but also to evaluate designs and plans without actually bringing them into existence in the real world (e.g. architectural designs, road networks and traffic lights). The usage of these "synthetic environments" is in fact often necessary because the simulated system cannot actually be observed (since it is actually being designed), or also for ethical (e.g. the safety of humans would be involved) or practical reasons (e.g. costs of experiments or data acquisition, observation of systems characterized by a very slow evolution). A general schema (based on several elaborations, such as those described in Gilbert and Troitzsch (2005) and Edmonds (2001) describing the role of simulation as a predictive or explanatory instrument is shown in Figure 1.

Figure 1. A general schema describing the usage of simulation as a predictive or explanatory instrument.

Many situations and subsystems can be viewed as being characterized by the presence of a number of autonomous entities whose behaviors (actions and interactions) determine (in a non-trivial way) the evolution of the overall system. Agent-based models are particularly suited to tackle these situations and they support the study and analysis of topics like decentralized decision making, local-global interactions, self-organization, emergence and effects of heterogeneity in the simulated system. There is a growing interest in this relatively recent approach to modeling and simulation, as demonstrated by the number of scientific events focused in this topic (see, to make some examples rooted in the computer science context, the Multi Agent Based Simulation workshop series (Sichman et al 1998, Moss and Davidsson 2001, Sichman et al. 2003, Hales et al. 2003, Davidsson et al. 2005, Sichman and Antunes 2006), the IMA workshop on Agent Based Modeling and the Agent-Based Modeling and Simulation symposium (Bandini et al. 2006a, Bandini et al. 2008). Models based on (to a certain extent) autonomous agents have been successfully adopted to simulate complex systems in very different contexts, ranging from logistics optimization (see, e.g. Weyns et al. 2006) to biological systems (see, e.g. Bandini et al. 2006b), to traffic (see, e.g. Bazzan et al. 1999, Wahle and Schreckenberg 2001, Balmer and Nagel 2006) and pedestrian simulation (see, e.g. Batty 2001), to urban planning (see, e.g. Arentze and Timmermans 2003). Agent-based models have also been extensively investigated and successfully adopted in social sciences (Epstein 1999) and economics (see, e.g. Lane 1993a, Lane 1993b, Windrum et al. 2007).

The extreme heterogeneity in the simulated realities is often related to the fact that—especially in this context of agent focused research—influences come from very different research areas. Let us consider, for instance, models of traffic and pedestrian dynamics: a large number of agent based approaches are deeply influenced by physics, and the related models view pedestrians as agents that are essentially particles subject to forces generated by the environment as well as by other agents (i.e. active walker models, such as Helbing et al. 1997). Other approaches to pedestrian modeling and simulation build on experiences with Cellular Automata (CA) pedestrian models (see, e.g. Schadschneider et al. 2002) but provide a more clear separation between the environment and the entities that inhabit, act and interact in it (see, e.g. Bandini et al. 2004, Henein and White 2005). This line of research lead to the definition of models for situated MASs, a type of model that was also defined and successfully applied in the context of (reactive) robotics and control systems (Weyns and Holvoet 2006b, Weyns et al. 2005). Models and simulators defined and developed in the context of social sciences (Gilbert and Troitzsch 2005) and economy (Pyka and Fagiolo 2009) are instead based on different theories (often non-orthodox ones) of human behavior in order to gain further insights into it and help build and validate new theories.

All the above mentioned approaches, as well as many others that describe themselves as agent-based, share a common viewpoint on the modeled system: the analytical unit is represented by an individual agent, acting and interacting with other entities in a shared environment. The overall system dynamics is not defined in terms of a global function, but rather the result of individuals' actions and interactions. While agents play thus a key role in this approach, it must also be noted that in most of the introduced application domains, the environment they are situated in plays a prominent role because:

Besides these common elements, agent-based modeling approaches often dramatically differ in the way agents are described, both in terms of properties and behavior. A similar consideration can be made for their environment (see e.g. the contributions of Deichsel and Pyka 2009 and Brenner and Werker 2009 in this special section).

Given the above introduced considerations, the main aim of this article is not to present a specific technical contribution but rather to describe a very abstract and generic model that can be adopted to analyze, describe and discuss different models, concrete simulation experiences, platforms that from different points of view legitimately claim to adopt an agent-based approach. The model is illustrated in Figure 2.

Figure 2. An abstract model to analyze, describe and discuss different models, concrete simulation experiences, platforms legitimately claiming to adopt an agent-based approach.

In particular, the main elements of this reference model are:

In the following section, these elements are analyzed, with reference to the computer science literature on agent-based models and technologies, also introducing classifications and typologies to organize and compare the different approaches. Section 3 briefly discusses the available platforms supporting the rapid prototyping or development of agent-based simulations. A discussion on the future directions for this multi-disciplinary research area will close our article.

* Agent Based Models for Simulation

A model is an abstract and simplified representation of a given reality, either already existing or just planned (a target system', in the terminology adopted for Figure 1). Models are commonly defined in order to study and explain observed phenomena or to foresee future phenomena. Agent based models for simulation, as previously mentioned, are characterized by the presence of agents performing some kind of behavior in a shared environment. The notion of agent, however, is controversial even inside the restricted community of computer scientists dealing with research on agent models and technologies (Franklin and Graesser 1997). The most commonly adopted definition of an agent (Wooldridge and Jennings 1995) specifies a set of properties that must characterize an entity to effectively call it an agent, and in particular autonomy (the possibility to operate without intervention by humans, and a certain degree of control over its own state), social ability (the possibility to interact employing some kind of agent communication language, a notion that will be analyzed more in detail in Section 2.3), reactivity (the possibility to perceive an environment in which it is situated and respond to perceived changes) and pro-activeness (the possibility to take the initiative, starting some activity according to internal goals rather than as a reaction to an external stimulus). The authors consider this a weak definition of agency, even though it is generally already too restrictive to characterize as agents most of the entities populating agent based models for simulation in different fields. Even if the distance between the context of research on intelligent agents and agent-based simulation cannot be neglected, being the latter often more focused on the resulting behavior of the local action and interaction of relatively simple agents, the aim of this section is to present some relevant results of research on agent models and technologies in computer science and put them in relation with current research on agent-based simulation in other research areas.

As previously suggested, Agent Based Models (ABMs) can be considered models of complex systems and the ABM approach considers that simple and complex phenomena can be the result of interactions between autonomous and independent entities (i.e. agents) which operate within communities in accordance with different modes of interaction. Thus, agents and ABMs should not be considered simply as a technology (Zambonelli and Parunak 2002, Luck el al. 2005) but also as a modeling approach that can be exploited to represent some system properties that are not simply described as properties or functionalities of single system components but sometimes emerge from collective behaviors (Ferber 1999). The study of such emerging behaviors is a typical activity in complex systems modeling (Bar-Yam 1997) and agent-based models are increasingly employed for the study of complex systems (see, e.g., Hassas et al. 2007, Weyns et al. 2007, Alfi et al. 2007 satellite workshops of the 2007 edition of the European Conference on Complex Systems).

Agent Behavior Specification

The specification of agents' behaviors can be considered as being composed of two elements. First of all, a proper representation of agent actions must be given. Actions are the elements at the basis of agent behavior: they can cause modifications in their environment or in other agents that constitutes the ABM. Different modeling solutions can be provided in order to describe agents' actions (see Ferber 1999 for more details), such as the following:

The agents' behavioral specification, however, also includes the mechanisms effectively selecting the actions to be carried out, according to the perceptions and internal state of an agent. The term architecture (Russel and Norvig 1995) refers to the model of agent internal structure that is responsible of action selection. Different architectures have been proposed in order to obtain specific agent behaviors and they are generally classified into deliberative and reactive (respectively, hysteretic and tropistic according to the classification reported in Genesereth 1987).

Reactive agents are elementary (and often memoryless) agents with a defined position in the environment. Reactive agents perform their actions as a consequence of the perception of stimuli coming either from other agents or from the environment; generally, the behavioral specification of this kind of agent is a set of condition-action rules, with the addition of a selection strategy for choosing an action to be carried out whenever more rules could be activated. In this case, the motivation for an action derives from a triggering event detected in the environment; these agents cannot be pro-active.

Deliberative or cognitive agents, instead, are characterized by a more complex action selection mechanism, and their behavior is based on so called mental states, on facts representing agent knowledge about the environment and possibly, also on memories of past experiences. Deliberative agents, for every possible sequence of perceptions, try to select a sequence of actions allowing them to achieve a given goal. Deliberative models, usually defined within the planning context, provide a symbolic and explicit representation of the world within agents, and their decisions are based on logic reasoning and symbol manipulation. The BDI model (Belief, Desire, Intention) (Rao and Georgeff 1991, Rao and Georgeff 1995) is perhaps the most widespread model for deliberative agents. The internal state of agents is composed of three "data structures" concerning agents' beliefs, desires and intentions. Beliefs represent agents' information about their surrounding world; desires are the agents' goals, while intentions represent the desires an agent has effectively selected, that it has to some extend committed himself.

Hybrid architectures can also be defined by combining the previous ones. Agents can have a layered architecture, where deliberative layers are based on a symbolic representation of the surrounding world, they generate plans and take decisions, while reactive layers perform actions as effect of the perception of external stimuli. Both vertical and horizontal architectures have been proposed in order to structure layers (Brooks 1986). In horizontal architecture no priorities are associated to layers and the results of the different layers must be combined to obtain the agent's behavior. When layers are instead arranged in a vertical structure, reactive layers have higher priority compared to deliberative ones that are activated only when no reactive behavior is triggered by the perception of an external stimulus.

A MAS can be composed of cognitive agents (generally a relatively low number of deliberative agents), each one possessing its own knowledge-model determining its behavior and its interactions with other agents and the environment. By contrast, there could be a MAS made only by reactive agents. This type of system is based on the idea that it is not necessary for a single agent to be individually intelligent for the system to demonstrate complex (intelligent) behaviors. Systems of reactive agents are usually more robust and fault tolerant than other agent-based systems (e.g. an agent may be lost without any catastrophic effect for the system). Other benefits of reactive MASs include flexibility and adaptability in contrast to the inflexibility that sometimes characterizes systems of deliberative agents (Brooks 1990). Finally, a system might also present an heterogeneous composition of reactive and deliberative agents.


Weyns and Omicini (2007) provide a definition of the notion of environment for MASs (and thus of an environment for an ABM), and also discuss the core responsibilities that can be ascribed to it. In particular, in the specific context of simulation the environment is typically responsible for

In order to exemplify this schema, we now consider Agent-based models and simulators that are based on a physical approach; the latter generally consider agents as particles that are both subject to and generating forces. In this case, the environment comprises laws regulating these influences and relevant elements of the simulated system that are not agents (e.g. points of reference that generate attraction/repulsion forces). It is the environment that determines the overall dynamics, combining the effects that influence each agent and applying them generally in discrete time steps. In this cycle, it captures all the above introduced responsibilities, and the role of the agents is minimal (according to some definitions they should not be called agents at all), and running a simulation is essentially reduced to computing iteratively a set of equations (see, e.g., Helbing et al. 1997, Balmer and Nagel 2006). In situated ABM approaches agents have a higher degree of autonomy and control over their actions, since they evaluate their perceptions and choose their actions according to their behavioral specification. The environment retains a very relevant role, since it provides agents with their perceptions that are generated according to the current structure of the system and to the arrangement of agents situated in it. Socioeconomic models and simulations provide various approaches to the representation of the simulated system, but are generally similar to situated ABMs. In the model described in Dosi et al. 2006, for instance, relationships between agents (representing firms) are established as a result of a two phase process in which agents choose their partner of interaction among a set of possible ones which is supplied by the environment, that manages a process of "advertisement" by means of which agents obtain mutual awareness.

Agent Interaction

Interaction is a key aspect in ABM. There is a plethora of definitions for the concept of agent and most of them emphasize the fact that this kind of entity should be able to interact with their environment and with other entities in order to solve problems or simply reach their goals according to coordination, cooperation or competition schemes. The essence of an ABM is the fact that the global system dynamics emerges from the local behaviors and interactions among its composing parts. Strictly speaking, for some kind of ABM the global dynamics is just the sum of local behaviors and interactions, so we cannot always speak of emergent behavior when we talk about ABM. However the assumptions that underlie the design of an interaction model (or the choice of an existing one for the design and implementation of a specific application) are so important that they have a deep impact on the definition of agents themselves (e.g. an interpreter of a specific language, a perceiver of signals). Therefore it is almost an obvious consequence that interaction mechanisms have a huge impact on the modeling, design and development of applications based on a specific kind of ABM, which in turn is based on a particular interaction model. It is thus not a surprise that a significant part of the research that was carried out in the agent area was focused on this aspect.

This section presents a conceptual taxonomy of currently known/available agent interaction models (see Figure 3), trying to define advantages and issues related to them, both from a conceptual and a technical point of view.

Figure 3. The proposed taxonomy of Agent Interaction Models.

There are many possible dimensions and aspects of agent interaction models that can be chosen and adopted in order to define a possible taxonomy.

The first aspect that is considered here to classify agent interaction models is related to the fact that agents communicate directly (for instance exchanging messages), and thus the model does not include an abstraction of the actual communication channel, or there is some media interposed among the communication partners which is explicitly included in the interaction model. While the former approach with specific reference to Agent Communication Language (ACL) based models, is the most widely adopted in the agent area it has its drawbacks; for instance, in order to effectively communicate, agents must "know" each other, meaning that they must be characterized by a unique name denoting them in the overall system. Moreover they must be able to get acquainted with one another, they must have a way to discover the names of other agents in the system. The way ACL-based agent interaction models deal with this issue is the subject of another dimension of the taxonomy, providing direct a-priori acquaintance among agents, the adoption of middle-agents for information discovery and the development of more complex acquaintance models to tackle issues related to the representation and maintenance of acquaintance information but also to robustness and scalability of the agent's infrastructure.

However, there are other agent interaction models providing an indirect communication among them. Some of these approaches provide the creation and exploitation of artifacts that represent a media for the agents' interaction. Other indirect interaction models are more focused on modeling agent environment as the place where agent interactions occur, which thus influences interactions and therefore agent behavior.
Direct interaction models

The first and most widely adopted kind of an agent interaction model provides a direct information exchange between communication partners. This approach ignores the details related to the communication channel that allows the interaction, and does not include it as an element of the abstract interaction model. Generally, the related mechanisms thus provide a point-to-point message-passing protocol regulating the exchange of messages among agents. There are various aspects of the communicative act that must be modeled (ranging from low-level technical considerations on message format to conceptual issues related to the formal semantics of messages and conversations), but generally this approach provides the definition of suitable languages to cover these aspects. While this approach is well-understood and can be implemented in effective ways (especially as it is substantially based on the vast experience of computer networks protocols), in the agent context it requires specific architectural and conceptual solutions to tackle issues which are related to the agents' acquaintances/discoveries as well as ontological issues.

Intuitively an Agent Communication Language (ACL) provides agents with a means of exchanging information and knowledge (see Figure 4). This vague definition inherently includes the aspect of the conception of the term agent, which assumes that an agent is an intelligent autonomous entity whose features include some sort of social ability (Wooldridge and Jennings 1995). According to some approaches, this feature is the one that ultimately defines the essence of agency (Genesereth and Ketchpel 1994). Leaving aside the discussion on the definition and conception of agency, this section will focus on what the expression "social ability" effectively means. To do so, we briefly compare what these ACL share with those approaches that allow the exchange of information among distributed components (e.g. in legacy systems) with respect to the definition of a communication channel allowing the reliable exchange of messages over a computer network (i.e. the lower level aspects of the communication). What distinguishes ACLs from such systems are the objects of discourse and their semantic complexity; in particular there are two aspects which distributed computing protocols and architectures do not have to deal with:

Figure 4. Layers and concerns of an Agent Communication Language.

Regarding the autonomy, while traditional software components offer services and generally perform the required actions as a reaction to the external requests, agents may decide not to carry out a task that was required by some other entity. Moreover, agents are considered in general as being temporally continuous and proactive, while this does not hold in general for common software components.

For what concerns the second point, components have specific interfaces which assume an agreement on a set of shared data structures. The semantics of the related information, and the semantics of messages/method invocations/service requests, are given in some kind of (more or less formally specified) modeling language, but are tightly related to component implementation. For agent interaction a more explicit and comprehensive view on domain concepts must be specified. In order to be able to effectively exchange knowledge, agents must share an ontology (see, e.g., Gruber 1995), that is a representation of a set of categories of objects, concepts, entities, properties and relations among them. In other words, the same concept, object or entity must have a uniform meaning and set of properties across the whole system.
Indirect interaction models

From a strictly technical point of view, agent communication is generally indirect even in direct agent interaction models. In fact, most of these approaches adopt some kind of communication infrastructure, supplying a reliable end-to-end message passing mechanism. Nonetheless, the adoption of a conceptually direct agent interaction model brings with it specific issues that were previously introduced. The rest of this section focuses on models providing the presence of an intermediate entity mediating (allowing and regulating) agent interaction. This communication abstraction is not merely a low-level implementation detail, but a first-class concept of the model.

Agent interaction models which provide indirect mechanisms of communication will be classified into artifact mediated and spatially grounded models. The distinction is based on the inspiration and metaphor on which these models are rooted. The former provide the design and implementation of an artifact which emulates concrete objects of the agents' environments whose goal is the communication of autonomous entities. Spatially grounded agent interaction models bring the metaphor of the modeling agent environment to the extreme, recognizing that there are situations in which spatial features and information represent a key factor and cannot be neglected in analyzing and modeling a system.

Both of these approaches provide interaction mechanisms that are deeply different from point-to-point message exchange among entities. In fact, the media which enables the interaction intrinsically represents a context influencing agent communication.

Figure 5. A conceptual diagram for a typical blackboard architecture, including two sample primitives of the Linda coordination model, that is, the output of a tuple into the blackboard (the out operation) and the non-destructive input of an agent from the blackboard (the read operation).

In the real world a number of physical agents interact sharing resources by having a competitive access to them (e.g. cars in streets and crossroads), but also collaborating in order to perform tasks which could not be carried out by single entities alone, due to insufficient competencies or abilities (e.g. people who carry a very heavy burden together). Very often, in order to regulate the interactions related to these resources, we build concrete artifacts, such as traffic lights on the streets, or neatly placed handles on large heavy boxes. Exploiting this metaphor, some approaches to agent interaction tend to model and implement abstractions, allowing the cooperation of entities through a shared resource whose access is regulated according to precisely defined rules. Blackboard-based architectures (see Figure 5) are the first example of this kind of model. A blackboard is a shared data repository that enables cooperating software modules to communicate in an indirect and anonymous way (Englemore and Morgan 1988). In particular the concept of tuple space, first introduced in Linda (Gelernter 1985), represents a pervasive modification to the basic blackboard model.

Linda (Gelernter 1985) coordination language probably represents the most relevant blackboard based model. It is based on the concept of tuple space, that is an associative blackboard allowing agents to share and retrieve data (i.e. tuples) through some data-matching mechanism (such as pattern-matching or unification) integrated within the blackboard. Linda also specifies a very simple language defining mechanisms for accessing the tuple space.

The rationale of this approach is to keep computation and coordination contexts separated as much as possible (Gelernter and Carriero 1992), by providing specific abstractions for agent interaction. With respect to direct interaction models, part of the burden of coordination is in fact moved from the agent to the infrastructure. The evolution of this approach has basically followed two directions: the extension of the coordination language and infrastructure in order to increase its expressiveness or usability, and the modeling and implementation of distributed tuple spaces (Picco et al. 1999, Omicini and Zambonelli 1999, Cabri 2000).

Figure 6. A sample schema exemplifying an environment mediated form of interaction in which the spatial structure of the environment has a central role in determining the agents' perceptions and their possibility to interact.

While the previously described indirect approaches define artifacts for agent interaction, taking inspiration from actual concrete objects of the real world, other approaches bring the metaphor of agent environment to the extreme by taking into account its spatial features (see Figure 6).

In these approaches agents are situated in an environment whose spatial features are represented in an explicit way and have an influence on their perception, interaction and thus on their behavior. The concept of perception, which is really abstract and metaphoric in direct interaction models and has little to do with the physical world (agents essentially perceive their state of mind, which includes the effect of received messages, like new facts in their knowledge base), is related to a more direct modeling of what is often referred to as "local point of view". In fact these approaches provide the implementation of an infrastructure for agent communication which allows them to perceive the state of the environment in their position (and possibly in nearby locations). They can also cause local modifications to the state of the environment, generally through the emission of signals, emulating some kind of physical phenomenon (e.g. pheromones (Brueckner 2000), or fields (Mamei et al 2002, Bandini et al. 2002) or also by simply observing the actions of other agents and reacting to this perception, in a "Behavioral Implicit Communication" schema (Tummolini et al. 2004).

In all these cases, however, the structuring function of the environment is central, since it actually defines what can be perceived by an agent in its current position and how it can actually modify the environment, to which extent its actions can be noted by other agents and thus interact with them.

Figure Figure
Figure 7.A screenshot of a NetLogo simulation applet, on the left, and a Repast simulation model, on the right.

* Platforms for Agent-Based Simulation

Considering the pervasive diffusion and adoption of agent based approaches to modeling and simulation, it is not surprising that there is growing interest in software frameworks specifically aimed at supporting the realization of agent-based simulation systems.

This kind of framework often provides abstractions and mechanisms for the definition of agents and their environments to support their interaction, but also additional functionalities like the management of the simulation (e.g. set-up, configuration, turn management), its visualization, monitoring and the acquisition of data about the simulated dynamics. It is not the aim of this article to provide a detailed review of the current state of the art in this sector, but rather to sketch some classes of instruments that have been used to support the realization of agent based simulations and provide a set of references to relevant examples of platforms facilitating the development of agent-based simulations.

A first category of these platform instruments provides general purpose frameworks in which agents mainly represent passive abstractions, sort of data structures that are manipulated by an overall simulation process. A relevant example of such tools is NetLogo (see Figure 7), a dialect of the Logo language specifically aimed at modeling phenomena characterized by a decentralized, interconnected nature. NetLogo does not even adopt the term agent to denote individuals, but it rather calls them turtles; a typical simulation consists in a cycle which chooses and performs an action for every turtle, considering its current situation and state. It must be noted that, considering some of the previously mentioned definitions of autonomous agent a turtle should not be considered an agent, due to the almost absent autonomy of these entities. The choice of a very simple programming language that does not require a background in informatics, the possibility to deploy simulations in the form of Java applets in a very simple way, and the availability of simple yet effective visualization tools, have made NetLogo extremely popular. It must be noted that other platforms and tools based on the Logo language exist (e.g. StarLogo , StarLogoT ), but they do not present relevant differences from the point of view of this classification.

A second category of platforms provides frameworks that are developed with a similar rationale, providing very similar support tools, but these instruments are based on general purpose programming languages (generally object oriented). Repast (North et al. 2006) (see Figure 7) represents a successful representative of this category, being a widely employed agent-based simulation platform based on the Java language. The object-oriented nature of the underlying programming language supports the definition of computational elements that make these agents more autonomous, closer to the common definitions of agents, supporting the encapsulation of state (and state manipulation mechanisms), actions and action choice mechanism in agent's class. The choice of adopting a general purpose programming language, on the one hand, makes the adoption of these instruments harder for modelers without a background in informatics, while on the other hand, it simplifies the integration with external and existing libraries. Repast, in its current version, can be easily connected to instruments for statistical analysis, data visualization, reporting and also Geographic Information Systems. While the above mentioned functionalities are surely important in simplifying the development of an effective simulator, and even if in principle it is possible to adapt frameworks belonging to the previously described categories, it must be noted that their neutrality with respect to the specific adopted agent model leads to a necessary preliminary phase of adaptation of the platform to the specific features of the model that is being implemented. If the latter defines specific abstractions and mechanisms for agents, their decision making activities, their environment and the way they interact, then the modeler must in general develop proper computational supports to be able to fruitfully employ the platform. These platforms, in fact, are not endowed with specific supports for the realization of agent deliberation mechanisms or infrastructures for interaction models, either direct or indirect (even if it must be noted that all the above platforms generally provide some form of support to agent environment definition, such as grid-like or graph structures). As in the previous case, several additional frameworks can be classified in this category, from the Objective-C language based framework Swarm (Minar et al. 1996) , that is probably the ancestor of all other members of this category, to the Java based Ascape (Parker 2001) and Mason (Luke et al. 2003) . All of these projects share the same rationale, even if they differ in the platform/programming language they are based on and in some specific technical/implementation level detail.

A third category of platforms represents an attempt to provide a higher level linguistic support, trying to reduce the distance between agent-based models and their implementations. The latest version of Repast, for instance, is characterized by the presence of a high level interface for "point-and-click" definition of the agent's behaviors that is based on a set of primitives for the specification of the agent's actions. SimSesam (Klügl et al. 2003) defines a set of primitive functions as basic elements for describing the agents' behaviors, and it also provides visual tools supporting model implementation.

At the extreme border of this category, we can mention efforts that are specifically aimed at supporting the development of simulations based on a precise agent model, approach and sometimes even for a specific area of application, such as the one described in (Weyns et al. 2006, Bandini et al. 2007).

* Future Directions

Agent-based modeling and simulation is a relatively young yet already widely diffused approach to the analysis, modeling and simulation of complex systems. The heterogeneity of the approaches, modeling styles and applications that legitimately claim to be "agent-based", as well as the fact that different disciplines are involved in the related research efforts, are all factors that hindered the definition of a generally recognized view of the field. A higher level framework of this kind of activity would be desirable in order to relate different efforts by means of a shared schema. Moreover, it could represent the first step in effectively facing some of the epistemological issues related to this approach to the modeling and analysis of complex systems. Future directions in this broad research area are thus naturally aimed at obtaining vertical analytical results on specific application domains, but they must also include efforts aimed at "building bridges" between the single disciplinary results in the attempt to reach a more general and shared understanding of how these bottom-up modeling approaches can be effectively employed to study, explain and (perhaps possibly) predict the overall behavior of complex systems.

* References

ALFI, V., Galla, T., Marsili, M., Pietronero, L., eds.: Interacting Agents, Complexity and Inter-Disciplinary Applications (IACIA). (2007)

ARENTZE, T., Timmermans, H.J.P.: A Multiagent Model of Negotiation Processes Between Multiple Actors in Urban Developments: a Framework for and Results of Numerical Experiments. Environment and Planning B 30 (2003) 391-410

BALMER, M., Nagel, K.: Shape Morphing of Intersection Layouts Using Curb Side Oriented Driver Simulation. In van Leeuwen, J.P., Timmermans, H.J., eds.: Innovations in Design & Decision Support Systems in Architecture and Urban Planning, Springer-Verlag (2006) 167-183

BANDINI, S., Manzoni, S., Simone, C.: Heterogeneous Agents Situated in Heterogeneous Spaces. Applied Artificial Intelligence 16 (2002) 831-852

BANDINI, S., Manzoni, S., Vizzari, G.: Situated Cellular Agents: a Model to Simulate Crowding Dynamics. IEICE Transactions on Information and Systems: Special Issues on Cellular Automata E87-D (2004) 669-676

BANDINI, S., Petta, P., Vizzari, G., eds.: International Symposium on Agent Based Modeling and Simulation (ABModSim 2006). Volume Cybernetics and Systems 2006., Austrian Society for Cybernetic Studies (2006) 18th European Meeting on Cybernetics and Systems Research (EMCSR 2006).

BANDINI, S., Celada, F., Manzoni, S., Puzone, R., Vizzari, G.: Modelling the Immune System with Situated Agents. In Apolloni, B., Marinaro, M., Nicosia, G., Tagliaferri, R., eds.: Proceedings of WIRN/NAIS 2005. Volume 3931 of Lecture Notes in Computer Science., Springer-Verlag (2006) 231-243

BANDINI, S., Federici, M.L., Vizzari, G.: Situated Cellular Agents Approach to Crowd Modeling and Simulation. Cybernetics and Systems 38 (2007) 729-753

BANDINI, S., Petta, P., Vizzari, G., eds.: Second International Symposium on Agent Based Modeling and Simulation (ABModSim 2008). Volume Cybernetics and Systems 2008., Austrian Society for Cybernetic Studies (2008) 19th European Meeting on Cybernetics and Systems Research (EMCSR 2008).

BAR-YAM, Y.: Dynamics of Complex Systems. Addison Wesley, Reading, MA (1997)

BATTY, M.: Agent Based Pedestrian Modeling (editorial). Environment and Planning B: Planning and Design 28 (2001) 321-326

BAZZAN, A.L.C., Wahle, J., Klügl, F.: Agents in Traffic Modelling—from Reactive to Social Behavior. In Burgard, W., Christaller, T., Cremers, A.B., eds.: KI-99: Advances in Artificial Intelligence, 23rd Annual German Conference on Artificial Intelligence, Bonn, Germany, September 13-15, 1999, Proceedings. Volume 1701 of Lecture Notes in Computer Science., Springer-Verlar (1999) 303-306

BROOKS, R.A.: A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation 2 (1986) 14-23

BROOKS, R.A.: Elephants Don't Play Chess. Robotics and Autonomous Systems 6 (1990) 3-15

BRUECKNER, S.: An Analytic Approach to Pheromone-Based Coordination. In: ICMAS, IEEE Computer Society (2000) 369-370

CABRI, G., Leonardi, L., Zambonelli, F.: Mars: a Programmable Coordination Architecture for Mobile Agents. IEEE Internet Computing 4 (2000) 26-35

DAVIDSSON, P., Logan, B., Takadama, K., eds.: Multi-Agent and Multi-Agent-Based Simulation, Joint Workshop MABS 2004, New York, NY, USA, July 19, 2004, Revised Selected Papers. In Davidsson, P., Logan, B., Takadama, K., eds.: Multi-Agent-Based Simulation. Volume 3415 of Lecture Notes in Computer Science., Springer-Verlag (2005)

DOSI, G., Fagiolo, G., Roventini, A.: An Evolutionary Model of Endogenous Business Cycles. Computational Economics 27 (2006) 3-34

EDMONDS, B.: The Use of Models—Making MABS More Informative. In: Multi-Agent-Based Simulation, Second International Workshop, MABS 2000, Boston, MA, USA, July, 2000, Revised and Additional Papers. Volume 1979 of Lecture Notes in Computer Science., Springer-Verlag (2001) 15-32

ENGLEMORE, R.S., Morgan, T., eds.: Blackboard Systems. Addison-Wesley (1988)

EPSTEIN, J.M.: Agent-Based Computational Models and Generative Social Science. Complexity 4 (1999) 41-60

FERBER, J.: Multi-Agent Systems. Addison-Wesley (1999)

FRANKLIN, S., Graesser, A.: Is It an Agent, or Just a Program? : A Taxonomy for Autonomous Agents. In Müller, J.P., Wooldridge, M., Jennings, N.R., eds.: Intelligent Agents III, Agent Theories, Architectures, and Languages, ECAI '96 Workshop (ATAL), Budapest, Hungary, August 12-13, 1996, Proceedings. Volume 1193 of Lecture Notes in Computer Science., Springer-Verlag (1997) 21-36

GELERNTER, D.: Generative Communication in Linda. ACM Trans. Program. Lang. Syst. 7 (1985) 80-112

GELERNTER, D., Carriero, N.: Coordination Languages and their Significance. Communications of the ACM 35 (1992) 97-107

GENESERETH, M.R., Nilsson, N.: Logical Foundations of Artificial Intelligence. Morgan Kaufmann Publishers (1987)

GENESERETH, M.R., Ketchpel, S.P.: Software Agents. Communications of the ACM 37 (1994) 48-ff.

GILBERT, N., Troitzsch, K.G.: Simulation for the Social Scientist (second edition). Open University Press (2005)

GRUBER, T.R.: Toward Principles for the Design of Ontologies Used for Knowledge Sharing. International Journal of Human-Computer Studies 43 (1995) 907-928

HALES, D., Edmonds, B., Norling, E., Rouchier, J., eds.: Multi-Agent-Based Simulation III, 4th International Workshop, MABS 2003, Melbourne, Australia, July 14th, 2003, Revised Papers. In Hales, D., Edmonds, B., Norling, E., Rouchier, J., eds.: Multi-Agent-Based Simulation. Volume 2927 of Lecture Notes in Computer Science., Springer-Verlag (2003)

HASSAS, S., Serugendo, G.D.M., Phan, D., eds.: Multi-Agents for modelling Complex Systems (MA4CS). (2007)

HELBING, D., Schweitzer, F., Keltsch, J., Molnár, P.: Active Walker Model for the Formation of Human and Animal Trail Systems. Physical Review E 56 (1997) 2527-2539

HENEIN, C.M., White, T.: Agent-Based Modelling of Forces in Crowds. In Davidsson, P., Logan, B., Takadama, K., eds.: Multi-Agent and Multi-Agent-Based Simulation, Joint Workshop MABS 2004, New York, NY, USA, July 19, 2004, Revised Selected Papers. Volume 3415 of Lecture Notes in Computer Science., Springer-Verlag (2005) 173-184

KLÜGL, F., Herrler, R., Oechslein, C.: From Simulated to Real Environments: How to Use SeSam for Software Development. In Schillo, M., Klusch, M., Müller, J.P., Tianfield, H., eds.: MATES. Volume 2831 of Lecture Notes in Computer Science., Springer (2003) 13-24

LANE, D.A.: Artificial Worlds and Economics, part I. Journal of Evolutionary Economics 3 (1993a) 89-107

LANE, D.A.: Artificial Worlds and Economics, part II. Journal of Evolutionary Economics 3 (1993b) 177-197

LUCK, M., McBurney, P., Sheory, O., Willmott, S., eds.: Agent Technology: Computing as Interaction. University of Southampton (2005)

LUKE, S., Balan, G.C., Panait, L.A., Cioffi-Revilla, C., Paus, S.: Mason: a Java Multi-Agent Simulation Library. In: Proceedings of Agent 2003 Conference on Challenges in Social Simulation. (2003)

MAMEI, M., Zambonelli, F., Leonardi, L.: Co-fields: Towards a Unifying Approach to the Engineering of Swarm Intelligent Systems. In: Engineering Societies in the Agents World III: Third International Workshop (ESAW2002). Volume 2577 of Lecture Notes in Artificial Intelligence., Springer-Verlag (2002) 68-81

MINAR, N., Burkhart, R., Langton, C., Askenazi, M.: The Swarm Simulation System: A Toolkit for Building Multi-Agent Simulations. Working Paper 96-06-042, Santa Fe Institute (1996)

MOSS, S., Davidsson, P., eds.: Multi-Agent-Based Simulation, Second International Workshop, MABS 2000, Boston, MA, USA, July, 2000, Revised and Additional Papers. Volume 1979 of Lecture Notes in Computer Science., Springer-Verlag (2001)

NORTH, M.J., Collier, N.T., Vos, J.R.: Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit. ACM Transactions on Modeling and Computer Simulation 16 (2006) 1-25

OMICINI, A., Zambonelli, F.: Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems 2 (1999) 251-269 Special Issue: Coordination Mechanisms for Web Agents.

PARKER, M.T.: What is Ascape and Why Should You Care? Journal of Artificial Societies and Social Simulation 4 (2001) 5 https://www.jasss.org/4/1/5.html

PICCO, G.P., Murphy, A.L., Roman, G.C.: Lime: Linda Meets Mobility. In: Proceedings of the 21st International Conference on Software Engineering (ICSE99), ACM press (1999) 368-377

PYKA, A., Fagiolo, G.: Agent-Based Modelling: A Methodology for Neo-Schumpeterian Economics. In: The Elgar Companion to Neo-Schumpeterian Economics. Edward Elgar ((in press))

RAO, A., Georgeff, M.: Modeling Rational Agents within a BDI-Architecture. In: Proc. Of Knowledge Representation and Reasoning (KR&R 1991). (1991)

RAO, A., Georgeff, M.: BDI Agents: from Theory to Practice. In: Proceedings of the International Conference on Multi-Agent Systems. (1995)

RUSSEL, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall, Upper Saddle River, NJ (1995)

SCHADSCHNEIDER, A., Kirchner, A., Nishinari, K.: CA Approach to Collective Phenomena in Pedestrian Dynamics. In Bandini, S., Chopard, B., Tomassini, M., eds.: Cellular Automata, 5th International Conference on Cellular Automata for Research and Industry, ACRI 2002. Volume 2493 of Lecture Notes in Computer Science., Springer (2002) 239-248

SICHMAN, J.S., Conte, R., Gilbert, N., eds.: Multi-Agent Systems and Agent-Based Simulation. In Sichman, J.S., Conte, R., Gilbert, N., eds.: Multi-Agent-Based Simulation. Volume 1534 of Lecture Notes in Computer Science., Springer-Verlag (1998)

SICHMAN, J.S., Bousquet, F., Davidsson, P., eds.: Multi-Agent-Based Simulation, Third International Workshop, MABS 2002, Bologna, Italy, July 15-16, 2002, Revised Papers. In Sichman, J.S., Bousquet, F., Davidsson, P., eds.: Multi-Agent-Based Simulation. Volume 2581 of Lecture Notes in Computer Science., Springer-Verlag (2003)

SICHMAN, J.S., Antunes, L., eds.: Multi-Agent-Based Simulation VI, International Workshop, MABS 2005, Utrecht, The Netherlands, July 25, 2005, Revised and Invited Papers. In Sichman, J.S., Antunes, L., eds.: Multi-Agent-Based Simulation. Volume 3891 of Lecture Notes in Computer Science., Springer (2006)

TUMMOLINI, L., Castelfranchi, C., Ricci, A., Viroli, M., Omicini, A.: "Exhibitionists" and "Voyeurs" Do it Better: A Shared Environment Approach for Flexible Coordination with Tacit Messages. In Weyns, D., Parunak, H.V.D., Michel, F., eds.: 1st International Workshop on "Environments for MultiAgent Systems" (E4MAS 2004). (2004) 97-111

WAHLE, J., Schreckenberg, M.: A Multi-Agent System for On-Line Simulations Based on Real-World Traffic Data. In: Annual Hawaii International Conference on System Sciences (HICSS-34), IEEE Computer Society (2001)

WEYNS, D., Schelfthout, K., Holvoet, T., Lefever, T.: Decentralized Control of e'gv transportation systems. In: AAMAS Industrial Applications, ACM Press (2005) 67-74

WEYNS, D., Boucké, N., Holvoet, T.: Gradient Field-Based Task Assignment in an AGV Transportation System. In: AAMAS '06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, ACM Press (2006) 842-849

WEYNS, D., Holvoet, T.: From Reactive Robots to Situated Multi-Agent Systems: a Historical Perspective on the Role of Environment in Multi-Agent Systems. In Dikenelli, O., Gleizes, M.P., Ricci, A., eds.: Engineering Societies in the Agents World VI, 6th International Workshop, ESAW 2005. Volume 3963 of Lecture Notes in Computer Science., Springer-Verlag (2006) 63-88

WEYNS, D., Breuckner, S., Demazeau, Y., eds.: Engineering Environment-Mediated Multiagent Systems (EEMMAS). (2007)

WEYNS, D., Omicini, A., Odell, J.: Environment as a First Class Abstraction in Multiagent Systems. Autonomous Agents and Multi-Agent Systems 14 (2007) 5-30

WINDRUM, Paul, Fagiolo, Giorgio and Moneta, Alessio (2007). 'Empirical Validation of Agent-Based Models: Alternatives and Prospects'. Journal of Artificial Societies and Social Simulation 10(2)8 https://www.jasss.org/10/2/8.html.)

WOOLDRIDGE, M.J., Jennings, N.R.: Intelligent agents: Theory and Practice. The Knowledge Engineering Review 10 (1995) 115-152

ZAMBONELLI, F., Parunak, H.V.D.: Signs of a Revolution in Computer Science and Software Engineering. In Paolo Petta, Robert Tolksdorf, Franco Zambonelli (Eds.): Engineering Societies in the Agents World III, Third International Workshop, ESAW 2002, Madrid, Spain, September 16-17, 2002, Revised Papers. Volume 2577 of Lecture Notes in Computer Science, Springer-Verlag (2003) 13-28


ButtonReturn to Contents of this issue