Conference PaperPDF Available

A reference model for agent-based modeling and simulation.

Authors:
  • aditerna GmbH

Abstract

Abstract
A Reference Model for Agent-Based Modeling and Simulation
Robert Siegfried, Axel Lehmann Rachid El Abdouni Khayari, Tobias Kiesling
Universit¨
at der Bundeswehr M¨
unchen IABG Industrieanlagen-Betriebsgesellschaft mbH
{robert.siegfried|axel.lehmann}@unibw.de {khayari|kiesling}@iabg.de
Keywords: Agent-based modeling, multi-agent simulation,
reference model
Abstract
Multi-agent simulations gain more and more importance for
the simulation of complex systems. In order to meet the con-
tinuously increasing requirements regarding complexity, level
of detail, and size of the model on the one hand and an effi-
cient modeling and execution on the other hand, a reasonable
theoretical foundation is essential. Based on the awareness
that at the current time these foundations of multi-agent simu-
lation are weak in comparison to other simulation paradigms,
the necessity for a general approach for defining and describ-
ing a multi-agent simulation is examined. Following this in-
vestigation, an exemplary reference model for agent-based
modeling and simulation is introduced. This reference model
is intended to provide a common understanding of agent-
based models along with well-defined semantics of their sim-
ulation. In addition, it permits the implementation of various
simulators adhering to the specified semantics using the same
model and producing identical simulation runs.
1. INTRODUCTION
1.1. Motivation
Agent-based modeling is currently in widespread use to
model complex systems. Especially if a large number of het-
erogeneous objects with individual behavior (and learning)
has to be considered, agent-based models are often the first
choice. Nevertheless the theoretical foundations of agent-
based modeling and simulation appear to be a lot weaker
than for alternative simulation approaches (like e. g. tradi-
tional discrete event simulation or object-oriented simula-
tion) [5]. Surprisingly, this includes ambiguous definitions of
basic terms (e. g. which elements comprise an agent-based
model and how they are related to each other [4]) as well
as missing definitions of advanced concepts (e. g. what is to
be understood exactly by the simulation of an agent-based
model). The resulting unsatisfactory state was just recently
summed up by M¨
uller: “Most, if not all, existing multi-agent
simulation platforms produce simulation results which do not
depend only on the model but on the way the model is im-
plemented and the scheduling ordered, this ordering being at
worst arbitrary and at best randomized” [7].
Therefore, the current assessment of the situation is that
agent-based modeling and simulation is still far from being
done in a standardized way. Especially simulators are often
custom-made and tailored for a specific question (respec-
tively model) in mind. As modeling and simulation should
strive for a more systematic approach, it is obvious that a
general approach for describing an agent-based model and
its respective simulation is still missing. In order to address
this challenge, this paper motivates the need for a reference
model for agent-based modeling and simulation and presents
a first approach towards such a reference model.
1.2. Purpose and scope of the Reference Model
The reference model for agent-based modeling and simu-
lation, as proposed in the following, aims to
identify the key concepts of agent-based models and
their dependencies,
provide clear and sound definitions of the key concepts
of an agent-based model and its respective simulation,
provide a general scheme for the description and docu-
mentation of agent-based models,
provide an abstract basis for the development of algo-
rithms and simulators used for the simulation of agent-
based models.
Currently, the intention of the reference model is to provide a
solid conceptual basis for agent-based modeling and simula-
tion. In order to provide this conceptual basis, which should
be general enough to be applicable to a wide range of use
cases, a reasonable abstraction level has to be chosen. The
guiding principle, which is followed throughout the reference
model, is to avoid prescriptive requirements as far as possible
and make these only when necessary. In this context, a central
point is the abstraction of specific agent architectures (i. e. of
the specific modeling of internal structures of the agents) as
well as the abstraction from a specific execution paradigm of
the simulator.
The assumed target audience of this reference model are
modelers, developers and scientist in the area of multi-agent
simulation. It can help and guide modelers in creating and
documenting agent-based models in a standardized and well-
defined way, thereby providing a common language and un-
derstanding. Developers may build upon this reference model
to define technical recommendations and interface specifica-
tions, and to create simulators which adhere to common se-
mantics and allow the reuse of agent-based models on various
simulators. The scientific community may use the reference
model to develop and describe concepts and algorithms on a
higher level, thereby gaining the advantage of more general
results which are applicable in a much wider range than be-
fore.
1.3. Outline
Section 2 presents the current status of research in describ-
ing agent-based simulations. Based on these preliminaries,
Section 3 contains the main contribution of this paper: a ref-
erence model for agent-based modeling and simulation. The
conclusions and outlook on the future work in Section 4 fi-
nally complete this paper.
2. OVERVIEW OF THE CURRENT STATUS
OF RESEARCH
Various approaches and formal models for describing
agent-based models have been developed and proposed in the
past. Examples are the publications by Kl¨
ugl [5], Uhrmacher
[12, 11], Weyns and Holvoet [14], Scheutz and Schermerhorn
[10] and Helleboogh [2]. Each approach usually focused on
some specific objective, but often appeared to meet its goal
only through compromising on other accepted principles and
ideas. Furthermore, the existing definitions and approaches
of suitable generality often seem to oversimplify key aspects
(e. g. actions without duration).
Instead of presenting a selection of the existing approaches
in detail, which would be incomplete anyway, this section
provides a short overview over the common aspects found
in the above mentioned approaches. Major drawbacks as well
as positive aspects of these approaches are pointed out.
2.1. Environment and Situatedness
Many authors emphasize the importance of the environ-
ment, which is somehow intuitively clear, as the common def-
inition of an agent usually contains the concept of situated-
ness [9, p. 32f.], [2]. In order to avoid confusion and because
of a multitude of different and sometimes unclear ways of
dealing with the environment, especially in the closely related
fields of multi-agent simulation and multi-agent systems, a
precise definition of the term is necessary: Although obvi-
ous, it is important to clearly distinguish between the simu-
lated environment and the simulation environment. In short,
the simulated environment is an abstraction of the original
environment and thus part of the model itself, whereas the
simulation environment (also called simulator) provides the
infrastructure necessary for running the simulation [6, 16, 8].
As pointed out in [2], the real environment is typically dy-
namic, meaning that the environment changes in ways beyond
the agents’ control. Therefore, the simulated environment is
not always considered to be just a passive common space but
as an active part of the simulation. Despite carrying its own
processes, sometimes the environment is considered to be re-
sponsible for even more technical aspects like detecting and
resolving conflicting actions of the agents, e. g. in [14]. Here,
the missing clarity in distinguishing between the simulated
environment and the simulation environment becomes very
obvious in many approaches.
In summary, it is questionable whether the simulated envi-
ronment should be responsible for tasks like computing the
effects of desired actions. It seems a lot more appropriate
especially against the background that the environment has to
be modeled and validated as carefully as the agents acting in
it to put only these properties and dynamics into the envi-
ronment which are necessary for the intended model purpose.
Auxiliary tasks, especially if they are not related to the model
directly (like the computation of conflicting actions), should
be left to the simulation environment, i. e. the simulator.
2.2. Active and Passive Entities
Another common aspect is that almost all approaches con-
sider various types of entities situated within the model. An
obvious distinction is to separate the entities mutually ex-
clusive into agents and resources [5]. Generally speaking, it
makes sense to distinguish “between active and passive enti-
ties, that is, between agents and (non-agentive) objects of the
real world” [13].The passive entities usually represent some
objects from the real world and are therefore associated with
a couple of defining properties which may well change re-
spectively be altered during a simulation.
Although there are slight differences between the various
approaches, the importance of differentiating between the in-
tended action of an agent and the outcome of an action is reg-
ularly stressed. As Kl¨
ugl puts it, “one must accept, that the
agent itself can only control its effectors, but not the effects
of its action in the environment” [5, p. 9]. Out of this problem
arise multiple challenges like efficient conflict detection and
resolution. Scheutz/Schermerhorn as well as Kl¨
ugl appear to
deal with this problem within their respective model update
functions, but did not discuss the details. As this topic bears
a lot of information for the execution of a simulation run and
is directly connected to the aspect of the atomicity of actions
and the duration of an action, the topic of conflicting actions
seems to be too important not to be considered in the defini-
tion of an agent-based simulation.
2.3. Stepwise Execution and Simulation Time
Although not always explicitly mentioned, most ap-
proaches make use of a stepwise execution of the simulation
of the agent-based model. For example, the definition of a
simulation run given by Scheutz and Schermerhorn explicitly
utilizes this stepwise execution and further implies, that all
agents are executed in each step and that no action can happen
in between these steps. Implicitly assumed in this model is
the fact, that all actions need exactly one time step for execu-
tion [10]. Kl¨
ugl defines a simulation quite similarly in terms
of model configurations and “the iterated application of the
update functions defined by the model onto the start configu-
ration and state” [5, p. 15]. Due to this quite vague definition
and a missing formal description of a simulation run, Kl¨
ugl
does not mention the stepwise execution explicitly.
By assuming a stepwise execution of the simulation, both
approaches allow synchronization at each simulation step.
Besides a missing clarification whether these time steps are
all of the same length, this stepwise execution of the agents is
somehow contradictory to the notion of autonomous and in-
dependently acting agents (cp. [14]). Deeply connected with
this is the vague definition (if at all) of synchronization as-
pects in several models. But as “synchronization is often the
technically most difficult aspect in implementing an agent-
based simulation” [5, p. 22], the missing accuracy and clarity
in this point is a major drawback of those approaches. Fur-
thermore, as also mentioned above, the whole area of inter-
ference and synergy of actions is often sparsely treated.
Another example of an unclear separation of concerns can
regularly be found in the mix-up of the simulation time (e. g.
discrete, continuous) and the execution paradigm (e. g. event-
based, round-based) used by an actual simulator. In combina-
tion with a stepwise execution of the simulation, many au-
thors give up this clear distinction between the simulation
time (i. e. the time model) and the execution paradigm. This
is especially disadvantageous as the often chosen time-sliced
simulation model is inefficient and inappropriate to synchro-
nize agents that act at irregularly distributed points in time [1]
and becomes an even greater problem when trying to paral-
lelize the simulation execution. In summary, an explicit time
model is required as well as a clear separation of the time
model from the execution paradigm used by the actual simu-
lator.
2.4. Unclear Separation of Concerns
The major aspect which many approaches are missing, is
a strict and consistent separation of concerns. In this context,
separation of concerns refers to the separation of the model,
the definition of a simulation of a model and the actual exe-
cution of the simulation within a specific simulation environ-
ment.
The absence of this clear separation leads to fuzzy defini-
tions on the one hand and imposes unnecessary limitations
to the development and documentation of multi-agent simu-
lations (especially within teams) on the other hand. Further-
more, this unclear basis complicates the development of al-
ternative simulators which adhere to the same common set of
specifications and provide clearly defined semantics. As also
noted above, often an unclear separation between simulation
time and execution paradigm prevails. Thereby, the applica-
bility of the model is unnecessarily limited and the use of
efficient techniques (e. g. event-based simulation) is rendered
impossible.
3. A REFERENCE MODEL FOR AGENT-
BASED MODELING AND SIMULATION
3.1. Requirements and Basic Ideas
Based on the presented current status of research, this sec-
tion sums up the main requirements on a reference model and
the intended targets.
3.1.1. Separation of Concerns.
The key idea which will be followed throughout the whole
approach is the strict separation of concerns. This will not
only significantly reduce the complexity of the single parts
but will also provide the necessary basis for future work on
distributed development and execution.
As this strict separation of concerns is the basic underly-
ing idea and key requirement, it is important to define pre-
cisely which concerns shall be separated. On the highest level
the agent-based model itself, the simulation of this model
and the actual simulator have to be distinguished. The agent-
based model describes the entities and the interplay of these
in a common environment. Based on the (static) agent-based
model, it has to be defined what is meant by the simulation
of this model. This includes especially the behavior of a sin-
gle agent and the combination of multiple possibly conflict-
ing agents. The simulator itself is not part of the reference
model, as a multitude of simulators can be thought of (e. g.
sequential or parallel) which all adhere to the same seman-
tics. At this point, it should be noted that the requirements on
the simulator are defined via the semantics of the simulation.
As long as a simulator works accordingly to the semantics of
the simulation (as defined in the following), the simulator is
considered to be valid.
At this point, it should be mentioned that DEVS (Discrete
Event System Specification) strictly distinguishes between
the model and the simulator. In this context, especially the
extensions of DEVS with regard to agent-based models pro-
vide a lot of valuable suggestions [11, 5].
3.1.2. Decoupling of Simulation Time.
In line with the separation of concerns, the simulation time
has to be modeled explicitly and completely independent,
i. e. without restrictions to issues like stepwise execution, etc.
The way the time progresses during a simulation (e. g. time-
stepped, event-based) is completely handled by the specific
simulator and can be implemented rather arbitrarily as long
as the simulator is conforming to the specification as laid out
in the following subsections.
B
FForest
Burning forest
Burned forest
Watered forest
Figure 1. The example scenario consists of a grid world with
five different cell types (empty, forest, burning, burned, wa-
tered) and two agents: a fireman (F) and a firebug (B).
3.1.3. Abstraction from Specific Agent Architectures.
The internal structure of the agents themselves (e. g. agents
based on the BDI-architecture) is not of interest in the context
of this work. Nevertheless, as “nearly all systems .. . con-
stitute a definite intra-agent architecture” [1], the reference
model must be able to represent the various different agent
architectures.
3.1.4. Actions.
Each agent is capable of executing a number of actions
(depending on his sensors and effectors). All actions of the
agents can have a duration and may interfere with each other.
Combined with an explicit time model this imposes espe-
cially that different actions can have different durations which
need not to be a multiple of some common smallest time step.
3.1.5. Environment.
The environment is seen as a mostly passive background
providing the common playground for the agents. Neverthe-
less, the environment can generate events which can be per-
ceived by the agents. In this context it is important to men-
tion that the agents have to perceive their environment explic-
itly and that this perception (depending on the model purpose
and the agents sensors) can be erroneous (cp. internal model
in [12, 11]).
3.2. Example Use Case
To illustrate the proposed reference model, a simple exam-
ple of a fireman fighting against fire spreading in a landscape
is chosen (see figure 1). Inspired from [3] and [7], the scenario
also contains a firebug. We have to represent the landscape
made of empty spaces and forests with its dynamics of fire
occurrence and spreading. We assume that the firebug wan-
ders around randomly and ignites some forest with a given
(low) probability. As long as no fire is detected, the fireman
is waiting at his current position. If a fire occurs, he moves
towards the fire. When on a burning place, he waters the sur-
face.
Agent-based model
Model world
Time Environment Rules
Events Entities
Agents
Body Actions Processes
Objects
Figure 2. The basic elements of an agent-based model.
3.3. Definition of an Agent-Based Model
In the following, a definition of an agent-based model is
presented which forms the basis of the proposed reference
model for agent-based modeling and simulation.
Definition 1 (Agent-based model) An agent-based model is
a 3-tuple ABM = (MW,ENT,EV )of the model world MW ,
the entities EN T and the events EV .2
The above mentioned main components and the resulting
composition of an agent-based model are shown in Fig. 2.
All components of the so-defined agent-based model are de-
scribed in detail in the following sections.
3.3.1. Model World.
The model world defines the common surrounding of all
agents within a model. The model world MW = (T,E,R)
consists of the specifications of the time and the environment,
as well as the common rules and laws.
The domain of the simulation time Tmay be arbitrary and
depends only on the model purpose (e. g. discrete or contin-
uous). The only restriction which is imposed on the simula-
tion time is that it has to be totally ordered (i. e. antisymmetry,
transitivity and totality are fulfilled), cp. [17, p. 99f.]. The def-
inition of simulation time in this generality imposes the least
constraints on the further modeling of the event handling and
agent behavior. Keeping in mind the central idea of the ap-
proach of separating the concerns, this general definition of
simulation time allows the designers of different parts (e. g.
different kinds of agents) to use time models which are best-
suited in their case, as long as the the overall simulation time
is a superset of all locally used time sets.
Example The time is chosen to make use of a discrete do-
main, i. e. T=N. In this example, a single time step repre-
sents an interval of 1 second. /
In order to define the actions of a single agent and the in-
terplay between multiple simulated agents, the common en-
vironment needs to be defined. As an abstraction of the real
environment, the environment Edenotes the common space
in which the agents can act. As for the simulation time, the
restrictions regarding the environment are quite low: the sim-
ulated environment may be discrete or continuous, bounded
or unbounded and can be of arbitrary dimension (also often
2-d or 3-d is used). As suggested before, the environment is at
the current state assumed to be mainly passive, but of course
changeable.
In order to allow processes within the environment, the
concept of locations is introduced. A location simply denotes
some connected space within the environment. The set of all
possible locations is denoted by L. Each location may be as-
sociated with a set of properties pidescribing this location
(e. g. temperature, humidity):
pi:LDiwith iN(1)
In this case, Diis just a placeholder for the actual domain
of the specific property (e. g. degree Celsius for temperature
might use discrete values in [40,50], while humidity in per-
cent may use continuous values in [0,100]).
Besides these properties, each location may be associated
with currently occuring environmental actions:
ai:LenvActions (2)
The set envActions denotes the possible environmental ac-
tions. Each action aenvActions has a duration and may
change the environment (e. g. burning trees) as well as the
location itself (e. g. spread of fire).
Example The environment is modeled as a rectangular grid
of cells. A cell can be of one of the following types: empty,
forest, burning, burned, watered. Each cell has a property
pTrees denoting how many living trees are on this cell. The
burn-action decreases pTrees by one in each time step until ei-
ther no trees are left or the fire is extinguished. The fire does
not spread to neighboring cells. /
Rules determine the conditions under which actions are in
conflict with each other (e. g. collision of agents) and rep-
resent general laws of the model world (e. g. gravitational
force). The set of all rules is denoted by R. Rules are an es-
sential part of the overall model and can be modeled in vari-
ous ways (propositional logic, first-order logic, . . . ). It is as-
sumed, that all rules and laws are given in an appropriate form
and that they can be evaluated in the required ways.
3.3.2. World Events.
A world event represents an event occurring in the sim-
ulated environment. As such, world events are part of the
agent-based model. The set of all possible types of events
which can possibly occur is denoted by EV . In other words,
EV does not denote the actual events themselves but the dif-
ferent kinds of events (e. g. environmental, action, communi-
cation, . . .) which are suitable within a specific model.
It is important to stress that each event ehappens at a spe-
cific point in time teT. Events do not have any duration
which means that all events are consumed in the same mo-
ment they occur. Multiple events may occur at the same point
in time, furthermore all events are distinguishable and can
be associated with specific properties (e. g. type of the event,
area of influence).
World events usually trigger some kind of action in the
influenced agents. In order to avoid confusion, it should be
mentioned explicitly in this place, that the world events are
not identical to the events known from event-driven simula-
tion. This concerns especially the implementation of an actual
simulator: A specific implementation of the proposed agent-
based simulation may be event-driven, but does not need to
be. The simulator could as well use a time-stepped approach,
as long as all definitions and specifications laid out in this
reference model are fulfilled.
3.3.3. Agents and their Behavior.
Generally speaking, every multi-agent simulation consists
of an environment and multiple entities interacting in it. In
this sense, an entity can either be an (actively acting) agent or
a (widely passive) object.
Definition 2 (Entity set) The tuple E NT = (A,O)denotes
all entities which are part of the model. Adenotes the set of
all agent types, Othe set of all objects. 2
As it is common agreement within the agent community that
an agent consists of a body and a behavior (cp. [10, 5]), this
distinction is also adopted for this approach. The agents body
defines its physical dimensions, the number and placement of
its sensors as well as its effectors. Although these bodily as-
pects can’t be completely separated from the possible actions,
of course, the focus is mainly on the behavioral modeling of
an agent and therefore bodily properties will be omitted at the
moment.
On an informal basis the behavior of a single agent is de-
termined by the following aspects:
Each agent is capable of executing various actions.
Each action consumes a specific amount of time.
The actions of an agent can be combined to processes.
Processes of an agent may be executed concurrently.
This informal description of an agent does not include the
event handling, i. e. the occurrence of an event can influence
an agent and usually triggers some kind of action within the
agent. Keeping this in mind, the given informal description
fits well with the requirements stated by Braubach, that any
multi-agent architecture has to support the creation and dele-
tion of agents, that agents are comprised of a number of par-
allel tasks and that agents may receive messages from other
agents resulting in a change of their behavior [1].
Definition 3 (Agent) An agent A Ais defined as the tuple
A= (B,A,P)with Brepresenting all bodily properties, Ade-
noting the agents actions and Pbeing the set of all processes
of this agent. 2
At any instant of time, each agent has a well-defined state
which exactly describes all the properties of the agent as well
as his embedding in the model world at this time. Therefore,
this definition of state applies a somewhat omniscient view
and assumes perfect knowledge. It has to be very clearly dis-
tinguished from possible internal states and knowledge of the
agent itself (which may be incorrect or incomplete, or both).
Definition 4 (State of an agent) Given an agent A, its state
at time tis denoted by St(A).2
The expression St(A)should not be interpreted as a function
of A, but more as a shortform of St(ABM|A), i. e. the state
at time tof the agent-based model ABM focused on agent A
(=projection on A).
Describing an agent bottom-up, the primary concept to be
defined are the actions. The term action denotes some atomic
action on the level of a single agent which eventually makes
use of some of the agents sensors and effectors. The set of all
possible actions of an agent is denoted by A. As long as the
context is clear, additional superscripts like AAfor denoting
that the actions of agent Aare meant are omitted.
The actions of an agent can be thought of as the basic build-
ing blocks, e. g. simple controller actions. Each action can di-
rectly affect a subset of the sensors and effectors of the agent,
although these relations are not investigated in full detail for
the time being. Another possibility are actions which are not
affecting the bodily parts of the agent (i. e. sensors and effec-
tors) but trigger some built-in mental actions (e. g. some kind
of reasoning).
Definition 5 (Execution of an action) An action aAmay
either succeed or fail. If astarts execution in t0and if aex-
ecutes successfully, aterminates at t0+tsucc(a)with tsucc(a)
denoting the duration of action a. If afails, the execution is
aborted at t0+tfail(a)with tfail (a)denoting how long ahas
been executed before failing. 2
An action can only fail to execute (i. e. be interrupted) by
means of influences from outside (e. g. some conflict with
an action of another agent). Each action (either successful or
failed) implies a state change:
St(ABM)×a St+t(a)(ABM)(3)
The actual nature of this state change, especially in the case
of failed actions is defined by the rules of the model world. A
possible set of rules could define, that actions are treated like
transactions and therefore are executed as a whole or not at
all. Another possibility if an action afailed would be that the
result of an partial execution of ais computed.
Example Fireman-Agents are capable of three actions:
View: Perceive environment, duration: 1 timestep.
Move: Move to next cell (in direction of the closest fire),
duration: 1 timestep.
Water: Use water to extinguish fire at the current cell,
duration: 4 timesteps.
Firebug-Agents are only capable of the following actions:
RandomMove: Move randomly to a neighboring cell,
duration: 1 timestep.
MakeFire: Ignite current cell with probability 0.1,
duration: 1 timestep. /
Example 2 Another example for actions would be the re-
presentation of agent communication by two corresponding
actions (e. g. Send and Receive). In this way, agent communi-
cation can be integrated in a consistent manner. /
As noted above, the actions of an agent can be combined
to form more complex behavior patterns, so-called processes.
The processes of the agents are activated by events, which in
turn can activate multiple processes (of eventually multiple
agents depending on the type and region of influence of the
event).
Definition 6 (Process) A process Pof an agent is a 3-tuple
P= (EVactivate ,fact,fsucc )with
EVactivate EV being the set of events activating this
process.
fact :EVactivate A a choosing the first action to ex-
ecute depending on the specific activation event. ade-
notes a special action without duration indicating the end
of the current process.
fsucc :AA a being the transition function leading
from one action to the next if the current action was ex-
ecuted successfully. 2
It is obvious that the given definition of a process describes
only its structure (=syntax). As is common in various other
branches of computer science the definitions of syntax and
semantics, i. e. in this case of the structure and the execution
of a process, are strictly separated.
Definition 7 (Execution of a process) Given a process P
which receives an event eEVactivate at time t0T, the exe-
cution of Pis defined as follows: Let fact (e) = anow:
1. If anow =a,Pfinishes successfully at t0.
2. Begin execution of anow at time t0.
3. If execution of anow is successful, t0=t0+tsucc (anow),
anow =fsucc(anow )and continue with step 1.
If execution of anow failed, Palso fails at t0+tfail(anow )
and the execution of the process terminates. 2
By this definition, each process remains active until either the
process finishes successfully or terminates because of a fail-
ure.
Example The Firebug-Agent is capable of the actions A=
{RandomMove, MakeFire}. The Wander-Process is now de-
fined as follows:
EVactivate ={start}with start denoting the “birth”-event
of the agent.
fact (start) = RandomMove
fsucc(RandomMove) = MakeFire
fsucc(MakeFire) = RandomMove /
Example 2 With regards to agent communication, the
Send-Action of an agent might trigger a Communication-
Event, which in turn activates the Receive-Process of another
agent. /
Recalling the above given definitions, an agent is com-
prised of actions which in turn can be combined to concur-
rently executed processes. The execution of an agent Ais then
defined as the response to incoming events: given an incom-
ing event, the execution of an agent involves mainly relaying
this event to all relevant processes.
Definition 8 (Behavior of an agent) Given an agent A
which receives an event eat time t0T, the execution of A
(i. e. its behavior) is defined as follows:
1. Let Pact be the subset of the processes Pof an agent
which are activated by the event e. Formally: Pact =
SPPA|eEV P
activate P.
2. All processes PPact receive eat time t0and are exe-
cuted according to the definition given above. 2
3.4. Simulation of an Agent-Based Model
The proposed reference model does not impose any re-
quirements on how to implement or realize the handling of
events. On the contrary, the only requirement is that the sim-
ulation environment (= the simulator) adheres to the given
definitions and assures that all events are processed correctly.
Definition 9 (Processing an event) Given the set of agents
A, an event eoccurring at time tTis processed as follows:
1. For each agent AAthe set of all events to which the
agent Aresponds in some way is denoted by EV A
activate =
SPPAEV P
activate .
2. All agents AAwith eE V A
activate receive eat time
t0and are executed according to the definition given
above. 2
This definition assures that each event eis relayed without
delay to all agents able to respond to this event. All further
processing is already defined by the semantics of processes
and actions.
Given the definition of an agent-based model, the mean-
ing of simulation of such a model can now be defined in an
appropriate way.
Definition 10 (Multi-Agent Simulation) Given an agent-
based model ABM as defined previously, i. e. ABM =
(MW,ENT,EV ), the simulation Sis defined with respect to
some specific time interval [t0,t1]as the correct processing of
the set of all events {e1,...,en} EV occurring within this
interval, i. e. the simulation of ABM is said to be correct, iff
all events occurring in this interval are processed correctly
and all agents are executed correctly. 2
Therefore, if the model ABM is assumed to be in state ABM0
in t0and ABM1in t1, a simulation can be seen as the state
transition S:ABM0× {e1,...,en} ABM1of the underlying
model.
4. CONCLUSION AND OUTLOOK
A novel and general approach for describing a multi-agent
simulation is presented with a strong emphasis on the cen-
tral idea of a clear and strict separation of different concerns.
As laid out briefly in the beginning of this paper, a survey of
existing approaches for (formally) describing a multi-agent
simulation revealed that the formal basis of this simulation
paradigm is amazingly weak. Based on the commonalities
and missing points of the investigated approaches, the re-
quirements concerning a reference model are worked out.
The proposed reference model defines what is to be un-
derstood by an agent-based model and subsequently by the
simulation of this model. The agents are modeled via actions
and concurrently executed processes. Thereby, no specific
agent architecture is enforced, and various agent architectures
should fit within the proposed approach. A very simple exem-
plary use case is shown; while the general applicability of the
proposed reference model as well as the compatibility with
the various agent architectures still needs to be demonstrated.
On the other hand, a reference implementation for a sequen-
tial simulator revealed a direct transferability of the given def-
initions into executable code.
What has to be done still, is to complete the evaluation of
the devised reference model. This includes especially an in-
vestigation about the completeness of the formalism, i. e. if
the presented approach is applicable for a wide range of real-
world models with sufficient detail. This evaluation will also
reveal whether the proposed approach needs to be formal-
ized more strongly. Furthermore, the differences and analo-
gies with traditional paradigms like Discrete Event Simula-
tion have to be worked out and integrated smoothly into the
proposed approach.
In the long run, the presented approach will serve as the ba-
sis for the parallel execution of agent-based simulations. This
includes especially the challenge that agent-based models are
designed exactly once and without taking care of the actual
simulator executing the simulation. Each simulator adhering
to the defined semantics will deliver the same results, poten-
tially making use of a parallel execution.
REFERENCES
[1] L. Braubach, A. Pokahr, W. Lamersdorf, K.-H. Krem-
pels, and P.-O. Woelk. A Generic Simulation Service
for Distributed Multi-Agent Systems. In R. Trappl, edi-
tor, Cybernetics and Systems 2004, pages 576–581, Vi-
enna, 2004. Austrian Society for Cybernetic Studies. 3-
85206-169-5.
[2] A. Helleboogh, G. Vizzari, A. M. Uhrmacher, and
F. Michel. Modeling dynamic environments in multi-
agent simulation. Autonomous Agents and Multi-Agent
Systems, 14(1):87–116, February 2007.
[3] X. Hu, A. Muzy, and L. Ntaimo. A hybrid agent-cellular
space modeling approach for fire spread and suppres-
sion simulation. In M. E. Kuhl, N. M. Steiger, F. B.
Armstrong, and J. A. Joines, editors, Proceedings of
the 2005 Winter Simulation Conference, pages 248–255.
ACM, December 2005.
[4] N. R. Jennings, K. Sycara, and M. J. Wooldridge. A
Roadmap of Agent Research and Development. Au-
tonomous Agents and Multi-Agent Systems, 1(1):7–38,
March 1998.
[5] F. Kl¨
ugl. Towards a Formal Framework for Multi-Agent
Simulation Models. Technical report, Institute of Com-
puter Science, University of W¨
urzburg, April 2007.
[6] F. Kl¨
ugl, M. Fehler, and R. Herrler. About the Role of
the Environment in Multi-agent Simulations. In Weyns
et al. [15], pages 127–149.
[7] J.-P. M¨
uller. Towards a formal semantics of event-
based multi-agent simulations. In Proceedings of
the 9th International Workshop on Multi-Agent-
Based Simulation, 2008. Not published yet. http:
//mabs2008.dcti.iscte.pt/revised_for_
pre_proceedings/23Muller.pdf.
[8] J. Odell, H. V. D. Parunak, M. Fleischer, and S. Brueck-
ner. Modeling Agents and Their Environment. In
F. Giunchiglia, J. Odell, and G. Weiss, editors, Agent-
Oriented Software Engineering III, volume 2585 of Lec-
ture Notes in Computer Science, pages 16–31, Berlin,
Heidelberg, 2003. Springer-Verlag. doi:10.1007/3-540-
36540-0 2.
[9] S. J. Russell and P. Norvig. Artificial Intelligence A
Modern Approach. Pearson Education, Inc., 2 edition,
2003.
[10] M. Scheutz and P. Schermerhorn. Adaptive algorithms
for the dynamic distribution and parallel execution of
agent-based models. Journal of Parallel and Distributed
Computing, 66(8):1037–1051, August 2006.
[11] A. M. Uhrmacher. Dynamic Structures in Modeling and
Simulation: A Reflective Approach. ACM Transactions
on Modeling and Computer Simulation, 11(2):206–232,
April 2001.
[12] A. M. Uhrmacher and R. Arnold. Distributing and
Maintaining Knowledge: Agents in Variable Structure
Environments. In Proceedings of the Fifth Annual Con-
ference on AI, Simulation, and Planning in High Auton-
omy Systems, pages 178–184. IEEE Computer Society
Press, December 1994.
[13] G. Wagner. AOR Modelling and Simulation: To-
wards a General Architecture for Agent-Based Dis-
crete Event Simulation. In P. Giorgini, B. Henderson-
Sellers, and M. Winikoff, editors, Agent-Oriented Sim-
ulation Systems, volume 3030/2004 of Lecture Notes in
Computer Science, pages 174–188, Berlin, Heidelberg,
2004. Springer-Verlag.
[14] D. Weyns and T. Holvoet. Model for Situated Multi-
Agent Systems with Regional Synchronization. In 10th
International Conference on Concurrent Engineering,
Agent and Multi-Agent Systems. Balkema Publishers,
July 2003. CE’03.
[15] D. Weyns, H. V. D. Parunak, and F. Michel, editors.
Environments for Multi-Agent Systems, volume 3374 of
Lecture Notes in Computer Science, Berlin, Heidelberg,
2005. Springer-Verlag.
[16] D. Weyns, H. V. D. Parunak, F. Michel, T. Holvoet, and
J. Ferber. Environments for Multiagent Systems State-
of-the-Art and Research Challenges. In Weyns et al.
[15], pages 1–47.
[17] B. P. Zeigler, H. Praehofer, and T. G. Kim. Theory of
Modeling and Simulation Integrating Discrete Event
and Continuous Complex Dynamic Systems. Academic
Press, San Diego, 2 edition, 2000.
... • Step 3: The descriptive modeling step for building a reference model that is a rigorous, systematic analysis of a model's relevance and consistency with observed behavior and data to ensure that it is fit for purpose [66]. The process of female visiting the Holy Rawda can be divided into three areas, as in Figure 6, each with distinct attributes and a specific capacity. ...
Article
Full-text available
Managing a high-density crowd is challenging, especially when space is limited, due to increased risk of crowd disasters. There are many considerations to lower disaster risk and ensure crowd safety such as infrastructure, facility, staff, emergency response plan, education and awareness. This paper investigates capacity management, which is the most critical consideration when space is limited. Discrete event simulation (DES) technique is highly adept at reproducing complex real-world operations and can incorporate numerous sto-chastic variables, thereby improving its effectiveness in decision-making. The objective of this study is to assess capacity utilization of small space through formulating space features and crowd dynamic with a DES model. The model is intended to provide support for informed decision-making process related to capacity management. A real case study about a high-density crowd visiting the Holy Rawda was employed. The data related to the visiting parameters and visit experience KPIs were captured through a range of interviews and actual visits. Comparing the results of the simulation scenarios against the proposed KPIs had a surprising result, there is only 79% utilization of the area, although, intensive high-density crowd were featured during all the visits. It means better management of the crowd may allow 21% more visitors to visit the Holy Rawda.
... • Step 3: The descriptive modeling step for building a reference model that is a rigorous, systematic analysis of a model's relevance and consistency with observed behavior and data to ensure that it is fit for purpose [66]. The process of female visiting the Holy Rawda can be divided into three areas, as in Figure 6, each with distinct attributes and a specific capacity. ...
Article
Full-text available
Managing a high-density crowd is challenging, especially when space is limited, due to increased risk of crowd disasters. There are many considerations to lower disaster risk and ensure crowd safety such as infrastructure, facility, staff, emergency response plan, education and awareness. This paper investigates capacity management, which is the most critical consideration when space is limited. Discrete-event simulation (DES) technique is highly adept at reproducing complex real-world operations and can incorporate numerous stochastic variables, thereby improving its effectiveness in decision-making. The objective of this study is to assess capacity utilization of small space through formulating space features and crowd dynamic with a DES model. The model is intended to provide support for informed decision-making process related to capacity management. A real case study about a high-density crowd visiting the Holy Rawda was employed. The data related to the visiting parameters and visit experience KPIs were captured through a range of interviews and actual visits. Comparing the results of the simulation scenarios against the proposed KPIs had a surprising result, there is only 79% utilization of the area, although, intensive high-density crowd were featured during all the visits. It means better management of the crowd may allow 21% more visitors to visit the Holy Rawda.
... For this reason, the simulation is used as an important decision support tool to analyse all processes of the warehouse that are dynamic and stochastic in nature. They are commonly used to model decentralized controls where a large number of heterogeneous objects with individual behaviours and their interactions with other objects have to be considered [16]. A typical agent-based model has three elements [17]: ...
Article
Full-text available
In today's fluctuating business environment, flexibility, responsiveness, and reconfigurability in the field of warehousing systems are key characteristics as well as the level of automation, cost effectiveness and maximum throughput. The miniload multishuttle system represents relatively a new scalable automated storage and retrieval solution which provides considerable flexibility for adapting throughput capacity to meet market needs. The miniload multishuttle system comprises autonomous vehicles (shuttles), lifts, and a system of rails that facilitate movement of the vehicles in the x and y dimensions in a tier. In this new technology, the shuttles can be moved between different tiers by means of shuttle lifts. Especially in large and complex material flow systems, the modeling problem arises with the interactions between transactions and the collisions between shuttles. An agent-based simulation approach that differs from discrete-event simulation (DES) offers an alternative way to model the autonomous control of the multishuttle system. This research develops a simulation model for the miniload multishuttle order picking system using the multi-agent modeling approach. The main objective of this paper is to create a detailed simulation model and to evaluate the performance of the system in order to support in design process of miniload multishuttle order picking systems.
... Weitere Details zu dem skizzierten Referenzmodell werden in [8] dargelegt. ...
Article
Zur Simulation komplexer Systeme erlangt die agentenbasierte Modellierung und Simulation zunehmend mehr Bedeutung. Um den steigenden Anforderungen hinsichtlich Komplexität, Detailgrad und Größe der Simulationsmodelle auf der einen Seite und einer effizienten Modellierung und Ausführung auf der anderen Seite gerecht zu werden, ist eine sinnvolle De-komposition unabdingbar. Aufbauend auf der Erkenntnis, dass die Grundlagen der Multi-Agenten-Simulation im Vergleich zu anderen Simulationsparadigmen jedoch erstaunlicherweise zur Zeit noch relativ schwach ausgeprägt sind, wird die Not-wendigkeit für einen allgemeinen Ansatz zur Definition und Beschreibung einer Multi-Agenten-Simulation dargelegt. Hier-auf aufbauend wird ein möglicher Ansatz skizziert und dient als Basis für die Vorstellung der Idee einer Laufzeitumgebung für Multi-Agenten-Simulationen, welche eine einheitliche Semantik auf den unterschiedlichsten Plattformen von Einzelplatz-PCs bis hin zu großen verteilten Computersystemen gewährleistet. Abschließend werden beispielhaft erste Erkenntnisse aus der Realisierung einer Referenzimplementierung vorgestellt.
... The development of the JFS model [6] is inspired by the domain specific information age combat model [3], [4] and follows closely the General Reference Model for Agent-Based Modeling and Simulation (GRAMS) [7], [8]. Therefore, the description of the model presented here is structured according to the GRAMS reference model. ...
Chapter
Full-text available
We present an agent-based model to compare different coordination patterns in joint fire support (JFS) scenarios. Modern warfighting approaches depend heavily on a separation of concerns (like reconnaissance, coordination and engagement) and therefore impose high requirements on the coordination of all involved parties. Following the General Reference Model for Agent-Based Modeling and Simulation (GRAMS), we present an agent-based model of this problem domain. Our simulations indicate that decentralized JFS coordination leads to smaller average times from identification of a target to final engagement, while at the same time requiring extensive resources. Central coordination is more effective in terms of engaged units and reduced resource requirements, but tends to take more time.
... The development of the JFS model [6] is inspired by the domain specific information age combat model [3], [4] and follows closely the General Reference Model for Agent-Based Modeling and Simulation (GRAMS) [7], [8]. Therefore, the description of the model presented here is structured according to the GRAMS reference model. ...
Conference Paper
Full-text available
This paper presents an agent-based model to compare different coordination patterns in joint fire support (JFS) scenarios. Modern war fighting approaches depend heavily on a separation of concerns (like reconnaissance, coordination and engagement) and therefore impose high requirements on the coordination of all involved parties. Following the General Reference Model for Agent-Based Modeling and Simulation (GRAMS), we present an agent-based model of this problem domain. Our simulations indicate that decentralized JFS coordination leads to smaller average times from identification of a target to final engagement, while at the same time requiring extensive resources. Central coordination is more effective in terms of engaged units and reduced resource requirements, but tends to take more time.
Article
Full-text available
Agent-based modeling (ABM) is a flexible and simulation-friendly modeling approach. Ambient-oriented modeling is effective for systems containing ambient and spatial representations. In this paper we propose a framework for the integrated use of agent-based modeling and ambient-oriented modeling. We analyze both agents and ambient in detail. We also compare both modeling approaches as well and analyze their similarities and differences. The integrated implementation provides a new link between mathematical modeling and simulations. The model developed using this framework has four parts. The first part constitutes the identification, definition, and relations of agents. In this part, we use agent-based modeling along with the concepts of discrete-event simulations and system dynamics. The second part of the model is the mathematical representation of the relations of agents, i.e., the parent and child relation of agents. The third part of the model is the representation of the messages along with relational symbols where we utilize the concepts and symbols of relations and messages from ambient-oriented modeling. The fourth and final part of the model is the simulation, where we describe the rules that govern the processes represented in first two parts. The framework is helpful in overcoming certain limitations of both approaches. Moreover, we provide a scenario of a bus rapid transit system (BRTS) as a proof of concept, and we examine the generic concept of BRTSs using the proposed framework.
Chapter
Agent-based modeling has been widely applied to solve problems in contexts ranging from exploratory research studies to focused industrial practice. As the application of agent-based modeling has grown, developers have advocated a wide and diverse variety of development techniques. Some of these techniques inform elements of model creation, validation, or use. Others are comprehensive development methodologies. The popularity of agent-based modeling makes it impossible to include every development technique mentioned in the literature. Instead, this paper focuses on providing a representative sample that includes the techniques with the most practical utility along with those that are widely used or have received substantial attention. The sample reviewed in this paper includes techniques advocated specifically for agent-based modeling along with general software development approaches. Due to their importance, verification and validation techniques for agent-based modeling are specially highlighted. The paper concludes with a summary and recommendations on how best to build agent-based models.
Conference Paper
The basic prerequisite for methodological advance in Multi-Agent Based Modelling and Simulation is a clear, ideally formally-grounded, concept of our subject. A commonly accepted, implementation-independent meta-model may improve the status of MABS as a scientific field providing a solid foundation that can be used for describing, comparing, analysing, and understanding MABS models. In this contribution, we present an attempt formalizing a general view of MABS models by defining the AMASON meta-model that captures the basic structure and dynamics of a MABS model.
Conference Paper
In times of ever increasing power feed-in from fluctuating renewable power sources like wind and solar power it increases the need for more storage capacity to compensate such fluctuations. Electric vehicles (EVs) are often described as a possible way to provide this storage capacity. To make the storage of EVs available in a reasonable manner an energy management system is needed. In our research projects RegModHarz and Harz.EE-mobility it is analysed how EVs can support higher renewable energy integration for the rural region Harz. This model region is also subject of the presented work. In this paper an agent based simulation model for EVs is presented to show the impact of managed EV charging. The model has three main focuses. At first the model must reproduce reasonable user behaviour like driving characteristics. The second focus is to model the electrical characteristics of the EV. In last focus is the simulation of a decentralized EV energy management.We present a modular and extendable simulation framework with which we are able to model a precise simulation of a great amount of EVs for the region Harz. With a detailed EV simulation model we are able to display that EVs will produce seasonal dependent energy consumption. We show that a decentralized load management of these EVs reduces residual load fluctuations and therefore helps to increase the integration of renewable energy into the grid.
Article
Full-text available
As the number of flexible, adaptable systems grows so does the need for specification and analysis tools that support adaptable system structures. The increasing number of simulation tools that equip models with the capability of changing their behavior patterns, composition, and interactions raises the desire for a theoretical and methodological approach. A formalism is introduced based on DEVS which emphasizes the reflective nature of variable structure models. The proposed formalism and DEVS are shown to be bisimilar, which emphasizes the role of variable structure models as an agency of modularization. The formalism is used to reveal general problems and solutions in implementing variable structure models.
Article
Full-text available
Multi-Agent Simulation can be seen as one of the most successful applications of multi-agent technology. However, for a wide dissemination beyond social science simulations, the formal conceptualization of Multi-Agent Simulation models has to be improved, especially in comparison to other microscopic simulation paradigms like queueing networks, cellular automata, object-oriented simulation, etc. Then, it would be clearer to point to the advantages of agents, models could be specified and documented in a complete and sharable way and – a not negligible aspect – it could be teached in a more concise way. In this contribution, a first attempt of a generic formal framework that allows for precisely talking about the components of a Multi-Agent Simulation will be given and discussed.
Article
Full-text available
Multi-agent systems are well suited for building large software systems. A great deal of these complex systems includes process flows that are concerned with time or are even time-critical. The activities of these process flows are often executed in distributed autonomous subsystems that have to be synchronized with respect to the superordinated task execution. To be able to build such systems and test their behaviour ad-equately, it is often advantageous and sometimes necessary to simulate them in the run-up to their practical use. Testing and simulation of process flows within multi-agent systems requires syn-chronization of the participating agents with re-spect to the global simulation time. In this paper, a design proposal and a service implementation for testing and simulation is presented, which takes care of the special requirements imposed by multi-agent settings. This so called time ser-vice is implemented as a FIPA-compliant agent, and can be used to couple heterogeneous subsys-tems implemented on different agent platforms.
Article
Full-text available
Without an environment, an agent is effectively useless. Cut off from the rest of its world, the agent can neither sense nor act. An environment provides the conditions under which an entity (agent or object) can exist. It defines the properties of the world in which an agent will function. Designing effective agents requires careful consideration of both the physical and communicational aspects of their environment. Two issues exists for understanding environments: 1. Every agent has an environment, no matter what the agent's philosophy or architecture is. 2. Being aware of the agent's environment enables its designer to get more powerful interaction via architecture-dependent means. 1.
Article
Full-text available
We propose a framework for defining agent-based models (ABMs) and two algorithms for the automatic parallelization of agent-based models, a general version P-ABMG for all ABMs definable in the framework and a more specific variant P-ABMS for “spatial ABMs” targeted at SWARM and ANT-based models, where the additional spatial information can be utilized to obtain performance improvements. Both algorithms can automatically distribute ABMs over multiple CPUs and dynamically adjust the degree of parallelization based on available computational resources throughout the simulation runs. We also describe a first implementation of P-ABMS in our SWAGES environment and report both results from simulations with simple SWARM agents that provide a lower bound for the performance gains achievable by the algorithm and results from simulations with more complex deliberative agents, which need to synchronize their state after each update cycle. Even in the latter case, we show that in some conditions the algorithm is able to achieve close-to-maximum performance gains.
Book
Ten years ago, researchers in multi-agent systems became more and more aware that agent systems consist of more than only agents. The series of workshops on Environments for Multi-Agent Systems (E4MAS 2004-2006) emerged from this awareness.One of the primary outcomes of this endeavor was a principled understanding that the agent environment should be considered as a primary design abstraction, equally important as the agents. At AAMAS 2014 in Paris, researchers in the E4MAS domain organized a workshop on E4MAS – 10 Years Later with the following aims: (1) to reflect on the past 10 years of research and engineering on agent environments for multi-agent systems; (2) to investigate to what extent the challenges identified a decade ago have been tackled; (3) to outline challenges for future research on a short and longer term. This book reports the results of the workshop and subsequent efforts. We start with a roadmap paper that consolidates knowledge from past research and from these insights defines a path for future research in the field. The roadmap focusses on three particularly relevant topics of modern software intensive systems from the viewpoint of agent environments for multi-agent systems: the large scale of systems, the openness of systems to deal with parts that enter and leave the system dynamically, and humans in the loop that interact with the system. After the roadmap follow 13 contributions that span a wide variety of topics grouped in four parts. The first part presents three papers on the connection between agents, environments, and humans. The second part contains a set of interesting papers on environments for complex and stigmergic systems. The third part presents four papers on virtual and simulated environments. Finally, the fourth part concludes with two papers on open agent environments and interoperability. All papers presented in this volume were carefully reviewed. We are grateful to all those who contributed to the successful organization of E4MAS 2014, in particular, the Program Committee, the AAMAS Committee, and the local organizers. We hope that the papers of this volume will stimulate further research in agent environments for multi-agent systems and contribute to enhancing engineering practice.