<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multiagent Simulation Model Design Strategies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Franziska Kl u¨gl</string-name>
          <email>franziska.klugl@oru.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Science and Technology O</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Model design is particularly challenging for multiagent simulation models as the simulation paradigm does hardly impose constraints on it. This contribution systematically analyzes procedures for developing a multi-agent simulation model: iterative methods derived from principles, such as KISS or KIDS and methods focussing on the different design elements (agents, interaction, environment).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        • Determining the appropriate level of detail is everything
else but trivial. Actually, it is the basic design problem
to determine what behavior shall be included or which
factors ignored.
• Thinking in terms of agents can also be a problem when
the modeler is used to other paradigms, such as
processoriented or macro modeling. Then an interaction-oriented
model for generating the aggregate behavior instead of
describing it, may be difficult to design.
• The general intuitiveness of the modeling leads to a
tendency of ad-hoc development. This is supported by
visual programming tools such as SeSAm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Modelers
immediately start implementing instead of thinking about
an appropriate design beforehand.
• Necessary effort for understanding and analyzing the
model and its overall behavior is underestimated. As in a
multi-agent simulation the overall behavior is generated
from the interactions and local behavior of agents, special
effort has to be invested for excluding artifacts originating
from minor bugs at the micro-level – in the agents design
as well as implementation.
• A last issue is the difficult control of the included
assumptions – due to the size of the model and the effort
of developing, a systematic control of the assumptions
taken while modeling has to be done. After modeling all
assumptions can hardly be recapitulated and tested when
they are not explicitly collected while modeling.
      </p>
      <p>
        These are issues mostly in design of a multi-agent model.
Clearly there are others, when considering all phases of
the simulation study. Examples for additional problems are
the need for validation when relevant data is missing, the
difficulties of implementing concurrent processes or technical
problems due to the size of the model and simulation.
Nevertheless the design phase of a modeling and simulation study
is the one the requires the most experience. This is the phase
that is often coined as “art” [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>In this contribution, we are focussing on the issues in model
design and give a systematic view on different procedures. In
the following we will first set the context of our endeavor by
tackling process models for (multi-agent) simulation, as well
as input from agent-oriented software design. Then we will
give procedures for designing a model – one-shot in section
III and iterative in section IV. The contribution ends with a
discussion of the procedures and a short conclusion.
II. METHODOLOGIES AND PROCESSES FOR DEVELOPING</p>
      <p>MULTI-A GENT SIMULATION MODELS</p>
    </sec>
    <sec id="sec-2">
      <title>A. Simulation Study Life Cycle</title>
      <p>
        Phases of a systematic development of agent-based
simulation models have been suggested by several researchers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. While focussing on integration of data or different
roles of participants in the study, their suggestions for
procedures are naturally quite similar to guidelines for general
simulation study development developed by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] or [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
The basic phases are initial works such as fixing the
objective, making a profound analysis of the system or gathering
necessary data and information. This is followed by making
a model concept and elaborating it - this is basically model
design. Model implementation and calibration are additional
phases that are accompanied by analysis and validation phases.
When the model is ready, the simulation study is completed by
deployment runs and documentation and interpretation of the
results. Clearly, bugs and deficiencies discovered in one phase
may require re-working in previous phases. Figure 1 depicts
these basic phases for agent-based simulation development.
The model design phase is highlighted.
      </p>
      <p>It is quite unrealistic to assume that model design can be
finished within one cycle. An iterative procedure for developing
the model is appropriate not only for finding the right level of
detail – starting with a initial model that is developed further
until it is run-able and its dynamics analyzable. Based on the
insight from this analysis, the model is further improved. Such
an overall iterative proceeding is indicated in Figure 1.</p>
      <p>
        This process is very abstract and does not use abstractions
and techniques that are particular for agent-based simulation.
This would be necessary for a more specific simulation life
cycle. In contrast to agent-based software, there is no fully
elaborated meta model describing necessary elements of an
agent-based simulation in general (or even for a particular
domain) in sufficiently concrete detail. Thus, a methodology
comparable to the ones suggested for agent-based software
engineering cannot be given yet. First attempts for a formal
meta model for multi-agent simulation models have been
made, such as in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], but they are not on a level that makes
them usable as a basis for the development of more specific
life cycle models.
      </p>
      <p>Before we will tackle model design and possible iterative
improvement strategies, we will first have a short look on
agent-oriented software engineering where the design of an
agent system is central part of every methodology.</p>
    </sec>
    <sec id="sec-3">
      <title>B. Agent-based Software Engineering</title>
      <p>
        For the development of agent-based software, many
methodologies have been suggested. Clearly, they are based on general
software development phases such as requirements
engineering/analysis, specification/design, etc. These methodologies
rely on appropriate abstractions for representing and analyzing
the agent-based software system. Development then happens
by elaboration of these representations. Many methodologies
have been proposed for guiding the development of
agentbased software based on roles or organizational structures or
focussing on specific agent concepts and architectures, such
as BDI. Good collections can be found for example in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]or
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Comparisons based on benchmarks [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] or features [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
aim at supporting the selection of the appropriate methodology
for a particular problem. We would just like to mention
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] showing how modeling and simulation can be used for
the design of self-organizing agent software. The suggested
procedure has some similarities with the work described in
this paper; yet here the focus lies in simulation applications
with their specific characteristics. Our goal is to deal with a
guideline how to modify the different elements of a model to
finally build a valid simulation model.
      </p>
      <p>Although there are profound differences between
agentbased software and agent-based simulation – such as the
correspondence to an original system ensured by validation
or the inclusion of a simulated environment in addition to the
simulation environment – the abstractions used for designing
the software system may also be useful for designing a
simulation model. This is especially the case when real-world
organizational structures are used or folk psychology-based
agent architectures are appropriate in the simulation model.
In the following we want to tackle strategies for simulation
model design from a simpler point of view:</p>
      <p>III. AGENT- BASED SIMULATION MODEL DESIGN
In the following we will introduce and discuss three design
strategies. They are derived systematically from an idea about
elements of multi-agent simulation models: It consists of
three basic components: agents model, environment model and
model of the interactions. Each of them is used as a starting
point or driving force for a design strategy; thus their usage
can be seen as exclusive. However, it might be advisable to use
different approaches one after the other in an iterative setting.
A. Agent-driven Model Design</p>
      <p>“Agent-driven model design” is the first strategy. It
corresponds to bottom-up design. The focus lies completely on the
agents, their decision making and their behavior.
Environmental and interaction models are added when needed in the agent
design.</p>
      <p>1) Basic Strategy: The following procedure can be defined:
1) Agent observation and coarse behavior description: The
modeler observes the real-world agents and derives a
coarse behavior description from its observations.
Observations may be replaced by literature work or
operationalization of hypothesis about agent behavior/decision
making.
2) Categorize agents and determine the location of
heterogeneity: The coarse behavior descriptions are analyzed
for determining how many classes or types of agents
are necessary for the model and to what level the agents
should be different. The location of heterogeneity may
be on the level of parameter settings, different activities
or even completely different classes.
3) Decide about agent architecture: Based on the coarse
behavior description that treated the agents superficially,
the modeler has to decide about the architecture of the
agent. He may select a behavior-describing approach,
for example perception-action rules with or without
internal state representation or an architecture that is
explicitly grounded on goals and on the configuration
and selection of plans or even using plan generation from
first principles or an elaborated cognitive model. This
selection is depending on the complexity and flexibility
of necessary agent behavior.
4) Formalize agent behavior/goals: The next step consists
of filling in the actual behavior into the agent
architecture. This is done by analyzing, elaborating and refining
the coarse behavior description developed in the first
steps.
5) Add interactions and environmental aspects when
needed: Particular elements of the environmental model
or structures of interaction are added when the agent
behavior needs to include particular perceptions, messages
or contains manipulations of environmental entities. As
these aspects are added in some ad hoc manner, some
re-factoring may be necessary, such as merging different
environmental entity classes. Also some considerations
about necessary heterogeneity are essential.</p>
    </sec>
    <sec id="sec-4">
      <title>6) Test whether necessary macro-phenomena are suffi</title>
      <p>ciently reproduced: At any time, model validity has to
be tested when it is testable. We assume that the focus
on the agents will lead to agent behavior near validity.
But, a major effort will be testing wether the interplay
of agents and their environment results in a valid
macrolevel behavior.</p>
      <p>This procedure is a pure agent-driven bottom-up method
for developing a multi-agent simulation. Aspects that relate
agents to others or the environment are only important in so
far they are influencing the agent behavior. Before we continue
to discuss this procedure, we give a short example how the
application of this method may look like.</p>
      <p>
        2) Example: We used an existing simulation model[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] of
bee recruitment: The basic objective was to find support for
the hypotheses that the environmental structure influences the
success of a recruitment mechanism in social insects.
      </p>
      <p>Using an agent-driven approach, this model is build from
the point of view of a honey bee. Individual bees are to be
observed and literature has to be scanned for description of
behavior and parameter values. In the second step, different
categories of bees are identified: scouts, foragers or bees
waiting/working in the hive. In this particular case these
categories correspond more to activities than to different agent
types as agents may instantaneously switch between activities.
Therefore one may decide for a homogenous agent population
with differences in the currently executed activity.</p>
      <p>The following tasks of an agent bee are to be considered:
scouting, foraging, returning to the nest, unloading, wagggle
dance (recruiting) and waiting. A simple behavior-descriptive
architecture is appropriate. Due to the identified activities, an
approach based on activity graphs representing the relations
between activities is useful.</p>
      <p>The next step is the formulation, i.e. specification and
implementation of agent behavior. In figure 2 we depict the
behavior of an agent.</p>
      <p>Figure 2 does not indicate, when an interaction with the
environment or other agents has to take place. When
elaborating this graph, the modeler concurrently determines that
there is a 2dimensional map for scouting and discovering
resources. There must be resources that provide a nectar of
certain quality. When returning to the hive, there must be some
place to unload and some place to dance for recruitment of
others. The storage area and the dance ground are only dealt
with on a very abstract level. They may only be attributes of
an object of the type “hive”. For switching activities between
waiting and foraging, the actual recruitment has to be modeled.
Information is displayed by the dancer and perceived by
conceptive other ants that based on the received information
decide to scout or not.</p>
      <p>This specification has to be implemented and tested as
described above. As aggregate measures, the nectar input may
be available for macro-level validation as well as counts how
many bees are dancing, how many fly out, etc.</p>
      <p>3) Discussion: The result of this process is a model that
is fairly process-oriented on the agent level. For the example,
the agent-driven design seems to work quite well. This might
be due to the fact that interaction happens only indirectly via
the environment or by displaying or broadcasting information.
In the example, there is no direct message-based interaction.
In principle the procedure should also work with direct
peerto-peer interactions. However, the strategy does not contain
any perspective on the system-level containing for example
protocol specifications. Such a bottom-up technique where
the modeler takes over the perspective of an agent can be
appropriately tested using participatory simulations where one
agent is controlled by a human, the others are simulated.</p>
      <p>A critical issue occurs when the overall validity is not
reached. Then, this pure bottom-up technique will lead to trial
and error procedures as during the development of the model
no connection between macro- and micro level is established.
Additionally this procedure does not help in finding the
appropriate level of detail. Therefore it needs to be combined
with an iterative procedure.</p>
    </sec>
    <sec id="sec-5">
      <title>B. Interaction-driven Model Design</title>
      <p>There are simulation domains where a focus on
interactions is more appropriate than a purely agent-driven design.
Examples may be models that focus on the performance of
organizational design. In the following we want to introduce
interaction-driven design.</p>
      <p>1) Basic Process: One can formulate the following basic
process for interaction-driven model design:</p>
    </sec>
    <sec id="sec-6">
      <title>1) Identify actors/entities and interactions among them:</title>
      <p>Instead of observing individual real-world agents, the
modeler is taking the birds’ perspective and analyzes
who is interacting and how. dFeigs.cr3ip.tionF.i.rst specification of recruitment protocol together with context
2) Coarse description of protocols and their conditions,
constraints, etc. The identified actors and interactions
are refined to protocols going from general notions Formulating this interaction is not trivial as it is more like
of interaction to atomic exchanges of information and a broadcast (or stigmergic interaction). The message is send –
manipulations of the environment. respectively the information is displayed in the dance – to all
3) Derive agent behavior for producing the interaction agents that want to listen or observe it.
elements (messages, signals, actions...) and add envi- The next step would be to derive agent-behavior from the
ronmental entities, such as shelter objects, to the model interaction diagrams. We suggested to transfer the interaction
when needed for interaction. In this step something like diagram into some finite state machine like representation. If
a finite state machine based language can be used to we do that for every interaction the agents are participating
specify agent interactions as state transitions. in, a collection of finite state machines is generated. These
4) Implement agent behavior and test whether the intended single simple graphs have to be combined into a complete
interactions and their outcome on the macro level are behavior description. This is done by first identifying similar
actually produced by the overall system. It must be also states as interfaces which’s unification merges the single state
tested whether the agent level behavior is plausible or machines into some larger one. This larger one is probably too
valid – depending on the available data. large as every interaction aspect is modeled explicitly. It might
In the interaction-driven approach, agents are basically seen be possible to simplify some parts. Therefore, a refactoring
as black boxes for producing the appropriate messages, infor- might be necessary for bringing the overall state graph into
mation, etc. The general procedure may be further developed some well-structured and minimal form.
into some form organization-driven model design inspired by Figure 4 shows the straight forward combination of a
similar methods and methodologies from agent-oriented soft- number of single-interaction state charts. For connecting we
ware engineering. Then, analysis of organizational structures identified two times similar nodes – end nodes of one
interacforms the starting point for all system analysis as it forms the tions, starting nodes of the other. In the graph such nodes are
structural backbone of interactions. depicted as black nodes with second ring.</p>
      <p>2) Example: We use the same example as above for il- During the development of this behavior graph, we had to
lustrating the approach and its differences to the agent-driven add state machines for interaction partners that are not given
procedure. in figure 4. These interaction partners are the bee hive sending</p>
      <p>As given above, we start by identifying the actors and information that is used for the evaluation of the value of the
their interactions. Again we have to tackle the problem of load when the bee-agent is returning to the hive. Additionally,
the location of necessary heterogeneity. Are the actors to be we omitted the interaction with the overall environment where
found on the level of scouts or foragers or as bees on a the agent is requesting and receiving perception information
more homogeneous level? In our particular case we took bees and with resources with that it interacts while harvesting the
as agents. Table I shows the basic interaction between the nectar of this resource.
different types of entities. As a next step, it has to be determined what happens within</p>
      <p>The next step is the elaboration of the protocols. We suggest the different states. This is straight forward, often consisting
to use UML-based interaction diagrams for the initial descrip- of waiting for incoming messages.
tion. In figure 3 we show the description of the recruitment 3) Discussion: Despite of the birds’ eye perspective, this
protocol together with an (still) informal text about its context procedure did not result in an abstract and minimal behavior
of appearance. description. Nevertheless, the interaction and dependency of
behavior on information and material provided by others
is treated explicitly, much more than in the agent-driven
approach. This is actually an advantage of this procedure.</p>
      <p>However, one can foresee problems when actual pro-active
behavior has to be formulated. That means behavioral
dynamics that are not triggered by external messages. Another
drawback is, that also resources and other entities that are
basically are no agents, have to be treated as agents as every
interaction is formulated based on protocols. Although these
are then just “passive” agents, they have to be practically
tackled as agents for specifying the interactions.</p>
      <p>Due to its focus on direct interaction, other forms of
interaction may be hard to model, such as stigmergic interaction
in form of broadcasted messages that are persistent in the
environment decoupling sender and receiver. However, for
simulated multi-agent systems with interaction that relies on
message-based communication this design strategy seems to
be appropriate.</p>
    </sec>
    <sec id="sec-7">
      <title>C. Environment-driven Model Design</title>
      <p>The third strategy we want to analyze is driven by a focus
on the environment.</p>
      <p>1) Basic Process: In analogy to the previously discussed
design strategies, the starting point of the environment-driven
design is an analysis of the environmental structure. Based
on this, the agent interface and its behavior definition are
determined. The steps are in particular:
1) Identify relevant aspects (global status, global dynamics/
local entities) of the part of the model that represents the
environment.
2) Determine the primitive actions of the agent and the
reaction of the environmental entities to these.
3) Determine what information from the environment must
be given to an agent so that it can appropriately select
and perform its actions.
4) Decide on an agent architecture that is apt to connect
perceptions and actions of the agent appropriately for
actually producing the agents behavior. Concurrently, the
elements of the internal agent status are settled.
5) Use a learning mechanism for determining the actual
agent behavior. A reward function for providing
feedback to the agents actions has to be found. The reward
schema also tackles questions such as when and how
often to provide feedback to the agents, whether all
agents learn based on a shared reward or individual
reward is given to the agents.
6) Implement the environmental model including reward
function if needed.
7) Specify and implement the agents behavior program or
agent interfaces in combination with the chosen learning
mechanism.
8) Test and analyze the overall simulation results and
individual trajectories carefully for preventing artifacts
that come from an improper environmental model or
weak interfaces (perceivable situations and effects of
primitive actions).</p>
      <p>2) Example: For an illustration of this model design
strategy we again use the recruitment scenario although the
environmental complexity is not high enough to actually require
such a procedure.</p>
      <p>The start is made by formulating the environmental model.
In this simple case the environment consists of a global world
entity managing a 2-dimensional map, a central hive entity
that is basically a container for the storage and a number of
resource entities randomly distributed over the map, each with
an individual nectar supply.</p>
      <p>The initial environmental configuration in this case is the
following: the hive is positioned in the center of the map.
Each resource is located at a random position. Every resource
object has an attribute called “nectar supply” that is initially
set according to a normal distribution.</p>
      <p>The next step is to design the perception capabilities and
possible primitive actions – the interfaces of the bee agents.
Without particular regard on what is actually needed in the
behavior definitions, we can list the following perceptions:
• perceive nearby resource, its position respectively (if nearby)
• perceive existence of resource (from a certain distance)
• perceive capacity of resource (if nearby)
• perceive hive storage (if nearby)
• perceive position display (if at hive)
• perceive current nectar load
... and actions:
• Perform random search
• Fly towards perceived resource
• Fly towards hive
• Load nectar
• Unload nectar
• Display resource information
• Memorize perceived position</p>
      <p>One can notice that with defining this interface, the modeler
also determines the abstraction level of the behavior definition
– the environmental model alone did not fully determine the
level of abstraction.</p>
      <p>The next step is to connect perceptions and action to
produce actual agent behavior. In our case this could be done
using a rule-based approach with rules defined by the modeler.
The simple interface that already indicates that a rule-based
approach – including some stochasticity in agents decisions for
some very abstract treatment of internal motivation – might be
sufficient.</p>
      <p>We may suggest the following rules determining the agent
behavior:
1) if hive-storage &lt; A then perform random search (with probability
pA)
2) if not at hive and not perception of resource then perform random
search
3) if perception of resource then fly towards perceived resource
4) if at resource then memorize resource information
5) if at resource then load nectar with rate load
6) if nectar load &gt; B then fly towards hive
7) if at hive and nectar load &gt; B then unload nectar with rate unload
8) if at hive and resource information memorized then display
resource information
9) if not at hive and not perception of resource then fly to hive
(with probability pcancel</p>
      <p>This set of rules is quite small, but sufficient. There are
some probabilities and thresholds to be set ideally based on
available data.</p>
      <p>While not necessary in the example, using a learning
mechanism might be an appropriate solution for generating
the behavior program based on the perceivable situations and
primitive actions of the agents. A learning approach, e.g. based
on classifier systems seems to be feasible at least in this
application example.</p>
      <p>The major question in this application example is when
to give feedback as an information to the agent about its
performance: Giving feedback after each step does not make
sense: the random search without information is intentional.
The agents shall not learn where the resources are positioned.
Ideally, positive feedback shall be only given when the agent
has accomplished to recruit other bees to a good resource
or even more delayed, the reward to all agents could be
proportional to the current influx to the overall hive storage.</p>
      <p>3) Discussion: Again one can find potential problems
considering the agents internal motivations for generating true
pro-active behavior without external triggers. Such elements of
complex agent-based simulation models are not well integrated
into this design procedure.</p>
      <p>Involving learning mechanisms forms a basis for research
questions with evolutionary background. However, integrating
agent learning into the model design makes the model
susceptible for artifacts coming from incomplete, imprecise or not
fully elaborated reward or fitness functions. Agents that adapt
to an environmental model with flaws can never reliably
reproduce an original system independent how good the learning
mechanism or the rest of the model is. Nevertheless, it is not
trivial to find appropriate feedback functions characterizing the
goal of the agents’ development.</p>
      <p>Another risk of this environment-driven approach consists
in the selection of the learning mechanism. It could easily
happen that no appropriate learning mechanism exists that
can be used without further research. It is not so difficult to
reach the boundaries of what is possible using current
state-ofart learning: involving co-adaptation, true multi-agent learning
with more than a couple of agents, non-Markov settings, etc.
Then the learning problem may be too hard for finding a
mechanism that converges within a feasible time.
IV. STRATEGIES FOR ITERATIVE MODEL DEVELOPMENT</p>
      <p>The strategies introduced above are for designing an
agentbased simulation model in one step. Especially for identifying
the appropriate level of detail iterative procedures may be
combined with these strategies.</p>
    </sec>
    <sec id="sec-8">
      <title>A. KISS: “Keep It Simple, Stupid”</title>
      <p>The well known KISS principle for simulation modeling
means that the modeler should avoid unnecessary complex
models, but keep the model as simple as possible for
generating the appropriate behavior. Simple models contain less
sophisticated assumptions, can be easier explained and
understood. Simplicity also refers to the modeling and simulation
paradigm used formulating and simulating the model.</p>
      <p>
        The starting point of this procedure is the identification and
description of phenomena of the original system that should
be contained, respectively reproduced by the final model.
Grimm and Railsback [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] call these basic modules of system
data characteristics “pattern”. Examples for such pattern are a
certain statistical distribution of tree sizes in a forest, another
pattern is then the spatial distribution of large trees.
1) Identify and describe the set of observable
properties (statements)
about the real system S.
2) Define a model M0 that is apparently too
simple for reproducing the system
with all its properties
3) By calibration, determine the set SM of
properties, that are reproduced
by M0.
4) M ← M0
5) Repeat Until SM = S
a) M ← modify model M for producing more
elements in S than in the last
iteration.
b) Calibrate M and determine SM as the set
of properties reproduced by M.
      </p>
      <p>When this algorithm stops, the result should be the simplest
model that captures all phenomena identified at the beginning
of the process.</p>
      <p>However, it remains open how to modify and enlarge the
model for producing the next model from the previous one.
Sometimes also side-steps might be necessary removing one
model component and adding an alternative one. Finally, it is
not trivial to see how to modify a model best for producing
any additional phenomena. In worst case, this might result in
a try-and-error procedure. Nevertheless the documentation of
every single model shall be elaborated that especially contains
a list of taken assumptions.</p>
    </sec>
    <sec id="sec-9">
      <title>B. KIDS: “Keep it Descriptive, Stupid”</title>
      <p>
        In 2004, B. Edmonds and S. Moss published a plea against
in their eyes over-simplified models in social science (see
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]); Their major argument was: “The point is that it is
simply not appropriate to make simplifications before one
knows what is relevant and what not.” (italics in the original).
They therefore suggest to initially construct a model with agent
behavior that is understandable and directly deducible from the
observed behavior, but not necessary simple.
      </p>
      <p>The iterative algorithm based on this KIDS-principle based
strategy can formulated as in the following.</p>
      <p>1) Repeat until a valid model Ms is constructed
a) Define a model M that contains all
apparently relevant aspects of agent
behavior.
b) Identify all assumptions and make explicit
all parameter in Mi.
c) Execute a sensitivity analysis for all
parameter of M and eliminate all blocks
of behavior that are controlled by a
parameter without effect on
the overall outcome. Ms is the model M
after sensitivity analysis
d) Test Ms for credibility and validity</p>
      <p>At first sight, this procedure basically resembles the usual
try-and-error strategy. It does not give any hint what to do if
the model is not sufficiently valid in terms of aspects that are
not reproduced; As it is less systematic than the KISS strategy,
the KIDS strategy is more apt for experienced modelers that
know with what model to begin and how to operate if the
outputs are not as intended.</p>
    </sec>
    <sec id="sec-10">
      <title>C. TAPAS: “Take a previous model, add something”</title>
      <p>
        A third strategy for model design is pragmatic and focusses
on reuse of models. In the agent-based simulation area, it has
been coined by [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] without further discussing the term. It is
related to the KIDS-based strategy but takes an existing model
as starting point.
      </p>
      <p>Reuse of models becomes the more inevitable the more
expensive investments have been already made to produce
the model. As construction and testing of an agent-based
simulation is more expensive than for traditional analytical or
simpler microscopic models, reusing a fully validated model
should be especially interesting for agent-based simulations.
Put into a more pseudo-code way of presentation, the TAPAS
strategy might look like the following procedure.
1) Select an appropriate existing model M
2) if M is not implemented, implement it and
validate it using model alignment
with respect to published data about M .
3) Add new, additional aspects to produce Madd
4) Test and Validate Madd,
if sufficient, ready, else go back to 3 or - if
necessary to 1.</p>
      <p>
        Step 3 and 4 are similar to the KIDS methodology. The
critical step is the selection (and existence) of the reusable
model. A sufficient documentation of the original model is
essential and can be seen as a major prerequisite for reuse
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>There are also some perils: it is not known a priori whether
the model with modification is minimal, valid, or possesses
the intended properties. The advantages of having a starting
point have to be traded off the effort that it means to adapt
the given model to the new ideas. This is very risky when the
model for reuse is not fully understood by people that want
to reuse it.</p>
      <p>Given appropriate tool support, also partial models, that
means single agents, groups of agents or the complete
environmental structure, may be used as a starting point for new
model development.</p>
    </sec>
    <sec id="sec-11">
      <title>D. Candidate-based Modeling</title>
      <p>
        In his book about biological modeling in general Haefner
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] suggests a procedure for modeling and simulation in
research. Basically, it consists of the construction of a set of
alternative models. They might differ in parameter settings, but
may also use different architectures, etc. Each of the model
candidates is calibrated and evaluated by validation. The “best”
model is selected and used as a basis for future research.
This procedure is hardly about iterative changes, but involves
the treatment of several models which has to be done when
for example conflicting hypotheses have to be evaluated for
possible rejection. The candidate-based strategy is generally
applicable, but does not state how one may come to one
candidate or from one candidate to another.
      </p>
    </sec>
    <sec id="sec-12">
      <title>E. Discussion</title>
      <p>In this section we surveyed iterative model design strategies.
We did not tackle particular design strategies for one model,
but general procedures how to proceed from a first prototype
to the model ready for deployment. Which of these strategy
is appropriate for a particular simulation study is depending
on the personal style of the modeler, on his experience, on
the application domain, on the available data, etc. The table II
sums up and contrasts properties of these strategies. First, the
appropriateness of the strategies for different types of
multiagent simulation models is estimated. A second block refers
to directed-ness of the model and minimality of the outcome
of the modeling process. The third block of rows compares
aspects of necessary data availability and other properties of
the modeling process - for example how well this procedure</p>
      <p>Apt for linear models
Apt for emergent phenomena
for shared-environment actors</p>
      <p>Objective-orientedness
Resulting minimality</p>
      <p>Share of try &amp; error
Empirical data requirement</p>
      <p>Integration of knowledge
Communication support</p>
      <p>Modeling overhead
Expertise in macro models
Expertise in micro models
Required tool knowledge
high
low
mid
high
high
low
mid
mid
mid
mid
high
high
high
high
high
high
mid
mid
mid
mid
high
high
mid
low
high
mid
high
mid
mid
mid
low
high
low
high
mid
low
low
low
mid
supports the communication of the current model status. The
last block refers to whether the modeler needs expertise,
whether he has also to tackle macroscopic relations within the
model – usually expressed in complex formulas, or whether
this iterative procedure is also apt for beginners in agent-based
modeling. We assumed that tools are available that support
each of the strategies.</p>
      <p>Using table II a modeler may select a specific iterative
strategy for finding the best model in accordance with features
of the simulation problem. Selection may also rely on common
sense heuristics: if a good previous model is accessible, then
it is a good idea to reuse that model. If the modeler knows
the system that has to be simulated very well, then the KIDS
approach should be used, whereas large holes in the system
knowledge advise more candidate-based or KISS modeling.
All these iterative procedures may be combined with the
particular design strategies identified above.</p>
      <p>V. CONCLUSION</p>
      <p>
        Model design is the phase in the development of a
simulation model, that requires most experience and skills[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This
is true for all forms of simulation modeling, in particular
for the development of multi-agent simulation models. In
this contribution we have identified and discussed different
strategies for model design – one shot or iterative. The latter
can be combined with the former for really developing a
well designed model. Even, if the resulting model is not
significantly “better” than a model developed without these
strategies, their application has the great advantage that they
support a systematic development and at least partially guide
the development. Nevertheless, the different strategies have to
be further tested and elaborated in various simulation studies
with different degrees of necessary model complexity.
      </p>
      <p>
        The vision behind our research is developing a methodology
for successful development of multi-agent simulation studies.
The idea is to develop a methodology similar to System
Dynamics [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] that allows the development of difference
equation models starting from causal loop graphs to systems of
formulas in a guided and systematic way. In agent-based
simulation, systematic model design has to be accompanied with
equally thoughtful implementation, calibration, documentation
and especially validation. We already tackled these phases
in an insolated way that leaves a lot of research open for
combining the different solutions. This – and the application
and test of the identified design strategies – form the next steps
in the future.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Klu</surname>
          </string-name>
          <article-title>¨gl, “Sesam: Visual programming and participatory simulation for agent-based models,” in Multi-Agent Systems: Simulation and</article-title>
          <string-name>
            <surname>Applications</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          <string-name>
            <surname>Uhrmacher</surname>
            and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Weyns</surname>
          </string-name>
          , Eds. Taylor &amp; Francis,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Shannon</surname>
          </string-name>
          , “
          <article-title>Introduction to the art</article-title>
          and
          <source>science of simulation,” in Winter Simulation Conference</source>
          <year>1998</year>
          ,
          <year>1998</year>
          , pp.
          <fpage>7</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N.</given-names>
            <surname>Gilberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>K. G.</given-names>
            <surname>Troitzsch</surname>
          </string-name>
          ,
          <article-title>Simulation for the social scientist</article-title>
          , 2nd ed. Open University Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Drogoul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Vanbergue</surname>
          </string-name>
          , and T. Meurisse,
          <article-title>“Multi-agent based simulation: Where are the agents?</article-title>
          ”
          <source>in MABS</source>
          <year>2002</year>
          ,
          <year>2002</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Richiardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Leombruni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Saam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sonnessa</surname>
          </string-name>
          , “
          <article-title>A common protocol for agent-based social simulation</article-title>
          ,
          <source>” Journal of Artificial Societies and Social Simulation</source>
          , vol.
          <volume>9</volume>
          , no.
          <issue>1</issue>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Law</surname>
          </string-name>
          ,
          <source>Simulation Modeling and Analysis</source>
          , 4th ed.
          <source>McGraw-Hill</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>O.</given-names>
            <surname>Balci</surname>
          </string-name>
          , “
          <article-title>Validation, verification and testing techniques troughout the life cycle of a simulation study</article-title>
          ,
          <source>” Annals of Operations Research</source>
          , vol.
          <volume>53</volume>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Klu</surname>
          </string-name>
          <article-title>¨gl, “Towards a formal framework for multi-agent simulation models</article-title>
          ,” Institut fu¨r Informatik, Universita¨t Wu¨rzburg,
          <source>Tech. Rep. 412</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B.</given-names>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and P. Giorgini, Eds.,
          <string-name>
            <surname>Agent-Oriented Methodologies</surname>
          </string-name>
          . IDEA Group Publishing,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.-P.</given-names>
            <surname>Gleizes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          , Eds.,
          <article-title>Methodologies and Software Engineering for Agent Ssytems: The Agent-oriented Software Engineering Handbook, ser</article-title>
          .
          <source>Multiagent Systems, Artificial Societies and Simulated Organizations</source>
          . Boston, London: Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Weiss and R. Jakob</surname>
          </string-name>
          , Eds., Agentenorientierte Softwareentwicklung. Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Q.-N. N.</given-names>
            <surname>Tran</surname>
          </string-name>
          and
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Low</surname>
          </string-name>
          , “
          <article-title>Comparison of ten agent-oriented methodologies</article-title>
          ,” in Agent-Oriented
          <string-name>
            <surname>Methodologies</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Henderson-Sellers</surname>
          </string-name>
          and P. Giorgini, Eds. IDEA Group Publishing,
          <year>2005</year>
          , ch. XII, pp.
          <fpage>341</fpage>
          -
          <lpage>367</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bernon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.-P.</given-names>
            <surname>Gleizes</surname>
          </string-name>
          , and G. Picard, “
          <article-title>Enhancing self-organising emergent systems design with simulation,” in Engineering Societies in the Agents World VII</article-title>
          , 7th International Workshop, ESAW 2006, Dublin, Ireland, September 6-
          <issue>8</issue>
          ,
          <year>2006</year>
          <article-title>Revised Selected and Invited Papers , ser</article-title>
          . Lecture Notes in Computer Science,
          <string-name>
            <surname>G. M. P. O'Hare</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. J. O'Grady</surname>
            , and
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Dikenelli</surname>
          </string-name>
          , Eds., vol.
          <volume>4457</volume>
          . Springer,
          <year>2007</year>
          , pp.
          <fpage>284</fpage>
          -
          <lpage>299</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Dornhaus</surname>
          </string-name>
          , F. Klu¨gl,
          <string-name>
            <given-names>C.</given-names>
            <surname>Oechslein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Puppe</surname>
          </string-name>
          , and L. Chittka, “
          <article-title>Benefits of recruitment in honey bees: effects of ecology and colony size in an individual-based model</article-title>
          ,
          <source>” Behavioral Ecology</source>
          , vol.
          <volume>17</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>334</fpage>
          -
          <lpage>344</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V.</given-names>
            <surname>Grimm</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. F.</given-names>
            <surname>Railsback</surname>
          </string-name>
          ,
          <source>Individual-Based Modeling and Ecology</source>
          . Princeton University Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>B.</given-names>
            <surname>Edmonds</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Moss</surname>
          </string-name>
          , “
          <article-title>From kiss to kids - an 'anti-simplistic' modelling approach,” in Multi-Agent Based Simulation , ser</article-title>
          . LNAI,
          <string-name>
            <surname>P. D.</surname>
          </string-name>
          et al., Ed.,
          <source>no. 3415</source>
          . Springer,
          <year>2004</year>
          , pp.
          <fpage>130</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pyka</surname>
          </string-name>
          and G. Fagiolo, “
          <article-title>Agent-based modelling: A methodology for neo-schumpeterian economics,” Universit a¨t Augsburg, Volkswirtschaftliche Diskussionsreihe</article-title>
          ,
          <source>Tech. Rep. 272</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C.</given-names>
            <surname>Triebig</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Klu</surname>
          </string-name>
          <article-title>¨gl, “Elements of a documentation framework for agent-based simulation models,” Cybernetics</article-title>
          and Men, accepted
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Haefner</surname>
          </string-name>
          ,
          <source>Modeling Biological Systems - Principles and Applications</source>
          , 2nd ed. New York: Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Sterman</surname>
          </string-name>
          ,
          <source>Business Dynamics: Systems Thinking and Modeling for a Complex World. Boston: McGraw Hill</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>