i. e. self-organization is an emergent property, as e. g. considered in [PB01]. Because the emergent shapes have to be novel w. r. t. the interacting elements, weakly self- organizing systems having an internal central control cannot be referred to as self- organizing emergent systems (even though they are still self-organizing). In order to decide, whether the increase in order is produced on its own, i. e. ’self’, system boundaries play an important role. Consequently, a self-adaptive system can be considered as weakly self-organizing, if the subsystem executing the control loop is within the defined system boundaries.
The definition also classifies the effects of emergent shapes w. r. t. the system. As explained in Subsection2.3.5, emergent shapes can be desired, e. g. evasive maneu- vers in schools of fish, or undesired, e. g. unexpected vibrations on the Millennium Footbridge (insignificant effects, e. g. stones ordered by the sea, are not of interest and thus not included, as mentioned). We think that the importance of these ef- fects to the design and operation of self-organizing emergent systems with regard to self-management justifies their inclusion into the definition.
2.4 Multi-Agent Systems
In general, there exist different technologies to model and realize self-organizing emergent systems as defined in the previous section, e. g. by cellular automata [Gut91], neural networks [Hay98], or multi-agent systems [Woo09]. However, multi- agent systems have been identified as the enabling technology for a plethora of application domains (cf. e. g. [PB01,MRF+03,SKRZ04,BSKN05,SGK05,SGK06, BSHZ06,BHJY07]), which is why we will base our approaches on this technology, too. A multi-agent system (MAS) is a particular class of computer systems com- posed of multiple interacting computing elements, called agents. The latter usually have the following characteristics (cf. [JSW98]):
• Autonomy: Agents in a MAS are considered as autonomous or semi-autono- mous hardware or software systems that operate in a asynchronous manner without the direct intervention of humans or others.
• Local views: Agents only have local, subjective views of the entire system. Usually, the systems are too complex for an agent to acquire or maintain a global view, so it can only have incomplete information of the system.
• Decentralized control: As a direct consequence of the second characteristic, in a MAS usually no agent has global control over the entire system.
• Decentralized data: Data is fully decentralized and distributed over the agents of the system and the environment.
Due to these characteristics, MASs are generally considered as an eligible tech- nology for accurately modeling and implementing self-organizing emergent systems. The field of MASs has been studied since about 1980, and has only gained widespread
recognition since about the mid-1990s. Nonetheless, the debate on what constitutes an autonomous agent and how to define it is still under way. Wooldridge and Jen- nings [WJ95] attribute an autonomous agent with three essential properties:
• Social ability: Agents interact with other agents (and possibly humans) via some kind of agent-communication language (ACL)
• Reactivity: Agents perceive their environment and respond in a timely fash- ion to changes that occur in it.
• Pro-activeness: agents do not simply act in response to their environment, they are also able to exhibit goal-directed behavior by taking the initiative. Although these properties are cited very often in literature, they do not represent a general characterization of an agent, because they require agents to interact using an ACL, e. g. KQML [FMM94] or FIPA-ACL [FIP02b]. But there exist several types of autonomous agents that only interact through the environment, not in need of ACLs. A more general definition of an agent is given by Wooldridge [Woo09]: ”An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives.” An agent is in possession of a repertoire of autonomous actions that it can execute to modify the environment. Executed actions effect changes in this environment, which can be sensed by sensors of an agent, either physical sensors (in the case of physically embodied agents situated in a part of the real world) or software sensors (in the case of computational agents such as simulated or software agents).
The field of MAS research did not emerge from a vacuum but has commonali- ties and differences with other research fields. For a long time it was common to refer to MAs as a subfield of Artificial Intelligence, namely Distributed Artificial Intelligence, see e. g. [Wei99]. But it has become a common practice to define the endeavor of AI itself as one of constructing an intelligent agent, see e. g. [RN02]. This is, AI is more concerned with the components of intelligence, i. e. the ability to learn, to plan, to understand concepts, etc. In addition, classical AI has largely ignored the social aspects of agencies [Woo09]. Another related research area is for instance game theory. Tools and techniques of game theory have found many ap- plications in computational MASs, see e. g. [SLB09], although many of the solution concepts developed in game theory tend to be descriptive concepts without a view to computation [Woo09]. Franklin and Graesser [FG97] discuss the differences between agents and arbitrary computer programs, whereas Wooldridge [Woo09] in addition discusses differences between MASs and distributed/concurrent systems, economics, and social science.
2.4.1 Generic Agent Architectures
Based on the agent theory [WJ95], a spectrum of generic agent architectures have appeared (see for instance [Oss99,Sch01]):
2.4 Multi-Agent Systems 41
• Deliberative agents: A deliberative agent, on the one side of the spectrum, maintains an internal representation of the world in which it lives, i. e. it has an explicit mental state. Thus, this type of agent is also referred to as mental or rational agent. The representation is an explicit symbolic model, which can be modified by some kind of symbolic reasoning, i. e. a planner reasons on this model and decides which actions to realize, while the agent uses sensor data in order to update this model. One of the best known deliberative agent architectures are BDI agents, which are based on the BDI (belief, desire and intention) theory [RG95]. Beliefs represent the informational state of the agent, i. e. its knowledge about the world, desires (or goals) represent the motivational state of the agent, i. e. objectives or situations that the agent would like to accomplish or bring about, and intentions represent the deliberative state of the agent, i. e. what the agent has chosen to do. Even though they are not a conceptual ingredient of the BDI theory, plans are essential, representing sequences of actions that an agent can perform to achieve one or more of its intentions.
• Reactive agents: A reactive agent, on the other side of the spectrum, works in a hard-wired stimulus-response manner. Instead of any symbolic repre- sentation of the world and any abstract reasoning, a reactive agent makes its decisions directly based on the input of its sensors. Hence, the decisions are usually based on a very limited amount of information along with sim- ple situation-action (if-then) rules. The focus of this agent type is rather on achieving robustness instead of optimality. One of the best known reactive agent architectures is the so-called subsumption architecture [Bro86].
• Hybrid agents: In between the spectrum, a hybrid agent represents a unifica- tion of deliberative and reactive agents in order to surmount their respective weaknesses. Whereas reactive agents very seldom implement goal-directed behavior, deliberative agents are mostly based on general-purpose reasoning mechanisms, which are not tractable and much less reactive. Essentially, hy- brid agents are steered by their simple routines reacting to basic stimuli. How- ever, a deliberative module controls the reactive one when it wants to perform stimulus-free actions (like reasoning) or to change long-term goals. An impor- tant example is the hybrid architecture InterRAP [M¨ul96].
Apparently, these three agent architectures differ from one another in their view of the intra-agent aspects. However, these agent architectures are idealized ones. In practice, there exist much more architectures mixing different aspects of these ar- chitectures. For example, the agent architecture used for our coordination approach in Chapter 4 resides between purely reactive agents and hybrid agents, and comes close to the notion of situated agents [WH04]. In situated MASs the agents work together locally to solve complex global problems. They are characterized by the presence of an explicit spatial structure in which agents act, i. e. every situated agent has an explicit position in the (distributed) environment. Situated agents live and
act in the presence and their decision making is not based on extensive reasoning upon mental states. They do not use long-term planning to decide what action sequence to execute next, but rather use computationally efficient behavior-based action selection mechanism to select situated actions they will perform. Behavior- based action selection is driven by stimuli perceived in the environment as well as stimuli internal to the agent. The situated actions hence are selected on the basis of an agent’s position in the environment, the state of the world it perceives, and only a limited amount of its internal state. The internal state will only be employed for decision making if it relates to (1) general static information of the system, e. g. fixed priority rules, (2) dynamic information related to the agent’s current context, e. g. a temporal agreement for collaboration with an agent on the same position, or (3) issues internal to the agent, e. g. a threshold value used as a switch for changing roles (cf. [Wey06]). Due to such an action selection mechanism a situated agent is able to respond rapidly to dynamic and changing circumstances. In contrast to deliberative agents, situated agents also do not emphasize an internal modeling of the environment. Instead, they favor to employ the environment itself as a source of information.
Also, a MAS has not to be based on a single agent architecture exclusively. As we will see in Chapter 6, we use different types of agent architectures to realize a self-managing systems combining self-organization with self-adaptation.
2.4.2 Formal Definitions
Due to the large range of agent types and architectures, various descriptions of an agent have been proposed, without, however, reaching a commonly accepted definition. A very general but concise definition of an agent that can be instantiated to most of the views of agents in literature is provided by Denzinger and colleagues (cf. [KD06]):
Definition 2.2 (Agent)
An agent Ag is defined as a quadruple
Ag= (Sit, Act, Dat, fAg)
where
• Sit is a set of situations Ag can be in • Act is the set of actions Ag can perform
• Dat is the set of possible values that Ag’s internal data areas can have • fAg : Sit × Dat → Act is the decision function Ag uses in order to determine
its next action
2.4 Multi-Agent Systems 43 Definition 2.3 (Multi-agent system)
A multi-agent system M AS is defined as a pair M AS= (A, Env) where
• A is a set of agents Ag1, . . . Agm
• Env is a common environment (or at least parts of it) the agent in A share in order to interact with each other
The agents in A might all have different sets of situations, actions, and internal data area values and they naturally can also have different decision functions. The actions of the agents in A might change the environment (or it can change on its own) and therefore Env consist of a set of environment states.
Env
Ag1 Ag2
...
AgmMAS
Figure 2.4: Components of a multi-agent system
Based on these two definitions, the first three components of an agent can be more structured by distinguishing between parts dealing with the agent in the environment itself and parts dealing with other agents. More formally, an element sit of Sit has the form sit = sitEnvsitAg , where sitEnv describes the environment the agent acts
in without the other agents and sitAg provides the information about other agents.
Note, the set Sit of an agent can be just a view on the environment, i. e. an element of Sit can contain less information than an element of Env. Act can be divided into the sets Actown of the agent’s actions not dealing with other agents and Actcoof its
communication and cooperation actions. Dat can be further structured into the set of data areas that contain information about the agent itself (Datown), areas that
contain sure knowledge about other agents (Datsk), and areas that contain assumed
(and therefore unsure) knowledge about other agents (Datak).
For an external observer lacking initial knowledge about an agent, the agent’s de- cision function appears to be a function gAg: Sit → Act, i. e. an observing agent can
only perceive actions and situations, but not the internal decision mechanisms that drive an agent’s decision making. The extent of the difference between an actual fAg and apparent gAg distinguishes between reactive and deliberative (or proactive
respectively knowledge-based) agents. An agent Ag is reactive if its Dat has neg- ligible influence on its decision making, and deliberative if its Dat has significant
influence on its decision making. Consequently, for situated agents Dat only has limited influence. Finally, the realization of Ag’s actual fAg depends on the agent’s
architecture.
In contrast to e. g. [Syc98], these very general definitions make no assumptions about the way a MAS is controlled, the communication and interaction patterns, or the information available to each agent. Due to this generality, these definitions also apply to several classes of systems, not only artificial ones but also human or animal systems. However, due to the abundance of proposed agent paradigms and models, any stricter definition will automatically exclude some of them. Thus, we will base our concepts presented in Chapter4 and Chapter6 on these definitions.