<<

IntelligentIntelligent AgentsAgents

Gerhard Weiss, SCCH GmbH, Austria Lars Braubach, University of Hamburg, Germany Paolo Giorgini, University of Trento, Italy

Foundations of Intelligent Agents 360 Reasoning Platforms 368 The Intelligent Agents Perspective on Social Platforms 369 Engineering 361 Application Areas 369 Architectures for Intelligent Agents 362 Scope of Application 369 Internal Agent Architectures 363 Application Domains 370 Social Agent Architectures 363 Conclusion 370 Development Methodologies 364 Glossary 370 Overall Characterization 364 Cross References 371 Selected AO Methodologies 365 References and Suggested Readings 371 Tools, Platforms, and Programming Web Pointers to Further Important Languages (Frameworks) 366 Resources 372 Middleware Platforms 367

FOUNDATIONS OF INTELLIGENT well as in the sense of competition (pursuit of partially or even wholly exclusive goals). Examples of forms AGENTS of interaction that are considered typical of agents The agent concept originated in artifi cial and include negotiation and confl ict resolution in the realm especially in the fi eld of agent and multiagent technology of cooperative planning activities and competitive sales (Weiss 1999; Wooldridge 2002). Thus the roots of the con- processes. Interactivity requires a precise interface that cept extend back to the 1950s. In the past decade the agent normally overshadows all the internals of the agent. concept has been successfully established in various fi elds Thus in general interactivity designates all the (higher) of , especially in the fi elds of software and social—communicative, cooperative, and competitive— software engineering. The term agent was long the subject capabilities of an agent. of intensive discussion and efforts toward precise specifi ca- • Autonomy. In the realm of its task processing, an agent tion, which continue to some extent today. Recent years have can decide largely autonomously and without consulta- seen broad acceptance of the following notion of agency: tion or coordination with third parties (human users An intelligent agent is a self-contained software/hard- or other agents) which activities to execute. This fre- ware unit that can handle its tasks in a knowledge-based, quently requires or implicitly assumes that the deci- fl exible, interactive, and autonomous way. sions to be made by the agents are nontrivial, that is, The following ideas underlie these key attributes of an that they may require extensive knowledge processing agent as formulated above: or that the effects are signifi cant. An agent has a certain scope of decision-making authorization and freedom of • Flexibility. An agent can act reactively as well as proac- action and so is subject to control by third parties only tively. Reactive means that the agent reacts in reason- to a restricted degree. able time and in an appropriate way to changes in its environment and to changes in the requirements placed Often the above notion of an agent is extended and on it. Proactive means that the agent acts with predic- concretized by associating further attributes with agents. tion, planning, and goal orientation. Flexibility, consist- The most prominent of these attributes include: ing of reactivity and proactivity, is thus the capability to handle possibly unexpected events and simultaneously • Situatedness/embeddedness. An agent is connected to to act with planning and goal orientation. its environment via close sensory and/or actuatory • Interactivity. An agent can interact with its environ- coupling. ment—especially with human actors and with other • Learning capability/adaptivity. An agent independently agents. Such interactions can be on a very high level optimizes its functionality with respect to the tasks that (i.e., they can be markedly communication- and knowl- are assigned to it, which may change over time. edge-intensive) and they serve the purpose of coordi- nation with third parties, that is, the coordination of Other attributes that the literature often designates activities and the handling of mutual dependencies. as elementary for agents and that are noteworthy from a Here we mean coordination in the sense of cooperation software engineering viewpoint include mobility, persist- (joint pursuit of possibly shared plans and goals) as ency, , and self-containment.

360

CH022.indd 360 11/21/09 2:00:12 AM THE INTELLIGENT AGENTS PERSPECTIVE ON ENGINEERING 361

The remainder of this chapter is structured as fol- prerequisite for programming in the large: the rise in the lows. The section on The Intelligent Agents Perspective degree of abstraction, away from the machine level and on Engineering describes the agent-oriented perspec- to the problem level. tive on software and systems engineering. The section management. Software is inherently on Architecture for Intelligent Agents describes avail- complex and its complexity will continue to rise dramati- able approaches to agent architectures. The section on cally as it has done in the past. A decisive criterion for the Development Methodologies overviews the state of the art evaluation of a software development approach is thus in systematically developing systems from the perspective its suitability for managing complexity. Four elementary of agent orientation. The section on Tools, Platforms, and techniques for managing complexity are very important Programming Languages (Frameworks) presents impor- in software engineering: tant frameworks for building agent applications, includ- ing tools, platforms, and programming languages. The 1. Decomposition. The reduction into smaller and thus section on Application Areas characterizes applications comprehensible parts that can then be developed and application areas that are particularly suited for the largely independently. agent-oriented approach. 2. Abstraction. The creation of a model that encom- passes signifi cant aspects while hiding unimportant aspects. THE INTELLIGENT AGENTS 3. Structuring. The specifi cation of (ordered) relation- PERSPECTIVE ON ENGINEERING ships and (desired) mutual effects among the compo- nents of the overall system. One of the great steps forward in software and systems engineering was the evolution of fundamental system 4. Reuse. The systematic use of past results (docu- views—paradigms—that support successful, systematic, ments and processes) from software projects in future and effi cient development of software systems. Examples projects. of such paradigms include structure orientation, object orientation, component orientation, aspect orientation, The intelligent agents perspective supports all four of model orientation, architecture orientation, pattern ori- these techniques in a very natural way. entation, task orientation, and (usually in the context of Autonomy as a system attribute. From the software business information systems) process orientation. Agent and systems engineering view, autonomy is the most strik- orientation, based on the notion of intelligent agents, is ing and, in terms of effect, the most far-reaching attribute a new member of this list of paradigms (Jennings 2000). of intelligent agents. This attribute, even if it seems radical In the following, we describe fundamental qualitative and revolutionary at fi rst glance, can be seen as the next attributes of agent orientation that confi rm a very high natural step in the evolution of generic engineering prin- potential for utilization and acceptance in software and ciples. This is best seen in the software fi eld. Elementary systems engineering. software units that have evolved up to now—monolithic System view and abstraction level. Agent orientation programs, modules, procedures, objects, components, suggests the metaphor of a software system as a human and services—demonstrate a rising degree of locality and organization and thereby opens an innovative, high- increasing encapsulation of data and state control. All quality, and at the same time intuitively comprehensible these software units have in common that their activation view of software. This paradigm is innovative and high- can be forced via external events (e.g., the start command quality because it enables viewing software design as by the user or the receipt of a message from another soft- organizational design; for a software developer, this opens ware unit); the unit itself does not decide whether to acti- a gold mine of organization theory concepts and tech- vate upon such a message. Agent orientation overcomes niques that can be applied in software engineering. The this restriction by providing the autonomy attribute to paradigm is intuitively comprehensible because organiza- additionally encapsulate the control over activation of tional terminology is part of our everyday life; therefore a software unit (self-activation over outside activation, we have no problem in viewing a software system as an self-determination instead of foreign determination, and organization (or as a combination of multiple organiza- self-responsibility rather than foreign responsibility). tions) in which software units (agents) handle tasks under The step to software autonomy not only is histori- consideration of prescribed computation and behavioral cally motivated but also refl ects practical requirements. guidelines (rules, standards, laws, etc.) and for this pur- On the one hand, a number of applications indirectly pose negotiate autonomously, resolve (resource) confl icts, imply the necessity to equip software with autonomy. On dynamically form and dissolve superordinate organiza- the other hand, autonomy is increasingly being required tional units (e.g., teams), play certain roles within these directly as a system attribute almost by defi nition. For superordinate units (e.g., resource manager, service pro- example, it has become common to view a peer-to-peer vider), and assume certain obligations with their roles. system as a self-organizing system of equal autonomous Especially characteristic of the agent-oriented system units, and in the context of Web services, autonomy is paradigm is that it affords a new abstraction level that is usually seen as an important attribute (in addition to the distinct from other paradigms. The step to this abstrac- attributes specifi ed in the W3C defi nition of Web services). tion level conforms to a development that is refl ected in Compatibility. A decisive factor for the potential of a higher programming languages and that is a necessary new paradigm—or a view, a technique, a method, etc.—is

CH022.indd 361 11/21/09 2:00:13 AM 362 INTELLIGENT AGENTS

its compatibility with existing and established approaches. ARCHITECTURES FOR Agent orientation is to a high degree compatible with other approaches. In particular, the agent-oriented view does not INTELLIGENT AGENTS claim to displace or exclude other views. In the context of multiagent systems two different kinds of architectures can be distinguished. Internal agent • The abstraction levels of agent-orientation and object- architectures determine the kinds of components an agent orientation complement one another in a meaningful consists of and additionally defi ne how these components way. interact. An internal agent architecture therefore has the • Agents and components share the attribute of self-con- main purpose to implement a reasoning process that tainment and their focus on their interfaces, and the ultimately leads to agent actions. Many different agent agent concept can be seen as a specialization or gener- architectures have been developed until today. Among alization (depending on viewpoint) of the component them are simple architectures, such as those inspired by concept. lower animals like ants as well as also very sophisticated architectures, which inter alia build on explanations of • Due to its focus on organizational structures (at the the human behavior determination process. level of individual agents), agent orientation has a close On the other hand, social agent architectures have been relationship to architecture orientation. devised for describing group structures and behavior. In • With its focus on interactivity and thus on consequences many cases social agent architectures provide concepts of coordinated actions, agent orientation has a funda- on an organizational level, which allow the description of mental commonality with process orientation. structures and behavior similar to how work is organized • Similar to task orientation, agent orientation empha- within human organizations. sizes the importance of defi ning overall tasks (at Figure 22.1 gives an overview of existing internal and the actor level instead of the object level) and their social agent architectures. Besides the architectures dependencies. themselves, it is also sketched what their origin is. In general, most agent architectures build on agent theories, Thus agent orientation merges various core aspects which describe the basic building blocks of agents includ- of other paradigms and also can be used in combination ing the behavior determination mechanism in a more with other approaches. abstract way than architectures. In many cases, agent

Joint Responsibility

STEAM Cohen‘s Subsumption Joint Intentions Architecture Ferber‘s JACK AGR Grosz‘s Simple Teams SharedPlans Brook‘s Taskmodel Subsumption Organization Hübner‘s Theory/Sociology MOISEϩ

Biology Dignum‘s Concreteness OperA

Architectures Theories Disciplines Psychology Dörner‘s MicroPSI PSI Shoham‘s Philosophy Newell's AOP AOP Icarus UTC

Bratman‘s Andreson‘s BDI ACT SOAR 3-APL Architecture

IRMA ACT-R PRS

Figure 22.1: Overview of Agent Architectures (from Braubach et al. 2008)

CH022.indd 362 11/21/09 2:00:13 AM ARCHITECTURES FOR INTELLIGENT AGENTS 363

theories have been deeply inspired by existing research agent behavior should be hierarchically decomposable of non–computer science-related disciplines such as into smaller pieces of work similar to different compo- organization theory, biology, psychology, and philosophy. nents in object-oriented settings. Hence, an agent com- Hence architectures can be seen as technical interpreta- prises an interpreter, which executes tasks that have been tions of theories, which concretize and operationalize the specifi ed in task templates at design time. In general, the underlying ideas and conceptual framework in a way that architecture permits a complex task to be composed of makes them implementable in software. an arbitrary number of subtasks, which themselves can be complex or simple. Concurrent agent behavior can be established by using more than one active top- Internal Agent Architectures level task at the same time. On the other hand, a sequen- Due to the variety of different internal agent architectures tial execution of behaviors can be achieved by scheduling that have been developed, several classifi cation schemes the following task at the end of the current behavior. If have been proposed (Braubach et al. 2008). Most infl u- coordination between different tasks is necessary, this is ential, the scheme of Wooldridge and Jennings (1994) normally done by using specifi c data stores, which can assumes a distinction between reactive, deliberative, and be accessed from multiple tasks and can be employed for hybrid agent architectures. A reactive agent architecture exchanging processing results. underpins the importance of fast reactions to changes Procedural Reasoning System (PRS). The PRS within highly dynamic environments. In its purist form, architecture is loosely based on the BDI (belief-desire- reactive agents do not possess a symbolic representa- intention) model, which has been proposed by Bratman tion of the world, and they build their decisions on the (1987) as a theory for explaining rational human behavior received percepts from the environment and other agents using a framework of folk-psychological mentalistic notions only. This also means that an agent has no memory, and their interplay. The model assumes that human prac- where it can save experiences from the past and thus tical reasoning is a two-staged process, which consists of a cannot learn from failures made earlier. Nonetheless, goal deliberation and a means-end reasoning phase. While in specifi c application domains fast reactions outweigh the objective of goal deliberation is to fi nd a consistent correct behavior, which is generated too slowly and may goal set without confl icting goals, means-end reasoning is no longer be applicable in the current situation. The sub- concerned with fulfi lling a concrete goal via plans, which sumption architecture (Brooks 1989) is a typical example describe predefi ned procedural knowledge of an agent. of a reactive control mechanism, which has been utilized In PRS, an agent is therefore specifi ed using the mental- very successfully in the robot domain. istic concepts—beliefs, goal events, and plans—whereby In contrast to reactive agent architectures, deliberative beliefs are used to store the agent’s knowledge about the architectures take up a different position and emphasize a word, goal events indicate the currently active desires and symbol-based reasoning process, which requires an agent plans represent the procedural means for achieving goals. to posses a local worldview. In line with the physical sym- The PRS agent interpreter operates on these notions and bol system hypothesis (Newell and Simon 1976) symbol realizes the means-end reasoning while assuming that manipulation is necessary for producing general intelligent an agent only possesses consistent goal sets, that is, goal action. In consequence, it is often assumed that delibera- deliberation is not considered at the architecture level. tive agents store their beliefs as logical formulae and have The interpreter has a relatively simple deliberation cycle, some inference mechanism at their disposal, which implies which works on an event queue. In this queue all events new knowledge and actions from the existing knowledge. that need to be processed, including incoming messages as A well-known deliberative agent architecture is IRMA well as new goal events, are contained. In each deliberation (Intelligent Resource-bounded Machine Architecture) cycle, the agent interpreter selects the next event from the (Bratman, Israel, and Pollack 1988), which exploits tra- queue and searches for plans that can handle the current ditional planning techniques for goal achievement. IRMA event. These plans are subsequently checked for their has been successfully used to explore agent reasoning in a applicability and one of the applicable plans is then selected relatively simple artifi cial environment called tile world, in for execution. Given that a plan failure occurs, alternative which agents have to transport tiles to holes. plans can be executed until either the underlying goal has Because both architecture styles exhibit weaknesses been achieved or no further plans are available. when implemented in their strict form, many hybrid architectures try to unify aspects from both approaches and therefore combine timely reactions with well-planned Social Agent Architectures behavior. Hybrid architectures have gained high attention In the context of social agent architectures, different in practice, and nearly all internal architectures, which approaches have been proposed that either focus on the are supported by agent frameworks, build on the bal- structure or on the behavior dimension of organizations. anced reactive as well as deliberative actions. Due to the Structure-based approaches exploit organizational con- high signifi cance of hybrid architectures, in the following cepts, which allow multiagent systems to be hierarchically paragraphs two typical representatives are presented in broken down in group-based units, which can themselves more detail. be assembled by subgroups or individual agents. This Task model. The task model is an agent architec- facilitates the construction of highly complex applica- ture, which has been extracted and consolidated from tions by using natural abstractions and applying the well- practical experiences building agent platforms (cf., e.g., known divide and conquer principle. On the other hand, JADE, ZEUS, LS/TS). It is based on the observation that approaches, which emphasize the behavioral dimension

CH022.indd 363 11/21/09 2:00:14 AM 364 INTELLIGENT AGENTS

primarily, aim at supporting teamwork in cooperative which agents play one or several roles and interact with scenarios. For to be able to support the teamwork of each other. Human organization models and structures agents the approaches have to provide solutions for dif- are employed for the design of MAS. Concepts like role, ferent kinds of activities including at least team forma- social dependency, and organizational rules are used tion, operation, and termination. To be usable in practice, not just to model the environment in which the system team mechanisms should also consider the degradation will work, but the system itself. Given the organizational of a team (e.g., when a member leaves the group) and nature of a MAS, one of the most important activities in provide adequate compensation strategies. In the follow- an AO methodology results in the defi nition of the inter- ing, a structure-centered as well as a behavior-centered action and cooperation models that capture the social approach will be presented. relationships and dependencies between agents and the Agent-Group-Role Model. An infl uential and simple roles they play within the system. Interaction and coop- structuring mechanism for agent teams is the agent- eration models are generally very abstract, and they are group-role (AGR) model, which relies on an organi- concretized implementing interaction protocols in later zational viewpoint for multiagent systems (Ferber, phases of the design. Gutknecht, and Michel 2003). This schema assumes that an agent is an active, communicating entity play- ing roles within certain groups. In this respect, a group Overall Characterization is seen as a set of agents sharing some common prop- The range of AO methodologies is quite complex, and erty, and groups are used as basic structuring means for it is therefore very diffi cult to give a complete charac- an application. Groups are defi ned in terms of their terization of all their facets and dimensions. A tenta- associated roles, which represent placeholders for the tive analysis proposed in Henderson-Sellers and Giogini different kinds of members forming a group. Therefore, (2005) showed a genealogy where lineages and infl uences a role is an abstract representation of a functional posi- among a number of methodologies have been character- tion or just an identifi cation of a member within a group. ized starting from their roots. Particularly, some of them At runtime an agent must play at least one role within are clearly based on ideas from artifi cial intelligence (AI), some group, but is allowed to play arbitrarily many roles others as direct extensions of existing OO methodolo- in possibly different groups. Groups can freely overlap, gies, while yet others try and merge the two approaches which allows an agent to be part of different groups at by taking a more purist approach yet allowing OO ideas the same time. when these seem to be suffi cient. Joint Intentions. A well-known cognitive framework Several methodologies acknowledge a direct descent for describing the behavioral aspects of teamwork is the from full OO methods. In particular, MaSE (or the more joint intentions theory (Cohen and Levesque 1991). It recent O-MaSE) (Garcia-Ojeda et al. 2007) acknowledges has been devised in order to set up the formal principles infl uences from (Kendall, Malkoun, and Jiang 1996) as well for describing how agents can pursue a common goal. as an inheritance from AAII (Kinny et al. 1996), which Therefore, the joint intentions theory assumes a mental- in turn was strongly infl uenced by the OO methodology istic view of agents and extends the individual notions of of Rumbaugh and colleagues called OMT (Rumbaugh belief, goals, and intentions to their group-related coun- et al. 1991). Similarly, the OO methodology of Fusion terparts. The key concept of a joint intention is consid- (Coleman et al. 1994) was said to be highly infl uen- ered as a joint commitment of an agent team to perform tial in the design of Gaia (Zambonelli, Jennings, and a collective action while being in a shared mental state. Wooldridge 2003). Two other OO approaches have also This joint commitment is expressed with a joint persist- been used as the basis for AO extensions. RUP (Kruchten ent goal held by every agent of the team. In contrast to 1999) has formed the basis for Adelfe (Bernon et al. 2002) an individual goal, a joint persistent goal involves further and also for MESSAGE (Caire et al. 2001), which, in turn, responsibilities for the involved agents. This basically is the basis for INGENIAS (Pavon, Gomez-Sanz, and means that each agent not only pursues the goal individu- Fuentes 2005; Gómez-Sanz et al. 2008). More recently, ally, but also that it will inform the others about impor- RUP has also been used as one of the inputs, together tant goal changes, that is, it will inform the others if it with AOR (Wagner 2003), for RAP (Taveter and Wagner believes the goal being achieved or unattainable. Based 2005). Second, the OPEN approach to OO software on this general commitment the group can act in a coher- development has been extended signifi cantly to support ent manner and single teammates will not unilaterally agents, sometimes called Agent OPEN (Debenham and drop the joint intention. Henderson-Sellers 2003). Finally, two other methodolo- gies exhibit infl uences from object-oriented methodo- logical approaches. Prometheus (Padgham and Winikoff DEVELOPMENT METHODOLOGIES 2004; Padgham, Thangarajah, and Winikoff 2008), Developing an agent-based software requires, like although not an OO descendant, does suggest using any other type of software, a systematic engineering OO diagrams and concepts whenever they exist and are approach that supports and drives a development team compatible with the agent-oriented paradigm. Similarly, along all the phases of the software production process. PASSI (Cossentino 2005) merges OO and MAS ideas, Previous years have shown a burgeoning of a number using UML as its main notation. Somewhat different of innovative agent-oriented (AO) methodologies. Many is the MAS-CommonKADS methodology (Iglesias et al. of these methodologies use the metaphor of an human 1998). This is a solidly AI-based methodology that claims organization (possibly divided into suborganizations) in to have been strongly infl uenced by OO methodologies,

CH022.indd 364 11/21/09 2:00:15 AM DEVELOPMENT METHODOLOGIES 365

notably OMT. Then there are the methodologies that do to the invariants that must be respected by the organiza- not acknowledge any direct genealogical link to other tion for it to work coherently; the latter express the dynam- approaches, OO or AO, such as Tropos (Bresciani et al. ics of the organization. A role model implicitly defi nes 2004), Nemo (Huget 2002), MASSIVE (Lind 1999), and the topology of the interaction patterns and the control Cassiopeia (Collinot and Drogoul 1998). regime of the organization’s activities. That is, it implicitly Additional useful literature on agent-oriented soft- defi nes the overall architecture of the MAS organization, ware and systems development is Bergenti, Gleizes, that is, its organizational structure. It is more natural for and Zambonelli (2004), Henderson-Sellers and Giorgini the choice of the organizational structure to follow from (2005), Luck, Ashri, and D’Inverno (2004), and Weiss the identifi cation of the organizational rules. (2002). The GAIA design process starts with the analysis phase, whose aim is to collect and organize the specifi cation, which is the basis for the design of the computational Selected AO Methodologies organization. This means defi ning an environmental We will briefl y describe three of the most popular AO model, preliminary roles and interaction models, and a methodologies: GAIA, Prometheus, and Tropos. set of organizational rules. Then, the process continues GAIA (Zambonelli et al. 2003) is one of the fi rst pro- with the architectural phase, aimed at defi ning the sys- posed agent-oriented software engineering methodolo- tem’s organizational structure in terms of its topology and gies. In GAIA, it is assumed that for the development of control regime, which, in turn, helps to identify complete medium and large multiagent systems (MAS), possibly roles and interaction models. During the detailed design situated in open and dynamic environments that have phase a detailed, but technology-neutral, specifi cation of to guarantee predictable and reliable behaviors, the an MAS is produced. most appropriate metaphor is that of an organization. Prometheus (Padgham and Winikoff 2004) is agent- Organizations are viewed in GAIA as collections of roles, based software engineering methodology supposed which are defi ned in terms of responsibilities, permis- to cover the overall development process. Three main sions, activities, and protocols. Responsibilities defi ne phases are supported: (1) system specifi cation, where the the functionality of the role, while permissions are the operating environment is identifi ed along all goals and rights that allow the role to perform its responsibilities. functionalities of the system; (2) architectural design, Activities are computations that can be executed by the where the overall structure of the system is given and role, and protocols defi ne the interaction between roles. needed type of agents and their interactions are specifi ed; As soon as the complexity of systems increases, modular- (3) detailed design, which focuses on defi ning capabilities, ity and encapsulation principles suggest dividing the sys- internal events, plans, and detailed data structures for tem into different suborganizations, with a subset of the each agent. agents being possibly involved in multiple organizations. Prometheus uses scenarios as variants of the scenarios In each organization, an agent can play one or more introduced by UML use cases, and interaction diagrams roles, which defi ne what it is expected to do in the organi- are essentially UML sequence diagrams. Use cases sce- zation, both in concert with other agents and in respect narios are used in Prometheus to specify aspects of the to the organization itself. The notion of a role in GAIA system and describe examples of the system in opera- gives an agent a well-defi ned position in the organiza- tion. In the architectural design phase, the interactions tion, with an associated set of expected behaviors. To between agents are defi ned using interaction diagrams accomplish their roles, agents typically need to interact and interaction protocols. The notation for this is a sim- with each other to exchange knowledge and coordinate plifi ed variant of UML sequence diagrams for interaction their activities. These interactions occur according to diagrams, and AUML for the interaction protocol. patterns and protocols dictated by the nature of the role The overall structure of the system is specifi ed in a sin- itself. In addition, an MAS is typically immersed in an gle diagram type at different levels of detail: system, agent, environment with which the agents may need to interact and capability. Further diagrams are used to show data in order to accomplish their roles. That portion of the coupling and agent acquaintance relationships. Dynamic environment that agents can sense and effect is deter- behavior is described with UML and AUML diagrams. In mined by the agent’s specifi c role, as well as by its cur- the system specifi cation phase, Prometheus gives a strong rent status. Identifying and modeling the environment emphasis to the determination of the system’s goals and involve determining all the entities and resources that the functionalities. The determination of goals results in an MAS can exploit, control, or consume when it is working iterative process: identifying and refi ning system goals, towards the achievement of the organizational goal. grouping goals into functionalities, describing a func- However, although role and interaction models can be tionality descriptor, defi ning use case scenarios (useful to useful to fully describe an existing organization, they are identify missing goals), and checking whether all goals of limited value in building an organization. This moti- are covered by scenarios. Given an initial set of goals elic- vates the introduction of the notions of organizational ited from the initial requirements, the analyst refi nes and rules and organizational structures. Indeed, before being elaborates them using a hierarchical structure answering able to fully characterize the organization, the analysis questions such as why goals are needed and how they can of an MAS should identify the constraints that the actual be achieved. organization, once defi ned, will have to respect, that is During the system specifi cation phase, roles are defi ned organizational rules. It is possible to distinguish between and mapped into the system’s functionalities. A role deals safety and liveness organizational rules. The former refer with a single aspect or subgoal of the system, and it has to

CH022.indd 365 11/21/09 2:00:15 AM 366 INTELLIGENT AGENTS

be very specifi c to avoid thus having functionalities that dependencies among each other. A dependency describes are too general, which can lead to potential misunder- an “agreement” (called dependum) between a depend- standing. The defi nition of functionality also provides the ing actor (depender) and an actor who is depended upon specifi cation of the information needed and produced, (dependee). The type of the dependency describes the and it is linked to one or more system goals. Roles are nature of the agreement. Goal dependencies are used also used in the architectural design phase to build data to represent delegation of responsibility for fulfi lling a coupling diagrams that describe functionalities and iden- goal; softgoal dependencies are similar to goal depend- tifi ed data. From data coupling diagrams, it is possible encies, but their fulfi lment cannot be defi ned precisely to extract and elaborate constraints that can be used to (for instance, the degree of fulfi lment is subjective); task build actual agents. dependencies are used in situations where the dependee From scenarios, analysts develop interaction diagrams is required to perform a given activity; and resource during the architectural design phase and then interac- dependencies require the dependee to provide a resource tion protocols. Information about agent interactions are to the depender. extracted from the functionality descriptors, and each Late requirements analysis results in a requirements agent type is linked to other agent types it interacts with. specifi cation that describes all functional and nonfunc- The specifi cation of agents’ interaction focuses mainly on tional requirements for the system-to-be. In Tropos, the the dynamic behavior of the system. UML sequence dia- system is represented as one or more actors that partici- grams are adapted to represent interaction diagrams and pate in a strategic dependency model, along with other are used as initial representations of agent interactions. actors from the system’s operational environment. In Interaction protocols are fi nal design artifacts. other words, the system comes into the picture as one or Prometheus is tool-supported (Padgham, Thangarajah, more actors who contribute to the fulfi llment of stake- and Winikoff 2008) by the Prometheus Design Tool holder goals. As late requirements analysis proceeds, the (PDT) and the JACK Development Environment (JDE). system is given additional responsibilities, and ends up as PDT allow users to create and elaborate Prometheus the dependee of several dependencies. A strategic ration- design. In particular, PDT helps in avoiding the introduc- ale model determines through a means-ends analysis how tion of inconsistencies, and it provides cross-checking the system goals (including softgoals) that were identifi ed that detects other forms of inconsistency. Differently, JDE during early requirements can actually be fulfi lled exploit- is used for the skeleton code generation from design dia- ing the contributions of other actors. A strategic rationale grams. It guarantees also that changes made to the code model is a graph with four types of nodes—goal, task, are refl ected in the design diagrams and vice versa. resource, and softgoal—and two types of links—means- Tropos (Bresciani et al. 2004) is requirement-driven ends links and decomposition links. A strategic ration- in the sense that it is based on concepts used during ale graph captures the relationship between the goals of early requirements analysis. Tropos adopts the concepts each actor and the dependencies through which the actor offered by i* (Yu 1995), a modeling framework proposing expects these dependencies to be fulfi lled. concepts such as actor (actors can be agents, positions, A Tropos system architecture constitutes a relatively or roles), as well as social dependencies among actors, small, intellectually manageable model of system struc- including goal, softgoal, task, and resource dependen- ture, which describes how system components work cies. These concepts are used in all software development together. Tropos offers a catalogue of organizational phases of Tropos, from the early requirements analy- architectural styles for cooperative, dynamic, and dis- sis down to the actual implementation. Tropos is a full tributed applications—such as multiagent systems—to tool-supported methodology (Morandini et al. 2008) that guide the design of the system architecture. These organi- spans four phases that can be used either following the zational architectural styles are based on concepts and waterfall or the spiral model respectively for sequential design alternatives coming from research in organiza- and iterative development: (1) early requirements, (2) late tion management. As such, they help match a multiagent requirements, (3) architectural design, (4) detailed design. system architecture to the organizational context within Although, there are many proposals to integrate Tropos which the system will operate. with agent-oriented programming frameworks, originally Tropos did not support the implementation phase. Early requirements analysis focuses on the intentions TOOLS, PLATFORMS, of stakeholders. Intentions are modeled as goals. Through AND PROGRAMMING LANGUAGES some form of goal-oriented analysis, these initial goals eventually lead to the functional and nonfunctional (FRAMEWORKS) requirements of the system-to-be. In Tropos, stakehold- For the development of multiagent systems it is neces- ers are represented as (social) actors who depend on each sary to cast the agent concepts and architectures to other for goals to be achieved, tasks to be performed, concrete implementation means. In order to avoid the and resources to be furnished. The Tropos framework burden of constructing agent systems from scratch for includes the strategic dependency model for describing each new application, several kinds of ancillary tools can the network of relationships among actors, as well as the be employed. In general, the tools can be categorized strategic rationale model for describing and supporting into development tools needed for building an application the reasoning that each actor goes through concerning and the runtime infrastructure (called agent platform) its relationships with other actors. A strategic depend- needed to execute agent applications. An agent platform ency model is a graph involving actors who have strategic offers the basic management services for hosting agents

CH022.indd 366 11/21/09 2:00:16 AM TOOLS, PLATFORMS, AND PROGRAMMING LANGUAGES (FRAMEWORKS) 367

on a uniform infrastructure and additionally exposes system providing generic services that are beyond the func- ready-to-use communication mechanisms for the agents. tionalities of the operating system and can be reused within Conceptually, a blueprint for agent platforms has been different kinds of applications (Coulouris, Dollimore, and proposed in the FIPA abstract architecture (cf. the sec- Kindberg 2005). Examples of such functionalities include tion on Tools, Platforms, and Programming Languages directory services and message passing mechanisms. (Frameworks)). Besides management functionalities, an In the fi eld of multiagent systems middleware plat- agent platform is characterized by the kind of agents that forms play a similar role and have in common that they can be executed. Therefore, the development of appli- focus on a sound technological base for the execution of cations using an agent platform heavily depends on the agents. Therefore they emphasize aspects such as interop- supported internal and social agent architectures. In this erability, robustness, scalability, and mobility. Under this respect, the internal architecture determines the concepts point of view, mobile agent toolkits such as Grasshopper and mechanisms that can be used for agent behavior (Bäumer et al. 1999), which allow agents to migrate programming, whereas the social architecture specifi es between different hosts, can also be seen as part of the which notions can be used for realizing coordination middleware category. The most important characteristic between agents and team management. Technically, a supported by nearly all middleware platforms is inter- platform is characterized by the programming language operability, which has been realized by the adherence it provides for realizing agents and the available tools for to the FIPA standards. In many cases, representatives of development, administration, and debugging. this category do not use sophisticated agent architectures Today, there is a multitude of commercial and open- but rather rely on the task model, which assembles the source agent platforms available in the market. Hence, in overall behavior from simpler behavior modules. For this the following, only a broad overview can be given and a reason, most middleware platforms do not need specifi c small cutout of these presented in more detail. In order agent programming languages, and typical mainstream to present a meaningful selection of platforms, agent plat- object-oriented languages such as Java can be used. In forms are categorized based on a coarse classifi cation, the following the JADE platform will be presented as a and one typical representative of each primary category is typical representative of the agent middleware category. exemplifi ed. This classifi cation scheme, which was initially JADE overview. The JADE platform (Java Agent proposed by Braubach and colleagues (2006), is depicted Development Environment) is developed as open-source in Figure 22.2. It distinguishes platforms by means of software by the Telecom Italia Lab (TILAB) since 1998 their primary focus and proposes three main categories: (Bellifemine et al. 2005). JADE has a big user community middleware, reasoning, and social-oriented platforms. and has been adopted for applications from many dif- ferent areas. As one example Whitestein has used JADE to construct an agent-based system for decision-making Middleware Platforms support in organ transplant centers (Calisti et al. 2004). In the context of distributed systems middleware is seen as JADE agent architecture. In JADE, agents are speci- a software layer between an application and the operating fi ed in terms of a behavior-based architecture. A behavior

JADE COUGAAR OpenCybele A-Globe MULAN LS/TS MDAL MadKit (ADK) SACI-MOISE+ (SAGE) (DIET) Middleware Social (SeMoA) (Zeus) (Grasshopper)

Jadex JACK LS/TS MARGE Soar Agentis Soar STEAM AgentFactory Oslo Reasoning Jason MOISE+ Jason Gorite Open-PRS JACK SimpleTeams Practionist 2-APL SPARK (Nuin) Legend: (AgentBuilder) (...): development discontinued (3-APL) bold: open-source license

Figure 22.2: Classifi cation and Overview of Commercial and Open-Source Agent Platforms

CH022.indd 367 11/21/09 2:00:17 AM 368 INTELLIGENT AGENTS

corresponds to a task and serves for the encapsulation agent architectures and agent programming languages of a specifi c functionality. An agent can be supplied with have been conceived which refi ne, extend, and interpret arbitrarily with many behaviors in order to work on dif- the basic theories. In many cases these theories adopt the ferent tasks concurrently. The communication among intentional stance (Dennett 1971), which uses human- behaviors is realized by shared data stores, which can be centered mentalistic notions such as beliefs and goals for used to make visible processing results for one another. behavior explanations. It has been argued that it is useful For managing complexity, behaviors can be hierarchically to preserve the intentional stance also for the implemen- assembled. The execution of subbehaviors is determined tation of agents, because the notions can be used for such by the containing behavior and can be sequential, paral- matters as simplifying debugging of complex systems lel or based on a fi nite state machine. Each JADE agent is (McCarthy 1979). Thus, in many cases reasoning plat- executed in a separate thread, which performs a coopera- forms encompass newly conceived agent programming tive nonpreemptive scheduling, that is, the agent main- languages including mentalistic notions. As an example tains a list of all active top-level behaviors and executes reasoning platform Jadex will be further illustrated. one step of each behavior in a round-robin fashion. Jadex overview. The Jadex framework has been devel- JADE language. JADE does not utilize an agent-ori- oped as an open-source project at the University of Hamburg ented programming language but instead employs Java since 2003 (Pokahr, Braubach, and Lamersdorf 2005). It and offers agent-based functionalities such as message follows the BDI model (Bratman 1987) and allows goal- sending through an application programming interface oriented agents to be built with standard software- (API). For a communication language the standardized engineering technologies such as Java and XML. Jadex sep- FIPA-ACL (Agent Communication Language) is used, arates the reasoning engine for managing agent behavior which ensures that JADE agents can communicate with from the underlying agent execution infrastructure. Given agents living on other FIPA-compliant agent platforms. this separation, Jadex can be used in conjunction with dif- In addition, JADE supports most of the FIPA content ferent kinds of middleware such as other agent platforms languages such as SL (Semantic Language) and RDF (like JADE) or component-based approaches (like J2EE (Resource Description Framework) for describing the application servers). Jadex has been used to realize appli- message content separately from the rest of the message. cations in different domains such as simulation, schedul- To facilitate the communication in open systems JADE ing, and business process management. For example, Jadex also allows using ontologies for a shared understanding of was used to realize a multiagent application for negotiation the used domain concepts. If such ontology objects need of treatment schedules in hospitals (Paulussen et al. 2006). to be transmitted between agents specifi c content encod- Jadex agent architecture. The behavior of an agent is ers and decoders are provided that are able to transform defi ned in terms of beliefs, goals, and plans in Jadex. Goals the content to a specifi ed content language. represent the motivations of an agent and fi nally determine JADE tools. There is a broad range of tools available the procedural behavior pursued that is encoded within for developing agent applications with JADE. Nonetheless, plans. Beliefs represent the knowledge of an agent and most tools target the administration and debugging of typically refl ect its perception of the environment, itself, multiagent systems, whereas earlier development phases and other agents. In Jadex, goals are decoupled from any are barely supported. As Java is employed for program- concrete behavior specifi cation and just express what an ming agents, common object-oriented integrated devel- agent wants to achieve, avoid, or maintain from a high- opment platforms (IDEs) such as Eclipse can be used level perspective. The notion of goals is very similar to its without restrictions. The central access point for the stand- general usage and supports many important characteris- ard runtime tool suite of JADE is the remote monitoring tics such as the possibility for handling strategic long-lived agent (RMA), which offers a graphical user interface and as well as more tactical short-term goals. Given that an can be used for starting the other tools. The RMA mainly agent can posses an arbitrary number of goals, it is of vital exposes basic management functionalities for starting importance to decide which of its goals may confl ict and and killing agents. Other runtime tools allow the sending what to do if such situations arise. For this purpose Jadex of messages to agents (dummy agent) and the stepwise offers a generic goal deliberation strategy, which enables execution and monitoring of agent behavior (introspector an agent to reason about its current goals and is driven agent). For the debugging of multiagent systems the sniffer by the overall objective of pursuing only confl ict-free goal tool is quite helpful, as it visualizes the messages between sets at any point in time. The relationships among goals agents in a style similar to UML sequence diagrams. are specifi ed by the agent developer at design time and will be enforced by the reasoning engine at runtime. A fur- ther important step is that an agent has to determine how Reasoning Platforms it can achieve these goals. For this purpose PRS means- These kinds of platforms center on the internal reason- end reasoning is used, meaning that appropriate plans are ing processes of agents and aim at providing possibilities dynamically selected and executed for a goal until the goal for the effi cient specifi cation and execution of intelligent has been achieved or no more plans are available. agent behavior. The common characteristic of reasoning Jadex language. Even though Jadex allows for pro- platforms is that they rely on psychological or philosophi- gramming with mentalistic notions, it does not intro- cal theories for explaining rational human behavior. Thus, duce a new agent programming language but relies on the primary aim of platforms from this category consists of the standard languages XML and Java. XML is used for making those rather abstract theories usable for the con- the specifi cation of the agent structure according to a crete task of application development. For this purpose BDI metamodel, which defi nes the permissive tags and

CH022.indd 368 11/21/09 2:00:17 AM APPLICATION AREAS 369

attributes of an agent. In addition, the procedural knowl- this interface is the only restriction MadKit agents need edge of an agent, that is, its plan bodies, can be directly to follow. Basically, the platform expects an agent to have programmed in plain Java. Agent-related behavior is methods for the initialization, execution, and shutdown made accessible through a framework API, which per- that will automatically be called by the platform when an mits, for example, the dispatching of subgoals and the agent will be executed. MadKit exploits this freedom by reading and writing of belief values. The communication already providing different simple agent types that can, language of Jadex depends on the middleware it is used for instance, be rule-based or state-oriented. with and can, for instance, be made FIPA-compatible by MadKit language. In addition to the agent architec- using JADE as infrastructure layer. ture independence of MadKit, the platform also supports Jadex tools. Jadex offers various tools for developing different (standard) languages for programming agents. agent systems and focuses on activities for administra- Besides Java, which is the main language, the platform tion and debugging. The implementation of agents can also has built-in support for Scheme, Python, and Jess. be done using standard object-oriented IDEs that already This allows developers to implement agents with a pro- offer sophisticated programming support for Java as well gramming language of their choice. The communication as schema-based XML documents. The tool suite mainly language of MadKit is also confi gurable. In its basic form, consists of the Jadex Control Center, which represents the agents communicate via simple message objects that can plugin-based entry point for tool components. Besides contain arbitrary content objects. Using specialized mes- administration tools for starting and stopping agents and sage objects it is also possible to transmit FIPA-ACL monitoring the state of directory services debugging tools messages. Interestingly, the communication in MadKit is also allow the inspection of an agent’s state as well as its also connected to the underlying AGR concepts. Hence, it stepwise execution. Using the simulation tool it is possible is possible to send or broadcast messages to specifi c roles to control the advancement of time within an execution or groups instead of concrete agents. MadKit tools. The Madkit distribution contains, besides the platform, various development and runtime tools. The Social Platforms platform offers a MadKit desktop, which contains short- Social agent platforms underline the importance of coordi- cuts to the available tools as well as many example appli- nation and cooperation aspects within multiagent systems. cations. For the implementation of agents a developer can Thus, the focus of social platforms is not so much concerned make use of source code editors that support the different with providing concepts for specifying individual behavior. built-in programming languages. In addition, a designer Instead, concepts and mechanisms are targeted that allow tool can be used to set up MadKit projects and associate for setting-up group behavior of teams of agents. These agents and other resources to a project context. At runtime, systems build upon the already discussed group behavior MadKit provides the group observer tool, which makes the theories and architectures. Due to the lack of integrated organizational structures visible and shows which groups approaches, the support of agent platforms for the organi- and agents exist. In addition, the tool allows conversations zational metaphor is rather limited and restricted to either to be visualized as UML sequence diagrams. the structure or behavior dimension. In the following, the MadKit framework will be presented as an example for a platform using structural behavior concepts. APPLICATION AREAS MadKit overview. The MadKit (Multi-Agent Develo- Scope of Application pment kit) platform was developed as open-source by Fer- Intelligent agents have proven particularly suitable for ber and colleagues (Gutknecht, Ferber, and Michel 2001). It the implementation of applications with the following represents an agent framework adhering to the AGR model characteristics: and therefore takes a structural perspective on organiza- tion modeling. The platform is based on a microkernel, • Distribution: Data, information, and knowledge are which only includes indispensable services for agent life- geographically and/or logically distributed and are cycle management, group management, and local message processed as such. transport. All further services have been agentifi ed and can be added to the kernel on demand. The framework • Parallelism/concurrency: The data are processed in has already been used for the realization of applications parallel/concurrently. covering a wide range of domains including simulations of • Openness: The number and the type of hardware and submarine robots and production line logistics. software components involved in the application are MadKit agent architecture. MadKit focuses strongly variable and possibly not precisely known a priori (on on the organizational view of multiagent systems and design). hence does not implement a specifi c agent architecture to • Embedded in complex (dynamic, unpredictable, lim- be used by an agent programmer. On the one hand, this ited transparency, heterogeneous, etc.) socio-technical gives agent developers complete freedom about how to environments (situated applications). build their agents manually without further support from the framework, but on the other hand this also requires With advancing technological progress, such as computer him to do so. An agent in MadKit is regarded as an autono- networking and platform interoperability, such applications mous object that can communicate via messages and play are gaining importance in a broad range of commercial, roles in groups. The framework specifi es from an outside industrial, and scientifi c domains. In general, these three view how an agent can be executed, and the adherence to characteristics represent a multitude of applications that

CH022.indd 369 11/21/09 2:00:18 AM 370 INTELLIGENT AGENTS

are based on new models of and approaches to computer- classes should not be considered as complete, but are supported information processing, such as grid comput- open for further refi nements and extensions. Despite ing, peer-to-peer computing, Web computing, pervasive this issue, the spanned matrix already allows giving and ubiquitous computing, autonomic computing, and an impression of the possibilities of multiagent sys- mobile computing. Their suitability for such applica- tems and an overview of the areas in which they have tions ensues from their attributes corresponding with the shown to be able to contribute to novel innovative solu- three key attributes of an agent—fl exibility, interactivity, tions. In the following each of the application sectors and autonomy. First, the characteristics distribution and will be explained in more detail. For further detailed openness imply a distributed and open control structure overviews of agent applications, see, for instance, Klügel (which enables parallel and concurrent processing) and (2004) and Parunak (2000). thus the necessity to use software units for the imple- mentation that can act autonomously (without central control). Second, the characteristics openness and embed- CONCLUSION dedness imply the necessity to employ software units that Over the past decade considerable progress has been are as fl exible as possible, such as software units that are achieved in the fi eld of agent and multiagent technology, capable of acting suitably despite unexpected changes in and, as a result, today intelligent agents and agent-ori- the technological infrastructure or in the user require- ented systems are gaining increasing attention in indus- ments. Third, the characteristics distribution, openness, trial contexts. This attention mainly rests on the insight and embeddedness imply the necessity to employ soft- that these systems have a signifi cant application potential ware units that are capable of interacting as fl exibly and in a variety of complex domains, and much of the current autonomously as possible. worldwide research on intelligent agents aims at putting this potential into practice. Application Domains This chapter concentrated on several aspects of intel- ligent agents that are of particular and direct relevance The application areas for multiagent systems can be cat- to broad industrial acceptance and dissemination. Other egorized and described according to different criteria. In facets that are also essential to computational agency but the literature two rather orthogonal ways of categoriza- are not covered in this chapter due to limited space are, application sectors appli- tions can be found: using and for instance, automated negotiation, cooperative plan- cation classes . Sectors here refer to the type of business ning, and joint learning; the reader interested in a broader such as industry or health care, whereas classes focus depiction of intelligent agents is referred to Weiss (1999) on the underlying type of solution such as simulation or and Wooldridge (2002). robot control. Figure 22.3 presents a matrix according to the two categorization dimensions sketched before. The choice GLOSSARY of application sectors used here follows the proposal Agent: A self-contained computational (hard/software) of Jennings and Wooldridge (1998) and adds the mili- entity that handles its tasks in a knowledge-based, fl ex- tary domain. A more fi ne-grained breakdown of sectors ible, interactive, and autonomous way can be found in Luck and colleagues (2005). The selec- Agent architecture: Information and control fl ow tion of application classes is loosely based on Ferber within an agent; more specifi cally, the arrangement of (1999), but also incorporates the proposal of Wooldridge data, algorithms, and control structures that an agent (2002). The categorizations of sectors as well as of uses in order to decide on his actions.

Sector Industrial Commercial Entertainment Medical Military … Class Applications Applications Applications Applications Applications Movie scene Battlefield Multi-Agent Market/trading Hospital Factory simulations Productions/ Simulations/ … Simulation simulations simulations Games Pilot training Problem Goods transport E-Business Strategy games Hospital logistics War logistics … Solving

Robot Household Medical device Unmanned Production robots “Intelligent” toys … Control robots control aerial vehicles Disaster management/ Information Tracking and Web search Artificial Decision support/ Medical information … Management Tracing Email filtering game reporters Smart dust management Telemedicine/ Human Computer Augmented Shop bots/ Augmented reality Avatars in games Home care … Interface Mgmnt. reality tools Help assistants tools for soldiers management …………… …… Figure 22.3: Overview of Multiagent Application Areas

CH022.indd 370 11/21/09 2:00:18 AM REFERENCES AND SUGGESTED READINGS 371

Agent communication language: A formal language Caire, G., W. Coulier, F. Garijo, J. Gomez, J. Pavon, F. Leal, that allows agents to exchange knowledge and to inter- P. Chainho, P. Kearney, J. Stark, R. Evans, and P. Massonet. act in a sophisticated manner at the knowledge level. 2001. Agent oriented analysis using MESSAGE/UML. In Agent-oriented programming: The programming of M., Wooldridge, G., Weiß, and P. Ciancarini, (Eds.). Agent- software in terms of agent-specifi c mentalistic notions oriented software engineering II, LNCS 2222. Berlin, (e.g., belief and desire) as well as agent-specifi c organi- New York, Heidelberg, Springer-Verlag, pp. 119–135. zational notions (e.g., group and coalition). Calisti, M., P. Funk, S. Biellman, and T. Bugnon. 2004. A Computational autonomy: The ability of a computational multi-agent system for organ transplant management. entity to act under self-control and to make decisions Applications of Technology in the Health even in complex and perhaps unforeseen situations. Care Domain Heidelberg: Springer-Verlag. Multiagent system: A system composed of at least two Cohen, P.R., and H.J. Levesque. 1991. Teamwork. Menlo agents; often used synonymously to agent system intel- Park, CA., SRI International. Research Report. ligent agent, computational agent, autonomous agent Coleman, D., P. Arnold, S. Bodoff, C. Dollin, and H. software agent → agent. Gilchrist. 1994. Object-oriented development. The fusion method. New Jersey: Prentice Hall. Collinot, A., and A. Drogoul. 1998. Using the Cassiopeia CROSS REFERENCES method to design a soccer robot team AAI Journal 12 Distributed Intelligent Networks; Expert Systems; Intelligent (2–3):127–147. Manufacturing Systems; Web Intelligence. Cossentino, M. 2005. From requirements to code with the PASSI Methodology. In Agent-Oriented Methodologies, REFERENCES AND SUGGESTED ed. B. Henderson-Sellers and P. Giorgini. Hershey, PA: Idea Group Inc., pp. 79–106. READINGS Coulouris, G.F., J. Dollimore, and T. Kindberg, 2005. Bäumer, C., M. Breugst, S. Choy, and T. Magedanz. 1999. Distributed systems. New Jersey: Addison-Wesley. Grasshopper—A universal agent platform based Debenham, J., and B. Henderson-Sellers. 2003. Designing on OMG MASIF and FIPA standards. Proceedings agent-based process systems—extending the OPEN of First International Workshop on Mobile Agent for Process Framework. In V. Plekhanova, (Ed.), Intelligent Telecommunication Applications (MATA’99):1–18. Agent Software Engineering, PA: Idea Group Publishing, Bergenti, F., M.-P. Gleizes, and F. Zambonelli (Eds.). 2004. pp. 160–190. Methodologies and software engineering for agent systems: Dennett, D. 1971. Intentional systems. Journal of The agent-oriented software engineering handbook. Boston, Philosophy 68:87–106. Dordrecht, London: Kluwer Academic Publishers. Ferber, J. 1999. Multi-agents systems—An introduc- Bernon, C., M.-P. Gleizes, G. Picard, and P. Glize. 2002. The tion to distributed artifi cial intelligence. New Jersey: ADELFE methodology for an intranet system design. Addison-Wesley. Online-Proceedings of the AOIS Workshop 2002. Ferber, J., O. Gutknecht, and F. Michel. 2003. From agents http://ftp.informatik.rwth-aachen.de/Publications/ to organizations: An organizational view of multi- CEUR-WS/Vol-57. agent systems. In Proceedings of the 4th International Bratman, M. 1987. Intention, plans, and practical reason. Workshop on Agent-Oriented Software Engineering IV. Cambridge: Harvard University Press. Springer, pp. 214–230. Bratman, M., Israel, D., and Pollack, M. 1988. Plans and Garcia-Ojeda, J.C., S.A. DeLoach, W. Oyenan, and J. resource-bounded practical reasoning. Computational Valenzuela. 2007. O-MaSE: A customizable approach Intelligence 4 (4):349–355. to developing multiagent development processes. In Braubach, L., A. Pokahr, and W. Lamersdorf, (2008). M. Luck, and L. Padgham, (Eds.), Proceedings of the A Universal Criteria Catalog for Evaluation of 8th International Workshop on Agent Oriented Software Heterogeneous Agent Development Artifacts. In Jung, Engineering. LNCS 4951. Heidelberg, Springer-Verlag, B. F., Michel, A., Ricci, and P. Petta, (Eds.), From Agent Berlin, New York, pp. 1-15. Theory to Agent Implementation (AT2AI-6), OFAI Gómez-Sanz J.J R., J. Fuentes-Fernández Pavón, I. García- Technical Report No. 2008-01, Austrian Research Magariño. 2008. INGENIAS development kit: A visual Institute for Artifi cial Intelligence (OFAI), pp. 19–28. multi-agent system development environment. The Braubach, L., Pokahr, A., and Lamersdorf, W. (2006). Tools Seventh International Conference on Autonomous and Standards. In Kirn, S., Herzog, O., Lockemann, Agents and Multiagent Systems:1675–1676. P., and Spaniol, O. (Eds.), Multiagent Engineering— Gutknecht, O., J. Ferber, and F. Michel. 2001. Integrating Theory and Applications in Enterprises. Springer- tools and infrastructures for generic multi-agent sys- Verlag, pp. 503–530. tems. Proceedings of the Fifth International Conference Bresciani, P., P. Giorgini, F. Giunchiglia, J. Mylopoulos, on Autonomous Agents:441–448. and A. Perini. 2004. Tropos: An agent-oriented soft- Henderson-Sellers, B., and P. Giorgini (Eds.). 2005. Agent- ware development methodology. Autonomous Agents oriented methodologies. PA:Idea Group Publishing. and Multi-Agent Systems (18):203–236. Huget, M.-Ph. 2002. Nemo: An agent-oriented software Brooks, B. 1989. How to build complete creatures rather engineering methodology, Proc. AOSE Workshop than isolated cognitive simulators. In K. VanLehn, Sydney. (Ed.), Architectures for Intelligence. Erlbaum, Hillsdale, Iglesias, C.A.M., Garijo, J.C. Gonzalez, and J.R. Velasco. NJ, pp. 225–239. 1998. Analysis and design of multi-agent systems

CH022.indd 371 11/21/09 2:00:19 AM 372 INTELLIGENT AGENTS

using MAS-CommonKADS. Intelligent Agents IV: Agent engineering. theory and applications in enterprises, ed. Theories, Architectures, and Languages, LNAI 1365, S. Kirn, O. Herzog, O., P. Lockemann, O. Spaniol: Heidelberg, Berlin, New York: Springer-Verlag, 255–275. Heidelberg, Berlin, New York: Springer-Verlag. Jennings, N.R. 2000. On agent-based software engineer- Pavón, J., J. Gomez-Sanz, and R. Fuentes. 2005. The ing. Artifi cial Intelligence 117:277–296. INGENIAS methodology and tools. In B. Henderson- Kendall, E.A., M.T. Malkoun, and C. Jiang. 1996. A meth- Sellers, and P. Giorgini (Eds.). Agent-Oriented odology for developing agent based systems for enter- Methodologies (pp. 236–276). Hershey, PA: Idea Group. prise integration. In P. Bernus, and L. Nemes, (Eds.). Pokahr, A., L. Braubach, and W. Lamersdorf. 2005. Modelling and Methodologies for Enterprise Integration. Jadex: A BDI reasoning engine. In R. Bordini, Heidelberg, Berlin, New York: Springer-Verlag. M. Dastani, J. Dix, and A. El Fallah Seghrouchni, Kinny, D., Georgeff, M., & Rao, A. (1996). A methodology (Eds.). Multi-Agent Programming: Languages, Platforms and modelling techniques for ystems of BDI agents. and Applications. 149–174. Heidelberg, Berlin, New Technical Note 58, Australian Artifi cial Intelligence York. Springer-Verlag. Institute, also published in Proceedings of Agents Rumbaugh, J., M. Blaha, W. Premerlani, F.Eddy, and W. Breaking Away, the 7th European Workshop on Lorensen. 1991. Object-Oriented Modeling and Design. Modelling Autonomous Agents in a Multi-Agent World New Jersey: Prentice-Hall. (MAAMAW’96) (pp. 56–71). Springer-Verlag. Taveter, K., and G. Wagner. 2005. Towards radical agent- Klügel, F. 2004. Applications of software agents. Künstliche oriented software engineering processes based on AOR Intelligenz 2 (4):5–10. modeling. In B. Henderson-Sellers, and P. Giorgini Kruchten, P. 1999. The rational unifi ed process: An intro- (Eds.). Agent-oriented methodologies. Hershey, PA: Idea duction. Reading, MA: Addison-Wesley. Group. (pp. 277–316). Lind, J. 1999. Iterative software engineering for multia- Wagner, G. 2003. The agent-object relationship meta- gent systems. The MASSIVE Method, LNAI Vol. 1994. model: Towards a unifi ed view of state and behaviour. Heidelberg, Berlin, New York: Springer-Verlag. Inf. Systems 28 (5): 475–504. Luck, M., R. Ashri, and M. D’Inverno (Eds.). 2004. Agent- Willmott, S., M. Calisti, and E. Rollon. 2002. Challenges based software development. Boston, London: Artech in large-scale open agent mediated economies. House. Proceedings of AAMAS ‘02: Revised Papers from the Luck, M., P. McBurney, O. Shehory, and S. Willmott. 2005. Workshop on Agent Mediated Electronic Commerce Agent technology: Computing as interaction (A roadmap on Agent-Mediated Electronic Commerce IV, Designing for agent based computing). UK: AgentLink. Mechanisms and Systems. Berlin Heidelberg New McCarthy, J. 1979. Ascribing mental qualities to machines. York: Springer. In M. Ringle (Ed.). Philosophical Perspectives in Weiss, G. 2002. Agent orientation in software engineer- Artifi cial Intelligence. pp. 161–195. Humanities Press. ing. Knowledge Engineering Review 16 (4):349–373. Morandini, M., D.C. Nguyen, A. Perini, and A. Susi. 2008. Weiss, G. (Ed.). 1999. Multiagent Systems. Cambridge: Tool-supported development with Tropos: The confer- MIT Press. ence management system case study. Proceedings of Wooldridge,. M. 2002. Introduction to multiagent systems. 8th International Workshop on AGENT ORIENTED Hoboken, NJ: John Wiley & Sons, Inc. SOFTWARE ENGINEERING (AOSE 07). Revised Wooldridge, M., and N. Jennings, 1994. Agent theories, Selected Papers. LNCS 4951 Heidelberg, Berlin, New architectures, and languages: A survey. Proceedings York: Springer. of the International Workshop on Agent Theories, Newell, A., and H.A. Simon. 1976. Computer science Architectures & Languages (ECAI’94). Heidelberg, as empirical enquiry. Communications of the ACM Berlin, New York: Springer-Verlag. 19:113–126. Yu, E. 1995. Modelling strategic relationships for proc- Object Management Group (OMG): Mobile Agent Facility ess reengineering Ph.D. dissertation. University of Specifi cation. Available at: www.omg.org/cgi-bin/ Toronto, Department of Computer Science. doc?formal/2000-01-02, 2000. Zambonelli, F., N. Jennings, and M. Wooldridge. 2003. Padgham, L., and M. Winikoff. 2004. Developing intel- Developing multiagent systems: The Gaia methodol- ligent agent systems: A practical guide. Hoboken, NJ: ogy. ACM Transactions on Software Engineering and John Wiley & Sons, Inc. Methodology 12 (3): 317–370. Padgham, L., J. Thangarajah, and M. Winikoff. 2008. The Prometheus design tool—A conference manage- WEB POINTERS TO FURTHER ment system case study. In M. Luck, and L. Padgham, (Eds.). Proceedings of 8th International Workshop IMPORTANT RESOURCES on Agent Oriented Software Engineering, LNCS Vol. AAMAS conference series. www.aamas-conference.org. 4951. Heidelberg, Berlin, New York: Springer-Verlag, IEEE FIPA standardization committee. www.fi pa.org/ pp. 197–211. about/fi pa_and_ieee.html. Parunak, V. 2000. A practitioners’ review of industrial International Journal of Agent-Oriented Software agent applications. Autonomous Agents and Multi- Engineering. www.inderscience.com/browse/index.php? Agent Systems 3 (4):389–407. journalID=174. Paulussen, T.O., A. Zöller, F. Rothlauf, A. Heinzl, L. International Journal on Autonomous Agent and Multi- Braubach, A. Pokahr, and W. Lamersdorf. 2006. Agent- Agent Systems (AAMAS). www.springer.com/computer/ based patient scheduling in hospitals. In Multiagent artifi cial/journal/10458.

CH022.indd 372 11/21/09 2:00:20 AM