<?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">Design and Simulation of a Wave-like Self-Organization Strategy for Resource-Flow Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jan</forename><surname>Sudeikat</surname></persName>
							<email>jan.sudeikat@haw-hamburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Engineering and Computer Science</orgName>
								<orgName type="laboratory">Multimedia Systems Laboratory (MMLab)</orgName>
								<orgName type="institution">Hamburg University of Applied Sciences</orgName>
								<address>
									<addrLine>Berliner Tor 7</addrLine>
									<postCode>20099</postCode>
									<settlement>Hamburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wolfgang</forename><surname>Renz</surname></persName>
							<email>wolfgang.renz@haw-hamburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Engineering and Computer Science</orgName>
								<orgName type="laboratory">Multimedia Systems Laboratory (MMLab)</orgName>
								<orgName type="institution">Hamburg University of Applied Sciences</orgName>
								<address>
									<addrLine>Berliner Tor 7</addrLine>
									<postCode>20099</postCode>
									<settlement>Hamburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Thomas</forename><surname>Preisler</surname></persName>
							<email>thomas.preisler@haw-hamburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Engineering and Computer Science</orgName>
								<orgName type="laboratory">Multimedia Systems Laboratory (MMLab)</orgName>
								<orgName type="institution">Hamburg University of Applied Sciences</orgName>
								<address>
									<addrLine>Berliner Tor 7</addrLine>
									<postCode>20099</postCode>
									<settlement>Hamburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Peter</forename><surname>Salchow</surname></persName>
							<email>peter.salchow@haw-hamburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Faculty of Engineering and Computer Science</orgName>
								<orgName type="laboratory">Multimedia Systems Laboratory (MMLab)</orgName>
								<orgName type="institution">Hamburg University of Applied Sciences</orgName>
								<address>
									<addrLine>Berliner Tor 7</addrLine>
									<postCode>20099</postCode>
									<settlement>Hamburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jan-Philipp</forename><surname>Steghöfer</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Institute for Software and Systems Engineering</orgName>
								<orgName type="institution">Augsburg University</orgName>
								<address>
									<addrLine>Universitätsstrasse 6a</addrLine>
									<postCode>86135</postCode>
									<settlement>Augsburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hella</forename><surname>Seebach</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Institute for Software and Systems Engineering</orgName>
								<orgName type="institution">Augsburg University</orgName>
								<address>
									<addrLine>Universitätsstrasse 6a</addrLine>
									<postCode>86135</postCode>
									<settlement>Augsburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wolfgang</forename><surname>Reif</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Institute for Software and Systems Engineering</orgName>
								<orgName type="institution">Augsburg University</orgName>
								<address>
									<addrLine>Universitätsstrasse 6a</addrLine>
									<postCode>86135</postCode>
									<settlement>Augsburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Design and Simulation of a Wave-like Self-Organization Strategy for Resource-Flow Systems</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D4CF495A74920CD42C1ED2F6418B0FF8</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:14+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>In resource-flow systems, e.g. production lines, agents are processing resources by applying capabilities to them in a given order. Such systems profit from self-organization as they become easier to manage and more robust against failures. This paper proposes a decentralized coordination process that restores a system's functionality after a failure by propagating information about the error through the system until a fitting agent is found that is able to perform the required function. The mechanism has been designed by combining a top-down design approach for self-organizing resource-flow system and a systemic modeling approach for the design of decentralized, distributed coordination mechanisms. The systematic conception of the interagent process is demonstrated. Evaluations of convergence as well as performance are performed by simulations.</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>A key driver in the development of autonomous and autonomic systems is the handling of complexity in large applications that consist of a great number of interacting entities. Traditional management and failure-handling approaches are no longer applicable as they do not scale well with the size of the systems and the communication required by a central management becomes prohibitive, even with modern highspeed networks. Therefore, engineers and computer scientists turn to self-organization as a means to deal with large complex systems and to keep up with the growth of such applications.</p><p>In this paper, we present a self-organizing process for the class of self-organizing resource-flow systems. This class can be applied to a great variety of domains such as production automation and logistics and systems in it can be modeled with the Organic Design Pattern (ODP) <ref type="bibr" target="#b0">[1]</ref>. The decentralized process proposed here is analyzed and modeled with the tools provided by the SodekoVS project <ref type="bibr" target="#b1">[2]</ref>. Changes in the configurations of agents propagate through the system like a wave until the system in its entirety has restored a stable state. During reconfiguration, parts of the system that are not affected by the process or have already been reconfigured are still able to resume their normal work. Evaluations show the quick convergence to stable states and the reconfigurations only affect system partitions. This paper also shows how to pragmatically combine a topdown approach for the design of agent-based systems with a bottom-up approach for the design of inter-agent coordination. While the exact interplay of the two concepts is not fully elaborated here, it already becomes clear that both approaches are not necessarily orthogonal but that it is beneficial to combine both views.</p><p>This paper is structured as follows: in the following section, the ODP, as a conceptual model for self-organizing resourceflow systems, is discussed and a prominent application scenario, i.e. production automation, is introduced. In Section III, a programming model for self-organization is introduced. Subsequently, the intended coordination dynamics of selforganizing resource-flow systems are presented (see Section IV) and the realization of a decentralized role allocation strategy is discussed and evaluated (Section V). Finally, we conclude and give prospects for future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. DESIGN OF SELF-ORGANIZING RESOURCE-FLOW SYSTEMS</head><p>In production automation systems, resources are transported between machines to subject these work peaces to a specific sequence of work steps. The sequence of machines is typically static. The machines that process the resources are highly specialized and only have one particular capability, i.e. an individual operation, they can apply to the resources. The transport of resources is fixed as well, e.g. by a static layout of conveyor belts. This rigid structure simplifies the management but has far-reaching implications, since reconfigurations are obstructed. The complete system has to be halted when internal errors make a single system component inoperable. Adjustments of the production process have to be carried out by stopping the system and retooling machines.</p><p>A visionary alternative are flexible, agent-based production lines that enable failure tolerance. Machines can autonomously reconfigure and transports of resources are carried out by autonomous guided vehicles (AGVs). Such a scenario is depicted in Fig. <ref type="figure" target="#fig_0">1</ref> where robots process a car body which is transported between the processing stations by autonomous carts. There are other domains where similar resource-flows occur, e.g., logistic scenarios or web service orchestration, we call this class of systems Self-Organizing Resource-Flow Systems. Their basic structure can be described with the ODP <ref type="bibr" target="#b2">[3]</ref> which defines the elements that constitute the system and their relationship as shown in Fig. <ref type="figure" target="#fig_1">2</ref>. Task define the required processing of resources. Processing steps are carried out by agents. The states of resources are modified by applying capabilities. Agents have a set of capability available and exchange resources, based on the shop layout (inputs and outputs). Which capability an agent applies and with which agents it exchanges resources is determined by a role<ref type="foot" target="#foot_0">1</ref> . Roles have a precondition that describes where the resource is coming from, which state it has, and which task has to be performed on it. They also have a postcondition that describes to which agent the resource has to be given and which state and task it has after the agent has processed it. Most importantly, the role defines the capabilitiesToApply, i.e., what an agent is supposed to do with the resource.</p><p>To fulfill the tasks for a resource (i.e., to apply the correct capabilities in the correct order), a resource-flow is established by the allocation of roles to agents that determines how the resource is moved through the system and processed on the way. This means the combination of the roles of the agents by their pre-and postconditions respectively, is a connected chain of agents along which resources in the system are forwarded and processed. There is usually one such chain or resourceflow for each task that has to be fulfilled in a system. Each agent, however, can participate in more than one resource-flow and thus be involved in several tasks at the same time.</p><p>The interactions between the agents to handle resources are also defined on the abstract system class level and can be inherited by applications based on the ODP. They describe, amongst other things, the handover of resources and the detection of agent failures with a heartbeat mechanism. This way, both a formal analysis of the system class <ref type="bibr" target="#b2">[3]</ref>, generalized mechanisms to deal with problems in the system class such as deadlocks <ref type="bibr" target="#b3">[4]</ref> as well as a generic runtime environment <ref type="bibr" target="#b4">[5]</ref> become feasible.</p><p>The ODP also contains an Observer/Controller (O/C). This element of the system structure is the abstract extension point for the self-organization or reconfiguration mechanism. Correct system behavior is defined by invariants that have to hold during the entire runtime of the system. Whenever the invariants are violated, the system has to be reconfigured to fulfill the invariants again (Restore Invariant Approach <ref type="bibr" target="#b2">[3]</ref>). The individual agents are able to monitor local invariants and thus implement the observation part of the O/C. The controller part of the O/C is then responsible to calculate a new allocation of roles that restore the resource-flow and ensure that each agent has a role that fits its capabilities and its input/output relationship with other agents. How this calculation is done, however, is not specified at this point.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. SYSTEMIC PROGRAMMING OF SELF-ORGANIZATION</head><p>In the research project "Selbstorganisation durch Dezentrale Koordination in Verteilten Systemen"<ref type="foot" target="#foot_1">2</ref> (SodekoVS) <ref type="bibr" target="#b1">[2]</ref>, a programming technique is developed that allows to equip software systems with self-organizing features. The selforganizing inter-agent process is described by discrete design elements <ref type="bibr" target="#b5">[6]</ref>. This enforces a conceptual separation of the agent functioning and the coordination, i.e. the correlation of agent activities.</p><p>First, a modeling level for the description of inter-agent self-organization is provided. This modeling level supplements agent-oriented software engineering practices with an orthogonal description level that concerns the dynamic properties of agent-based software systems <ref type="bibr" target="#b5">[6]</ref>. The driving force of selforganizing dynamics are distributed feedback loops among system elements <ref type="bibr" target="#b6">[7]</ref>. These result from the mutual influences among system elements and control how fluctuations in the system context are disseminated and collectively responded to. The systemic modeling level addresses the description of these networks of influences and it has been found that the visualization of the mutual interdependencies of system elements is useful for the anticipation of the dynamics that software systems are able to exhibit <ref type="bibr" target="#b7">[8]</ref>, <ref type="bibr" target="#b5">[6]</ref>. Using a graph-based modeling approach, System Dynamics <ref type="bibr" target="#b8">[9]</ref> modeling concepts are specialized for describing Multi-agent systems (MAS). These models are given as an Agent Causal Behavior Graph (ACBG) <ref type="bibr" target="#b9">[10]</ref>. The nodes in this graph-based modeling level represent system variables that characterize the macroscopic state of a MAS. These describe the number of agents that show a specific behavior, e.g. play a role. In addition, the current value of an interaction rate can be denoted with a specific node type. The links among these variables denote mutual influences and interdependencies. In this respect, influences denote additive or subtractive contributions to node values, e.g. when the activity of an agent increases or decreases the stock of a warehouse. Interdependencies describe causal relations where the activities of agents are mutually linked, e.g. the number of hypothetical service requesters in a system is expected to be positively linked to the number of activations of service providers. When the number of requesters increases, the number of activations increases as well and vice versa.</p><p>Secondly, a programming model that allows the enactment of ACBG-based prescriptions of self-organization processes <ref type="bibr" target="#b10">[11]</ref>, <ref type="bibr" target="#b9">[10]</ref> facilitates application development. The key element is a distributed architecture for the enactment of decentralized inter-agent processes (cf. Fig. <ref type="figure">3</ref>) <ref type="bibr" target="#b10">[11]</ref>. This architecture serves as a reference model for the integration of ACBG-based processes in MAS. It provides a conceptual framework for fitting in different self-organization mechanisms and follows a layered structure. The topmost layer (Application Layer) contains the realization of an agent-based application. The contained agents are understood as self-contained providers of functionalities (Application Functionality). The contained agents individually control their activities and an underlying Coordination Layer enables the purposeful affecting of agents to concert the localized activities and establish collective behaviors.</p><p>The Coordination Layer describes an event-based distributed system <ref type="bibr" target="#b11">[12]</ref>, which allows to realize mutual influences among system elements. These influences correspond to relations in ACBG-based models of inter-agent processes, thus the layer is a means to enact the described processes in MAS. The establishment of inter-agent influences, particularly for the construction of self-organizing systems, is based on two types of mechanisms <ref type="bibr" target="#b12">[13]</ref>, i.e. techniques for the information exchange among agents (e.g. reviewed in <ref type="bibr" target="#b13">[14]</ref>) and mechanisms for the (adaptive) adjustments of agents (among others classified in <ref type="bibr" target="#b14">[15]</ref>), due to the perceived information (see Section VI). The Coordination Layer contains two types of functional elements for the encapsulation of these aspects. Coordination Media are conceptual containers of so-related interaction infrastructures. Specific interaction modes, e.g. the mediation by an environment <ref type="bibr" target="#b15">[16]</ref> or Linda-like tuple spaces, are encapsulated and reused by a generic interface <ref type="bibr" target="#b10">[11]</ref>. Coordination Endpoints interact on behalf of agents via these media and are able to influence the agent execution. These elements are used to encapsulate and automate the coordination-related activities. These activities concern the interactions vie Media, i.e. the invitation and participation of interactions, as well as the affectation of modifications in the agent models.</p><p>The ACBG-based modeling of dynamics of inter-agent Fig. <ref type="figure">3</ref>. The SodekoVS-Architecture for the embedding of decentralized coordination in MAS <ref type="bibr" target="#b16">[17]</ref>.</p><p>coordination is exemplified in the Sections IV and V. A configuration language <ref type="bibr" target="#b9">[10]</ref> allows to map ACBGs to agentbased software systems. These mappings describe the realization of influences among agents, i.e. the coordination-related logic that controls the initiation, participation, and reaction to interactions as well as the media that mediate interactions. The detailing of these models, as a systematic programming effort, is not discussed in this article but details on the configuration of process enactments can be found in <ref type="bibr" target="#b16">[17]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. SYSTEMIC MODEL OF ADAPTATION DYNAMICS</head><p>In <ref type="bibr" target="#b17">[18]</ref>, the systematic integration of decentralized coordination strategies in MAS has been discussed. The conception of the appropriate coordination is approached by modeling the problematic, unintended behavior of applications. Based on the identification of the Problematic Dynamic, a corresponding Solution Dynamic is derived that supplements the application behavior with additional interdependencies and inter-element feedbacks to correct the system behavior and alleviate unintended effects.</p><p>The Problem Dynamic of an ODP-based resource-flow systems is illustrated in Fig. <ref type="figure" target="#fig_2">4</ref> (right). Initially, agents are running and one or several roles are allocated to them which are executed in order to process resources. Random errors make it impossible for the agent to apply one or more of its roles. The adoption of roles that can not be applied is controlled by a fluctuating rate (RF interrupt) that is positively influenced by the availability of running, thus breakable, agents and the changing number of error events (Error). This rate describes the resource-flows (RF) that are interrupted, due to the breaking of agents. These failures within individual agents limit the number of running agents (negative link), thus the problematic system behavior is dominated by a negative feedback loop (α).</p><p>If not handled, this dynamic causes the number of agents that are not running to increase over time. The design of an appropriate Solution Dynamic concerns the derivation of agent behaviors that counteract this unintended effect. A very general structure is given on the left hand side of Fig. <ref type="figure" target="#fig_2">4</ref>. Agents that have roles they can no longer apply are Waiting for Reconfiguration. The rate of interrupts positively influences the increase of this variable. The system is equipped with a reconfiguration mechanism, and for each of the waiting agents a new configuration is determined. Thus the system shows a causal relation. In absence of waiting agents, no reconfigurations take place. Occurrences of waiting agents enforce subsequent reconfigurations (Reconfigure) to restore a set of executable roles. The reconfigurations thus increase the number of Running agents by complementing a counteracting feedback loop (β).</p><p>This Solution Dynamic deliberately omits the concrete mechanism with which new role allocations are determined. Also the locally applied techniques to the enactment of reconfigurations are abstracted. A method to express the problem of finding a fitting role allocation as a constraint-solving problem has been presented in <ref type="bibr" target="#b18">[19]</ref> and solved with a centralized approach. Whenever an agent can no longer apply one of its roles or whenever an agent breaks, the resource-flow is interrupted. When the interruption is detected, the system reconfigures in order to restore the flow. During the course of the reconfiguration process, a new allocation of roles to agents is calculated and the roles are communicated to the agents which then apply them again. The next section describes an alternative reconfiguration mechanisms in which new role allocations are found in a decentralized fashion by propagating the demand for local reconfigurations through the system.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. WAVE-LIKE DECENTRALIZED RECONFIGURATION</head><p>A completely decentralized reconfiguration approach is based on the idea that a wave of role re-allocation runs through the system in order to re-establish the resource-flow. Assuming that each agent is capable to exhibit a set of capabilities (see Section II), a correct resource flow can be (re-)established by the appropriate swapping of roles. Failing agents adopt actable roles and in return other agents help out by providing the unactable roles. The failing agent emits a wave of reallocations by sending requests for assistance along the resource flow. Each recipient has to decide locally if it is capable and will swap roles. Generally, a single swap of roles is not enough to reestablish the full sequence of activities and transitive changes of roles are required.</p><p>The operating principle is exemplified in Fig. <ref type="figure" target="#fig_3">5</ref> for a simple scenario that requires a transitive swap of roles. Three Robots are connected in series <ref type="bibr" target="#b0">(1)</ref>. For each agent the set of actable capabilities are listed and the topmost capability is used in the currently active role, e.g. Robot 1 is currently configured to play a role that involves Cap. 1 but may also apply Cap. 3. Two types of Cart agents represent the initial provision (Producer) and the final collection of the processed workpieces (Consumer). Due to an error Robot1 can no longer apply Cap. 1 and sends a request for assistance (2). This request is routed along the resource flow till it reaches an agent that is capable to execute the needed capability, here Robot 2 which replies to the request (3). The reply is routed to the requesting Robot as well as the Carts that are connected to the swapping robots. Consequently, the Robots and Carts reconfigure their local roles. The robots update their roles and the resource flow is reestablished by adjusting the ports in the pre-and postconditions of the roles of the connected Carts to ensure that workpieces reach the robots in the intended sequence. In the best case, the originating and the receiving agents can just switch their roles, thus restoring the resource-flow.</p><p>In Fig. <ref type="figure" target="#fig_3">5</ref>, Robot 2 is able to provide capability Cap. 1 but Robot 1 is not able to replace Robot 2 as it is missing the currently utilized Cap. 2 (3). Thus after the swap, Robot 1 remains in a problematic state and requests assistance (4). This request is propagated again till it reaches a robot with the required capability (Robot 3) and the swap proceeds as above <ref type="bibr" target="#b4">(5)</ref>. Since Robot 1 is able to replace the currently active capability of Robot 3, i.e. Cap. 3, the correct sequence of capabilities is finally reestablished <ref type="bibr" target="#b5">(6)</ref>. Here, the reconfiguration logic has been described for agents that only play on role at a time and the subsequent simulations concerns this simplified scenario. In principle, agents can be part of several resourceflows and in that case, the agents only reconfigure for roles that include the broken capability and keep processing resources of other tasks. Consequently, the informed Carts change only the ports of the affected roles accordingly.</p><p>A detailed ACBG of the outlined reconfiguration algorithm is illustrated in Fig. <ref type="figure" target="#fig_4">6</ref>. This description refines the previously given Solution Dynamic (cf. Fig. <ref type="figure" target="#fig_2">4</ref>) as it illustrates how the decentralized strategy relates to the dynamics of ODP. In addition, it indicates the system-level effects of the decentralized reconfiguration that are examined in Section V-A. When agents are Waiting for Reconfiguration due to error events, they show two behaviors. First, they are Deficient as one or more roles, which are required for the processing of resources, are inoperable. These roles are distinguished by the reason for deficiency. Agents can be rendered deficient by error events (By Break) or they deliberately decided to abandon a role in order to adopt another role on behalf of another agent (By Change). In the former case, the agents are rendered inefficient and in the latter case agents assist other agents. Secondly, these agents are considered to be Non-Active, i.e. they have the capacity to play another role. Agents can concurrently play several roles, therefore, the non-activity only denotes that the agent is underutilized, i.e. is capable to exhibit another role. This means that in agents that can play several roles, the Running and Non-Active roles do not exclude each other, but an agent can be associated to an active role (Running) and still have the capacities to play additional roles (Non-Active).</p><p>Agents are equipped with the ability to autonomously  When an agent has adjusted its role, those agents that received resources from it or gave resources to it need to adapt as well. This activity is separated from the role change as the agents do not deliberately decide about these changes. These are reconfigurations within connected agents that are enforced as they are consequences of the deliberate changes. These reconfigurations may as well by transmitted via Coordination Media (see Section III).</p><p>Assisting another agent introduces new deficiencies, as the assisting agent is giving up one role that needs to be played by another agent (Deficient by Change). Thus the net amount of Non-Active agents is unaffected. However, these changes may be necessary in settings where agents can not swap roles directly and transitive changes of roles are required (as exemplified in Fig. <ref type="figure" target="#fig_3">5</ref>). When Non-Active agents Resume to adopt a role, the number of Non-Active agents is reduced. Still, this requires the availability of Non-Active agents.</p><p>The changing activities of agents control the overall negative feedback (β) that increases the number of operational agents and reduces the number of deficient agents. Three auxiliary feedbacks influence the exhibited system dynamics (δ,γ,ǫ). First, agents that assist others create a reinforcing feedback loop (δ), which originates from the fact that an assisting agent adds additional deficiencies to the system. If an agent resumes its activities, deficiencies and non-active agents are removed instead, thus instituting a balancing feedback (γ). The ability to resume is limited by the amount of Non-Active agents, leading to a third balancing feedback (ǫ).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Estimating the Effects of Adaptation Dynamics</head><p>The outlined Solution Dynamic (cf. Fig. <ref type="figure" target="#fig_2">4</ref>) denotes an interagent process that can be implemented with the systemic programming model (see Section III). Prior to the detailed design and embedding of this process, the effected system behavior is anticipated. One approach to estimate the dynamics of self-organizing MAS is their simulation in stochastic process algebra models <ref type="bibr" target="#b19">[20]</ref>. It is important to note that the resulting stochastic models abstract from the agent implementations and their internal reasoning. Instead, stochastic terms are used to describe the dynamics with which specific behaviors are adopted or left. The number of currently active process terms resembles the number of agents that show specific behavior, i.e. the variable-values of an ACBG-based process description. Fig. <ref type="figure" target="#fig_5">7</ref> illustrates the simulation model used to anticipate the Solution Dynamic. The model is given in stochastic πcalculus <ref type="bibr" target="#b20">[21]</ref> and simulated with the Stochastic Pi Machine 3 (SPIM). Details on the simulation language and graphical notation can be found in <ref type="bibr" target="#b21">[22]</ref>. Agents are modeled as processes that communicate/interact via channels. The stochastics of interactions are given by annotating processes with delays (τ ) and assigning interaction rates to channels <ref type="bibr" target="#b20">[21]</ref>, <ref type="bibr" target="#b21">[22]</ref>. The notation x denotes the sending of data on the channel x and x denotes the reception of data via the channel x. In the simulation model, the number of agent behaviors that are exhibited are expressed by the number of active processes. Processes communicate via two channels. The channel req b is used to communicate requests for a role-switch, due to an internal error, i.e. the internal breaking of the requester. When roles are requested to be switched in order to assist an agent, these requests are send via the channel req c . Operative agents are denoted by the running process. Internal errors occur with a fixed rate, as defined by the delay τ b . Inoperative robots are represented the concurrent execution of the def icient b and non-active processes. Deficient processes end when a request for re-assignment of the affected role is processed by a recipient. The non-active processes become resume processes when they receive any request for re-allocation. The time delay τ rc resembles the time needed to reconfigure. Afterwards, the agent is in operation, i.e. exhibits the running process. When running agents receive a request to switch roles, they convert to the concurrent execution of the assist and def icient c processes. The assistance transforms back to the running process, delayed by the time to reconfigure the agent (τ rc ). The def icient c processes describe the search for another agent that is able to play the role that an assisting agent possessed before 3 http://research.microsoft.com/en-us/projects/spim/ the assisting adjustment. Deficiency ends when another agent processes the request for a role change, communicated via the channel req c . This simulation model abstracts from the agents that participate in the system. The time needed to restore the resource flow (cf. Fig. <ref type="figure" target="#fig_4">6</ref>), i.e. the adjustments of the roles of the directly connected agents to reestablish the correct flow of resources among machines, is part of the time delay τ rc . We assume that the rerouting of resource transportations is always possible.</p><p>Simulations indicate that, at a high enough level of redundancy, the system reliably recovers due to the decentralized switching of agent roles. This process describes a structure formation as the system maintains the operational system configuration. The fraction of recovering situations is predicted by this simulation to depend on the redundancy level in a similar way as is shown in the results section below.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Agent-based Realization</head><p>After the anticipation of the affected system behavior, this reconfiguration strategy has been integrated in a MAS by using systemic programming model (see Section III). The system implementation (Application Layer, see Figure <ref type="figure">3</ref>) makes use of the freely available Jadex<ref type="foot" target="#foot_2">4</ref> agent framework. The Robots and Carts within production lines are represented by Jadexagents and the exchanged workpieces are mimicked by objects that are exchanged via FIPA Agent Communication Language (ACL) messages. A realization of the Coordination Layer (see Fig. <ref type="figure">3</ref>) for this agent platform is utilized <ref type="bibr" target="#b10">[11]</ref>.</p><p>For this application scenario a tailored Medium realization is utilized that routes request and reply messages along the resource flow. Conceptually though, agents are aligned in a circle thus all agents can be reached independent of the location of the incapacitated agent. Endpoints encapsulate the logic to coordinate the reconfiguration process and interact via the Medium. Endpoints observe the agent-operation and initiate the reconfiguration process by sending a help request if an agent becomes deficient. The help request is forwarded through the medium. Each endpoint along the message path decides whether to adopt the deficient agent's role or continues forwarding the help request. If the endpoint decides to adopt the role, a reply is sent. The reply is sent in both directions through the medium to inform all agents which are affected (robots and connected carts) by the reconfiguration process. Again, each endpoint receiving the reply decides to change the agent configuration. The reply is sent backward through the medium until all affected agents are informed. If an endpoint receives multiple coordination messages these messages are queued and processed in the order of their arrival.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Implementation Test Results</head><p>The example system illustrated in Fig. <ref type="figure" target="#fig_3">5</ref> has been implemented and tested for measuring the handling of breaking capabilities. When the robot is rendered incapacitated by such an event, the associated endpoint notices this and initiates an interaction via the Coordination Medium that triggers the swapping of roles. The first swap involves the incapacitated agent that is Deficient by Break. In this system configuration, a second swap is required that resolves a transient Deficient by Change agent behavior.</p><p>In addition, we examine the relation of the redundancy within agents with the effectiveness of the reconfigurations. The effectiveness of the reconfiguration procedure is influenced by the number of alternative capabilities that are available to the individual agents. This level of redundancy is measured by the ratio of the number of individual capabilities (C i ), to the absolute number of capabilities (C) that are required for the processing of a workpiece ( Ci C ). In the following, we assume a homogeneous setting, where the robots are equipped with an equal number of redundant capabilities. The composition of these capabilities is normally distributed. In Fig. <ref type="figure" target="#fig_6">8</ref>, measuring results for a simple scenario with 10 different capabilities and agents are shown. Each single run processes of a fixed number of workpieces while, at two fixed instances of time, a randomly selected agent is incapacitated. A first estimate of the effectiveness of the reconfigurations is the number of exchanged messages (see Fig. <ref type="figure" target="#fig_6">8</ref>). The number of messages increases quickly when the number of redundancies decreases. This measurement can be analytically fitted with (c 1 * (1−x)) 2 +c 2 . <ref type="foot" target="#foot_3">5</ref> . A complementary measurement is the number of hops that requests for assistance travel before a swapping agents is found. This describes the logical distance between the swapping agents. The results for this measurement have shown the same characteristics like the message count and can be fitted with the same function (but different constants). Thus the decentralized reconfiguration strategy is particularly suited for production lines where the capability types are often available. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. RELATED WORK</head><p>Ant Colony Optimization has been used for decentralised control in production systems. <ref type="bibr" target="#b22">[23]</ref> uses the mechanism to control autonomous vehicles, similar to our carts. The distribution of jobs to production machines has not been a concern there. The more complex problem of scheduling jobs to run on certain machines has, e.g., been tackled in <ref type="bibr" target="#b23">[24]</ref> and <ref type="bibr" target="#b24">[25]</ref>.</p><p>However, these papers from operations research focus on optimization of a shop floor and do not take into account robustness and reconfiguration that happens at run-time. Also, only partial problems are investigated, either focusing on the routing of carts or the scheduling of production machines.</p><p>The work presented here concerns the run-time reconfiguration by self-organization. The maintained structure is a correct sequence of agents that are perturbed by individual failures that incapacitate agents. Prominent alternatives to the process presented here are centralized/distributed constraint solving techniques and market-based mechanisms. The correct configuration is described with constraints and an approach to use centralized constraint solving to restore functionality after a failure has already been published <ref type="bibr" target="#b18">[19]</ref>. Consequently, distributed constraint solving techniques <ref type="bibr" target="#b25">[26]</ref> can be used as well, e.g. as studied in <ref type="bibr" target="#b26">[27]</ref>. An example for market-based mechanisms is given in <ref type="bibr" target="#b27">[28]</ref>. A manufacturing line is provided with a flexible transport mechanism and work pieces and machine agents negotiate for the execution of working steps. In a way, the algorithm proposed in this paper is an optimistic and minimalistic version of a distributed constraint solver. By exchanging roles, the agents collectively restore the invariants of the system. The strategy is minimalistic since the number of required messages and the amount of shared information is reduced. It is optimistic because the assisting role changed are carried out before the complete solution is calculated. Its main advantage over traditional distributed constraint solvers is the minimal amount of calculation that is involved at the agents. They can therefore be very small with only minimal CPU power and RAM, making them cheap and easily replaceable.</p><p>Here, these design alternatives are qualitatively characterized by a subset of criteria from <ref type="bibr" target="#b28">[29]</ref>. Their quantitative comparison is left for future work. A first aspect is the necessary communication. The presented process minimizes the message content and only the information that immediately necessary to resolve a local failure is communicated. The number of messages ranges from a single role swap (best case) to the successive swapping of roles by all agents (worst case). The dependence of this measure on structural properties is shown in Figure <ref type="figure" target="#fig_6">8</ref>. The communications are only carried out when failures are present. Alternatives involve that coordinationrelated messages have to be exchanged during the normal system operation, e.g. as workpieces constantly negotiate their further processing <ref type="bibr" target="#b27">[28]</ref>. Also the amount of computations and the considered/exchanged knowledge about the system state is minimized. The participation in the process involves only the local consideration whether an agent is capable to play a required role. Now further information about the global system state is processed. Centralized constraint solvers require the full knowledge about the system and decentralized solvers require the information from neighboring agents. In addition, the adaptations are carried out concurrently to the system operation. Unaffected partitions of the production line continue to work. Finally, the accuracy of the quality of the found solution, i.e. stable configuration, varies. The process follows the heuristic that role swaps of nearby agents are favored over the swaps of (logically) distant agents. The explicitly treatment of the underlying constraint problem allows in principle to prepare the optimization of the found solutions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VII. CONCLUSIONS</head><p>In this paper, we have described a decentralized reconfiguration process to restore valid system configurations in self-organizing resource-flow systems. The reconfiguration algorithm works by exchanging roles with neighboring agents and by propagating change requests in a wave-like manner until all of them could be satisfied. The mechanism has been developed by combining a top-down process for the description of resource-flow systems and a bottom-up process for the design of agent coordination. Its performance has been demonstrated with a number of simulations.</p><p>The most interesting feature of the decentralized process proposed here is that reconfigurations are organized locally in the production line, i.e. the rest of the system is not impaired by a failure. Thus, parts of the system that are not involved into a local reconfiguration can continue to run normally. The way the reconfiguration propagates also ensures that only a small amount of agents is in a state of non-processing resources at an instance of time. This feature will be prominent also when using the wave-like algorithm in non-linear production situations, which is a straight-forward generalization instance. Local heuristics taking into account exchange-success rates could be predefined or evolved using learning algorithms. Future work includes a more detailed study on the combination of bottom-up design of coordination methods as proposed in SodekoVS and of top-down design methodologies as promoted with the ODP. This will also include a comparison of their respective advantages and problems that occur when both worlds are combined.</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. Robots with different capabilities (icons to the right of the robot) process a car by applying one of their capabilities each (highlighted icon).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. The elements of the ODP for Resource-Flow Systems.</figDesc><graphic coords="2,56.69,87.89,225.82,60.12" 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. The Problem and Solution Dynamic of the ODP.</figDesc><graphic coords="4,56.89,88.09,225.22,115.42" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Exemplification of the decentralized reconfiguration.</figDesc><graphic coords="5,47.29,88.09,500.42,154.22" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. ACBG for the Solution Dynamic of the wave-like, decentralized reconfiguration algorithm</figDesc><graphic coords="5,56.89,281.09,225.22,239.42" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Simulation Model of the Solution Dynamic in Stochastic π-Calculus.</figDesc><graphic coords="6,56.89,299.39,225.22,136.72" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 8 .</head><label>8</label><figDesc>Fig. 8. Measurement results. The averaged number of messages are plotted over the redundancy of capabilities.</figDesc><graphic coords="7,56.89,485.89,225.22,96.62" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Please note that some of the terminology used in ODP has a slightly different semantics than the same terms in agent-oriented software engineering due to the historic roots of ODP.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">Self-Organisation by Decentralized Coordination in Distributed Systems</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_2">http://jadex-agents.informatik.uni-hamburg.de/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_3">c 1 , c 2 are application dependent constants. In this case, these are 10 and 12 respectively.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ACKNOWLEDGMENT</head><p>This research is partly sponsored by the German research foundation (DFG) in the project SodekoVS and in the DFG special priority program "Organic Computing" (SPP 1183) in the project SAVE ORCA.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Design and Construction of Organic Computing Systems</title>
		<author>
			<persName><forename type="first">H</forename><surname>Seebach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ortmeier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Congress on Evolutionary Computation</title>
		<imprint>
			<biblScope unit="page" from="4215" to="4221" />
			<date type="published" when="2007-09">2007. Sept. 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Systematically engineering selforganizing systems: The sodekovs approach</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Braubach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pokahr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Lamersdorf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electronic Communications of the EASST</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">A specification and construction paradigm for Organic Computing systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Güdemann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Nafz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ortmeier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Seebach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems</title>
				<meeting>the Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="233" to="242" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">On Deadlocks and Fairness in Self-organizing Resource-Flow Systems</title>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Steghöfer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mandrekar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Nafz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Seebach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 30th International Conference on Architecture of Computing Systems (ARCS), LNCS 5974</title>
				<meeting>the 30th International Conference on Architecture of Computing Systems (ARCS), LNCS 5974</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="97" to="100" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A generic software framework for role-based Organic Computing systems</title>
		<author>
			<persName><forename type="first">F</forename><surname>Nafz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ortmeier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Seebach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Steghöfer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SEAMS 2009: ICSE 2009 Workshop Software Engineering for Adaptive and Self-Managing Systems</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Qualitative modeling of mas dynamicsusing systemic modeling to examine the intended and unintended consequences of agent coaction</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Agent-Oriented Software Engineering X</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>to be published</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Software Engineering for Self-Adaptive Systems</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Brun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Di Marzo Serugendo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gacek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Giese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Kienle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Litoiu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Müller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pezzè</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Shaw</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Engineering Self-Adaptive Systems through Feedback Loops</title>
		<imprint>
			<biblScope unit="page" from="48" to="70" />
			<date type="published" when="2009">2009</date>
			<publisher>Springer-Verlag</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Modeling feedback within mas: A systemic approach to organizational dynamics</title>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Organised Adaptation in Multi-Agent Systems</title>
				<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="72" to="89" />
		</imprint>
	</monogr>
</biblStruct>

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

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">MASDynamics: Toward systemic modeling of decentralized agent coordination</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Kommunikation in Verteilten Systemen, ser. Informatik aktuell</title>
		<imprint>
			<biblScope unit="page" from="79" to="90" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Decomas: An architecture for supplementing mas with systemic models of decentralized agent coordination</title>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 2009 IEEE/WIC/ACM Int. Conf. on Intel. Agent Tech</title>
				<meeting>of the 2009 IEEE/WIC/ACM Int. Conf. on Intel. Agent Tech</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="104" to="107" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Distributed Event-Based Systems</title>
		<author>
			<persName><forename type="first">G</forename><surname>Mühl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Fiege</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Pietzuch</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Springer-Verlag New York, Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Applications of Complex Adaptive Systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Building Complex Adaptive Systems: On Engineering Self-Organizing Multi-Agent Systems</title>
				<imprint>
			<publisher>IGI Global</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="229" to="256" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Decentralised coordination mechanisms as design patterns for self-organising emergent systems</title>
		<author>
			<persName><forename type="first">T</forename><surname>Dewolf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Holvoet</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Engineering Self-Organising Systems</title>
		<imprint>
			<biblScope unit="volume">4335</biblScope>
			<biblScope unit="page" from="28" to="49" />
			<date type="published" when="2007">2007. 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Selforganisation and emergence in mas: An overview</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">D M</forename><surname>Serugendo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Gleizes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Karageorgos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Informatica</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<biblScope unit="page" from="45" to="54" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Engineering swarming systems</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">V D</forename><surname>Parunak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Brueckner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Methodologies and Software Engineering for Agent Systems</title>
				<imprint>
			<publisher>Kluwer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="341" to="376" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Programming adaptivity by complementing agent function with agent coordination: A systemic programming model and development methodology integration</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sudeikat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Renz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of SIWN</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="1757" to="4439" />
			<date type="published" when="2009-05">may 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">On the modeling, refinement and integration of decentralized agent coordination -a case study on dissemination processes in networks</title>
	</analytic>
	<monogr>
		<title level="m">Self-Organizing Architectures</title>
				<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="251" to="274" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">A universal self-organization mechanism for role-based Organic Computing systems</title>
		<author>
			<persName><forename type="first">F</forename><surname>Nafz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ortmeier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Seebach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Steghöfer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Sixth International Conference on Autonomic and Trusted Computing (ATC-09)</title>
				<meeting>the Sixth International Conference on Autonomic and Trusted Computing (ATC-09)</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Simulating Emergent Properties of Coordination in Maude: the Collective Sorting Case</title>
		<author>
			<persName><forename type="first">M</forename><surname>Casadei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Gardelli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Viroli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">5th Int. Workshop on the Foundations of Coordination Languages and Software Architectures (FOCLASA)</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Stochastic π-calculus</title>
		<author>
			<persName><forename type="first">C</forename><surname>Priami</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Journal</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="578" to="589" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Symbolic Systems Biology: Theory and Methods</title>
		<author>
			<persName><forename type="first">A</forename><surname>Phillips</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">A Visual Process Calculus for Biology</title>
				<imprint>
			<publisher>Jones and Bartlett Publishers</publisher>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Ant colony control for autonomous decentralized shop floor routing</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">A</forename><surname>Cicirello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">F</forename><surname>Smith</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Symposium on Autonomous Decentralized Systems</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Ant systems &amp; local search optimization for flexible job shop scheduling production</title>
		<author>
			<persName><forename type="first">N</forename><surname>Liouane</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Saad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hammadi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Borne</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int. Journal of Comp., Comm. &amp; Control</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="174" to="184" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Solving real car sequencing problems with ant colony optimization</title>
		<author>
			<persName><forename type="first">C</forename><surname>Gagné</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gravel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">L</forename><surname>Price</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">European Journal of Operational Research</title>
		<imprint>
			<biblScope unit="volume">174</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="1427" to="1448" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">The distributed constraint satisfaction problem: Formalization and algorithms</title>
		<author>
			<persName><forename type="first">M</forename><surname>Yokoo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Durfee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Ishida</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kuwabara</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Knowledge and Data Engineering</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="673" to="685" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Self-regulation in self-organising multi-agent systems for adaptive and intelligent manufacturing control</title>
		<author>
			<persName><forename type="first">G</forename><surname>Clair</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Kaddoum</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">SASO &apos;08: Proc. of the 2008 Sec. IEEE Int. Conf. on Self-Adaptive and Self-Organizing Systems</title>
				<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="107" to="116" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Agent-based control systems</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">R</forename><surname>Jennings</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bussmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Control Systems</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="61" to="74" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Characterizing and evaluating problem solving self-* systems</title>
		<author>
			<persName><forename type="first">E</forename><surname>Kaddoum</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-P</forename><surname>Gleizes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-P</forename><surname>Georgé</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Picard</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">COMPUTATION-WORLD &apos;09: Proc. of the 2009 Computation World</title>
				<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="137" to="145" />
		</imprint>
	</monogr>
</biblStruct>

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