Collection Mémoires et thèses électroniques
Accueil À propos Nous joindre

CHAPTER 2: Literature Review: Computer Simulation, Multiagent Based Simulation and Multiagent Geosimulation

Table des matières

In this chapter, we provide a literature review about the computer simulation field and its main sub-fields. We, primarily, focus on the multiagent based simulation (MABS) and multiagent geosimulation (MAGS) fields. We also present some simulation development tools, applications, and approaches.

Today simulation is an important domain, which attracts many researchers from several fields and disciplines (Ruth, 2003). In recent years, extensive research has been conducted in the area of simulation to model large complex systems and understand their structures and behaviors. At the same time, a variety of design principles and approaches for computer-based simulation have evolved. As a result, an increasing number of computer simulation sub-fields and approaches have been proposed, as well as a large number of tools and applications having been designed and developed. This chapter aims to present the state of the art of the computer simulation domain and its main sub-fields. We focus primarily on two recent and interesting computer simulation fields which are multiagent-based simulation (MABS) and multiagent geosimulation (MAGS) .

This chapter is organized as follows: Section 2.2 aims to present the computer simulation domain and its main sub-fields. In Sections 2.3, 2.4 and 2.5, we deal respectively with multiagent-based simulation, spatial/geosimulation and multiagent geosimulation, in which we are interested throughout this thesis. In Section 2.6, we present some simulation applications and development tools available in several scientific domains and fields. Section 2.7 deals with a methodological perspective of computer simulation and presents existing methodologies and approaches that can be followed to develop computer simulations. Finally, the last section summarizes the chapter and offers conclusion.

Defining computer simulation is difficult, given the many perspectives of its users. The benefits of computer simulation are becoming more generally recognized in several domains and areas (Anthony et al., 2004). To avoid confusion, it is important to clearly and unequivocally define the term and its usage. A typical dictionary definition from the Oxford English Dictionary describes computer simulation as « the technique of imitating, on digital computer, the behavior of some situation or system (economic, mechanical, etc.) by means of analogous models, situation, or apparatus, either to gain information more conveniently or to train personnel. » (

A second definition, given by (Fishwick, 1995), a specialist in computer simulation, is the following: « A computer simulation or computer model is a computer program which attempts to simulate an abstract model of a particular system. Computer simulations have become a useful part of modeling many natural systems in physics, chemistry, and biology, human systems in economics, and social sciences and in the process of engineering new technology, to gain insight into the operation of those systems ».

Based on these definitions, we can identify the key features of a computer simulation:

  • there is a digital computer model of a real or theoretical system that contains information on how the system behaves, and

  • experimentation can take place by changing the input of the simulation in order to observe how this change affects the outputs.

(Gaines, 1979) stated a number of good reasons for using computer simulation as a problem-solving tool. In the following points, we list the main reasons:

(1) The physical system is not available : Often, computer simulations are used to determine whether or not a projected system should ever be built; so obviously, experimentation is out of the question. This is common practice for engineering systems (e.g., an electrical circuit) with well established and widely applicable meta-knowledge. It is rather risky to rely on such a decision in the case of systems from soft science (the so-called ill-defined systems ) since the meta-knowledge available for these types of systems is usually not validated.

(2) The experiment may be dangerous : Often, simulations are performed in order to find out whether the real experiment might ‘blow-up’, placing the experimenter and/or the equipment under danger of injury/damage or death/destruction (for example, an atomic reactor, or an aircraft flown by an inexperienced person for training purposes).

(3) The cost of experimentation is too high : Often, simulations are used when real experiments are too expensive. The necessary measurement tools may not be available, or are too expensive to buy. It is possible that the system is used all the time, and taking it ‘off-line’ would involve unacceptable cost.

(4) The time constants of the system are not compatible with those of the experimenter : Often, simulations are performed because the real experiment executes so quickly that it can hardly be observed (for example, an explosion), or because the real experiment executes so slowly that the experimenter is long dead before the experiment is completed. Simulations allow us to speed up or slow down experiments at will.

(5) Control variables, and/or system parameters may be inaccessible : Often, computer simulations are performed because they allow us to access all input (variables), whereas, in the real system, some inputs may not be accessible for manipulation.

In recent years, extensive research has been conducted in the computer simulation field in order to simulate various systems and behaviors in different disciplines (Anthony et al., 2004). At the same time, a variety of design principles and approaches for computer simulation have evolved. As a result, an increasing number of computer simulation sub-fields appeared and researchers, such as (Anthony et al., 2004) and (Maier and Grobler, 1998), tried to categorize them according to a set of attributes or criteria. This categorization is used to establish formal definitions, which are concise and unambiguous for the computer simulation sub-fields. In the following points, we briefly present some categorization criteria and the resulting computer simulation sub-fields.

The objectives or goals of the computer simulation : Computer simulations can be classified based upon their objectives and goals. For example, computer simulation may be used to analyze theoretical or real systems in order to understand, or improve, the performance of this system (Ruth, 2003). It may also be used for training objectives (training simulation), which can allow the learners to make potentially fatal mistakes without injury (e.g., flight simulators) (Anthony et al., 2004). Computer simulation can be used for education, design, entertainment, etc.

The application areas : There are many application areas in which computer simulation is applied. For example, it is applied to simulate industrial processes or manufacturing systems, or to design mechanical systems or biological systems (Baianu and Lin, 1986). Recently, several researchers in urbanism took a noteworthy interest in computer simulation techniques in order to model and simulate urban phenomena, land use, transportation systems, etc. As a result, a simulation sub-field, called urban simulation , appeared. Other domains, in which computer simulation proved its efficiency, are the social sciences. Social scientists have begun to convert social theories into computer programs or computer simulations. It is then possible to simulate social processes and carry out ‘experiments’ that would otherwise be impossible. In addition, computer simulation has been used as a method to clarify sociological theories (Gilbert and Conte, 1995). The large number of computer simulation applications and works in this area gave birth to a new simulation field, which is called social simulation (Gilbert and Conte, 1995).

The simulation properties : Another criterion that clearly categorized computer simulation is that it is based upon its properties (Anthony et al., 2004). In fact, there exist many properties that can differentiate one simulation from another. We can cite as examples of computer simulation properties the following:

The presence of time : This property indicates whether or not the simulation of a system encompasses the time factor. We distinguish a static simulation , which does not have time as part of the simulation (there is simply no concept of the passage of time in the system being modeled (Kelton, 1983)) from a dynamic simulation , which has time as part of the simulation. In this case, the system being modeled evidently changes over time, and users want to study and quantify this evolution.

Types of value : This property specifies the values that the simulated entities can contain. According to this property, computer simulation can be discrete or continuous. Discrete simulation has entities that process only one of many values within a finite range, and continuous simulation has entities that process only one of many values within an infinite range.

Behavior : This property defines how the simulation proceeds. We distinguish deterministic simulation from probabilistic (or stochastic ) simulation. A deterministic simulation model has no random event occurring, nor any uncontrollable element. In such a model, the exogenous inputs are assumed to be exact in the sense that their values are not random or probabilistic. Thus, as simulation execution under a fixed set of structural assumptions and input parameters values will produce an exact, deterministic set of output responses. In this case, the analysis is quite simple, at least conceptually: A single run of the simulation model produces the exact set of desired values. Further runs of the same model will, of course, produce the same results (Kelton, 1983). A probabilistic simulation , as opposed to a deterministic simulation, has random events occurring. Hence, repeating the same simulation often returns different simulation results. As least some of the inputs driving a stochastic model are random quantities without exact values. This appears to be far less desirable than the deterministic case, and from the standpoint of the analysis problem, this is true. However, many systems are inherently stochastic and thus, it is necessary to model them stochastically in order to achieve a level of validity which is sufficient to obtain the desired information (Kelton, 1983). Therefore, given the need to use a stochastic simulation model, we generate observations of random variables from appropriate distributions in order to drive the model, and we use a random number generator (or stochastic algorithms) and appropriate transformation techniques in order to obtain the desired distributions.

Every simulation can be classified, based on the three properties mentioned above. An example of a dynamic, discrete, and probabilistic simulation is to generate a path along which a data packet moves from a source computer host to a destination host in a network. However, simulating the path of a missile, given an initial firing velocity and fixed wind resistance, is an example of a dynamic, continuous, and deterministic simulation. A chess game simulation comprises static, discrete, and probabilistic properties (Anthony et al., 2004).

The simulation engine : To model and execute a simulation model, we need a simulation engine. We distinguish three characteristics of a simulation engine:

The execution : According to this characteristic, a computer simulation can be executed in serial (or sequential) mode, i.e., using a single processor, or in parallel mode, i.e., using multiple processors. There is an increasing interest in using parallel simulation for modeling complex, large-scale systems because this kind of simulation is not restricted by limited memory and processor power and usually requires a shorter execution time.

The simulation engine : There exist three types of computer simulation: Continuous , discrete event , and hybrid simulations. In a continuous simulation , state changes occur continuously over time. In a discrete event simulation (DES), state changes only occur at specific time intervals. Hybrid simulation comprises both continuous and discrete-event simulations.

Modeling framework : It depicts how a user models the target system to be simulated. In the modeling frameworks, we distinguish:

Entity-based : Which represents processes to be modeled as entities. Each entity performs its own tasks and communicates with other entities via messaging (Anthony et al., 2004).

Event-based : In an event-based modeling framework, each task in a modeled process is activated via the arrival of specific triggering events (Anthony et al., 2004).

It is possible to have a modeling framework that implements both entity and event since both frameworks reflect real-world happenings of actual objects (Anthony et al., 2004).

Programming framework : The programming framework is a very relevant criterion, which gives birth to several computer simulation sub-fields. It determines the programming paradigm that the developer/user uses to create a simulation application using a simulation language or tool. We distinguish the structured programming framework, which implements a top-down structured program design with control passing down the modules in a hierarchy (Anthony et al., 2004), and the object-oriented framework expresses the program as a set of objects that communicate with one another to perform tasks. The object-oriented framework is easier to create, maintain, and reuse, compared with the structured programming framework (Anthony et al., 2004). This paradigm gave birth to a new field of computer simulation called object-oriented simulation ( OOS ). Another programming paradigm, which is often used to simulate urban phenomena in space, is the cellular automata paradigm. The decentralized structure of automata systems in space (grid), their ability to directly handle individual spatial and non-spatial elements, as well as the simplicity of formulation, are all features that offer many benefits to model designers and simulation developers (Benenson and Torrens, 2004). Finally, we have the multiagent system ( MAS ) which is a very promising paradigm that has proven its success in modeling and simulating complex systems and behaviors. This paradigm gave birth to the agent-based simulation ( ABS ) and the multiagent-based simulation ( MABS ) fields. In our work we are interested in this kind of simulation. For this reason, we discuss it more thoroughly in the next section.

Simulation scale : This criterion determines the level of detail that is possible in the simulation model. According to the level of detail, a computer simulation can be one-scale or multiscale (Sato, 2003). The scale of computer simulation can be micro, meso, macro, or nano. A micro scale simulation (or microsimulation), is based upon models of individual entities. This type of simulation technique resolves down to individual parameters, and involves a much higher degree of verification and validation. This kind of model building is very expensive, both in time and expertise to interpret the results. A vast array of data input and output can be produced, and it can provide a behavioral test range required for a complete understanding of the system to be simulated (Sato, 2003). A macro scale simulation (or macrosimulation), is usually based on fluid-like models of flows, applied to the average characteristics of the elements in the simulation such as density, flow, and velocity. They do not provide information about particular elements. There is a large body of works associated with macroscopic modeling – fluid dynamics (tried, tested, proven, and applied) uses macroscopic models because you do not model the interaction of every particle in a fluid, but rather rely upon the behavior of the fluid as a large scale interactive system. Thus, frictional forces, flow, and pressure/density are the macroscopic terms associated with fluidic motion. A crowd can be successfully modeled using macrosimulation (Sato, 2003). The meso scale simulation (or mesosimulation) is an intermediary level between the micro and macro simulation (Sato, 2003). Finally, the pico scale simulation (or picosimulation) presents a higher level than the macro one (Sato, 2003).

Type of manipulated data/knowledge : The data/knowledge used by a computer simulation may or may not be geographic (spatial). According to this criterion, we can categorize computer simulations into two categories: classical simulation, which manipulates non-spatial/geographic data/knowledge (numerical and textural data/knowledge), and spatial/geographic simulation, which manipulates spatial and geographic data/knowledge. In the second category of computer simulations, we distinguish the most recent computer simulation fields, which are spatial simulation, geosimulation and multiagent geosimulation .

In our work, since we are interested in multiagent geosimulation, it is relevant to talk about two main fields. The first one is called ‘Multiagent Based Simulation or MABS’ and deals with multiagent simulations, while the second one focuses more on spatial/geograpghical data manipulated by the simulation and contains some recent sub-fields such as spatial simulation and geosimulation. These two main fields are presented respectively in Section 2.3 and Section 2.4. In section Section 2.3, we present a recent field called ‘multiagent geosimulation’ which combines the MABS field and geosimulation one.

Multiagent based simulation (MABS) is a computer simulation which uses the technology of agents as a programming framework. Before presenting multiagent based simulation, it is relevant to talk about agents and multiagent systems.

The concept of ‘ agent ’ was introduced in computer science during the early’ 90s, and multiagent systems (MAS) soon attracted the interest of researchers far beyond traditional computer science. (Wooldridge and Jennings, 1995a) defined an agent as follows: «… a hardware or (more usually) software-based computer system that enjoys the following properties:

Autonomy: agents operate without the direct intervention of human or others, and have some kind of control over their actions and internal states ;

Social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language (ACL) ;

Reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, the Internet, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it ;

Pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behavior by taking the initiative. «

« A multiagent system can therefore be defined as a collection of possibly heterogeneous, computational entities, having their own problem solving capabilities and which are able to interact together in order to reach an overall goal » (Ferber, 1999). Agents usually operate in a dynamic, non-deterministic complex environment, in which a single input action can often produce unexpected results .

Multiagent Systems share a number of key features (Jennings et al., 1998).

each agent has incomplete information or capabilities for solving the problem and, thus, has a limited viewpoint ;

there is no global system control ;

data are decentralized ;

computation is asynchronous .

MAS could be homogeneous, if agents acting in a complex environment belong to one specific class or type; or heterogeneous, if in a particular environment we find different classes or types of agents that may have different tasks and purposes (Perram and Müller, 1996). These features let MAS be flexible and adaptive enough to solve different distributed problems such as scheduling, internet search, resources allocation, virtual environment for training and education, information retrieval, and military applications. Software agents become a way to help people to manage the increasing volume and complexity of information and computing resources.

Multiagent technology is a promising paradigm which has proven its success in several domains and disciplines. The advanced capabilities of agents make the multiagent paradigm an attractive technique for researchers in the computer simulation domain when trying to simulate various complex systems and behaviors. The widespread use of multiagent techniques in computer simulation gave birth to a new computer simulation field called multiagent-based simulation ( MABS ). MABS is defined by (Weiss, 1999) as, ‘ an approach used to simulate the interactions of multiple autonomous agents in an environment ’. The capabilities of the agents in MABS make it more attractive than traditional simulation approaches, such as discrete event simulation (DES), continuous event simulation (CES), and object oriented simulation (OOS). MABS is nowadays used in a growing number of areas and domains, as a result of its ability to cope with very different models of ‘individuals’, ranging from simple entities (usually called ‘reactive’ agents (Drogoul, 1995)), to more complex ones (‘cognitive’ agents (Jennings, 2000) (Castelfranchi and Müller, 1993)). The easiness, with which designers can also handle different levels of representation (e.g., ‘individual’ and ‘groups’, for instance) within a unified conceptual framework, is also particularly appreciated (Drogoul et al., 2002).

A recent trend in computer simulation consists in developing what is called situated simulation applications. The term situated means that the simulation takes place in an environment. Particularly, we can notice that the majority of research works in this trend deal with spatial characteristics of the simulation environment. As a result, several main simulation fields have appeared. As examples, we can cite: spatial simulation and recently, geosimulation . In this section, we focus on geosimulation as a new wave of spatial simulation which has become proeminent in recent years (Benenson and Torrens, 2003).

As mentioned in (Benenson and Torrens, 2004), geosimulation, as a kind of computer simulation, is a «catch-all title» that can be used to represent a very recent wave of research in geography. In a broad sense, the field of geosimulation is concerned with the design and construction of object-based, high-resolution spatial models, using these models to explore ideas and hypotheses about how spatial systems operate, developing simulation software and tools to support object-based simulation, and applying simulation to solve real problems in geographic contexts (Benenson and Torrens, 2004). Geosimulation models operate with human individuals and infrastructure entities, represented at spatially non-modifiable scales, such as households, homes, or vehicles. In geosimulation models, these entities have behaviors. Many of these entities are animated (visually and dynamically), and animation drives the behavior of inanimate entities in a simulation (Benenson and Torrens, 2004). What’s more, the data which feeds the geosimulation models is generally stored in geographic information systems (GIS). According to (Mandl, 2000), four alternatives to couple simulation applications and GIS exist:

loose coupling : GIS- and simulation- software are two different products, and the data of one is integrated into the other.

tight coupling : GIS functionality is implemented in simulation software or vice versa.

direct co-operative coupling : GIS- or simulation- software is working as the server, or client. The two softwares are connected via an interface. The client software is used by the users and the server-software operates in the background.

indirect co-operative coupling : A third programming environment couples the GIS- and simulation- software.

The geosimulation characteristics mentioned above make it a useful tool for integrating the spatial dimension in models of interactions of various types (economics, political, social, etc.) (Mandl, 2000). This form is supported by advances, in both geographical sciences and fields outside geography (Benenson and Torrens, 2003).

Research work in geosimulation mostly focusses on techniques to improve spatial simulation technology: the derivation of new algorithms for spatial processes, new methodologies to conceptualize spatial entities and the relationships between them, the application of simulation models to real-world problems, and new software to experimenting with geographical systems (Benenson and Torrens, 2003).

In Section 2.3, we showed that multiagent based simulation (MABS) paradigm is well suited to simulate the interactions between entities having behaviors. We also presented, in Section 2.4, that geosimulation is very appropriate when taking into account the geographic characteristics of the simulation environment. According to these observations, (Mandl, 2000), (Kock, 2001), and (Moulin et al., 2003) combined these two paradigms in order to simulate complex system/behavior in geographic environments. As a result, they present a very recent computer simulation field, called multiagent geosimulation , as a coupling of two technologies: Multiagent based simulation (MABS) technology and geosimulation.

■ Based on the Multiagent based simulation technology, the simulated entities are represented by software agents that autonomously carry out their activities. Furthermore, they can interact and communicate with other agents. And finally, they may be active, reactive, mobile, social, or cognitive (Koch, 2001).

■ Using geosimulation and geographic information system (GIS) technologies, spatial features of geographic environments can be introduced into the simulation. The GIS plays an important role in the development of geosimulation models. New methodologies and tools for manipulating and interpreting spatial data, developed by geographic information science and implemented into GIS, have created added-value for these data (Benenson and Torrens, 2003).

In order to show the efficiency of the multiagent geosimulation paradigm, several researchers have developed simulation applications that simulate complex behaviors in geographic environments. For example, (Koch, 2001) simulates human shopping activities in a town, (Mandl, 2000) simulates pedestrian movements in a town, and (Moulin et al., 2003) developed an application that simulates the crowd movement in a city. It is important to note that only (Moulin et al., 2003) presented a generic platform, which can be used to develop multiagent simulation applications of complex behaviors in virtual geographic environments. We can also cite the platform CORMAS (COmmon-pool Resources and Multi-Agent Systems), which was developed by (Bousquet et al., 1998) and can be used to simulate multiagent systems and behaviors in geographic environments.

Our research aims to the use of the multiagent geosimulation paradigm in order to build simulations of human behaviors in virtual geographic environments. As stated by (Frank et al., 2001) ‘… the simulation of human behavior in space is an extremely interesting and powerful research method to advance our understanding of human spatial cognition and the interaction of human beings with the environment ’.

In the previous sections, we discussed several types and fields of computer simulation. Inside these fields, researchers developed several applications that simulate various behaviors and systems, or generic tools that can be used to develop simulation applications. This section aims to briefly present some examples of computer simulation applications and tools.

It is important to distinguish between simulation applications and simulation tools . A simulation application is intended to simulate a specific system or behavior, whereas a simulation tool is a generic software which can be used to develop simulation applications. A simulation tool can be a completely user-friendly environment, or a simple simulation language which can be used with an editor.

Many simulation applications exist that aim to simulate various systems or behaviors in numerous areas. As examples, we cite several of the most well-known simulation applications by domain/area:

■ Human and artificial societies:

□ Wayfinding behavior: In an airport (Raubal, 2001),

□ Shopping behavior: (Dijkstra et al., 2001) (Kurose et al., 1998),

□ Pedestrian behavior: PedSim (,

□ Recreational behavior,

RBSim (,

□ Human crowds: MAGS (Moulin et al, 2001), and ViCrowd (Musse et al., 1999),

■ Traffic and vehicle simulations: TranSim (,

■ Ecology: The following link ( presents a number of simulation applications in the field of ecology.

A multitude of simulation tools (environments and languages) also exist, some are commercialized, while other are not. As examples, we cite several of them in the following points:

■ Simulation environments:

□ MAGS: MultiAgent GeoSimulation (Moulin et al., 2003) ,

□ CORMAS (COmmon pool Resources and Multi-Agent Systems) (Bousquet, 1998) (,

□ GEAMAS: A Generic architecture for agent-oriented simulations of complex processes (Marcenac and Giroux, 1998),

□ StarLogo (,

□ RePast ( (Collier, 2002),

□ Ascape (Parker, 2001),

□ AgentSheets (, etc.

■ Simulation languages:

□ MAML (MultiAgent Modeling Language)


□ SDML (Strictly Declarative Modeling Language) (, etc.

■ Simulation environment and language (hybrid):

□ SWARM (,

□ JSim (,

□ JavaSim (,

□ ELMS: an environment description language for multiagent simulations (Okuyama, 2005),

□ CSim (, etc.

In the previous sections, we presented some technical and practical issues with regards to computer simulation. We also discussed several computer simulation sub-fields, simulations applications, and simulation tools. We recall that one of our research objectives is to present a generic method to develop geosimulations of spatialized behaviors of large groups of agents in geographic environments. Hence, it is relevant to present a literature review about methods and approaches which have been proposed in the computer simulation field. In this section, we discuss methodological issues related to computer simulation. Thus, we present different approaches and methodologies that have been designed in order to develop computer simulation tools and applications for different fields. Considering the large number of methodologies and approaches that exist in the literature, they will be presented in two sub-sections. The first sub-section briefly presents those approaches related to classical simulation (non multiagent-based simulation), such as discrete event simulation (DES), continuous event simulation (CES), object oriented simulation (OOS), etc., while the second sub-section concentrates on the approaches that are related to agent-based simulation and multiagent based simulation.

Some researchers in the computer simulation field presented generic approaches and methods that can be followed to develop simulation applications. See for example, (Fishwick, 1995) who presented an approach that is composed of three stages: the simulation model design , the simulation model execution , and the execution analysis . (Allen et al., 2001) presented an interesting simulation study approach, which can be followed in order to develop discrete event simulation applications. (Anu, 1997) also proposed a relevant simulation approach for discrete event simulation (DES). This approach contains eleven steps that are grouped under three phases: developing a simulation model, designing a simulation experiment, and performing simulation analysis. (Groumpos and Merkuryev, 2002) discussed a general approach for developing discrete event simulations (DES), which is similar to the approach proposed by (Anu, 1997), although it is composed of twenty one steps. Moreover, (Gilbert, 1993) and (Troitzch, 1997) refined the diagram of (Fishwick, 1995) by adding other relevant steps, etc.

The simulation approaches discussed above, although useful when it comes to understanding how to design simulation applications, have some major critical drawbacks for our purposes: (1) they do not specifically address multiagent based simulation, but rather, computer simulation in general; and (2) they are mainly task-oriented rather than model-oriented, and make it difficult to understand the difficulties found in translating conceptual to computational models (Drogoul et al., 2002). These drawbacks make the aforementioned methods impractical to develop geosimulations of spatialized behaviors of large groups of agents in geographic environments in geographic environments .

Now let us consider multiagent based simulation methods. Our literature review revealed that few researchers proposed methodologies and approaches for multiagent based simulation (MABS). The majority of these methods and approaches are not generic and are specific to simulation applications. In this sub-section, we only present the two generic approaches, found in the literature, which can be followed to develop MABS applications.

(Drogoul et al., 2002) proposed a generic design process in order to develop multiagent-based simulations (MABS). This process is based upon the notion of ‘ roles ’. The roles in the design process represent the human actors who will interact to produce a running simulation, along with their contributions. (Drogoul et al., 2002) proposed the following roles:

The Thematician : He specifies the intention of the simulation process, i.e. the association between the target system and the application of the simulation. He manipulates three kinds of data concerning the target system (Drogoul et al., 2002):

□ Theories and assumptions (what he knows or estimates), which define a set of percepts associated with the specific domain.

□ Observations (what he sees or analyses), which data is relative to the phenomena, such as the parameters and initial conditions of the simulation tool; however, they can also describe qualitative aspects of the phenomena.

□ Questions (what he wants to understand), which can be classified into three categories: predictive (what will happen in xx years?), speculative (what if we change the parameters?), or theoretical (which of these assumptions may explain the phenomenon?).

(Drogoul et al., 2002) points out that all the thematicians interested in multiagent simulations share the same profile. They usually handle two levels of knowledge at the same time, which we shall call their micro- and macro knowledge (micro-K and macro-K). Macro-K is a set of ‘global’ knowledge about the target system, mostly obtained from the observations. Micro-K is ‘local’ knowledge about the individuals, without which the target system would not exist; it is composed of both observations (behaviors, etc.) and assumptions.

The Modeler : Since the specifications of the thematician do not allow for a direct transcription of an operational solution, and because the two fields have different semantics, the domain model has to be translated into something more formal that can be, eventually, implemented by a computer scientist. This is the duty of the modeler. His role is to make the concepts clear and remove the ambiguities by specifying what the authors call a design model . The design model is probably the most difficult model to define, since it depends on the information provided by the thematicians, and on some constraints inherent to the chosen implementation (which may, or may not, be known at the design time).

The Computer scientist : The aim of the computer scientist is not only to write a computer program (although it is his main duty), but also to propose a model that may allow for a discussion with the modeler. Without this model, his propositions and choices may not receive any feedback from the other two roles. Shaping the operational model is an operation that immediately precedes the actual construction of the computational system .

The whole process is described in Fig 2.1 (a detailed explanation of the process can be found in (Drogoul et al., 2002)).

(Ramanath and Gilbert, 2003) proposed a simulation research process for developing agent-based social simulations (see Fig 2.2). According to these authors, this process can be considered to be a generic research framework for all simulation studies.

The stages of the process are the following:

Model conceptualization: Once a ‘puzzle’ (a question or problem whose answer is not known), is identified, conceptualization consists of defining and scoping the target (or problem area) for modeling. This stage may also include some observations of the target, in order to provide parameters and initial conditions required for the model.

Model design: Involves making decisions about the type of overarching simulation approach to be followed (e.g., participatory or ‘user-centered’, conventional or ‘researcher-centered’, etc.); what to omit and what to include in the simplified version of the target to be modeled (model specification); the assumptions, selection of a software and hardware platform, etc.

Model construction or build: This stage refers to the activities involved in writing and testing the computer-based programs necessary to implement the model.

Verification: This stage is concerned with the correctness of the transformation from the abstract representation (the conceptual model) to the program code (the simulation model). That is, with ensuring that the program code faithfully reflects the behavior that is implicit in the specifications of the conceptual model.

Validation/Analysis: While verification concerns whether or not the program is working as the researcher expects, validation considers whether or not the simulation is a good model of the target. A model that can be relied upon to reflect the behavior of the target can be considered ‘valid’. Validity refers to two aspects: a) ‘internal validity’, which concerns the correspondence between the theoretical or abstract model to be simulated, and the implementation; and b) ‘external validity’, or the degree to which the model and simulation correspond to the real world.

Publication of results: The final stage is the sharing, or publication, of results. This signifies, putting the results of the research into a format ready for consumption by the scientific or the practitioner community, or both (e.g., presenting the research at conferences, publishing in a paper, or electronic based journal, on the Internet, etc.).

All of the above stages are carried out for almost all published simulation models. There is, however, another stage of the research process that is infrequent, but which needs to be considered- that is, replication (hence, the dotted line in Fig 2.2 has been used to represent this stage as optional). Replication involves confirming that the claimed results of any given simulation are reliable, in the sense that they can be reproduced by anyone starting from scratch. Ideally, published simulations should be presented in sufficient detail for this to be achieved.

The two approaches proposed by (Drogoul et al., 2002) and (Ramanath and Gilbert, 2003) can be used in order to develop multiagent based simulations, but they do not emphasize the spatial/geographic characteristics of the simulation (the spatialized phenomena to be simulated). According to us, this represents a limitation because in multiagent geosimulations the geographic/spatial characteristics are critical to accurately represent and simulate the spatialized behaviors of the agents which evolve in the geographic environment.

In summary, we can notice that the approaches discussed in this section (for multiagent based simulation or not) underestimate most of the difficulties met when building multiagent geosimulations of spatialized behaviors of the agents which evolve within geographic environments. Let us notice that these approaches do not propose any particular technique to collect the data about the spatial behaviors to be simulated. What’s more, they do not provide any technique to analyze the spatial characteristics of the data input of the simulation and to explore the spatial dimensions if the data generated by the geosimulations. This led us to propose our own method to create multiagent geosimulations that can be used:

(1) to gather geographic data relative to the spatialized behaviors to be simulated,

(2) to specify agent models that emphasize spatial behaviors (such as navigation capabilities taking into account the geographic properties of the environment) and plausible interactions with the geographic environment (such as perception and memorization of objects’ locations, etc.), and

(3) to carry out practical analyses of the spatial dimensions of the simulation results.

The methodologies and approaches which have been presented above are less suitable for developing multiagent geosimulation of phenomena in geographic environments, but they can be used as a base to create a new method that is more suitable for this purpose. The methodologies/approaches presented above contain some interesting steps that can be adapted and integrated into the method we propose for developing 2D and 3D multiagent geosimulations. In the following paragraphs, we present a summary of some steps presented in these methodologies and approaches:

- Develop the simulation models (Annu, 1997): (Fishwick, 1995) called this step «model design». This phase contains the following sub-steps:

■ Identify the problems of an existing system or behavior;

■ Formulate the problems:

□ Select the boundaries of the system/behavior to be simulated;

□ Define the objectives of the simulation;

□ Identify the needs of the end-user of the simulation;

■ Collect and process real system/behavior data (input data);

■ Formulate and develop the simulation models (Annu, 1997), or model abstraction (Allen et al., 2001), or model conceptualization (Ramanath and Gilbert, 2003).

Develop the simulation models;

□ Translate the conceptual models into a simulation software acceptable form;

■ Validate the models;

■ Test the models (Drogoul et al., 2002);

■ Document the models for future use;

- Design a simulation experiment (Annu, 1997): (Fishwick, 1995) called this step, «model execution». This phase contains the following steps:

■ Select the appropriate experimental design;

■ Establish experimental conditions for runs;

■ Perform the simulation runs (Annu, 1997) or model implementation (Allen et al., 2001);

- Perform simulation analysis (Annu, 1997): (Fishwick, 1995) called this step, «execution analysis». This phase contains the following steps:

■ Interpret and present results (Annu, 1997) or output analysis (Allen et al., 2001);

□ Construct graphical displays of the outputs;

□ Document results;

■ Recommend further actions that can be made on the simulation, or on the real system/behavior;

■ Publication of the results (Ramanath and Gilbert, 2003).

In this chapter, we presented a literature review about computer simulation, as well as having presented some sub-fields of computer simulation. We were primarily focused on two computer simulation sub-fields, which are multiagent based simulation and geosimulation. Next, we mentioned some applications and tools of computer simulation. Finally, we focused on the methodological aspects of computer simulation, and we presented several approaches that can be followed when developing computer and multiagent simulations. The next chapter aims to briefly present the main steps of our method.

© Walid Ali, 2006