<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Multiagent Simulation Model Design Strategies</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Franziska</forename><surname>Klügl</surname></persName>
							<email>franziska.klugl@oru.se</email>
							<affiliation key="aff0">
								<orgName type="department">School of Science and Technology</orgName>
								<orgName type="institution">Örebro University</orgName>
								<address>
									<settlement>Örebro</settlement>
									<country key="SE">Sweden</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Multiagent Simulation Model Design Strategies</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">957722C290CC80D2B501A81C28D8894E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T05:48+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>Methodological questions are more and more in the focus of research on agent-based simulation. This contribution deals with the phase in modeling that requires most experience and creativity from the modeler: model concept and design.</p><p>The development of a multi-agent simulation model seems to be an inherently intuitive way of modeling: Entities observable as active in the real system are captured as active entities -as agents -in the model. There seems to be no need for complex aggregation or abstraction necessary for formulating the model, nor a languages that requires deep mathematical skills must be used. Features of the model such as variable structure, heterogeneities, mixed local and global effects, ..., can just be formulated or generated from more or less simple agent behavior and interaction -just as observable in the original system or stated in the original ideas. Due to this intuitiveness and its general potential, it is often forgotten, that the development of a multi-agent simulation model leads to particular problems beyond general simulation engineering:</p><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 <ref type="bibr" target="#b0">[1]</ref>. 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.</p><p>• 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. 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" <ref type="bibr" target="#b1">[2]</ref>.</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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. METHODOLOGIES AND PROCESSES FOR DEVELOPING MULTI-AGENT SIMULATION MODELS</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Simulation Study Life Cycle</head><p>Phases of a systematic development of agent-based simulation models have been suggested by several researchers <ref type="bibr" target="#b2">[3]</ref>, <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b4">[5]</ref>. 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 <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b6">[7]</ref> or <ref type="bibr" target="#b1">[2]</ref>. 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 <ref type="figure" target="#fig_0">1</ref>  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 <ref type="figure" target="#fig_0">1</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>depicts</head><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 <ref type="bibr" target="#b7">[8]</ref>, 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Agent-based Software Engineering</head><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 <ref type="bibr" target="#b8">[9]</ref>or <ref type="bibr" target="#b9">[10]</ref>. Comparisons based on benchmarks <ref type="bibr" target="#b10">[11]</ref> or features <ref type="bibr" target="#b11">[12]</ref> aim at supporting the selection of the appropriate methodology for a particular problem. We would just like to mention <ref type="bibr" target="#b12">[13]</ref> 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. AGENT-BASED SIMULATION MODEL DESIGN</head><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Agent-driven Model Design</head><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. 6) Test whether necessary macro-phenomena are sufficiently 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. 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 <ref type="bibr" target="#b13">[14]</ref> 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: Fig. <ref type="figure">2</ref>. Specification of example bee-agent behavior using activity graphs (adapted from <ref type="bibr" target="#b13">[14]</ref>).</p><p>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. The next step is the formulation, i.e. specification and implementation of agent behavior. In figure <ref type="figure">2</ref> we depict the behavior of an agent.</p><p>Figure <ref type="figure">2</ref> 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Interaction-driven Model Design</head><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><p>1) Identify actors/entities and interactions among them: Instead of observing individual real-world agents, the modeler is taking the birds' perspective and analyzes who is interacting and how. 2) Coarse description of protocols and their conditions, constraints, etc. The identified actors and interactions are refined to protocols going from general notions of interaction to atomic exchanges of information and manipulations of the environment. 3) Derive agent behavior for producing the interaction elements (messages, signals, actions...) and add environmental entities, such as shelter objects, to the model when needed for interaction. In this step something like a finite state machine based language can be used to specify agent interactions as state transitions. 4) Implement agent behavior and test whether the intended interactions and their outcome on the macro level are actually produced by the overall system. It must be also tested whether the agent level behavior is plausible or valid -depending on the available data. In the interaction-driven approach, agents are basically seen as black boxes for producing the appropriate messages, information, etc. The general procedure may be further developed into some form organization-driven model design inspired by similar methods and methodologies from agent-oriented software engineering. Then, analysis of organizational structures forms the starting point for all system analysis as it forms the structural backbone of interactions.</p><p>2) Example: We use the same example as above for illustrating the approach and its differences to the agent-driven procedure.</p><p>As given above, we start by identifying the actors and their interactions. Again we have to tackle the problem of the location of necessary heterogeneity. Are the actors to be found on the level of scouts or foragers or as bees on a more homogeneous level? In our particular case we took bees as agents. Table <ref type="table" target="#tab_0">I</ref> shows the basic interaction between the different types of entities.</p><p>The next step is the elaboration of the protocols. We suggest to use UML-based interaction diagrams for the initial description. In figure <ref type="figure" target="#fig_1">3</ref> we show the description of the recruitment protocol together with an (still) informal text about its context of appearance. First specification of recruitment protocol together with context description. . Formulating this interaction is not trivial as it is more like a broadcast (or stigmergic interaction). The message is sendrespectively the information is displayed in the dance -to all agents that want to listen or observe it.</p><p>The next step would be to derive agent-behavior from the interaction diagrams. We suggested to transfer the interaction diagram into some finite state machine like representation. If we do that for every interaction the agents are participating in, a collection of finite state machines is generated. These single simple graphs have to be combined into a complete behavior description. This is done by first identifying similar states as interfaces which's unification merges the single state machines into some larger one. This larger one is probably too large as every interaction aspect is modeled explicitly. It might be possible to simplify some parts. Therefore, a refactoring might be necessary for bringing the overall state graph into some well-structured and minimal form.</p><p>Figure <ref type="figure" target="#fig_2">4</ref> shows the straight forward combination of a number of single-interaction state charts. For connecting we identified two times similar nodes -end nodes of one interactions, starting nodes of the other. In the graph such nodes are depicted as black nodes with second ring.</p><p>During the development of this behavior graph, we had to add state machines for interaction partners that are not given in figure <ref type="figure" target="#fig_2">4</ref>. These interaction partners are the bee hive sending information that is used for the evaluation of the value of the load when the bee-agent is returning to the hive. Additionally, we omitted the interaction with the overall environment where the agent is requesting and receiving perception information and with resources with that it interacts while harvesting the nectar of this resource.</p><p>As a next step, it has to be determined what happens within the different states. This is straight forward, often consisting of waiting for incoming messages.</p><p>3) Discussion: Despite of the birds' eye perspective, this procedure did not result in an abstract and minimal behavior 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Environment-driven Model Design</head><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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>3)</head><p>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:</p><p>• perceive nearby resource, its position respectively (if nearby) • perceive existence of resource (from a certain distance) 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:</p><p>1) if hive-storage &lt; A then perform random search (with probability p A ) 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 p cancel 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. STRATEGIES FOR ITERATIVE MODEL DEVELOPMENT</head><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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. KISS: "Keep It Simple, Stupid"</head><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 <ref type="bibr" target="#b14">[15]</ref> 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. 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. KIDS: "Keep it Descriptive, Stupid"</head><p>In 2004, B. Edmonds and S. Moss published a plea against in their eyes over-simplified models in social science (see <ref type="bibr" target="#b15">[16]</ref>); 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. TAPAS: "Take a previous model, add something"</head><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 <ref type="bibr" target="#b16">[17]</ref> 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.</p><p>Put into a more pseudo-code way of presentation, the TAPAS strategy might look like the following procedure. 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 <ref type="bibr" target="#b17">[18]</ref>.</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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D. Candidate-based Modeling</head><p>In his book about biological modeling in general Haefner <ref type="bibr" target="#b18">[19]</ref> 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>E. Discussion</head><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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Phases of an agent-based simulation study. Model design may also be iterative.</figDesc><graphic coords="2,48.96,54.00,514.43,99.64" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3.First specification of recruitment protocol together with context description. .</figDesc><graphic coords="4,347.54,54.00,179.93,177.82" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .</head><label>4</label><figDesc>Fig.4. Putting together single interaction state machines into a complete agent-level graph that describes all interactions of an agent. The black nodes were the initial start and end nodes of the two graphs. They are basically the interfaces between the two state machines .</figDesc><graphic coords="5,48.96,144.51,257.03,189.01" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>1 ) 2 )</head><label>12</label><figDesc>Identify and describe the set of observable properties (statements) about the real system S. Define a model M 0 that is apparently too simple for reproducing the system with all its properties 3) By calibration, determine the set S M of properties, that are reproduced by M 0 . 4) M ← M 0 5) Repeat Until S M = S a) M ← modify model M for producing more elements in S than in the last iteration. b) Calibrate M and determine S M as the set of properties reproduced by M.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>TABLE I INTERACTION</head><label>I</label><figDesc>TABLE FOR BEES AS AGENTS.</figDesc><table><row><cell>Interactions</cell><cell>Bees</cell><cell>Resources</cell><cell>Nectar Storage</cell></row><row><cell>Bees</cell><cell>Recruitment</cell><cell>Harvest</cell><cell>Unloading</cell></row><row><cell>Resources</cell><cell>Localization</cell><cell>-</cell><cell>-</cell></row><row><cell>Nectar Storage</cell><cell>Status Information</cell><cell>-</cell><cell>-</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>• perceive capacity of resource (if nearby) • perceive hive storage (if nearby) • perceive position display (if at hive) • perceive current nectar load ... and actions:</figDesc><table><row><cell>• Perform random search</cell></row><row><cell>• Fly towards perceived resource</cell></row><row><cell>• Fly towards hive</cell></row><row><cell>• Load nectar</cell></row><row><cell>• Unload nectar</cell></row><row><cell>• Display resource information</cell></row><row><cell>• Memorize perceived position</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>Test Ms for credibility and validityAt 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.</figDesc><table><row><cell>1) Repeat until a valid model Ms is constructed</cell></row><row><cell>a) Define a model M that contains all</cell></row><row><cell>apparently relevant aspects of agent</cell></row><row><cell>behavior.</cell></row><row><cell>b) Identify all assumptions and make explicit</cell></row><row><cell>all parameter in M i .</cell></row><row><cell>c) Execute a sensitivity analysis for all</cell></row><row><cell>parameter of M and eliminate all blocks</cell></row><row><cell>of behavior that are controlled by a</cell></row><row><cell>parameter without effect on</cell></row><row><cell>the overall outcome. Ms is the model M</cell></row><row><cell>after sensitivity analysis</cell></row><row><cell>d)</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>1 )</head><label>1</label><figDesc>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 M add 4) Test and Validate M add , if sufficient, ready, else go back to 3 or -if necessary to 1.</figDesc><table /></figure>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. CONCLUSION</head><p>Model design is the phase in the development of a simulation model, that requires most experience and skills <ref type="bibr" target="#b1">[2]</ref>. 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 <ref type="bibr" target="#b19">[20]</ref> 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></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Sesam: Visual programming and participatory simulation for agent-based models</title>
		<author>
			<persName><forename type="first">F</forename><surname>Klügl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Multi-Agent Systems: Simulation and Applications</title>
				<editor>
			<persName><forename type="first">A</forename><forename type="middle">M</forename><surname>Uhrmacher</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Weyns</surname></persName>
		</editor>
		<imprint>
			<publisher>Taylor &amp; Francis</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Introduction to the art and science of simulation</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Shannon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Winter Simulation Conference 1998</title>
				<imprint>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="7" to="14" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">N</forename><surname>Gilberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">G</forename><surname>Troitzsch</surname></persName>
		</author>
		<title level="m">Simulation for the social scientist</title>
				<imprint>
			<publisher>Open University Press</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
	<note>2nd ed</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Multi-agent based simulation: Where are the agents?</title>
		<author>
			<persName><forename type="first">A</forename><surname>Drogoul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Vanbergue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Meurisse</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">MABS</title>
		<imprint>
			<biblScope unit="page" from="1" to="15" />
			<date type="published" when="2002">2002. 2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A common protocol for agent-based social simulation</title>
		<author>
			<persName><forename type="first">M</forename><surname>Richiardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Leombruni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Saam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sonnessa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Artificial Societies and Social Simulation</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">M</forename><surname>Law</surname></persName>
		</author>
		<title level="m">Simulation Modeling and Analysis</title>
				<imprint>
			<publisher>McGraw-Hill</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
	<note>4th ed</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Validation, verification and testing techniques troughout the life cycle of a simulation study</title>
		<author>
			<persName><forename type="first">O</forename><surname>Balci</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Annals of Operations Research</title>
		<imprint>
			<biblScope unit="volume">53</biblScope>
			<biblScope unit="page" from="121" to="173" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Towards a formal framework for multi-agent simulation models</title>
		<author>
			<persName><forename type="first">F</forename><surname>Klügl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Tech. Rep</title>
		<imprint>
			<biblScope unit="volume">412</biblScope>
			<date type="published" when="2007">2007</date>
		</imprint>
		<respStmt>
			<orgName>Institut für Informatik, Universität Würzburg</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m">Agent-Oriented Methodologies</title>
				<editor>
			<persName><forename type="first">B</forename><surname>Henderson-Sellers</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</editor>
		<imprint>
			<publisher>IDEA Group Publishing</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Methodologies and Software Engineering for Agent Ssytems: The Agent-oriented Software Engineering Handbook</title>
	</analytic>
	<monogr>
		<title level="m">ser. Multiagent Systems, Artificial Societies and Simulated Organizations</title>
				<editor>
			<persName><forename type="first">F</forename><surname>Bergenti</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M.-P</forename><surname>Gleizes</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Zambonelli</surname></persName>
		</editor>
		<meeting><address><addrLine>Boston, London</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>Weiss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Jakob</surname></persName>
		</author>
		<title level="m">Agentenorientierte Softwareentwicklung</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Comparison of ten agent-oriented methodologies</title>
		<author>
			<persName><forename type="first">Q.-N</forename><forename type="middle">N</forename><surname>Tran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">C</forename><surname>Low</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Agent-Oriented Methodologies</title>
				<editor>
			<persName><forename type="first">B</forename><surname>Henderson-Sellers</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</editor>
		<imprint>
			<publisher>IDEA Group Publishing</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">XII</biblScope>
			<biblScope unit="page" from="341" to="367" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Enhancing self-organising emergent systems design with simulation</title>
		<author>
			<persName><forename type="first">C</forename><surname>Bernon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-P</forename><surname>Gleizes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Picard</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Engineering Societies in the Agents World VII, 7th International Workshop, ESAW 2006</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">G</forename><forename type="middle">M P</forename><surname>O'hare</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Ricci</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>O'grady</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">O</forename><surname>Dikenelli</surname></persName>
		</editor>
		<meeting><address><addrLine>Dublin, Ireland</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">September 6-8, 2006. 2007</date>
			<biblScope unit="volume">4457</biblScope>
			<biblScope unit="page" from="284" to="299" />
		</imprint>
	</monogr>
	<note>Revised Selected and Invited Papers</note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Benefits of recruitment in honey bees: effects of ecology and colony size in an individual-based model</title>
		<author>
			<persName><forename type="first">A</forename><surname>Dornhaus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Klügl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Oechslein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Puppe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Chittka</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Behavioral Ecology</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="334" to="344" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">V</forename><surname>Grimm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">F</forename><surname>Railsback</surname></persName>
		</author>
		<title level="m">Individual-Based Modeling and Ecology</title>
				<imprint>
			<publisher>Princeton University Press</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">From kiss to kids -an &apos;anti-simplistic&apos; modelling approach</title>
		<author>
			<persName><forename type="first">B</forename><surname>Edmonds</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Moss</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Multi-Agent Based Simulation</title>
				<editor>
			<persName><forename type="first">P</forename><forename type="middle">D</forename><surname>Lnai</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="130" to="144" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Agent-based modelling: A methodology for neo-schumpeterian economics</title>
		<author>
			<persName><forename type="first">A</forename><surname>Pyka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Fagiolo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Volkswirtschaftliche Diskussionsreihe, Tech. Rep</title>
		<imprint>
			<biblScope unit="volume">272</biblScope>
			<date type="published" when="2005">2005</date>
		</imprint>
		<respStmt>
			<orgName>Universität Augsburg</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Elements of a documentation framework for agent-based simulation models</title>
		<author>
			<persName><forename type="first">C</forename><surname>Triebig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Klügl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Cybernetics and Men</title>
		<imprint>
			<date type="published" when="2009">accepted. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">W</forename><surname>Haefner</surname></persName>
		</author>
		<title level="m">Modeling Biological Systems -Principles and Applications</title>
				<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
	<note>2nd ed</note>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Sterman</surname></persName>
		</author>
		<title level="m">Business Dynamics: Systems Thinking and Modeling for a Complex World</title>
				<meeting><address><addrLine>Boston</addrLine></address></meeting>
		<imprint>
			<publisher>McGraw Hill</publisher>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
