Professional Documents
Culture Documents
Brian Henderson-Sellers - Paolo Giorgini-Agent-oriented Methodologies-Idea Group Pub (2005)
Brian Henderson-Sellers - Paolo Giorgini-Agent-oriented Methodologies-Idea Group Pub (2005)
Agent-Oriented
Methodologies
Brian Henderson-Sellers
University of Technology, Sydney, Australia
Paolo Giorgini
Trento University, Italy
TEAM LinG
ii
Copyright © 2005 by Idea Group Inc. All rights reserved. No part of this book may be reproduced,
stored or distributed in any form or by any means, electronic or mechanical, including photocopying,
without written permission from the publisher.
Product or company names used in this book are for identification purposes only. Inclusion of the
names of the products or companies does not indicate a claim of ownership by IGI of the trademark
or registered trademark.
All work contributed to this book is new, previously-unpublished material. The views expressed in this
book are those of the authors, but not necessarily of the publisher.
TEAM LinG
iii
Agent-Oriented
Methodologies
Table of Contents
Foreword ......................................................................................................... vi
James J. Odell
Preface .............................................................................................................. x
Brian Henderson-Sellers, University of Technology, Sydney,
Australia
Paolo Giorgini, University of Trento, Italy
Chapter I
Agent-Oriented Methodologies: An Introduction .................................... 1
Paolo Giorgini, University of Trento, Italy
Brian Henderson-Sellers, University of Technology, Sydney,
Australia
Chapter II
Tropos: A Requirements-Driven Methodology for Agent-Oriented
Software .......................................................................................................... 20
Paolo Giorgini, University of Trento, Italy
Manuel Kolp, University of Louvain, Belgium
John Mylopoulos, University of Toronto, Canada
Jaelson Castro, Federal University of Pernambuco, Brazil
Chapter III
The Agent-Oriented Methodology MAS-CommonKADS .................... 46
Carlos A. Iglesias, Technical University of Madrid, Spain
Mercedes Garijo, Technical University of Madrid, Spain
Chapter IV
From Requirements to Code with the PASSI Methodology ................. 79
Massimo Cossentino, ICAR-CNR, Italy
TEAM LinG
iv
Chapter V
Prometheus: A Practical Agent-Oriented Methodology .................... 107
Lin Padgham, RMIT University, Australia
Michael Winikoff, RMIT University, Australia
Chapter VI
Multi-Agent Systems as Computational Organizations: The Gaia
Methodology .............................................................................................. 136
Franco Zambonelli, Università di Modena e Reggio Emilia, Italy
Nicholas R. Jennings, University of Southampton, UK
Michael Wooldridge, University of Liverpool, UK
Chapter VII
Engineering Adaptive Multi-Agent Systems: The ADELFE
Methodology .............................................................................................. 172
Carole Bernon, IRIT – University Paul Sabatier, France
Valérie Camps, IRIT – University Paul Sabatier, France
Marie-Pierre Gleizes, IRIT – University Paul Sabatier, France
Gauthier Picard, IRIT – University Paul Sabatier, France
Chapter VIII
The MESSAGE Methodology for Agent-Oriented Analysis and
Design .......................................................................................................... 203
Francisco J. Garijo, Telefónica I+D, Spain
Jorge J. Gómez-Sanz, Universidad Complutense de Madrid,
Spain
Philippe Massonet, CETIC, Belgium
Chapter IX
The INGENIAS Methodology and Tools .............................................. 236
Juan Pavón, Universidad Complutense de Madrid, Spain
Jorge J. Gómez-Sanz, Universidad Complutense de Madrid, Spain
Rubén Fuentes, Universidad Complutense de Madrid, Spain
Chapter X
Towards Radical Agent-Oriented Software Engineering Processes
Based on AOR Modelling ........................................................................ 277
Kuldar Taveter, The University of Melbourne, Australia
Gerd Wagner, Brandenburg University of Technology at Cottbus,
Germany
TEAM LinG
v
Chapter XI
Multi-Agent Systems Engineering: An Overview and Case Study ... 317
Scott A. DeLoach, Kansas State University, USA
Madhukar Kumar, Software Engineer, USA
Chapter XII
Comparison of Ten Agent-Oriented Methodologies .......................... 341
Quynh-Nhu Numi Tran, University of New South Wales, Australia
Graham C. Low, University of New South Wales, Australia
Chapter XIII
Creating a Comprehensive Agent-Oriented Methodology:
Using Method Engineering and the OPEN Metamodel ..................... 368
Brian Henderson-Sellers, University of Technology, Sydney,
Australia
TEAM LinG
vi
Foreword
TEAM LinG
vii
• The Tropos methodology provides guidance for the four major develop-
ment phases of application development. One of its primary contributions
is placing an emphasis on modeling goals and their relationship with the
system’s actors, tasks, and resources.
• MAS-CommonKADS is based on both CommonKADS and object-oriented
(OO)-based methodologies. This enables the developer to build agent-
based systems while leveraging the experience of pre-agent methodolo-
gies and employing familiar techniques and diagrams.
• The PASSI methodology brings a particularly rich development lifecycle
that spans initial requirements though deployment and, in addition, empha-
sizes the social model of agent-based systems.
• From an AI planning-execution perspective, Prometheus provides an es-
pecially rich goal-driven approach for its BDI-like agents. Its methodol-
ogy is used today to develop systems on commercial BDI-based agent
platforms, such as JACK or Agentis.
• Gaia is one of the earliest agent methodologies and now reflects this
experience in Version Two of its approach. Using the analogy of human-
based organizations, Gaia provides an approach that both a developer and
a non-technical domain expert can understand—facilitating their interac-
tion.
• ADELFE is a specialized methodology that emphasizes cooperative agents
that self-organize and possibly result in emergent systems. More specifi-
cally, it addresses designing complex adaptive systems and anticipating
emergence within its software agents.
• Resulting from a two-year, European-funded EURESCOM project, MES-
SAGE extends existing object-oriented methodologies for agent-oriented
applications. Chartered to address telecommunications applications, its
resulting RUP-based approach also supports more general applications.
• The INGENIAS methodology supports a notation based on five metamodels
that define the different views and concepts of a multi-agent system. Us-
ing metamodels provides flexibility for evolving the methodology and adopt-
ing changes to its notation.
• RAP is concerned with distributed information systems (such as enter-
prise resource planning and supply-chain management systems) and places
less emphasis on AI-based systems. The philosophy of the Model Driven
Architecture (MDA) is adopted with the goal that executable software
agents can be generated using RAP artifacts.
• MaSE is a comprehensive methodology that has been used to develop
systems ranging from heterogeneous database integration applications to
biologically based, computer-virus immune systems and cooperative ro-
botics systems. Its hybrid approach can be applied to multi-agent sys-
TEAM LinG
viii
TEAM LinG
ix
James J. Odell
Reference
Harmsen, F., Brinkkember, S., & Oei, H. (1994). Situational method engineer-
ing for information system project approaches. In A. A. Verrijn-Stuart &
T. W. Olle (Eds.), Methods and associated tools for the information
systems life cycle (pp. 169-194). Elsevier, Amsterdam: Elsevier.
TEAM LinG
x
Preface
TEAM LinG
xi
TEAM LinG
xii
community are exploring some more formal extensions to UML, such as Agent
UML (AUML); others eschew these proposals and develop their own notation.
Indeed, there is still some debate about whether extended an object-oriented
notation like UML is the right way to go or whether the requirements of the
agent community cannot be satisfied by waiting for the Object Management
Group (OMG) to agree upon an agent-oriented extension to UML (although
such efforts are indeed being discussed in the OMG in collaboration with the
Foundation for Intelligent Physical Agents [FIPA]). We did ask that when au-
thors used non-UML-like notations that they defined them in situ.
While the OO basis of many of these AO methodologies is evident (and dis-
cussed in more detail in Chapter I), it should be noted that a group of method-
ologies use the Rational Unified Process (RUP) as its basis. The terminology
used in RUP, and therefore used in Chapters VII through IX, is not identical to
the terminology used in the other chapters. Again, because of the different
heritage we have not tried to rationalize these differences. We felt that had we
done so, we would have destroyed the very essence of these three method-
ological approaches.
We are aware that much of the agent-oriented methodology development work,
as reported here, has occurred in the realms of academe. Yet, one aim is to be
able to transition these research results into industry. Particularly through our
experiences in chairing various agent-oriented workshops (AOIS, AOSE,
OOPSLA), we have become all too painfully aware of the challenge of
transitioning agent technology into mainstream software development. The
AO community is seen from outside as being undecided as to the basic charac-
teristics of an agent, for example, whether or not to include proactivity and
mobility and, if so, whether this is a binary characteristic or on a grey scale.
From our previous experience with OO methodologies both in research and
industry adoption, it is clear that there is a need for methodology developers to
become aware of each others’ work, to collaborate, to standardize, and to come
up with a generally agreed approach to software development using their pro-
posed new technology—here, agent technology. This book aims to be a first
step in that direction. By presenting each methodology in as similar a light as
possible and by undertaking a feature analysis, we can hope to gain insights, as
researchers, into what works and what doesn’t. As coalescence is encouraged,
these ideas need to be tried out “for real” in industry applications. This is al-
ready beginning to happen, as is reported in some of the chapters in this book.
Nevertheless, a concerted community effort is needed if industry adoption is to
follow successfully.
In addition to presenting each methodology in an easy-to-understand way supple-
mented by an independent analysis (Chapter XII), we also propose a way for-
ward for such a collaborative venture: situational method engineering. Chapter
XIII offers insights into how this might work in the development of more flex-
TEAM LinG
xiii
TEAM LinG
xiv
TEAM LinG
Agent-Oriented Methodologies: An Introduction 1
Chapter I
Agent-Oriented
Methodologies:
An Introduction
Paolo Giorgini
University of Trento, Italy
Brian Henderson-Sellers
University of Technology, Sydney, Australia
Abstract
Introduction
A methodology aims to prescribe all the elements necessary for the development
of a software system, especially in the context of commercial applications. Prior
to industry adoption, however, it is necessary for researchers to create that
methodology. This has led to academic and industry researchers creating a large
number of methodological approaches. A decade ago, there were estimated to
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
2 Giorgini & Henderson-Sellers
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 3
In this context, an autonomous agent is one that is totally independent and can
decide its own behaviour, particularly how it will respond to incoming communi-
cations from other agents. A proactive agent is one that can act without any
external prompts. However, it should be noted that this introduces some
problems, since there is also a large literature on purely reactive agents that
would not be classified as agents with this categorization. Although reactive
agents dominate in some domains, in reality, most agents being designed today
have both proactive and reactive behaviour. Balancing the two is the key
challenge for designers of agent-oriented software systems.
The characteristic of situatedness means that agents are contained totally within
some specific environment. They are able to perceive this environment, be acted
upon by the environment, and, in turn, affect the environment. Finally, the
directedness means that agents possess some well-defined goal and their
behaviour is seen as being directed towards effecting or achieving that goal.
Comparison with objects is often made. Some see agents as “clever objects” or
“objects that can say no.” This means that a hybrid agent+object system is
entirely feasible. Others see agents at a much higher level of abstraction (e.g.,
Milgrom et al., 2001), much in the same way that OO specialists view compo-
nents at a similar more granular level. Indeed, it is still unresolved as to how the
scale of objects, components, and agents are matched and to what extent hybrid
object/component/agent systems are feasible.
Some consequences of these high-level definitions are that agents participate in
decision-making cycles, sometimes labelled as “perceive-decide-act” cycles. To
achieve this, we have to consider other lower-level characteristics such as the
roles that agents play, the metaphor of the agents having a mental state, including
the possession of skills and responsibilities, aptitudes, and capabilities. When
considering their interactions via perceptions and actions with other agents and
the environment, we introduce notions of perceptions, actions, and agent
communication languages. Negotiating skills involve the consideration of con-
tract nets, auction strategies, and the issues of competition versus cooperation.
Defining a Multi-Agent System (MAS) is also not straightforward. However,
almost all the definitions given in the literature conceive a MAS as a system
composed of cooperative or competitive agents that interact with one another in
order to achieve individual or common goals. From the software engineering
point of view, one of the most important characteristics of a MAS is that the final
set of agents is generally not given at design time (only the initial set is specified),
but rather at run time. This basically means that, in practice, MASs are based on
open architectures that allow new agents to dynamically join and leave the system.
The major difference with the OO approach, where objects can also be given at
run time and join and leave the system dynamically, is that agents can do this
autonomously showing proactive behaviors not completely predictable a priori.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
4 Giorgini & Henderson-Sellers
A MAS contains agents (and not, say, objects); consequently, it too has some of
these typical agent characteristics. Thus key characteristics of a MAS can be
said to be autonomy, situatedness, proactivity, and sociality. Of these, perhaps
proactivity is the most contentious since, as noted above, it is generally agreed
that agents possess various degrees of both proactive and reactive behaviour.
Secondly, autonomy is not a binary characteristic either, since active objects,
used for instance in the context of event-driven programming, can also be said
to exhibit some degree of proactivity. Notwithstanding these two concerns, these
agent characteristics lead to a set of desirable high-level characteristics (Milgrom
et al., 2001) including adaptiveness, flexibility, scalability, maintainability, and
likely emergent behaviour. While these are said to be “desirable” characteristics,
it is perhaps the last of this list that causes most concern. Emergence is usually
linked to Complex Adaptive Systems (CAS) theory. Although there are many
shades of definition of what is meant by emergence in the CAS community, the
general interpretation is that an emergent behaviour is one that cannot be
predicted by inspection of the individual parts. This means that it is not visible
from a bottom-up analysis and, arguably therefore, must be considered at the
system level. Since this sort of emergent behaviour is generally encouraged,
allowing it to emerge unconstrained and unplanned is clearly dangerous in certain
circumstances (whilst beneficial in others). To alleviate this concern of an
uncontrolled and uncontrollable agent system wreaking havoc, clearly emergent
behaviour has to be considered and planned for at the systems level using top-
down analysis and design techniques. This is still an area that is largely unknown
in MAS methodologies. ADELFE starts along this path with its consideration of
adaptive MAS (see Chapter VII for further details) in which agents that
permanently try to maintain cooperative interactions with others.
Many AO methodologies (e.g., Gaia and Tropos) use the metaphor of the human
organization (possibly divided into sub-organizations) in which agents play one or
more roles and interact with each other. Human organization models and
structures are consequently used to design MAS (see, for instance, the use of
architectural patterns in Tropos or the organization models in MAS-
commonKADS). Concepts like role, social dependency, and organizational rules
are used not just to model the environment in which the system will work, but the
system itself. Given the organizational nature of a MAS, one of the most
important activities in an AO methodology results in the definition of the
interaction and cooperation models that capture the social relationships and
dependencies between agents and the roles they play within the system.
Interaction and cooperation models are generally very abstract, and they are
concretized implementing interaction protocols in later phases of the design.
Although the Agent-Oriented Programming (AOP) paradigm was introduced
more than ten years ago by Yoav Shoam in his seminal work (Shoham, 1993), still
there are no AO languages used in practice for developing an MAS. Some tools
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 5
have been developed in recent years to support the implementation of agents and
multi-agent systems, but still none are based on a proper agent-oriented
language. An interesting and very long list of agent tools is available at the
AgentLink Web site (http://www.agentlink.org). Current agent development
tools are mainly built on top of Java and use the object-oriented paradigm for
implementing software. The methodologies presented in this book do not have as
their main focus the implementation phase, although many of them give some
indications how to do that. The most used developing tools are JACK (AOS,
2000) and JADE (http://www.jade.cselt.it/).
JACK is a commercial agent-oriented development environment built on top of
and fully integrated with Java. It includes all components of the Java develop-
ment environment and also offers specific extensions to implement agent
behaviour. JACK provides agent-oriented extensions to the Java programming
language whereby source code is first compiled into regular Java code before
being executed. In JACK, a system is modelled in terms of agents defined by
capabilities, which in turn are defined in terms of plans (set of actions), events,
beliefs, and other capabilities.
JADE (Java Agent DEvelopment Framework) is a free software framework
fully implemented in the Java language. It allows for the implementation of multi-
agent systems through middleware that complies with the FIPA specifications
and through a set of graphical tools that supports the debugging and deployment
phases. The agent platform can be distributed across machines (which do not
even need to share the same operating system) and the configuration can be
controlled via a remote GUI. The configuration can even be changed at run-time
by moving agents from one machine to another one, as and when required.
AO Methodologies
What is an AO Methodology?
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
6 Giorgini & Henderson-Sellers
Parunak, & Bauer, 2000) offers an important contribution but has limited scope
within the context of a methodology. The emphasis placed on the product side
of a methodology tends to vary between different authors, as will be seen in the
remainder of this book. Some use UML/AUML and others eschew this as being
inadequate to support the concepts of agents as described in our earlier section
on Agent and Multi-agent Systems, introducing instead their own individualistic
notation and underpinning concepts. When UML-style diagrams are used, it is
assumed that the reader has some familiarity with this kind of graphical notation2;
otherwise, each author fully defines the notational set of icons being used in that
particular methodological approach.
Although these two main components (process and product support) are
generically agreed upon, it is possible to elaborate a little more since there are
issues of people, social structures, project management, quality, and support
tools. These can be reconciled within the process domain along with concerns
about metrics and standards, organizational procedures and norms and, if
possible, all underpinned by a metamodel and ontology (e.g., Henderson-Sellers,
1995; Rolland & Prakash, 1996).
Any methodology also needs to contain sufficient abstractions to fully model and
support agents and MASs—arguably, simple extensions of OO methodologies
are too highly constrained by the sole focus on objects. Thus, an AO methodology
needs to focus on an organized society of agents playing roles within an
environment. Within such an MAS, agents interact according to protocols
determined by the agents’ roles.
We should also ask what it means for a methodology to be “agent-oriented” in
the sense that we talk of an OO methodology in the context of object technology.
In this case, however, object technology has two foci. In an OO methodology,
we use OO concepts to describe the methodology, which, in turn, can be used
to build object-oriented systems. In contrast, when we speak of an AO
methodology, we generally do not mean a methodology that is itself constructed
on agent-oriented principles but merely one that is oriented towards the creation
of agent-based software. Thus, all the chapters except one follow this “defini-
tion.” Only Tropos (described in detail in Chapter 2) claims to use “agent think”
in its very derivation.
Genealogy of Methodologies
Agent-oriented methodologies have several roots. Some are based on ideas from
artificial intelligence (AI), others as direct extensions of existing OO methodolo-
gies, whilst yet others try to merge the two approaches by taking a more purist
approach yet allowing OO ideas when these seem to be sufficient. Figure 1
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 7
MAS-CommonKADS
(+AI/KE)
INGENIAS MaSE
Tropos
MESSAGE Adelfe
RAP AAII Gaia Agent OPEN
OO
PASSI Prometheus
shows these lineages and influences in what might be called a genealogy of the
ten AO methodologies discussed in this book.
Several methodologies acknowledge a direct descendancy from full OO meth-
ods. In particular, MaSE (DeLoach, 1999; Wood & DeLoach, 2000) acknowl-
edges influences from Kendall, Malkoun and Jiang (1996), as well as an heredity
from AAII (Kinny, Georgeff, & Rao, 1996), which in turns was strongly
influenced by the OO methodology of Rumbaugh and colleagues called OMT
(Rumbaugh, Blaha, Premerlani, Eddy, & Lorensen, 1991). Similarly, the OO
methodology of Fusion (Coleman, Arnold, Bodoff, Dollin, & Gilchrist, 1994) was
said to be highly influential in the design of Gaia (Wooldridge, Jennings, & Kinny,
2000; Zambonelli, Jennings, & Wooldridge, 2003). Two other OO approaches
have also been used as the basis for AO extensions. RUP (Kruchten, 1999) has
formed the basis for ADELFE (Bernon, Gleizes, Picard, & Glize, 2002) and also
for MESSAGE (Caire et al., 2001), which, in turn, is the basis for INGENIAS
(Pavon, Gomez-Sanz, & Fuentes, 2005). More recently, RUP has also been used
as one of the inputs (together with AOR [Wagner, 2003]) for RAP (Taveter &
Wagner, 2005). Secondly, the OPEN approach to OO software development has
been extended significantly to support agents, sometimes called Agent OPEN
(Debenham & Henderson-Sellers, 2003). Finally, two other methodologies
exhibit influences from object-oriented methodological approaches. Prometheus
(e.g., Padgham & Winikoff, 2002a,b), although not an OO descendant, does
suggest using OO diagrams and concepts whenever they exist and are compat-
ible with the agent-oriented paradigm. Similarly, PASSI (2005) merges OO3 and
MAS ideas, using UML as its main notation.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
8 Giorgini & Henderson-Sellers
The basic set of concepts underlying agent-oriented (AO) methodologies and the
associated agent terminology are not universally agreed upon. Nevertheless,
there is sufficient agreement to make it worthwhile for us to summarize
commonly agreed upon terms here in Chapter 1 in order that authors of later
chapters need not repeat this material. Bear in mind, however, that each
methodological approach may treat these terms and their underpinning concep-
tual base slightly differently—as will be pointed out when necessary.
Agents are often contrasted with objects and the question —“What makes an agent
an agent and not an object?” – is particularly difficult to answer when one considers
the concepts of “active objects” in an OO modelling language such as the UML.
The novelty of agents is said to be that they are proactive (as well as reactive),
have a high degree of autonomy, and are situated in and interact with their
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 9
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
10 Giorgini & Henderson-Sellers
Figure 2. Metamodel fragment showing, inter alia, the links between goals
and tasks
leads to
can
tr i g 1
g er n
ew
Action
(a.k.a. Task) Goal 1 Intention
{ cons ists of}
1
leads to
Plan *
The BDI and similar models offer a description of the internal structure of an
agent. However, agents are social entities and thus optimal performance is more
likely from a cluster of agents. This is an MAS or multi-agent system. The
methodologies in this book are aimed at building MASs and not single-agent
systems. A metaphor that is often used is that of the (human) organization, in
which the participating agents are said to exhibit social behaviour. Theories
developed for human organizations are often usefully applied, such as that of
social commitment (Cavedon & Sonenberg, 1998; Yolum & Singh, 2002) and
social norms (Castelfranchi, Dignum, Jonker, & Treur, 2000). Within this social
environment, as with humans, agents are seen to form teams (Cohen &
Levesque, 1991) in which agents play roles (Kendall, 2000). In fact, the notion
of a role, while supported in some OO approaches (e.g., Reenskaug, Wold &
Lehne, 1996; Firesmith & Henderson-Sellers, 2002), is a major differentiating
factor for agents. In fact, in the comparative surveys discussed above and
further in Chapter XII, one common, major classification axis is whether the AO
methodology is a role-based one or not.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 11
Agent
Characteristic
Agent Agent
External Internal
Characteristic Characteristic
Knowledge
Belief
Repository
Goal or
Desire
Goalbank
Intenti on Commitment
com mi tte d: TRU E com mi tte d: TRU E
1..*
Plan
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
12 Giorgini & Henderson-Sellers
address these issues of social structure as a top priority, perhaps downplaying the
discussions about agent infrastructure and whether models such as BDI are
optimum.
Moving from agent infrastructure and communication to process elements, we
should briefly outline the use of various terms such as lifecycle, analysis, design,
and implementation. In the 1970s and 1980s, these terms were generally
understood and related to organizational structure within software development
companies, particularly those using the waterfall approach. This described a
number of “phases,” the totality of which was called the software development
life cycle or SDLC. However, the advent of object technology and OO software
development methodologies throughout the 1990s led to an avoidance of these
terms on the macro-scale.
Analysis is equated to the understanding of something already in existence,
sometimes labelled “discovery.” It relates to the problem space. In contrast,
design is considered as part of the solution space in which various possible
“answers” are considered; thus, it could be labelled “invention” (Booch, 1994).
The argument is that these do not occur sequentially on a timescale of months
but in normal human cognition on a timescale of seconds and highly iteratively.
Together, these two obsolescent phases were frequently called “modelling” in
OO methodologies. This leads to a modelling language such as UML potentially
having an equivalent scope, that is, “analysis” and “design” (although, in reality,
UML is heavily biased towards “design”). This, in turn, often leads to confusion
since clearly the “modelling phase” is a lengthy one in which initially there is more
analysis than design, whereas towards the end of the phase there is more design
than analysis going on. The use of any particular technique or modelling notation
thus shifts in balance from those more useful for “discovery” to those more
focussed on the solution space. Notwithstanding, it is sometimes useful to re-
introduce the analysis and design terms, not as straitjackets for two lengthy
sequential, non-iterative phases, but simply to remind the reader and user of the
methodology of the shifting balance described above. This then permits discus-
sion of more “analysis-type/design-type” techniques under the banner of an
“analysis/design phase.”
Since different methodology authors have different models at a granularity
beneath the overall SDLC, we will not attempt here to prescribe the internal
structure of the SDLC but will leave that to individual chapter authors. An
emerging framework that is hinted at in some chapters is Model-Driven
Architecture (MDA). This is a fairly recent initiative of the Object Management
Group (OMG) that attempts to supply an architectural infrastructure to SDLC
by identifying a Platform-Independent Model (PIM) that avoids any assumptions
about operating system, programming language, hardware, and so forth. This
PIM is then translated (the aim is to eventually be able to do this automatically)
to a Platform Specific Model or PSM (Kleppe, Warmer, & Bast, 2003). The
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 13
applicability of this to AO methodologies has not yet been fully explored – initial
steps towards this goal are discussed by Taveter and Wagner (2005).
Acknowledgments
This is Contribution number 04/30 of the Centre for Object Technology Appli-
cations and Research.
References
AOS (2000). JACK Intelligent Agents User Guide, AOS Technical Report,
Agent Oriented Software Pty Ltd, July. Retrieved from: http://
www.jackagents.com/docs/jack/html/index.html
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
14 Giorgini & Henderson-Sellers
Bernon, C., Gleizes, M.-P., Picard, G., & Glize, P. (2002). The ADELFE
methodology for an intranet system design. In P. Giorgini, Y. Lespérance,
G. Wagner, & E. Yu (Eds.), Proceedings of Agent-Oriented Information
Systems, AOIS-2002 (p. 1-15). AOIS.org.
Booch, G. (1994). Object-oriented analysis and design (2nd ed.). Redwood
City, CA: The Benjamin/Cummings Publishing Company, Inc.
Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopolous, J., & Perini, A. (2004).
Tropos: An agent-oriented software development methodology. Autono-
mous Agents and Multi-Agent Systems, 8(3), 203-236.
Burrafato, P. & Cossentino, M. (2002). Designing a multi-agent solution for a
bookstore with the PASSI methodology. In P. Giorgini, Y. Lespérance, G.
Wagner & E. Yu (Eds.), Proceedings of the Agent-Oriented Informa-
tion Systems 2002 (pp. 102-118). AOIS.org.
Caire, G., Coulier, W., Garijo, F., Gomez, J., Pavon, J., Leal, F., Chainho, P.,
Kearney, P., Stark, J., Evans, R., & Massonet, P. (2001). Agent-oriented
analysis using MESSAGE/UML. In M. Wooldridge, G. Wei, & P. Ciancarini
(Eds.), Agent-oriented software engineering II (p. 119-135). LNCS
2222. Berlin: Springer-Verlag.
Castelfranchi, C., Dignum, F., Jonker, C., & Treur, J. (2000). Deliberate
normative agents: Principles and architectures. In N. Jennings & Y.
Lespérance (Eds.), Intelligent agents VI (p. 364-378). Berlin: Springer-
Verlag.
Castro, J., Kolp, M., & Mylopoulos, J. (2002). Towards requirements-driven
information systems engineering: The Tropos project. Information Sys-
tems, 27(6), 365-389.
Cavedon, L. & Sonenberg, L. (1998). On social commitment, roles and preferred
goals. In Proceedings of the Third International Conference on Multi-
Agent Systems (ICMAS), July 3-7, Paris (pp. 80-87). IEEE Computer
Society.
Cernuzzi, L. & Rossi, G. (2002). On the evaluation of agent oriented methodolo-
gies. In Proceedings of OOPSLA 2002 Workshop on Agent-Oriented
Methodologies (pp. 21-30). Sydney, AUS: Centre for Object Technology
Applications and Research.
Chan, K., Sterling, L., & Karunasekera, S. (2004). Agent-oriented software
analysis. In Proceedings of 2004 Australian Software Engineering
Conference (pp. 20-27). Los Alamitos, CA: IEEE Computer Society Press.
Cohen, P.R. & Levesque, H.J. (1991). Teamwork. Nous, 25(4), 487-512.
Coleman, D., Arnold, P., Bodoff, S., Dollin, C., & Gilchrist, H. (1994). Object-
oriented development. The fusion method. Englewood Cliffs, NJ: Prentice
Hall.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 15
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
16 Giorgini & Henderson-Sellers
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 17
Kleppe, A., Warmer, J., & Bast, W. (2003). MDA explained: The model driven
architecture - Practice and promise. Reading, MA: Addison-Wesley.
Kruchten, P. (1999). The rational unified process. An introduction. Reading,
MA: Addison-Wesley.
Lind, J. (1999). Iterative software engineering for multiagent systems. The
MASSIVE Method. LNAI 1994. Berlin: Springer-Verlag.
Luck, M., Ashri, R., & D’Inverno, M. (2004). Agent-based software develop-
ment. Boston: Artech House.
Martin, J. & Odell, J.J. (1995). Object-oriented methods: Pragmatics and
considerations. Upper Saddle River, NJ: Prentice-Hall.
Milgrom, E., Chainho, P., Deville, Y., Evans, R., Kearney, P., & Massonet, P.
(2001). MESSAGE: Methodology for engineering systems of software
agents. Final guidelines for the identification of relevant problem
areas where agent technology is appropriate. EUROSCOM Project
Report P907. Available online http://www.eurescom.dr/~public-
webspace/P800-series/P815/web/index.htm
Odell, J., Van Dyke Parunak, H., & Bauer, B. (2000). Extending UML for
agents. In G. Wagner, Y. Lesperance & E. Yu (Eds.), Proceedings of
Agent-Oriented Information Systems Workshop (pp. 3-17). 17th Na-
tional Conference on Artificial Intelligence, Austin, TX.
OMG (2001). OMG Unified Modeling Language Specification, Version 1.4.
September 2001. OMG document formal/01-09-68 through 80 (13 docu-
ments). Available online http://www.omg.org
Padgham, L. & Winikoff, M. (2002a). Prometheus: A methodology for develop-
ing intelligent agents. In F. Giunchiglia, J. Odell, & G. Weiß (Eds.), Agent-
oriented Software Engineering III Proceedings of the Third Interna-
tional Workshop on Agent-Oriented Software Engineering (AAMAS’02)
(pp. 174-185). LNCS 2585.
Padgham, L. & Winikoff, M. (2002b). Prometheus: A pragmatic methodology
for engineering intelligent agents. In J. Debenham, B. Henderson-Sellers,
N. Jennings, & J.J. Odell (Eds.), Agent-oriented Software Engineering
III Proceedings of the Workshop on Agent-oriented Methodologies at
OOPSLA 2002, November 4, Seattle (pp. 97-108). Sydney: Centre for
Object Technology Applications and Research.
Pavón, J., Gomez-Sanz, J., & Fuentes, R. (2005). The INGENIAS methodology
and tools. In B. Henderson-Sellers & P. Giorgini (Eds.), Agent-oriented
methodologies (Chapter 4). Hershey, PA: Idea Group.
Rao, A.S. & Georgeff, M.P. (1995). BDI agents: From theory to practice. In
V.R. Lesser & L. Gasser (Eds.), Proceedings of the First International
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
18 Giorgini & Henderson-Sellers
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Agent-Oriented Methodologies: An Introduction 19
Endnotes
1
It has also been argued (Chan, Sterling, & Karunasekera, 2004) that use of
AO analysis may be beneficial even if the implementation is not in an AO
language but, say, uses object-oriented design and programming.
2
If not, a useful introduction is to be found in Henderson-Sellers and
Unhelkar (2000)
3
In earlier publications (e.g., Burrafato & Cossentino, 2002; Cossentino &
Potts, 2002) this was not obvious.
4
Since agents are part of the environment, messages received from other
agents can also be considered as percepts.
5
See also discussion in Chapter 10.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
20 Giorgini, Kolp, Mylopoulos & Castro
Chapter II
Tropos:
A Requirements-Driven
Methodology for
Agent-Oriented Software
Paolo Giorgini
University of Trento, Italy
Manuel Kolp
University of Louvain, Belgium
John Mylopoulos
University of Toronto, Canada
Jaelson Castro
Federal University of Pernambuco, Brazil
Abstract
Software systems of the future will have to perform well within ever-
changing organizational environments. Unfortunately, existing software
development methodologies have traditionally been inspired by programming
concepts rather than organizational ones, leading to a semantic gap
between the system and its operational environment. To reduce this gap, we
propose a software development methodology named Tropos that is founded
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 21
Introduction
Organizational software systems have traditionally suffered from an impedance
mismatch between their outer and inner environments: their operational environ-
ment is understood in terms of actors, responsibilities, objectives, tasks, and
resources, while their inner environment is conceived as a collection of (soft-
ware) modules, entities (e.g., objects, components), data structures, and inter-
faces. This mismatch contributes greatly to poor software quality and to frequent
failures of software system development projects.
One reason for this mismatch is that development methodologies have tradition-
ally been inspired and driven by the programming paradigm of the day. So, during
the era of structured programming, structured analysis and design techniques
were proposed (DeMarco, 1978; Yourdon & Constantine, 1979), while object-
oriented programming has given rise more recently to object-oriented design and
analysis (Booch, Rumbaugh, & Jacobson, 1999; Wirfs-Brock, Wilkerson, &
Wiener, 1990). For structured development techniques, this meant that, through-
out software development, the developer could conceptualize the system in
terms of functions and processes, inputs and outputs. For object-oriented
development, on the other hand, conceptualizations consist of objects, classes,
methods, inheritance, and the like, throughout.
Using the same concepts to align requirements analysis with system design and
implementation makes perfect sense. For one thing, such an alignment reduces
impedance mismatches between different development phases. Moreover, such
an alignment can lead to coherent toolsets and techniques for developing
software. In addition, it can streamline the development process itself.
However, why base such an alignment on implementation concepts? Require-
ments analysis is arguably the most important stage of software development.
This is the phase where technical considerations have to be balanced against
social and organizational ones. This is also the phase where the operational
environment of the system is modeled and analyzed. Not surprisingly, this is also
the phase where the most and costliest errors are introduced compared to other
development phases. Even if (or rather, when) the importance of design and
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
22 Giorgini, Kolp, Mylopoulos & Castro
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 23
The Methodology
Tropos rests on the idea of using requirements modeling concepts to build a
model of the system-to-be within its operational environment. This model is
incrementally refined and extended, providing a common interface to the various
software development activities. The model also serves as a basis for documen-
tation and evolution of the software system.
In the following, we describe and illustrate the four development phases of the
Tropos methodology: Requirements Analysis (early and late), Architectural
Design and Detailed Design.
Requirements Analysis
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
24 Giorgini, Kolp, Mylopoulos & Castro
Architectural Design
System architectural design has been the focus of considerable research during
the last 15 years that has produced well-established architectural styles and
frameworks for evaluating their effectiveness with respect to particular soft-
ware qualities. Examples of styles are pipes-and-filters, event-based, layered,
control loops, and the like (Shaw & Garlan, 1996). In Tropos, we are interested
in developing a suitable set of architectural styles for multi-agent software
systems. Since the fundamental concepts of a multi-agent system (MAS) are
intentional and social, rather than implementation-oriented, we turn to theories
that study social structures that result from a design process, namely, Organi-
zation Theory and Strategic Alliances. Organization Theory (e.g., Scott, 1998)
describes the structure and design of an organization; Strategic Alliances (e.g.,
Morabito, Sack, & Bhate, 1999) model the strategic collaborations of indepen-
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 25
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
26 Giorgini, Kolp, Mylopoulos & Castro
Detailed Design
The detailed design phase is intended to introduce additional detail for each
architectural component of a system. It consists of defining how the goals
assigned to each actor are fulfilled by agents with respect to social patterns.
For this step, designers can be guided by a catalogue of multi-agent patterns that
offer a set of standard solutions. Considerable work has been done in software
engineering for defining software patterns (see e.g., Gamma, Helm, Johnson, &
Vlissides, 1995). Unfortunately, little emphasis has been put on social and
intentional aspects. Moreover, proposals for agent patterns that do address these
aspects (see e.g., Aridor & Lange, 1998) are not intended for use at a design
level. Instead, such proposals seem to aim at the implementation phase, when
issues such as agent communication, information gathering, or connection setup
are addressed.
Social patterns in Tropos (Do, Kolp, & Pirotte, 2003) are design patterns
focusing on social and intentional aspects that are recurrent in multi-agent and
cooperative systems. In particular, the structures are inspired by the federated
patterns introduced in Hayden, Carrick and Yang (1999) and Kolp, Giorgini, and
Mylopoulos (2001). We have classified them into two categories: Pair and
Mediation.
The Pair patterns – such as booking, call-for-proposal, subscription, or bidding
– describe direct interactions between negotiating agents. For instance, the
Bidding pattern involves an initiator and a number of participants. The initiator
organizes and leads the bidding process, publishes the bid to the participants, and
receives various proposals. At every iteration, the initiator can accept an offer,
raise the bid, or cancel the process.
The Mediation patterns – such as monitor, broker, matchmaker, mediator,
embassy, or wrapper – feature intermediary agents that help other agents to
reach an agreement on an exchange of services. For instance, in the Broker
pattern, the broker agent is an arbiter and intermediary that requests services
from a provider to satisfy the request of a consumer.
Detailed design also includes actor communication and actor behavior. To
support it, we propose the adoption of existing agent communication languages
like FIPA-ACL (Labrou, Finin, & Peng, 1999) or KQML (Finin, Labrou, &
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 27
Case Study
Media Shop is a store selling and shipping different kinds of media items such
as books, newspapers, magazines, audio CDs, videotapes, and the like. Media
Shop customers (on-site or remote) can use a periodically updated catalogue
describing available media items to specify their order. Media Shop is supplied
with the latest releases from Media Producer and in-catalogue items by Media
Supplier. To increase market share, Media Shop has decided to open up a
Business-to-Consumer (B2C) retail sales front on the Internet. With the new
setup, a customer can order Media Shop items in person, by phone, or through
the Internet. The system has been Medi@ and is available on the World Wide
Web using communication facilities provided by Telecom Cpy. It also uses
financial services supplied by Bank Cpy, which specializes in online transac-
tions. The basic objective for the new system is to allow an online customer to
examine the items in the Medi@ Internet catalogue and place orders. The main
interface of the system is shown in Figure 1.
There are no registration restrictions or identification procedures for Medi@
users. Potential customers can search the online store by either browsing the
catalogue or querying the item database. The catalogue groups media items of
the same type into (sub)hierarchies and genres (e.g., audio CDs are classified
into pop, rock, jazz, opera, world, classical music, soundtrack, and so forth) so
that customers can browse only (sub)categories of interest. An online search
engine allows customers with particular items in mind to search title, author/
artist, and description fields through keywords or full-text search. If the item is
not available in the catalogue, the customer has the option of asking Media Shop
to order it, provided the customer has editor/publisher references (e.g., ISBN,
ISSN), and identifies him/herself (in terms of name and credit card number).
Details about media items include title, media category (e.g., book) and genre
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
28 Giorgini, Kolp, Mylopoulos & Castro
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 29
Actor
Consult Legend Resource Softgoal
Media Items
Catalogue
Happy Continuing
Customers Business
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
30 Giorgini, Kolp, Mylopoulos & Castro
Accounting
Run
Shop
Buy Media Handle OrderBy
Items Billing Internet
Run Shop
Media OrderBy
Shop Handle Phone
Customer Customer
Improve
Service Orders
Manage
Staff Select
OrderIn Items
Happy Staff Manage Person
Customers Training Inventory
Be Friendly
Determine
Amount
Satisfy
Customer
Media
Desires Sell Stock Enhance Consult
Supplier
Catalogue Catalogue
Media
Items
Continuing
Business
Depender X Dependee Actor
Dependency Goal Task
For our example, the Medi@ system is viewed as a full-fledged actor in the actor
diagram depicted in Figure 4. With respect to the actors previously identified,
Customer depends on Media Shop to buy media items, while Media Shop
depends on Customer to increase market share and make them happy (with
Media Shop service). Media Supplier is expected to supply Media Shop with
media items in a continuous way. It can also use Medi@ to determine new needs
from customers, such as media items not available in the catalogue. Medi@ also
expects to be provided with quality packages by Media Producer. As indicated
earlier, Media Shop depends on Medi@ for processing Internet orders and on
Bank Cpy to process business transactions. Customer, in turn, depends on
Medi@ to place orders through the Internet, to search the database for
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 31
Availability
Internet Telecom
Services Cpy
Browse
Catalogue
Keyword
Search Find User
Medi@ Process New Needs
On-line
Money
Transactions
Place Order
Customer
Bank Cpy
Security
Accounting
Process
Internet Communication
Adaptability Services
Orders
Continuing
Buy Media Business
Items
Media Shop
Media
Increase Supplier
Media Items
Market Share
Happy Continuing
Customers Supply
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
32 Giorgini, Kolp, Mylopoulos & Castro
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 33
Media
Telecom Process Shop
Internet Process
Cpy On-line
Orders Money
Transactions
++
Bank
Internet Availability Cpy
Services Increase
Market Share Security
Adaptability
++
Customer
Update Produce Internet
Catalogue Statistics Shop Attract New
Managed Customer
Adaptabl e
Browse
++ Catalogue
Internet Item Available
Orders Searching
Adaptation Handled Handled
- Keyword
Secure Search
-
+
System Monitoring
Evolution System + -
Database Catalogue
Querying Consulting Place
Order
+ +
Buy
Update GUI Shopping Secure Media
Cart Form Items
Get Order
Identification
Detail -
Phone Fax
Order Order
Medi@
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
34 Giorgini, Kolp, Mylopoulos & Castro
Architectural Design
Figure 6 suggests a possible assignment of system responsibilities for Medi@
following the Structure-in-5 style (Do, Faulkner, & Kolp, 2003). It is decom-
posed into five principal actors Store Front, Coordinator, Billing Processor,
Back Store, and Decision Maker. Store Front serves as the Operational
Core. It interacts primarily with Customer and provides him/her with a usable
front-end Web application for consulting and shopping media items. Back Store
constitutes the Support component. It manages the product database and
communicates to the Store Front information on products selected by the user.
It stores and backs up all Web information from the Store Front about
customers, products, sales, orders, and bills to produce statistical information
to the Coordinator. It provides the Decision Maker with strategic informa-
tion (analyses, historical charts, and sales reports).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 35
Decision
Maker
Billing Handle
Orders & Statistical Back Store
Processor Coordinator Information
Billing
Coordinate Manage
Catalogue
E−Shopping
Browsing
Update &
Back−up
Billing Information
Product
Orders Information
Store Front
The Billing Processor is in charge of handling orders and bills for the
Coordinator and implementing the corresponding procedures for the Store
Front. It also ensures the secure management of financial transactions for the
Decision Maker. As the Middle Line, the Coordinator assumes the central
position of the architecture. It ensures the coordination of e-shopping services
provided by the Operational Core, including the management of conflicts
between itself, the Billing Processor, the Back Store, and the Store Front. To
this end, it also handles and implements strategies to manage and prevent
security gaps and adaptability issues. The Decision Maker assumes the
Strategic Apex role. To this end, it defines the Strategic Behavior of the
architecture, ensuring that objectives and responsibilities delegated to the Billing
Processor, Coordinator, and Back Store are consistent with that global
functionality.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
36 Giorgini, Kolp, Mylopoulos & Castro
1. Adaptability deals with the way the system can be designed using generic
mechanisms to allow web pages to be dynamically changed. It also
concerns the catalogue update for inventory consistency.
2. Security. Clients, exposed to the Internet are, like servers, at risk in Web
applications. It is possible for Web browsers and application servers to
download or upload content and programs that could open up the client
system to crackers and automated agents. JavaScript, Java applets,
ActiveX controls, and plug-ins represent a certain risk to the system and the
information it manages. Equally important are the procedures checking the
consistency of data transactions.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 37
Detailed Design
Figure 7 shows a possible use of the patterns for the Store Front component of
the e-business system of Figure 6. In particular, it shows how to realize the
dependencies Manage Catalogue Browsing, Update Information, and Prod-
uct Information from the point of view of the Store Front. The Store Front and
the dependencies are decomposed into a combination of social patterns (Do,
Kolp, & Pirotte, 2003) involving agents, pattern agents, subgoals, and subtasks.
The booking pattern is applied between the Shopping Cart and the Information
Broker to reserve available items. The broker pattern is applied to the Informa-
tion Broker, which satisfies the Shopping Cart’s requests of information by
accessing the Product Database. The Source Matchmaker applies the
matchmaker pattern to locate the appropriate source for the Information
Broker, and the monitor pattern is used to check any possible change in the
Product Database. Finally, the mediator pattern is applied to dispatch the
interactions between the Information Broker, the Source Matchmaker, and
the Wrapper, while the wrapper pattern forms the interaction between the
Information Broker and the Product Database.
Figure 8 shows the remote administrative tool for the information broker of
Figure 7. The customer sends a service request to the broker requesting the
buying or selling of DVDs. He/she chooses which DVDs to sell or buy, selects
the corresponding DVD titles, the quantity, and the deadline (the time-out before
which the broker has to realize the requested service). When receiving the
customer’s request, the broker interacts with the Media Shops. The interactions
between the Broker and the Media Shops are shown in the bottom-right corner
of the figure.
Shopping
Cart
Handle Provide
Cancelation Item
Request Data
Monitor Notify
Info Update
Broker Fwd Source
Change
Advertise
Source
Location Translate
Profile Query
Customer Response
Locate Mediator Information Product
Source Wrapper
Source Database
Provide
Information
Ask for
Source Route Info
Info
Matchm. Request Advertising
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
38 Giorgini, Kolp, Mylopoulos & Castro
To go deeper into the details, the rest of the section only concentrates on the
Store Front actor. Figure 9 depicts a partial, extended UML class diagram
(Castro, Kolp, & Mylopoulos, 2002) focusing on the actor that will be imple-
mented as an aggregation of several CartForms and ItemLines.
To specify the checkout operation identified in Figure 9, extensions of interac-
tion diagrams (Castro et al., 2002) allow us to use templates and packages to
represent checkout as an object, but also in terms of sequence and collaborations
diagrams.
Figure 10 focuses on the protocol between Customer and Shopping Cart that
consists of a customization of the FIPA Contract Net protocol (Odell, Van Dyke
Parunak, & Bauer, 2000). Such a protocol describes a communication pattern
among actors, as well as constraints on the contents of the messages they
exchange. When a Customer wants to check out, a request-for-proposal
message is sent to Shopping Cart, which must respond before a given time-out
(for network security and integrity reasons). The response may refuse to provide
a proposal, submit a proposal, or express miscomprehension. The diamond
symbol with an “X” indicates an “exclusive or” decision. If a proposal is offered,
Customer has a choice of either accepting or cancelling the proposal.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 39
«i* actor»
«i* actor»
CartForm ShoppingCart
CustomerProfiler «i* actor»
«Text» itemCount : integer itemCount : integer
«Text» qty[0..*] : integer tax : currency On−line
«Text» currentTotal : currency taxRate : float Catalogue
«Checkbox» selectItem[0..*] total : currency
0..* totWeight : single
«Submit» Checkout shippingCost : currency
«Submit» AddItem qty[0..*] : integer 0..*
CustomerProfileCard
«Submit» Confirm subTotals[0..*] : currency
«Button» Cancel MediaItem
customerid : long itemCount() notification()
customerName : string «Button»Recalculate calculateTotals() id : long
firstName :string calculateQty() itemNbr : string
getCart() computeWeight()
middleName : string itemTitle : string
buildItemTable() getLineItem() inform()
address : string itemBarCode : OLE
writeTableRow() initializeReport()
tel : string itemPicture : OLE
updateItems() Plans:
e−mail : string category :string
loadCartForm() initialize refuse
dob : date genre : string
updateCartForm() selectItem propose
profession : string addItem succeded description : string
killCartForm()
salary : integer checkout removeItem editor : string
maritalStatus : string 0..* confirm
cancel publisher : string
familyComp[0..1] : integer CustomerData logout failure
date : date
internetPref[0..10] : boolean 1 0..* verifyCC unitPrice : currency
ItemLine not_understood weight : single
entertPref[0..10]:string
0..* 1 getIdentDetails
hobbies[0..5] : string
id : long
comments : string 0..* ItemDetail 1
qty : integer
creditcard# : integer
allowsSubs :boolean
prevPurchase[[0..*] [0..*]]
: string weight() DVD Book Video ... CD CDrom
prevPurchPrice[[0..*] [0..*]] cost()
: integer
Decision
X
accept−proposal
succeeded
inform
X
failure
Plan Diagram (See Figure 11)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
40 Giorgini, Kolp, Mylopoulos & Castro
At the lowest level, we use plan diagrams (Kinny & Georgeff, 1996) to specify
the internal processing of atomic actors. Each identified plan is specified as a
plan diagram, which is denoted by a rectangular box. The lower section, the plan
graph, is a state transition diagram. However, plan graphs are not just descrip-
tions of system behavior developed during design. Rather, they are directly
executable prescriptions of how a BDI agent should behave (execute identified
plans) in order to achieve a goal or respond to an event.
The initial transition of the plan diagram is labelled with an activation event
(Press checkout button) and activation condition ([checkout button acti-
vated]), which determine when and in what context the plan should be activated.
Transitions from a state automatically occur when exiting the state and no event
is associated (e.g., when exiting Fields Checking) or when the associated event
occurs (e.g., Press cancel button), provided in all cases that the associated
condition is true (e.g., [Mandatory fields filled]). When the transition occurs,
any associated action is performed (e.g., verifyCC()).
The elements of the plan graph are three types of node: start states, end states,
and internal states; and one type of directed edge: transitions. Start states are
denoted by small filled circles. End states may be pass or fail states, denoted
respectively by a small target or a small no entry sign. Internal states may be
passive or active. Passive states have no substructure and are denoted by a small
open circle. Active states have an associated activity and are denoted by
rectangular boxes with rounded corners. An important feature of plan diagrams
is their notion of failure. Failure can occur when an action upon a transition fails,
when an explicit transition to a fail state occurs, or when the activity of an active
state terminates in failure and no outgoing transition is enabled.
Figure 11 depicts the plan diagram for Checkout, triggered by pushing the
checkout button. Mandatory fields are first checked. If any mandatory fields are
not filled, an iteration allows the customer to update them. For security reasons,
the loop exits after five tries ([I<5]) and causes the plan to fail. Credit card
validity is then checked. Again for security reasons, when not valid, the CC# can
only be corrected three times. Otherwise, the plan terminates in failure. The
customer is then asked to confirm the CC# to allow item registration. If the CC#
is not confirmed, the plan fails. Otherwise, the plan continues: each item is
iteratively registered, final amounts are calculated, stock records and customer
profiles are updated, and a report is displayed. When finally the whole plan
succeeds, the Shopping Cart automatically logs out and asks the Order
Processor to initialize the order. When, for any reason, the plan fails, the
Shopping Cart automatically logs out. At anytime, if the cancel button is pressed
or the time-out is more than 90 seconds (e.g., due to a network bottleneck), the
plan fails and the Shopping Cart is reinitialized.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 41
Checkout
[new customer]
Displaying Customer Profile
succeeded Report profile Updating
[report asked]
/ shoppingCart.logout() / initializeReport() updated [Already registered]
pass / orderProcessor. fail /shoppingCart.logout() any [[Cancel button pressed] OR
processOrder(this) [timeout>90 sec]] / shoppingCart.initialize()
Conclusions
• Social: Who are the relevant actors? What do they want? What are their
obligations? What are their capabilities?
• Intentional: Relevant goals and how they interact. How are they being
fulfilled and by whom?
• Communicational: How do actors communicate with each other?
• Process-oriented: What are the relevant business/computer processes?
Who is responsible for what?
• Object-oriented: What are the relevant objects and classes and their inter-
relationships?
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
42 Giorgini, Kolp, Mylopoulos & Castro
Acknowledgments
We thank all contributors to the Tropos project —in Trento, Toronto, Louvain-
la-Neuve, Recife and elsewhere—for useful comments, discussions, and feed-
back.
References
Aridor, Y. & Lange, D. (1998). Agent design patterns: Elements of agent
application design. Proceedings of the 2nd International Conference on
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 43
Autonomous Agents, Agents’98, St. Paul, Minnesota, May 9-13 (pp. 108-
115). New York: ACM Press.
Bauer, B., Muller, J., & Odell, J. (2001). Agent UML: A formalism for specifying
multiagent interaction. Proceedings of the 1st International Workshop
on Agent-Oriented Software Engineering, AOSE’00, Limerick, Ireland,
June 10, 2000 (pp. 91-104). Springer.
Booch, G., Rumbaugh, J., & Jacobson, I. (1999). The unified modeling
language: User guide. Reading, MA: Addison-Wesley.
Castro, J., Kolp, M., & Mylopoulos, J. (2002). Towards requirements-driven
information systems engineering: The Tropos project. Information Sys-
tems, 27(6), 365-389.
Chung, L., Nixon, B., Yu, E., & Mylopoulos, J. (2000). Non-functional
requirements in software engineering. Norwell, MA: Kluwer Publishing.
Cohen, P. & Levesque, H. (1990). Intention is choice with commitment.
Artificial Intelligence, 32(3), 213-261.
Conallen, J. (2000). Building Web applications with UML. Reading, MA:
Addison-Wesley.
Dardenne, A., van Lamsweerde, A., & Fickas, S. (1993). Goal-directed require-
ments acquisition. Science of Computer Programming, 20(1-2), 3-50.
Davis, A. (1993). Software requirements: Objects, functions and states.
Upper Saddle River, NJ: Prentice Hall.
DeMarco, T. (1978). Structured analysis and system specification. Englewood
Cliffs, NJ: Yourdon Press.
Do, T. T., Faulkner, S., & Kolp, M. (2003). Organizational multi-agent architec-
tures for information systems. In Proceedings of the 5th International
Conference on Enterprise Information Systems, ICEIS’03, Angers,
France, April 22-26 (pp. 89-96). EST Setubal.
Do, T. T., Kolp, M. & Pirotte, A. (2003). Social patterns for designing multi-
agent systems. In Proceedings of the 15th International Conference on
Software Engineering and Knowledge Engineering, SEKE’03, San
Francisco, July 1-3 (pp. 103-110). Knowledge System Institute.
Finin, T., Labrou, Y., & Mayfield, J. (1997). KQML as an agent communication
language. In J. Bradshaw (Ed.), Software agents (pp. 291-317). Cam-
bridge, MA: MIT Press.
Gamma, E., Helm, R., Johnson, J., & Vlissides, J. (1995). Design patterns:
Elements of reusable object-oriented software. Reading, MA: Addison-
Wesley.
Giorgini, P., Mylopoulos, J., Nicchiarelli, E., & Sebastiani, R. (2002). Reasoning
with goal models. Proceedings of the 21st International Conference on
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
44 Giorgini, Kolp, Mylopoulos & Castro
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Tropos: A Requirements-Driven Methodology for Agent-Oriented Software 45
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
46 Iglesias & Garijo
Chapter III
The Agent-Oriented
Methodology
MAS-CommonKADS
Carlos A. Iglesias
Technical University of Madrid, Spain
Mercedes Garijo
Technical University of Madrid, Spain
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 47
Introduction
MAS-CommonKADS is an agent-oriented software engineering methodology
that guides the process of analysing and designing multi-agent systems. MAS-
CommonKADS distinguishes several development phases: conceptualisation,
where the system is conceived as a multi-agent system and where agent
properties of the system are identified; analysis, where different models are
developed in order to analyse the system from different points of view; design,
where the different models are operationally focussed; and development and
testing, which are not addressed explicitly in the methodology.
MAS-CommonKADS (Iglesias, 1998; Iglesias, Garijo, González, & Velasco,
1998) can be used in combination with other methodologies. For example, some
of its conceptualisation techniques, such as Class-Responsibility-Collabora-
tion (CRC) cards (Beck & Cunningham, 1989; Wirfs-Brock, Wilkerson, &
Wiener; 1990) and User-Environment-Responsibility (UER) techniques
(Iglesias & Garijo, 1999) can be used for conceiving a system from an agent
point-of-view and be combined with other methodologies such as Rational
Unified Process (RUP) (Kruchten, 2000) or eXtreme Programming (XP)
(Beck, 1999); or use another agent-oriented methodology. In the same way,
every analysis model can be used in combination with another methodology.
MAS-CommonKADS has as one of its goals to be usable by professionals who
want to include in their projects this new and exciting computation paradigm—
agents. In this way, MAS-CommonKADS extends well-known modelling tech-
niques, such as CRC cards, use cases, Message Sequence Charts (MSC)
(ITU-Z.120, 1996) or Specification and Description Language (SDL) (ITU-
T-Z.100, 1994) diagrams, with new perspectives driven by the agent metaphor.
This makes many of MAS-CommonKADS techniques easy to learn and
practice. The recent addition of MSC and SDL diagrams to Unified Modelling
Language (UML) (Salic, 2004) makes MAS-CommonKADS even easier to
practice with standard object-oriented CASE tools that can be enhanced with
stereotypes for some of the new modelling entities (for example, software actor
or environment).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
48 Iglesias & Garijo
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 49
• Organisation model that describes the organisation into which the MAS
is going to be introduced and the social organisation of the agent society.
• Coordination model that describes the conversations between agents,
their interactions, protocols, and required capabilities.
• Communication model that details the human-software agent interac-
tions and the human factors for developing these user interfaces. This
model uses standard techniques for developing user interfaces and, conse-
quently, it is will not discussed in this chapter.
• Design model that collects the previous models and consists of three
submodels: network design, for designing the relevant aspects of the agent
network infrastructure (required network, knowledge and telematic facili-
ties); agent design, for dividing or composing the agents of the analysis,
according to pragmatic criteria and selecting the most suitable agent
architecture for each agent; and platform design, for selecting the agent
development platform for each agent architecture.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
50 Iglesias & Garijo
Conceptualisation
The problem of conceptualisation is the first step towards the identification of the
functional requirements of a system. One of the most extended techniques for
getting a first idea of the system is the Use Case technique. The technique
consists in identifying the possible users of the systems and the possible user
goals, describing ways of achieving these user goals. These textual descriptions
are the use cases. Usually, different use cases can be combined with the
relationships extend (if a use case is an extension of another one) or include (if
a use case is a part of another one). This technique is very simple and intuitive
and has been very successful for requirements elicitation and validation.
The use case technique can also be used for conceptualising a multi-agent
system. Nevertheless, autonomous agents are distinguished because they do not
need a user that supervises their execution. So, while with use cases we have to
answer the question, How is my system used?, we could ask ourselves about
other requirements of our system such as: When and how does my system act
and react to the environment? (environment cases) and What are the goals of the
system? (responsibility or goal cases).
In order to conceptualise an agent-based system, two general techniques are
used in MAS-CommonKADS: the UER cases technique that deals with the
identification of use, reaction, and goal cases of an agent or a multi-agent system,
and the enhanced Class-Collaboration-Responsibility Cards technique that deals
with the identification of responsibilities, plans, and collaborations of an agent.
Both techniques are complementary. The UER technique can be used for both
single-agent or multi-agent systems (for identifying use, reactive, and goal cases
of the whole system). The enhanced CRC cards can only be used for concep-
tualising multi-agent systems, since they guide the definition of collaborative
scenarios.
UER Technique
The User-Environment-Responsibility (UER) technique (Iglesias & Garijo,
1999) combines user, environment and responsibility-driven analysis for concep-
tualising a system from an agent-oriented perspective. This technique can be
used for conceptualising a particular autonomous agent or the general require-
ments of a multi-agent system. The technique analyses the system from three
complementary perspectives: the user perspective, the environment perspective,
and the assigned responsibility perspective.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 51
The application of the UER technique introduces some of the most relevant
properties of an agent system, such as reactivity and proactiveness in the
conceptualisation of the system.
User-Centred Analysis
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
52 Iglesias & Garijo
o What are the main tasks or functions carried out by each actor?
o What system information is acquired, produced or changed by each
actor?
o Does any actor inform about external changes in the system environ-
ment?
o What information is needed by each system actor?
o Does any actor need to be informed about unexpected changes?
• Group the use cases if they are variations of the same subject (for example,
‘move a heavy stone’ and ‘move a light stone’).
• Determine the interactions of each identified use case.
• Describe the use cases using both a graphical notation and textual tem-
plates.
• Consider every possible exception that can happen during the interactions
and how each affects the use cases.
• Look for relationships among the use cases: extract common parts and note
if a use case adds the interactions of another use case (relationship
“include”) or adds information contained in another use case (relationship
“extends” or “include”).
• Describe the interactions of each scenario, using Message Sequence
Chart (MSC) notation. MSC has been selected because is a standardised,
formal description technique with a textual and graphical grammar. Some
of the relevant features for our purposes are the availability of a language
(High-level MSC, HMSC) for defining the phases of the interaction, and
the definition of operators for expressing alternatives, exceptions, and
concurrence in the same diagram. Although sequence and collaboration
diagrams do not allow the expression of these issues in such an easy way,
they can also be used.
Environment-Centred Analysis
• Identify objects of the environment. These objects are shown in the use
case diagram as clouds.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 53
• Identify the possible events coming from each object and establish a
hierarchy if possible.
• Identify the possible actions each agent can carry out on the environment
objects.
• Describe (in natural language) the reaction cases coming from interaction
with the environment. Describe in detail each possible scenario. Assess if
there are several scenarios arising from the same reaction case and
whether every scenario is autonomous (it is only managed by the agent that
receives the stimuli) or cooperative (it is managed in cooperation with other
agents).
• Group-related reactive cases with the relationships “extends” or “in-
cludes.” For example, “avoid obstacle” can group different scenarios for
avoiding an obstacle depending on its nature and can be avoided in an
autonomous way (e.g., just going to the left of the obstacle) or in a
cooperative way (e.g., asking for help to move it).
• Describe the reactive goal: its name, the activation condition (e.g., a wall
very close), the deactivation condition, and the success and failure condi-
tion (whether the reaction has been effective or not).
Responsibility-Driven Analysis
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
54 Iglesias & Garijo
• Describe the proactive goal: its name, its type (persistent, priority, etc.), the
activation condition (e.g., no fuel or idle), the deactivation condition and the
success and failure condition (whether the plan has been effective or not).
• Group related goals using the relationships “extends” or “includes.”
Reactive Goal
Use Case
Case Case
Environment
Software Human
Agent Agent
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 55
that each agent “uses” other agent(s) and can use these agents with different
roles. In Figure 3, the use case notation is extended for showing human agents
(with the round head) and software agents (with the square head). We try to
reuse such an agent from our agent library, combining in this way the top-down
and bottom-up approach. The external use cases coming from the actors of the
multi-agent system are decomposed in use cases that are assigned to agent roles
of the system.
Analysis
The results of this phase will be the requirements specification of the MAS
through the development of the models previously described, except for the
design model. These models are developed in a risk-driven way, and the steps
are:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
56 Iglesias & Garijo
Once the agents have been identified, every agent should be further described
using textual templates that collect the main characteristics of the agents, such
as its name, type, role, position, a description, offered services, goals, skills
(sensors and effectors), reasoning capabilities, general capabilities, norms,
preferences, and permissions. The process of filling in these templates helps the
engineer to review his/her understanding of the problem and serves as a means
of communication with the rest of the team.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 57
Task 1 Task 2
O Task 4 O
Task 1.1 Task 1.2 Task 1.3 Task 3
The potential benefits of the development of this model are the documentation
of the activities of the organisation before and after the introduction of the multi-
agent system. This documentation serves to support the maintenance and
management of changes in the organisation and to support project feasibility
assessment.
The graphical notation of this model (Figure 4) follows traditional tree decompo-
sition or, alternatively, a decomposition where optional and iterative tasks are
indicated. It can be also be used to describe whether the tasks can be performed
in a parallel or sequential way. Usually, the first versions of the model use just
the sequential decomposition and refined versions of the model introduce
gradually parallel tasks, optional tasks, or iterative tasks. Alternatively, the
activity diagram of UML can be used for this model.
In case a task is knowledge intensive, it should be further developed in the
expertise model. In the same way, if a task requires the agent interaction or
human interaction, it should be further developed in the coordination model or
communication model, respectively.
The coordination model specifies the interactions between the agents of the
multi-agent system. The main components of the coordination model are the
conversations between agents that are initiated to fulfill a goal in a cooperative
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
58 Iglesias & Garijo
The second phase consists of analysing the interactions for getting more
flexibility (relaxing, for example, the user requirements), taking advantage of the
parallelism, duplicating tasks using different methods, or resolving detected
conflicts. When a cooperation protocol is needed, we should consult the library
of cooperation protocols and reuse a protocol definition. If there is no protocol
suitable for our needs, it is necessary to define a new one. We can use High-
level Message Sequence Charts (HMSC), which are very useful for this
purpose. These diagrams show the road map (phases) of the protocol and how
the different phases (specified with MSC) are combined. A phase can be a
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 59
The development of this model can help in the maintenance and testing of a multi-
agent system.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
60 Iglesias & Garijo
The potential benefits of the development of this model are the utilisation of a
well-known knowledge-level modelling framework, which has been successfully
applied in several projects, and the provision of a library of generic components,
specification languages and software tools.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 61
⎨
Goals
mental
Plans
state
Beliefs
association
⎨
Sensors
external role role inheritance group
Actuators
interface
Services
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
62 Iglesias & Garijo
The inheritance relationship between agents is defined as the union of the values
of the precedent classes for each attribute. For example, an agent class has its
goals and the goals of the precedent agent classes. If an agent defines an
attribute as exclusive, the values are overwritten. The potential benefits of the
development of this model are the specification of the structural relationships
between human and/or software agents, and the relationship with the environ-
ment. The study of the organisation is a tool for the identification of possible
impacts of the multi-agent system when installed. In the same way, this model
can provide information about the functions, workflow, process, and structure of
the organisation that allows the study of the feasibility of the proposed solutions.
This model represents both class-agent diagrams and instance-agent diagrams,
showing the particular relationships with the environment. In contrast with other
paradigms (i.e., object-oriented), the agent-instance diagrams are frequently
more relevant than the class-agent diagrams.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 63
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
64 Iglesias & Garijo
and with the system itself for preparing collaborative sessions, negotiating the
dates of the sessions, and managing their personal agendas.
The system will be based on a simple Personal Calendar Agent that is in charge
of managing the appointments of a user. The system will try to learn to set up a
new appointment according to its user preferences. In the case of a conflict, the
system will be able to negotiate with other personal agents from the other
participants in the appointment. The system will be running on a PDA (Figure 6).
Conceptualisation
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 65
::Personal Agent
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
66 Iglesias & Garijo
The next step is grouping the cases and studying their relationships. In this
example, we can identify two possible scenarios for avoiding low battery:
periodically reminding the user to recharge the PDA (more frequently in the case
of a low battery) or “shutdown” the PDA (Figure 9). We can also observe that
there is a scenario included in this reactive case: the detection of the battery
level.
Another technique we can use is that of extended CRC cards (Figure 10). Here,
for example, we can select one goal of our agent and define the plans to achieve
it, together with the required knowledge to perform the plans and the potential
collaborations in these plans that could also be autonomous. In case the agent
offers a standard service to other agents, we point out this service.
Analysis
After the conceptualisation phase, we have a first overview of the agents of the
system. In this particular simplified system, we have previously identified one
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 67
kind of agent: the Personal Agent. During the analysis phase, the engineer can
develop the analysis models that are needed in its problem. Usually, agent and
task model should always be developed. The development of the expertise model
helps the development of intelligent agents. In the case of interaction between
agents, the coordination model should be developed. The communication model
is developed when there is human-agent interaction. The organisation model
helps us to express structural relationships between agents or the human
organisation in which the multi-agent system is going to be introduced.
The models are developed in an iterative way, developing as many instances of
every model as needed and continuously refining the models. Since the models
are composed of artefacts, these artefacts can be easily reused.
Agent Model
From the actors of the conceptualisation phase, we can identify one agent, the
Personal Agent, which can have two roles: Coordinator or Participant. For the
sake of geographic distance and adaptation to the user, every Personal Agent
will be assigned to a single user.
In order to describe the Personal Agent, a textual agent template from the agent
model is filled in as shown in Figure 11, which helps us think about the problem.
Agent PersonalAgent
type
Intelligent software agent
roles
Coordinator / Participant
description
Personal Agent of a user, in charge of managing meetings in behalf of its user and
inform its user of new information about the accepted meetings.
Personal agent should classify incoming events in order to learn suitable scheduling
depending on the event type and how the user handles every event type.
reasoning-skills
expertise
knowledge about the meeting domain and categories of events and other users
ability to classify and capability to adapt to user preferences for scheduling
(to be further defined in expertise model)
restrictions
norms
A Personal Agent should notify its user of any change in an appointment.
permissions
A Personal Agent only can be a coordinator in case its user has the rights
to be coordinator
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
68 Iglesias & Garijo
Task Model
Now we can proceed to the development of the task model. Every instance of
the task model describes all the related activities to fulfill a goal. In this example,
we will further elaborate one the previously identified use cases: coordinate a
meeting. When a user wants to coordinate (initiate) a meeting, the user should
be allowed to have the role of coordinator for a meeting in that project.
This task can be decomposed as shown in the task diagram (Figure 12). This task
is initiated by the user. It should specify the foreseen length of the meeting, the
project and the required expertise of the participants. The task Collect-
Coordinator-Requirements models all the interaction between the user and the
agent that can help the user to show the available options for his/her decision.
Once the user has assigned the responsibility of coordinating the meeting, the
personal agent should select a range of suitable dates (task 2) based on its user
calendar and then select the attendees for that meeting (task 3). The next step
is to negotiate with the personal agents of the participants a suitable meeting date
as many times as needed (task 4, marked with an asterisk since it is an iterative
task). Finally, the agent should confirm with its user the negotiated date. If it is
suitable, the personal agent informs the other participants of the new appointment
that it is then added to their respective calendars. If the user decides that the
agreed upon date is not suitable, the user can start the task again or finish.
As seen in the previous task decomposition, the process of coordinating a
meeting has been described in a general way and can be reused in other projects.
Some of the tasks are further developed in other models. In particular, tasks 1
Collect Coordinator Requirements and 5.1 Confirm User are refined in the
communication model since they involve human interaction. Task 4.2 Send CFP
/ Receive Answer is refined in the coordination model since it involves agent
interaction. The tasks 2. Select attendees and 4.2. Decide Negotiate / End are
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 69
candidate tasks to be further developed in the expertise model since they may
require some reasoning process.
In order to show how a particular task can be described in the task model, the
task 3. Select attendees is described in using a textual task template.
Expertise Model
Instead of detailing further the rest of the tasks of the task model in this iteration,
we are going to illustrate how an instance of the expertise model can be
developed in this case study. We can further develop the task 3. Select
attendees in order to see how an intelligent agent can make this decision. The
expertise model (Schreiber et al., 1999) guides the knowledge-modelling pro-
cess. CommonKADS has a library of generic tasks, independent of the domain,
that can be reused or refined for knowledge intensive tasks. In this case, the
selection of attendees can be considered as a task of Assessment. A task of
assessment has the goal of finding a decision category for a case based on a set
of domain-specific norms. For example, in a loan application, the assessment
determines whether an application results in the loan or not (application-rejected,
accepted-with-risk, or accepted). In our problem, we will have to decide whether
a user would be interested and should participate in a meeting, qualifying him or
her as indispensable, convenient, or unnecessary.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
70 Iglesias & Garijo
case
abstract
abstract specify norms select
case
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 71
selection - criterion
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
72 Iglesias & Garijo
TASK assessment;
ROLES:
INPUT: case-description: "The case to be assessed";
OUTPUT: decision: "the result of assessing the case";
END TASK assessment;
TASK-METHOD assessment-with-abstraction;
REALIZES: assessment;
DECOMPOSITION:
INFERENCES: abstract, specify, select, evaluate, match;
ROLES:
INTERMEDIATE:
abstracted-case: "The raw data plus the abstractions";
norms: "The full set of assessment norms";
norm: "A single assessment norm";
norm-value: "Degree of satisfaction of the criterion (not satisfied,
low, medium, high";
evaluation-results: "List of evaluated norms";
CONTROL-STRUCTURE:
WHILE HAS-SOLUTION abstract(case-description -> abstracted-case)
DO
case-description := abstracted-case;
END WHILE
specify(abstracted-case -> norms);
REPEAT
select(norms -> norm);
evaluate(abstracted-case + norm -> norm-value);
evaluation-results := norm-value ADD evaluation-results;
UNTIL
HAS-SOLUTION match(evaluation-results -> decision);
END REPEAT
END TASK-METHOD assessment-with-abstraction;
Coordination Model
Now we will show how to model interactions between agents using the
coordination model. The coordination model describes the conversation between
agents and identifies the services that agents offer to the rest of agents. The
coordination model identifies the needed conversations, usually with the input
from other models. In this case study, we have identified a task 4.1 Send CFP
/ Receive Answer and task 5.2 Notify appointment.
Once a conversation is identified, the next step is to describe the roles of the
participants in the conversation, the interactions and services, and the informa-
tion interchanged in the interaction, and then analyse how every interaction can
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 73
Coordinator Participants
T propose (range-of-dates)
loop(0,n)
inform (subrange-of-dates)
inform (definitive-date)
be modelled (for example, with or without negotiation, and how the agent should
select one or another protocol). In the case study, there are two identified roles
in this conversation (coordinator and participant). The coordinator sends to the
participants a meeting description with a range of potential dates and receives
in a certain period the answers with subranges of the initial range. Then, the
coordinator decides a date and notifies all participants.
The notation of the model is based on MSC (ITU-Z.120, 1996) for the
interactions and SDL (ITU-T-Z.100, 1994) for processing these interactions.
Alternative notations are UML2.0 Interaction Diagrams, which incorporate
most of the characteristics of MSC and SDL, and AUML Interaction diagrams
(Beuer, Müller, & Odell, 2001).
In order to illustrate the application of other models, we will develop here the task
of the task model. The MSC diagram is shown in Figure 18.
Organisation Model
The organisation model’s agent model uses the organisation model diagram
(Figure 19). In this example, there only two positions in the organisation,
depending on the scheduled meeting: Coordinator or Participant. The organisational
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
74 Iglesias & Garijo
Personal Agent
Goals
Avoid Calendar, Learn Preferences
Beliefs
Preferences
Plans
GroupAppPSM, NegociatePSM, ConfirmPSM
Sensors
Battery
Actuators
Shutdown
Services participant
Schedule
participates in Scheduled
meeting
coordinator
model could also be used for modelling the human positions in the company and
resolve eventual conflicts according to its hierarchical position.
Design
The design model describes the components that satisfy the requirements of the
analysis models. There are three main decisions to be carried out in this model:
platform design, agent network design, and agent design that are collected in a
textual template as shown in Figure 20.
In this case study, the users will be able to see the scheduled meetings in their
PDAs and on the Web. The platform selected was JADE (http://
www.jade.cselt.it) and the extension BlueJADE (Cowan & Griss, 2002) for
deploying JADE as a service of the application server JBoss (http://
www.jboss.org).
The design of the agent network consists of identifying a set of agents that
provide the network, coordination, and knowledge facilities. In this case study,
attending to design considerations, since the users can be off-line, there is a need
to define a new agent, the Session Manager Agent (SMA) that is woken by the
application server when needed (to initiate a new session). In this way, the task
model developed as part of the task model of the Personal Agent is now
reassigned to the Session Manager Agent. We can identify another service, the
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 75
Figure 20. Design textual templates for Session Manager Agent (SMA)
objects
Platform Collaborator
Languages: Java, Jess
Software: JBoss, JADE, Jess
Network Collaborator
Network-services – FIPA Standard (AMS, DF)
Knowledge-services: none
Coordination services: Resource Manager Service, Session Manager Agent
Resource Manager Service, which is used to share and store the calendars
persistently between Personal Agents. Regarding the design of this agent,
collecting the requirements from the analysis models (Agent, Task, Communi-
cation, Coordination, Expertise, and Organisation), this agent has no sensors,
FIPA communications capabilities (FIPA 2002), and only simple reasoning
capabilities. The architecture selected for this agent is a deliberative one, which
can be implemented with JADE using Jess Behaviours.
Conclusions
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
76 Iglesias & Garijo
There are two supporting tools for applying the methodology, a Java CASE tool
and a Plug-In for Rational Rose.
MAS-CommonKADS has been applied by our research groups in projects of
intelligent network management and development of hybrid, symbolic-
connectionist systems. Other researchers have also successfully applied MAS-
CommonKADS for flights reservation (Arenas & Barrera-Sanabria, 2002),
development of organisational memories (Arenas & Barrera-Sanabria, 2003), e-
learning (Salcedo, 2003), paper review assistant (Marci de Oliveira, 2000), or
simulation of stakeholders (Henesey, Notteboom & Davidsson, 2003).
Acknowledgments
We would like to thank the editors and anonymous reviewers of this chapter for
their comments, all the students who have contributed to its development, and all
the partners of the Collaborator project.
References
Arenas, A. & Barrera-Sanabria, G. (2002). Applying the MAS-CommonKADS
methodology to the Flights reservation problem: Integrating coordinating
and expertise. In Proceedings of 5th Joint Conference on Knowledge-
based Software Engineering. IOS Press.
Arenas, A. & Barrera-Sanabria, G. (2003). Modelling intelligent agents for
organisational memories. In Knowledge-based Intelligent Information
and Engineering Systems, Lecture notes in computer science 2773 (pp.
430-437). Berlin: Springer-Verlag.
Beck, K. (1999). Extreme programming explained: Embrance change.
Boston: Addison-Wesley Professional.
Beck, K. & Cunningham, W. (1989). A laboratory for teaching object-oriented
thinking. In OOPSLA’89 Conference Proceedings, New Orleans, LA,
USA (Vol. 17, pp. 1-6).
Bauer, B., Müller, J. P., & Odell, J. (2001). Agent UML: A formalism for
specifying multiagent interaction. In P. Ciancarini & M. Wooldridge (Eds.),
Agent-oriented software engineering (pp. 91-103). Berlin: Springer-
Verlag.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The Agent-Oriented Methodology MAS-CommonKADS 77
Bergenti, F., Garijo, M., Poggi, A., Somacher, M. & Velasco, J. R. (2002).
Enhancing collaborative work through agents. In VII Convegno
dell’Associazione Italiana per l’Intelligenza Artificiale. Available online
from http://www-dii.ing.unisi.it/aiia2002/paper.htm
Cowan, D. & Griss, M. (2002). Making software agent technology available
to enterprise applications, Technical report HP-2002-211, Hewlett-
Packard Labs.
FIPA (2004). FIPA Agent Communication Language Specifications. Available
online http://www.fipa.org/repository/aclspecs.html
FIPA (2004). The Foundation for Intelligent Physical Agents. Available online
http://www.fipa.org
Henderson-Sellers, B. & Edwards, J.M. (1994). BOOKTWO of object-ori-
ented knowledge: The working object. Sydney: Prentice Hall.
Henesey, L., Notteboom, T., & Davidsson, P. (2003). Agent-based simulation
of stakeholders relations: An approach to sustainable port terminal man-
agement. In Proceedings of the 13th International Association of
Maritime Economist (IAME) Conference, Busan, Korea (pp. 314-331).
Iglesias, C. A. (1998). Definition of a methodology for the development of
multiagent systems. PhD thesis, Technical University of Madrid (in
Spanish).
Iglesias, C. A. & Garijo, M. (1999). UER technique: Conceptualisation for
agent-oriented development. In Proceedings of the 3rd World
Multiconference on Systemics, Cybernetics and Informatics (SCI’99)
and 5th International Conference on Information Systems Analysis
and Synthesis (ISAS’99) (Vol. 5, pp. 535-540). International Institute of
Informatics and Systemics.
Iglesias, C. A., Garijo, M., González, J. C., & Velasco, J. R. (1998). Analysis and
design of multiagent systems using MAS-CommonKADS. In N. Callaos &
M. Torres (Eds.), Intelligent agents IV: Agent theories, architectures
and languages, LNAI 1365 (pp. 313-326). Berlin: Springer-Verlag.
ITU-T-Z.100 (1994). CCITT specification and description language (SDL).
Technical report, ITU-T.
ITU-Z.120 (1996). Message Sequence Chart (MSC). ITU. Z.120. Technical
report, ITU-T. Geneva.
Jacobson, I., Christerson, M., Jonsson, P., & Övergaard, G. (1992). Object-
oriented software engineering. A use case driven approach. New
York: ACM Press.
Kruchten, P. (2000). The rational unified process: An introduction (2 nd ed.).
Reading, MA: Addison-Wesley.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
78 Iglesias & Garijo
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 79
Chapter IV
From Requirements to
Code with the
PASSI Methodology
Massimo Cossentino
ICAR-CNR, Italy
Abstract
A Process for Agent Societies Specification and Implementation (PASSI) is
a step-by-step requirement-to-code methodology for designing and
developing multi-agent societies, integrating design models and concepts
from both object-oriented (OO) software engineering and artificial
intelligence approaches using the UML notation. The models and phases of
PASSI encompass representation of system requirements, social viewpoint,
solution architecture, code production and reuse, and deployment
configuration supporting mobility of agents. The methodology is illustrated
by the well-known Bookstore case study.
Introduction
At present, several methods and representations for agent-based systems have
been proposed (Aridor & Lange, 1998; Bernon, Camps, Gleizes, & Picard, 2004;
Bresciani, Giorgini, Giunchiglia, Mylopoulos, & Perini, 2004; DeLoach & Wood,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
80 Cossentino
2001; Jennings, 2000; Kendall, Krishna, Pathak, & Suresh, 1998; Zambonelli,
Jennings, & Wooldridge, 2001, 2003). In order to explore them, we shall consider
a relevant aspect in modelling software, that is, fidelity. Robbins, Medvidovic,
Redmiles, and Rosenblum (1998) have defined fidelity as the distance between
a model and its implementation. This means that low fidelity models are problem-
oriented, while high fidelity models are more solution-oriented.
Since agents are still a forefront issue, some researchers have proposed methods
involving abstractions of social phenomena and knowledge (Bernon et al., 2004;
Bresciani et al., 2004; Jennings, 2000; Zambonelli, Jennings, & Wooldridge,
2001, 2003) (low-fidelity models); others have proposed representations involv-
ing implementation matters (Aridor & Lange, 1998; DeLoach & Wood, &
Sparkman, 2001; Kendall et al., 1998) (higher fidelity models).
There exists one response to these proposals, which is to treat agent-based
systems the same as non-agent based ones. However, we reject this idea
because we think it is more natural to describe agents using a psychological and
social language. Therefore, we believe that there is a need for specific methods
or representations tailored for agent-based software. This belief originates from
the related literature. To give an example, Yu and Liu (2000) say that “an agent
is an actor with concrete, physical manifestations, such as a human individual.
An agent has dependencies that apply regardless of what role he/she/it happens
to be playing.” On the other hand, Jennings (2000) defines an agent as “an
encapsulated computer system that is situated in some environment and that is
capable of flexible, autonomous action in that environment in order to meet its
design objectives.” Also, Wooldridge and Ciancarini (2001) see the agent as a
system that enjoys autonomy, reactivity, pro-activeness, and social ability.
Therefore, multi-agent systems (MAS) differ from non-agent based ones
because agents are meant to be autonomous elements of intelligent functionality.
Consequently, this requires that agent-based software engineering methods
encompass standard design activities and representations as well as models of
the agent society.
Two more responses exist. They both argue that agents differ from other
software but disagree about the differences. The first, proposed by supporters
of low-fidelity representations, is that agents are distinguished by their social and
epistemological properties, only these need different abstractions. The second,
proposed by supporters of high-fidelity representations, is that the difference is
in the deployment and interaction mechanisms. With regard to the agent notion,
DeLoach, Wood, and Sparkman (2001) argue that “an agent class is a template
for a type of agent in the system and is analogous to an object class in object-
orientation. An agent is an actual instance of an agent class,” and “… agent
classes are defined in terms of the roles they will play and the conversations in
which they must participate.” This definition in some way conjugates the social-
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 81
Initial
Requirements Next Iteration
Ag. Behavior
Role Task Description
Identification Specification Society
Agent Test Test
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
82 Cossentino
The remainder of this chapter is structured as follows. The next section gives a
quick presentation of the methodology’s models and provides a justification for
PASSI. The third section presents the application of PASSI to the “Juul Møller
Bokhandel A/S” case study (Andersen, 1997), giving a detailed description of the
steps and the use of UML notations within each of them. A comparison of PASSI
with the Gaia (Zambonelli, Jennings, & Wooldridge, 2003) and MaSE (DeLoach,
Wood, & Sparkman, 2001) is then given, and some conclusions are presented in
the final section.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 83
PASSI process, the element that corresponds to the SPEM process component
is called model, and it is composed of phases (for instance, in Figure 1, we can
see that the System Requirements model is composed of the Domain Require-
ments Description, Agents Identification, … phases). The “models” and “phases”
of PASSI are:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
84 Cossentino
(a) generation of code from the model using one of the functionalities of
the PASSI add-in. It is possible to generate not only the skeletons but
also largely reusable parts of the method’s implementation based on
a library of reused patterns and associated design descriptions; and
(b) manual completion of the source code.
5. Deployment Model: a model of the distribution of the parts of the system
across hardware processing units and their migration between processing
units. It involves one step: Deployment Configuration (D.C.): deployment
diagrams describe the allocation of agents to the available processing units
and any constraints on migration and mobility.
Testing: the testing activity has been divided into two different steps: the
single-agent test is devoted to verifying the behavior of each agent
regarding the original requirements for the system solved by the specific
agent (Caire, Cossentino, Negri, Poggi, & Turci, 2004). During the Society
Test, integration verification is carried out together with the validation of
the overall results of this iteration. The Agent Test is performed on the
single agent before the deployment phase, while the society test is carried
out on the complete system after its deployment.
In the following, each of the above cited models will be discussed in details in a
specific subsection.
The concept of agent will be central to our discussion and therefore a definition
of what we mean by an agent will be helpful before proceedings.
In PASSI, we consider two different aspects of the agent: during the initial steps
of the design, it is seen as an autonomous entity capable of pursuing an objective
through its autonomous decisions, actions, and social relationships. This helps in
preparing a solution that is later implemented, referring to the agent as a
significant software unit. An agent may undertake several functional roles during
interactions with other agents to achieve its goals. A role is a collection of tasks
performed by the agent in pursuing a sub-goal or offering some service to the
other members of the society. A task, in turn, is defined as a purposeful unit of
individual or interactive behavior. Each agent has a representation of the world
in terms of an ontology that is also referred to in all the messages that the agents
exchange.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 85
Multi-Agent Single-Agent
Agent Structure Agent Structure
Definition Definition
Iterations
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
86 Cossentino
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 87
<<communicate>>
<<extend>>
Keep NSM Needs Updated NSM Courses
Web Server <<include>>
<<include>>
Carry Out Order Carry Out Order By Phone
<<extend>> Clerk
<<include>> <<include>>
Predict Students Needs Provide Books Negotiate Purchase-Money Negotiate Purchase-Money
By Telephone
<<include>>
Supplier
<<include>>
Update Purchase History
<<include>>
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
88 Cossentino
<<Agent>>
PurchaseM onitor
NSM Courses
Web Server <<Agent>>
<<Agent>>
Purchaser ClerkUI
<<Agent>>
<<communicate>>
Keep NSM Needs Updated
PurchaseM anager
<<communicate>> Carry Out Order
Carry Out Order By Telephone
<<include>>
<<communicate>> <<communicate>>
<<communicate>> Clerk
Provide Books
Negotiate Purchase-M oney Negotiate Purchase-M oney By Telep hone
<<communicate>>
<<communicate>>
<<Agent>>
PurchaseAdvisor
Supplier
<<communicate>>
Define Purchase-M oney
<<Agent>>
Update Purchase History StoreUI
<<include>>
Note, for example, how the “include” relationship between the use cases
Provide Books and Receive Delivery (Figure 3) turned from “include” into
“communication” and also changed the navigability direction. This reflects the
fact that in an autonomous organization of agents in a distributed system, we can
organize things in a departmental manner, so as to have a StoreKeeper actor that
records any stock’s delivery that occurs. The StoreUI agent may then notify the
Purchase Manager agent of that delivery. In so doing, the Purchase Manager
does not need to keep bothering about the delivery of a stock, but rather it
continues to work while another agent is taking care of this task.
The selection of the use cases that will be part of each agent should be done
pursuing the criteria of functionality coherence and cohesion. These are impor-
tant attributes of the design, and if the adopted agent identification does not
produce a satisfactory result from this point of view, a change in it is strongly
advised. In a limited number of cases (for instance when relevant limits in
communication bandwidth are predictable, as occurs for agents deployed in small
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 89
and mobile devices), agents should be composed also considering how big are the
information banks they exchange, although this cannot be evaluated at this stage.
The iterative and incremental nature of PASSI provides great help in solving this
problem; an initial hypothesis for agent identification is done and, if problems
occur, it can be changed in successive iterations.
This phase occurs early in the requirements analysis since we now deal more
with an agent’s externally visible behavior than its structure – only approximate
at this step.
Roles identification (R. Id.) is based on exploring all the possible paths of the
Agents Identification diagram involving inter-agent communication. A path
describes a scenario of interacting agents working to achieve a required behavior
of the system. It is composed of several communication paths. A communication
path is simply a “communicate” relationship between two agents in the above
diagram. Each of them may belong to several scenarios, which are drawn by
means of sequence diagrams in which objects are used to symbolize roles.
Figure 5 shows the already presented scenario, arising when a new purchase is
required from the role Informer of the PurchaseMonitor agent to the role
BooksProvider of the Purchase Manager agent. Although the diagram
resembles an UML sequence diagram, the syntax is a bit different. Each object
in the diagram represents an agent’s role, and we name it with the following
syntax:
<role_name> : <agent_name>
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
90 Cossentino
Figure 5. The roles identification diagram for the scenario in which the
Purchase Monitor agent announces the need for a book purchase
Inf ormer : BooksProv ider : Consultant : Negotiator : OrderPlacer : Deliv ery Notif ier : Recorder :
PurchaseMonitor PurchaseManager PurchaseAdv isor Purchaser : Supplier Purchaser StoreUI PurchaseAdv isor
: Storekeeper
Prov ideTheseBooks
SuggestPurchaseConditions
Try TheseConditions
NegotiateTheseConditionsWithThisSupplier
Y ourBestOf f er?
HereIsMy Best
That'sTheBestOf f er
Carry OutOrder
WantToBuy
NewDeliv ery
BooksDeliv ered
GotTheBooks
UpdatePurchaseHistory
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 91
• The Negotiator negotiates via fax or e-mail (this is the case of the present
scenario) and gets the best offer. It then returns it to the BooksProvider.
• The BooksProvider establishes whether the offer is good enough or not,
according to its budget and considerations such as the pricing of the book
and the number of students that would then buy it. In this scenario, we
assume that the offer is good enough and so the BooksProvider proposes
that the OrderPlacer buys the books. Therefore, the BooksProvider is
then ready to take care of other requests.
• When the books are delivered, a notification is then forwarded from the
DeliveryNotifier to the BooksProvider.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
92 Cossentino
PurchaseMonitor.RequestBooks ReceiveDelivery
Notification
Listener
StoreUI.NotifyDelivery
ReceivePurchase
Request
PurchaseAdvisor.Listener
AskForAdvice StartPurchase
AskNegotiation
Purchaser.Listener
AskOrdering
UpdatePurchase
History
NotifyEndOfPurchase
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 93
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
94 Cossentino
introduced for each communication between two agents (ignoring, for the
moment, distinctions about agents’ roles). Clearly, it is also important to
introduce the proper data structure (selected from elements of the Domain
Ontology Description) in each agent in order to store the exchanged data. The
association line that represents each communication is drawn from the initiator
of the conversation to the other agent (participant) as can be deduced from the
description of their interaction performed in the Role Identification (R.Id.)
phase. According to FIPA standards, communications consist of speech acts
(Searle, 1969) and are grouped by FIPA in several interaction protocols that
define the sequence of expected messages. As a consequence, each communi-
cation is characterized by three attributes, which we group into an association
class. This is the characterization of the communication itself (a communication
<<concept>>
GoingOnPurchases
+AnOpenPurchase 0..*
<<concept>> <<concept>>
Purchase +PurchaseInfo OpenPurchase
+CourseInfo date : Date remainingStocksToNegotiate : Stocks
<<concept>> 1
Course
courseTitle : String +ANegotiation +StocksToNegotiate
1..*
teacherName : String
numberOfAttendees : Integer <<predicate>> <<concept>>
SuccessfulNegotiation Stocks
orderIssued : Boolean
+textBook 1
<<concept>>
Book
authors : String <<concept>>
title : String SuppliersArchive
edition : String
publisher : String
1..*
+ourRequest
+textBook 1..* +theirBestOffer +ASupplier
+AStock 1..*
<<concept>> <<concept>>
<<action>>
Stock +Stock Supplier
Delivery
1 numberOfItems : Integer Supplier name : String
Actor = Supplier
unitPrice : Integer email : String
Receiver = StoreKeeper +OrderedStock purchaseTime : Date 1 fax : String
deliveryTime : Date phone : String
<<act>> delivery()
+SupplyingStock
<<predicate>>
IsStockSufficient
ACourse : Course
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 95
PurchaseAdvisor PurchaseDetails
CourseData QueryForAdvise _past_purchases : History Ontology : Purchase
Ontology : Course Protocol : Query Language : RDF
Language : RDF +Recorder Protocol : Propose
+Consultant
+BooksProvider
+BooksProvider DeliveryNotification
PurchaseAnnouncement
Ontology : Delivery
Protocol : Request PurchaseManager
Language : RDF
_open_purchases : GoingOnPurchases Protocol : Propose
_suppliers_list : Suppliers
+BooksProvider
PurchaseMonitor
+BooksProvider +DeliveryNotifier
_course_info : Course +Informer +BooksProvider
+Books Provider StoreUI
_delivery_details : Delivery
+Negotiator +OrderPlacer
OurRequest
Purchaser
Protocol : Query StockToPurchase
_our_request : Stock
_their_best_offer : Stock Protocol : Propose
StockInfo
Ontology : Stock
Language : RDF
with different ontology, language, or protocol is certainly different from this one)
and its knowledge is used to uniquely refer this communication (which can have,
obviously, several instances at runtime, since it may arise more than once). Roles
played by agents in the interaction (as derived from the R.Id. diagrams) are
reported at the beginning and the end of the association line.
In Figure 8, the PurchaseManager agent starts a conversation (see
QueryForAdvice association class) with the PurchaseAdvisor agent. The
conversation contains the Course ontology, the Query protocol, and the RDF
language. This means that the PurchaseManager wants to perform a speech
act based on the FIPA’s query protocol in order to ask the PurchaseAdvisor for
advice on how to purchase (supplier, number of stocks, number of items per each,
purchase-money) provided the Course information.
This phase models the lifecycle of an agent taking into account its roles, the
collaborations it needs, and the conversations in which it is involved. In this phase,
we can also introduce the social rules of the society of agents (organizational
rules) (Zambonelli, Jennings, & Wooldridge, 2001) and the behavioral laws as
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
96 Cossentino
considered by Newell (1982) in his “social level.” These laws may be expressed
in OCL or other formal or semi-formal manner depending on our needs.
The Roles Description (R.D.) phase yields a class diagram in which classes are
used to represent roles (the UML syntax and notation is here modified slightly
in order to represent agents’ related concepts). Each agent is symbolized by a
package containing its roles’ classes (see Figure 9). Each role is obtained by
composing several tasks in a resulting behavior. In order to show which tasks are
necessary to compose the desired behavior, in this diagram, we put tasks in the
operation compartment of the related role’s class. Each task is related to an
action or a set of actions, and therefore the list of tasks describes what a role is
able to do; it can also be helpful in the identification of reusable patterns. An R.D.
diagram can also show connections between roles of the same agent, represent-
ing changes of role (dashed line with the name [ROLE CHANGE]). This
connection is depicted as a dependency relationship because we want to signify
the dependency of the second role on the first. Sometimes the trigger condition
is not explicitly generated by the first role, but its precedent appearance in the
scenario justifies the consideration that it is necessary to prepare the situation
that allows the second role to start. Conversations between roles are indicated
by solid lines, as we did in the Communication Ontology Diagram, using exactly
the same relationships names; this consistency, like other quality aspects of
<<Agent>>
Purchase Monitor
Informer : PurchaseMonitor
<<Agent>>
Purchase Advisor RequestBooks() <<Agent>>
LookForChanges() Purchaser
Consultant : PurchaseAdvisor
PurchaseAnnouncement
IdleTask() OurRequest Negotiator : Purchaser
(service)
ReceiveAdviceRequest()
QueryOnHistory() <<Agent>> IdleTask()
Purchase Manager ReceiveNegotiationRequest()
QueryForAdvice Negotiate()
BooksProvider : PurchaseManager
(resource)
(resource)
[ROLE CHANGE] IdleTask()
[ROLE CHANGE]
ReceivePurchaseRequest()
StartPurchase()
AskForAdvise()
StockToPurchase
PurchaseDetails StartNegotiation() OrderPlacer : Purchaser
StartOrdering() (service)
Recorder : PurchaseAdvisor
ReceiveDeliveryNotification() IdleTask()
NotifyEndOfPurchase() ReceiveOrderingRequest()
IdleTask() UpdatePurchaseHistory() Order()
ReceiveRecordingRequest()
UpdateHistory()
DeliveryNotification
<<Agent>>
Store UI
DeliveryNotifier : StoreUI
NotifyDelivery()
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 97
design, is ensured by the use of PTK (PASSI ToolKit, an open source add-in for
Rational RoseTM) that automatically builds portions of several diagrams and
performs several checks on the inputs provided by the designer to verify their
correctness with regards to the other parts of the design.
We have also considered dependencies between agents (Yu & Liu, 2000).
Agents are autonomous, so they could refuse to provide a service or a resource.
For this reason, the design needs a schema that expresses such matters so as to
explore alternative ways to achieve the goals. In order to realize such a schema,
we have introduced in the Roles Description diagram some additional relation-
ships that express the following kinds of dependency:
As we have seen in the Ontology Description phase and as specified by the FIPA
architecture, an Agent Interaction Protocol has been used for each communica-
tion. In our example, all of them are FIPA standard protocols (FIPA, 2000).
Usually the related documentation is given in the form of AUML sequence
diagrams (Odell, Van Dyke Parunak, & Bauer, 2001). Hence, the designer does
not need to specify protocols on his own. In some cases, however, existing
protocols are not adequate and, subsequently, some dedicated ones need to be
properly designed; this can be done using the AUML diagrams.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
98 Cossentino
Figure 10. The multi-agent structure definition diagram for the bookstore
case study
<<Agent>>
ChiefUI
<<Agent>>
StoreUI
NotifyDelivery()
NSM Student Book Store Employee Storekeeper
At this stage, one diagram represents the MAS as a whole (Figure 10). The
diagram shows classes, each symbolizing one of the agents identified in the A.Id.
phase. Actors are reported in order to represent significant agents’ interactions
with the environment (for instance through sensing devices or actuators).
Attributes compartments can be used to represent the knowledge of the agent
as already discussed in the Communication Ontology diagram, whereas opera-
tions compartments are used to signify the agent’s tasks.
Here one class diagram (Figure 11) is used for each agent to illustrate the agent’s
internal structure through all of the classes making up the agent, which are the
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 99
Figure 11. The single-agent structure definition diagram for the purchase
manager agent
AskForAdv ice
Receiv ePurchaseRequest
PurchaseManager - _course_inf o : Course
- _course_inf o : Course StartPurchase - _receiv ed_adv ice : Stocks StartNegotiation
- purchaseInf ormation
- time - _our_request : Stock
+ Receiv ePurchaseRequest() + StartPurchase() + AskForAdv ice() - _their_best_of f er : Stock
- negotiatingConditions + startTask() + startTask() + startTask()
- negotiatedConditions + doneAskForPurchaseAdv () + AskForPurchaseAdv ()
- deliv ery Data + StartNegotiation()
+ handleAdv ice() + startTask()
+ AGENT_TYPE : String = "Purchase Manager" + doneAskNegotiation() + handleTheirBestOf f er()
+ PurchasesManager()
+ registrationFailed()
+ registrationRef used() IdleTask StartOrdering
+ registrationSucceded() - _stock_to_purchase : Stock
Task
+ shutdown() + IdleTask()
+ startTask() + StartOrdering()
+ handleRequest() + startTask()
agent’s main class together with the inner classes identifying its tasks. At this
point, we set up attributes and methods of both the agent class (e.g., the
constructor and the shutdown method when required by the implementation
platform) and the tasks’ classes. The result of this stage is to obtain a detailed
structure of the software, ready to be implemented almost automatically.
As was seen in the previous phase, this phase influences and is influenced by the
Agent Structure Definition phase in a double level of iterations. The Agent
Behavior Description phase produces several diagrams that are subdivided into
the multi-agent and the single-agent views. In the former, we draw the flow of
events (internal to agents) and communications (among agents) by representing
method invocations and the message exchanges. In the latter, we detail the above
methods.
At this stage, one or more activity diagrams are drawn to show the flow of events
between and within both the main agent classes and their inner classes
(representing their tasks). We depict one swimlane for each agent and for each
task. The activities inside the swimlanes indicate the methods of the related
class. Unlike DeLoach, Wood, and Sparkman (2001), we need not introduce a
specific diagram for concurrency and synchronization since UML activity
diagrams’ syntax already supports it.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
100 Cossentino
The usual transitions of the UML standard are depicted here as signifying either
events (e.g., an incoming message or a task conclusion) or invocation of
methods. A transition is drawn for each message recognized in the preceding
phases (e.g., from the R.Id. diagram). In this kind of transition, we indicate the
message’s performative as it is specified in the Communication Ontology
Description diagram and the message’s content as described in the Domain
Ontology Description diagram. This results in having a comprehensive descrip-
tion of the communication including the exact methods involved.
Figure 12 shows an example of a multi-agent behavior description. The
StartPurchase task of the PurchaseManager agent instantiates the
StartNegotiation task by invoking the newTask super-class method. This has
to be done in order to ask the Purchaser agent to perform a negotiation with a
supplier. The invocation of the StartNegotiation task implies its startTask
method to be invoked (according to the FIPA-OS implementation platform we
have used). What the startTask method does is send a message to the
Purchaser agent. This contains the Request performative (as required by the
FIPA Request protocol) and the content OurRequest (coming from the D.O.D.
diagram, Figure 7). The handleRequest method of the Purchaser’s IdleTask
task receives the incoming communication and sends it to the
ReceiveNegotiationRequest task after this one has been instantiated as above.
When a task completes its job, the done method is invoked.
This kind of diagram often becomes very huge and difficult to draw/read. In
order to deal with this problem, an extended version of it has been presented in
Caire et al. (2004) where the revised syntax supports different levels of detail.
StartPurchase.
StartPurchase newT ask( Neg oti ate )
StartNegotiation.
StartNegotiation
ReceiveNegotiationRequest.
ReceiveNegotiationRequest
ReceiveNegotiationRequest.
startTask newT ask( Neg oti ate )
Negotiate.
Negotiate
Negotiate.
message( Ou rReque st; i nform ) startTask
StartNegotiation
.handleInform do ne()
StartP urchase.done ReceiveNegotiationRequest.
d one()
AskNegotiation doneNegotiate
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 101
In this phase, we try to reuse predefined patterns of agents and tasks. With the
term pattern, we do not only mean code but also design diagrams. As a matter
of fact, the reuse process typically takes place in some CASE tool environment,
where the designer looks more at diagrams detailing a pattern’s libraries than
rough code. So we prefer to look at patterns as pieces of design and code to be
reused in the process of implementing new systems.
We have extended the Rational Rose UML CASE tool by developing an add-in
supporting PASSI (PTK) and a specific pattern reuse application (AgentFactory).
PTK and AgentFactory are complementary and responsible for two different
stages of the design-implementation activities: initially, PTK helps in compiling
the PASSI diagrams, then AgentFactory is used to generate the agents’ code
when patterns have been used in the design. PTK initial releases were able to
generate agents’ code, but this duty has been, more recently, assigned to the
AgentFactory application. It works in this way: the PTK (PASSI ToolKit) add-
in can export the multi-agent system model to AgentFactory or generate the code
for just the skeletons of the designed agents, behaviors, and other classes
included in the project. AgentFactory code generation capabilities (Cossentino,
Sabatucci, Sorace, & Chella, 2003) are much more advanced than similar
functions of PTK; AgentFactory can, very quickly, create complex multi-agent
systems by using patterns from a large repository and can also provide the design
documentation of the composed agents. The tool can work online as a Web-
based application, but can also be used as a stand-alone application. This
approach has proven quite flexible (Cossentino, Sabatucci, & Chella, 2003) in
reusing patterns, thanks to its binding of design elements to code.
Due to the most common FIPA-compliant implementation platforms that del-
egate a specific task for each specific communication, it has turned out that in
our applications, which are mainly JADE or FIPA-OS based, some of the most
useful patterns are the ones that could be categorized as interaction patterns.
Our patterns (whose discussion is out of the scope of this chapter) result from
the composition of three different aspects of a multi-agent system:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
102 Cossentino
1. the static structure of one or more agent(s) or parts of them (i.e. behaviors);
2. the description of the dynamic behavior expressed by the previously cited
elements; and
3. the program code that realizes both the static structure (skeletons) and the
dynamic behavior (inner parts of methods) in a specific agent platform
context (for example JADE).
In reusing patterns from our repository, the designer can select the generic
agent pattern (that has the capability of registering itself to the basic platform
services), and he/she can introduce it in the actual project. In this way, with a few
mouse clicks, he/she created a totally new agent, the design diagram has been
updated (although with some limitations due to the actual level of integration
between Rational Rose and AgentFactory), and the agent’s code is properly
functional.
The repository also includes a list of behaviors that can be applied to existing
agents. For example, we have behaviors dedicated to deal with the initiator/
participant roles in the most common communications. When a pattern is
introduced in the design, not only are some diagrams (like the structural and
behavioral one of the implementation level) updated. but the resulting code also
contains large portions of inner parts of methods; the result is a highly affordable
and quick development production process.
This phase is the classical work of the programmer, who just needs to complete
the body of the methods yielded to this point, by taking into account the design
diagrams.
The Deployment Configuration (D.C.) phase has been thought to comply with
the requirements of detailing the agents’ positions in distributed systems or more
generally in mobile-agents’ contexts.
The Deployment Configuration diagram is a UML deployment diagram and
illustrates the location of the agents (the implementation platforms and process-
ing units where they live), their movements, and their communication support.
The standard UML notation is useful for representing processing units (by
boxes), agents (by components), and the like. What is not supported by UML is
the representation of the agent’s mobility, which we have done by means of a
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 103
Discussion
Methodologies differ in commitments about the target agent architecture.
PASSI is a requirement-to-code analysis and design methodology characterized
by an iterative step-by-step refinement of the system, producing at its final stage
a concrete design and implementation based on the FIPA architecture. Gaia, by
contrast, regards the output of the analysis and design process as an abstract
specification that necessitates being further developed by extra lower-level
design methodologies. So does MaSE, but, on the other hand, it goes further in
the design process if compared with Gaia. Now, one might think that a general
approach such as Gaia is more advantageous, given the present proliferation of
agent technologies. However, PASSI does not lead to a narrow scope concrete
technology but rather actually yields executable code for a concrete and
increasingly utilized standard architecture such as FIPA.
A key issue in modeling multi-agent system is the conversation among agents.
In order to obtain a proper model of conversation, it would be desirable to have
an ontology description of the system. Excluding PASSI, none of the other
methodologies compared throughout this book specifically addresses such a
matter (to be more precise, Dileo, Jacobs, and DeLoach [2002] have recently
proposed a method to introduce ontology in MaSE). The PASSI Ontology
Description phase describes the society of agents taking into account its
ontological point of view. As counterpart, in MaSE, there is a detailed description
of conversations by means of complementary state automata (couples of
Communication Class Diagram) representing agents’ state involved in commu-
nication. Together, the complementary sides of conversation make up a protocol
definition. As for Gaia, a definition of protocols is provided in the Interaction
Model.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
104 Cossentino
ated the step-by-step guidance provided by the methodology and have found it
rather easy to learn and to use. Among the most appreciated features, we can
list: (1) the ease of transition for designers coming from the object-oriented
world, since the initial parts of PASSI adopt concepts of requirements analysis
that are very common in that context; (2) the multiple views that permit an easy
analysis of complex systems from many different aspects; (3) the support of a
specific design tool (PTK, an add-in for Rational Rose), and (4) the patterns
reuse that allows a rapid development of MASs. The implementation environ-
ments that we have used were based on the FIPA architecture in accordance
with the aim of adopting standards whenever possible. We are now working on
the enhancement of the CASE tool supporting PASSI and on the enlargement of
the pattern repository in order to further increase the productivity of the PASSI
developer.
References
Andersen, E. (1997). Juul Møller Bokhandel A/S. Norwegian School of
Management. Available online http://www.espen.com/papers/jme.pdf
Antón, A.I. & Potts, C. (1998). The use of goals to surface requirements for
evolving systems. In Proceedings of International Conference on
Software Engineering (ICSE ’98) (pp. 157-166).
Aridor, Y. & Lange, D.B. (1998). Agent design patterns: Elements of agent
application design. In Proceedings of the Second International Confer-
ence on Autonomous Agents (pp. 108-115).
Bergenti, F. & Poggi A. (2000). Exploiting UML in the design of multi-agent
systems. In Proceedings of First International Workshop Engineering
Societies in the Agents World.
Bernon, C., Camps, V., Gleizes, M-P., & Picard, G. (2004). Tools for self-
organizing applications engineering. In Proceedings of the First Interna-
tional Workshop on Engineering Self-Organising Applications (ESOA).
Springer-Verlag.
Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., & Perini, A. (2004).
TROPOS: An agent-oriented software development methodology. Jour-
nal of Autonomous Agents and Multi-Agent Systems, 8(3), 203-236.
Caire, G., Cossentino, M., Negri, A., Poggi, A., & Turci, P. (2004). Multi-agent
systems implementation and testing. In Proceedings of the Agent Tech-
nology to Agent Implementation Symposium (AT2AI-04).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
From Requirements to Code with the PASSI Methodology 105
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
106 Cossentino
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 107
Chapter V
Prometheus:
A Practical Agent-Oriented
Methodology
Lin Padgham
RMIT University, Australia
Michael Winikoff
RMIT University, Australia
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
108 Padgham & Winikoff
Introduction
“One of the most fundamental obstacles to the take-up of agent
technology is the lack of mature software development methodolo-
gies for agent-based systems” (Luck, McBurney, & Preist, 2004, p.
224).
It is widely accepted in the agent research community that a key issue in the
transition of agents from research labs to industrial practice is the need for a
mature software engineering methodology for specifying and designing agent
systems. In this chapter, we describe the Prometheus1 methodology that aims to
address this need.
In developing the Prometheus methodology, there are a number of motivating
considerations that have influenced (and continue to influence) the evolution of
Prometheus and the choices made in its development.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 109
and Zucker (1998); Elammari and Lalonde (1999); Glaser (1996); Kendall,
Malkoun, and Jiang (1995); Kinny and Georgeff (1996); Kinny, Georgeff, and
Rao (1996); Lind (2001); Sturm, Dori, and Shehory (2003); and Varga, Jennings,
and Cockburn (1994). We shall not attempt to compare Prometheus to existing
methodologies in this chapter; comparisons of Prometheus with other method-
ologies can be found in Dam (2003); Dam and Winikoff (2003); and Sudeikat,
Braubach, Pokahr, and Lamersdorf (2004). Other comparisons of agent-
oriented methodologies include Cernuzzi and Rossi (2002); Shehory and Sturm
(2001); Sturm and Shehory (2003), and, of course, Chapter 12 of this book.
In the remainder of this chapter, we describe the Prometheus methodology
incorporating a case study, and then discuss the strengths and weaknesses of
Prometheus before concluding. Our description of Prometheus is necessarily
brief – for a full description see Padgham and Winikoff (2004).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
110 Padgham & Winikoff
Agent Concepts
Before we proceed to present the process, notations, and techniques that are
associated with the Prometheus methodology, we summarize the concepts used
here (Winikoff, Padgham, & Harland, 2001) (see also Chapter 1).
The reason why it is important to consider and discuss concepts is that the
concepts are the foundation upon which a software engineering methodology
builds. For instance, object-oriented methodologies assume that the designer is
familiar with concepts such as objects, classes, and inheritance. The concepts
that are appropriate for designing agents are, not surprisingly, different from
those that are used for objects. Whereas the concepts of object-oriented
programming are well-known, those associated with agent-oriented program-
ming are not, and so we feel that it is useful and important to discuss them.
In considering what concepts are appropriate for designing agent systems, we
take as a starting point the definition of an intelligent agent. We take the standard
definition of an agent as being software that is situated in an environment,
autonomous, reactive to changes in its environment, proactive in its pursuit of
goals and social (Wooldridge, 2002). We extend this definition by adding to the
list of desired properties of agents being flexible (having multiple ways of
achieving goals) and robust (being able to deal with various forms of failure)
(Padgham & Winikoff, 2004).
Based on these properties, we identify a number of concepts that are used to
design and implement agents. An agent’s interface with its environment is
expressed in terms of percepts and actions. Proactive agents pursue goals, and
reactive agents respond to events (“significant occurrences”). Agents have
beliefs and plans. Finally, social agents use messages to communicate, and
these messages are collected in interaction protocols.
Our experience with teaching agent concepts has been that the concept set
discussed is sufficient to design BDI style agent systems and also easier to
understand than, for example, the standard BDI concepts (particularly inten-
tions).
Prometheus, as a methodology, is intended to be able to support the design of BDI
systems, although it is not limited to such; all but the lowest level of design, leading
into code, can be used equally well for non-BDI systems. However, the lowest
level needs to be modified to accommodate the particular style of implementation
platform being targeted. For instance, if building JADE agents, the lowest level
would specify behaviours rather than plans, and there would be some changes
in details.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 111
• System Specification: where the system is specified using goals and use
case scenarios; the system’s interface to its environment is described in
terms of actions, percepts, and external data; and functionalities are
defined.
• Architectural design: where agent types are identified; the system’s overall
structure is captured in a system overview diagram; and use case scenarios
are developed into interaction protocols.
• Detailed design: where the details of each agent’s internals are developed
and defined in terms of capabilities, data, events, and plans; process
diagrams are used as a stepping stone between interaction protocols and
plans.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
112 Padgham & Winikoff
Each of these phases includes models that focus on the dynamics of the system,
(graphical) models that focus on the structure of the system or its components,
and textual descriptor forms that provide the details for individual entities.
In the following sections, we briefly describe the processes and models associ-
ated with each of the three phases, as well as discussing some specific
techniques. Due to space limitations and the desire to describe all of the
methodology, this chapter cannot present all of Prometheus in complete detail
along with a full running example. We have done our best to make this chapter
a “stand-alone” description of the methodology, but due to space limitations
certain aspects of the methodology (such as process diagrams) have not been
covered, and the running example that we use is only sketched out. For more
information on Prometheus, including a complete description and running ex-
ample, see Padgham and Winikoff (2004).
Case Study
In order to help explain the Prometheus methodology, we will use a case study
of a meeting scheduler system as a running example. This case study was set as
the main assignment for our undergraduate class, Agent Oriented Program-
ming and Design, in the second half of 2003. Students were given a high-level
description of a calendar system and were required to produce a design using
Prometheus and to implement the system using JACK2. The description of the
system provided was essentially the following.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 113
Parts of the design that we present in this chapter are reproduced with
permission from the work of a student (John Sietsma) as part of the course and
was developed using an earlier version of the Prometheus Design Tool.
Specifically, the functionalities, data coupling diagram (slightly modified), agent
grouping, system overview diagram, and agent overview diagram are taken from
John’s design.
System Specification
System specification begins with a rough idea of the system, which may be simply
a few paragraphs of description, and proceeds to define the requirements of the
system in terms of:
We would like to stress that these are not considered in sequence. Rather, work
on one of these will lead to further ideas on another. For example, the goals of
the system are a natural starting point for developing use case scenarios.
Conversely, developing the details of the scenarios often suggests additional
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
114 Padgham & Winikoff
System Goals
Since agents are proactive and have goals, it is natural to consider using goals to
describe requirements3. The process for capturing the goals of the system begins
by capturing an initial set of goals from the high-level system description. For
example, given the description of the case study in the previous section, we can
extract an initial set of goals (and subgoals) such as:
• schedule meeting
• reschedule meeting
• cancel meeting
• find suitable time
• avoid cascade
• meet user preferences
• manage user availability
• manage meetings
• track essential participants
• interact with user
• track contacts
These initial goals are then developed into a more complete set of goals by
considering each goal and asking how that goal could be achieved (van
Lamsweerde, 2001), which identifies additional subgoals. For example, by asking
how a suitable meeting time can be found, we may realise that this involves a
subgoal of negotiating with other users.
As well as finding additional goals, the set of goals is also revised as common
subgoals are identified. For example, since the subgoals associated with sched-
uling and re-scheduling are identical, we choose to merge these two goals into
the goal “(re)schedule meeting.” We also make (re)scheduling meetings and
cancelling meetings into subgoals of managing meetings. These changes (and a
few others) result in the following (revised) set of goals and subgoals.
• manage meetings
• (re)schedule meetings
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 115
Figure 2. Goal diagram (including additional goals from use case scenario
development)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
116 Padgham & Winikoff
This set of goals is not complete; it is merely a first draft. Indeed, as is often the
case, developing use case scenarios (Section “Use Case Scenarios”) suggests
additional goals that are included in the goal diagram (see Figure 2).
Functionalities
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 117
• User Interaction: Interacts with the user (as opposed to interacting with
other users, which is done by Contact Notify). Encompasses the goal
interact with user and its subgoals except for remind user of a meeting.
• User Notify: Reminds user of events. Differs from User Interaction in
that (a) it uses a range of communication media such as SMS, e-mail and
so on, but also (b) waits for conditions to arise and reminds the user, rather
than receiving input from the user. Encompasses the goal remind user of
a meeting.
• User Information Manager: Manages information about the user such as
his/her preferences. Encompasses the goal manage user availability and
its subgoals.
• User Monitor: Observes user, attempting to learn his habits. Encompasses
the goal learn user preferences.
Functionalities are described using descriptors. These are just textual forms that
capture necessary information. In addition to a (brief) natural language descrip-
tion, the descriptor form for a functionality includes the goals that are related to
it, the actions that it may perform, and “triggers” – situations that will trigger
some response from the functionality. Triggers may include percepts but more
generally will include events as well. Finally, the descriptor form also includes
notes on the information used and produced by the functionality.
The third aspect of system specification is use case scenarios4. Use case
scenarios (sometimes abbreviated to “scenarios”) are a detailed description of
one particular example sequence of events associated with achieving a particular
goal or with responding to a particular event.
Scenarios are described using a name, description, and a triggering event.
However, the core of the scenario is a sequence of steps. Each step consists of
the functionality that performs that step, the name of the step, its type (one of
ACTION, PERCEPT, GOAL, SCENARIO or OTHER) and, optionally, the information used
and produced by that step.
In addition, scenarios often briefly indicate variations. For example, when
scheduling a meeting, a scenario may include a step that selects a preferred time
from a list of possible times. A variation of this scenario might be where there
is only a single time when all participants are available. In this case, the selection
step is omitted.
An example of a scenario descriptor for scheduling a meeting is given in the
following.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
118 Padgham & Winikoff
Variations:
• Steps 2-3 may be repeated in order to obtain agreement.
• If agreement on a meeting time is not reached then steps 4-8 are replaced with notifying
the user that the meeting could not be scheduled.
• The meeting can be rescheduled or cancelled during step 6 (waiting).
Key:
• MeetDB(R) = Meetings Database read
• Prefs(R) = User Preferences read
• MeetDB(W) = Meetings Database written
• ContactInfo(R) = Contact Information read
In developing this use case scenario the additional goals get user preferences,
update user’s diary, inform others of meeting and remind others of meeting
were identified.
Finally, the environment within which the agent system will be situated is defined.
This is done by describing the percepts available to the system, the actions that
it will be able to perform, as well as any external data that are available and any
external bodies of code.
When specifying percepts, we also consider percept processing. Often per-
cepts will need to be processed in some way to extract useful information. For
example, raw image data indicating that a fire exists at a certain location may not
be significant if the agent is already aware of this fire. When agents are situated
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 119
Architectural Design
• Deciding on the agent types in the system: where agent types are identified
by grouping functionalities based on considerations of coupling; these are
explored using a coupling diagram and an agent acquaintance diagram.
Once a grouping is chosen, the resulting agents are described using agent
descriptors.
• Describing the interactions between agents using interaction diagrams
and interaction protocols: where interaction diagrams are derived from
use case scenarios; these are then revised and generalised to produce
interaction protocols.
• Designing the overall system structure: where the overall structure of the
agent system is defined and documented using a system overview diagram.
This diagram captures the agent types in the system, the boundaries of the
system and its interfaces in terms of actions and percepts, but also in terms
of data and code that are external to the system.
Selecting the agent types that will exist in the system is perhaps the most
important decision that is made in this phase. Ideally, each agent type should be
cohesive and coupling between agents should be low.
In Prometheus, an agent type is formed by combining one or more functionalities.
Different groupings of functionalities give alternative designs that are evaluated
based on the cohesiveness of the agent types and the degree of coupling between
agents. For example, when considering a grouping of functionalities, if two
functionalities are clearly related, then it might make sense to group them
together in the same agent type. Conversely, if two functionalities are clearly not
related, then they should perhaps not be grouped in the same agent type.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
120 Padgham & Winikoff
Similarly, if two functionalities need the same data, then they should perhaps be
grouped together.
A useful tool for suggesting groupings of functionalities is the data coupling
diagram. This depicts each functionality and each data repository showing
where functionalities read and write data. An arrow from functionality to data
denotes reading. It is often fairly easy to extract some constraints on the design
by visually examining a data coupling diagram.
Figure 3 shows a data coupling diagram5 for the functionalities in the meeting
scheduler. In this case, the student chose to create four agent types:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 121
The process of deriving agent types by grouping functionalities, with the aid of
a data coupling diagram, can often suggest possible changes to the functionalities.
For example, suppose that the design includes two functionalities that are
unrelated, and we would like to put them in two different agent types. However,
the two functionalities both read a particular data source; for instance, in the
grouping given, the User Interaction functionality within the UserInterface
agent reads the Meetings Database. We could change one of the functionalities
so that rather than read the data source directly, it sends a message to another
agent requesting the information.
The result of this process is a number of possible designs, each design consisting
of a grouping of functionalities into agent types. We now need to select a design.
One technique that is useful in comparing the coupling of different alternatives
is the use of agent acquaintance diagrams. An agent acquaintance diagram
shows the agent types and the communication pathways between them. Agent
acquaintance diagrams provide a convenient visualization of the coupling be-
tween the agent types—the higher the link density, the higher the coupling.
For example, the agent acquaintance diagram in Figure 4 shows the agent types
and the communication pathways between them. This is believed to be a
reasonable degree of coupling; the UserInterface agent needs to communicate
with all of the other agent types, but most of the other agent types don’t
communicate.
Once agent types have been decided upon, they are documented using an agent
descriptor. In addition to capturing the interface of the agent, what goals it
achieves, what functionalities were combined to form it, and with what protocols
the agent is involved, the descriptor prompts the designer to think about lifecycle
issues: When are instances of this agent type created? When are they destroyed?
What needs to be done when agents are created/destroyed?
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
122 Padgham & Winikoff
Agent Interactions
The next step in the architectural design is to work on the interactions between
agents. These are developed using interaction diagrams and interaction proto-
cols. Specifically, the notations used are a simplified variant of UML sequence
diagrams for interaction diagrams and the revised version of Agent-UML
(AUML) (Huget et al., 2003) for interaction protocols7.
Interaction diagrams are derived from use case scenarios using a fairly mechani-
cal process (although not completely mechanical). In essence, if step N is
performed by an agent A, and this is followed by step N+1 performed by a
different agent B, then a message needs to be sent from A to B. For example, in
the use case scenario given earlier, step 1 is a percept that is received by the User
Interaction functionality that has been grouped into the UserInterface agent
type, and step 2 is a goal of the Meeting Scheduler functionality that has been
grouped into the Meetings agent type. Therefore, assuming a single agent of
each of the two types, in between step 1 and step 2, there is a message from the
UserInterface agent to the Meetings agent.
Like use case scenarios, interaction diagrams show example interactions rather
than all possible interactions. In order to define plans that will handle all
necessary interactions, we use interaction protocols to capture all possible
sequences of messages.
Often an interaction protocol will combine a number of interaction diagrams. For
example, if there are three interaction diagrams corresponding to different cases
of scheduling a meeting, then there will be an interaction protocol that covers all
cases and that subsumes the interaction diagrams. When looking at the use case
scenarios, we also consider the documented variations of these scenarios.
Another useful technique for developing interaction protocols is to consider each
point in the interaction sequence and ask “What else could happen here?” If the
interaction diagram shows an example sequence where a request for possible
meeting times is replied to with a number of possible times, then an alternative
possibility is that there won’t be any meeting times available.
The interaction protocols are accompanied with descriptors for both the proto-
cols and for the messages. These descriptors capture additional information such
as the information carried by a message.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 123
Detailed Design
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
124 Padgham & Winikoff
Capabilities (Busetta, Rönnquist, Hodgson, & Lucas, 2000; Padgham & Lambrix,
2005) are a structuring mechanism akin to modules. A capability can contain
plans, data, and events. It can also contain other capabilities allowing for a
hierarchical structure. In identifying the capabilities that each agent type
contains, one usually starts by considering a capability for each functionality that
was grouped in the agent type. This initial detailed design is then refined by
merging capabilities that are similar and small, splitting capabilities that are too
large, and adding capabilities that correspond to common “library” code.
The structure of each agent is depicted by an agent overview diagram. This is
similar to the system overview diagram except that it does not contain agent
nodes and does not (usually8) contain protocol nodes. However, the agent
overview diagram does (usually) contain capability nodes and (sometimes) plan
nodes.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 125
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
126 Padgham & Winikoff
context condition and then develop the plan’s body. The plan’s context condition
specifies the situations in which it is appropriate to use the plan. The plan’s body
describes how the plan operates and is often a sequence of steps which include
subgoals.
A given event can trigger multiple plans, and an important consideration relates
to this: for a given event, will there always be at least one plan that handles it and
that will be applicable? If so, then we say that the event is covered. This is
important because an uncovered event will fail to be handled. Where there is a
(typically single) plan with a context condition that is always true, then the event
is trivially covered. In other situations, coverage can be checked by considering
the context conditions of the set of plans that handles the event type in question.
A related notion is that of overlap: if a given event might have more than one
applicable plan, then there is overlap.
Plans are described using a descriptor, which also prompts the designer to
consider whether the plan can fail and, if so, whether the failure will be detected,
as well as what should be done to clean up upon failure.
Tool Support
We have attempted to stress the iterative nature of design, both across the
phases of Prometheus and within phases. One consequence of the iterative
nature is that the design is often modified. As the design becomes larger, it
becomes more difficult to ensure that the consequences of each change are
propagated and that the design remains consistent11.
Perhaps the simplest example of introduced inconsistency is renaming an entity
and failing to rename it everywhere it is mentioned. Other forms of inconsistency
that can be easily introduced when making changes to a design include adding
a message to an agent in the system overview diagram but failing to ensure that
the message appears in the agent overview diagram of that agent type, or adding
an incoming message to an agent but forgetting to add a plan to handle the
message.
Our experience, and the experience of students who used the Prometheus
methodology in its earlier days, was that developing designs by hand (using only
standard tools such as word processors and generic diagram editors) is quite
error prone and that tool support is invaluable. As a result, the Prometheus
Design Tool (PDT) was developed.
The Prometheus Design Tool (see Figure 7) allows users to create and modify
Prometheus designs. It ensures that certain inconsistencies cannot be introduced
and provides cross checking that detects other forms of inconsistency. The tool
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 127
can also export individual design diagrams and generate a report that contains the
complete design. For more details on tool support for Prometheus, see Padgham
and Winikoff (2002). The Prometheus Design Tool is freely available12 and
further functionality is under development.
Another tool that supports the Prometheus methodology is the JACK Develop-
ment Environment (JDE) (see Figure 8), which provides a design tool that allows
Prometheus-style overview diagrams to be drawn. The JDE can then generate
skeleton code from these diagrams and ensures that changes made to the code
are reflected in the design diagrams and vice versa. This facility has proven quite
useful.
Finally, Sudeikat et al. (2004) mention that they have developed a tool that takes
a PDT design and generates from it a Jadex agent definition file. This tool is
notable in that it was developed completely independently from the Prometheus
and PDT developers.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
128 Padgham & Winikoff
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 129
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
130 Padgham & Winikoff
clearly the standard notation 14, with which most developers are familiar. We
have tried to build on aspects of UML and object-oriented design where
appropriate, although we note that there are other approaches that do this to a
greater extent (e.g., Papasimeon & Heinze, 2001; Wagner, 2002).
Conclusions
We have briefly presented the Prometheus methodology for designing intelligent
software agents and agent systems. The methodology provides detailed guid-
ance in terms of processes as well as notations. It is not intended to be
prescriptive, but is rather an approach that has evolved out of experience and that
the authors expect to be further adapted, refined, and developed to suit the needs
of agent software developers.
Recent years have seen a substantial growth of activity in the area of software
engineering methodologies suited to an agent programming paradigm. As these
mature and develop and are increasingly used beyond the immediate sphere of
the developers, we expect them to bear fruit in terms of increased use of agent
technology and more widespread familiarity with building of agent systems.
Acknowledgments
We would like to acknowledge the support of the Australian Research Council
(ARC) under Grant CO010693415 and its continuation, Grant LP045348616. We
would also like to thank John Sietsma, James Harland, John Thangarajah, and
David Poutakidis of RMIT University; Ralph Rönnquist, Andrew Lucas, An-
drew Hodgson, Paul Maisano, and Jamie Curmi of Agent Oriented Software;
and the many students and workshop participants who have provided comments,
examples, and feedback. The Prometheus Design Tool was initially developed
by Anna Edberg and Christian Andersson. Further development has been by
Claire Hennekam and Jason Khallouf.
References
Brazier, F. M. T., Dunin-Keplicz, B. M., Jennings, N. R., & Treur, J. (1997).
DESIRE: Modelling multi-agent systems in a compositional formal frame-
work. Int Journal of Cooperative Information Systems, 6(1), 67-94.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 131
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
132 Padgham & Winikoff
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 133
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
134 Padgham & Winikoff
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Prometheus: A Practical Agent-Oriented Methodology 135
Endnotes
1
Named after the Titan who was, amongst other things, the protector of
mankind. Prometheus, according to Greek mythology, stole fire from
Zeus and gave it as a gift to humanity; an act for which he was punished.
(http://www.greekmythology.com)
2
JACK Intelligent AgentsTM is a commercial agent development platform
developed by Agent Oriented Software.
3
In fact, there are also other reasons for considering goal-oriented require-
ments (van Lamsweerde, 2001).
4
The terminology used is not consistent with UML. Since Prometheus uses
scenario instances (“scenarios” in UML) and does not have anything
corresponding to UML’s Use Case Diagram, there is no need to distinguish
between two concepts.
5
The diagram is slightly modified from the one that was prepared by the
student.
6
These are renamed in the final version of the design to UserHabitsDB and
UserPreferencesDB, respectively.
7
Other notations that could be used for this purpose include the original
version of AUML and Petri nets.
8
Although it may make sense to allow protocol nodes in agent overview
diagrams, the current version of the Prometheus Design Tool does not
support this.
9
http://vsis-www.informatik.uni-hamburg.de/projects/jadex
10
http://jason.sourceforge.net
11
In the general sense, not in the formal sense of a logical theory being
consistent.
12
The Prometheus Design Tool is available from http://www.cs.rmit.edu.au/
agents/pdt
13
Summer projects are done by undergraduate students over eight weeks, full
time during the summer non-teaching period.
14
It is important to note that UML is only a notation, not a methodology.
15
Simplifying the Development of Agent-Oriented Systems, ARC SPIRT
Grant, 2001-2003.
16
Advanced Software Engineering Support for Intelligent Agent Sys-
tems, ARC Linkage Grant, 2004-2006.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
136 Zambonelli, Jennings & Wooldridge
Chapter VI
Multi-Agent Systems as
Computational
Organizations:
The Gaia Methodology
Franco Zambonelli
Università di Modena e Reggio Emilia, Italy
Nicholas R. Jennings
University of Southampton, UK
Michael Wooldridge
University of Liverpool, UK
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 137
Introduction
In the past few years, multi-agent systems (MASs) have been recognized as an
effective software engineering paradigm for designing and developing complex
software systems (Jennings, 2001; Wooldridge & Jennings, 1995). In fact, the
key characteristics of MASs (i.e., autonomy, situatedness, proactivity, and
sociality [Wooldridge & Jennings, 1995]) are well suited to tackling the emerging
complexities of modern software scenarios for a number of reasons. Firstly, the
autonomy of the application components (i.e., the ability for an agent to decide
what actions it should take at what time [Wooldridge & Jennings, 1995]) reflects
the decentralized nature of modern distributed systems (Tennenhouse, 2000) and
can be considered as the natural extension to the notions of modularity and
encapsulation for systems that are owned by different stakeholders (Parunak,
1997). Secondly, the flexible way in which agents operate (balancing reactive
behaviour in response to the environment in which they are situated, with
proactive behaviour towards the achievement of their design objectives
[Wooldridge & Jennings, 1995]) is suited to the dynamic and unpredictable
situations in which software is now expected to operate (Zambonelli, Jennings,
Omicini, & Wooldridge, 2001). Finally, the high-level, dynamic, and social nature
of multi-agent interactions is appropriate to open systems in which the constitu-
ent components and their interaction patterns constantly change (Estrin, Culler,
Pister, & Sukjatme, 2002).
In this chapter, we firstly elaborate on the organizational metaphor and present
and discuss the various organizational abstractions that come into play in the
design and development of a complex MAS. In particular, we show that an
organization is more than simply a collection of roles (as most methodologies
assume) and that, in order to effectively build an MAS in organizational terms,
a variety of additional organization-oriented abstractions needs to be devised and
placed in the context of a methodology. In addition, we discuss how the presented
organizational abstractions are effectively and coherently exploited in the Gaia
methodology. Specifically, the Gaia methodology (fully described in Zambonelli,
Jennings, & Wooldridge, 2003) both promotes a simple and clear to manage the
development process and exploits the appropriate organizational abstractions in
the process of developing MASs.
The chapter is organized as follows. The next section introduces the organiza-
tional metaphor and describes the organizational abstractions that are to be
exploited in agent-oriented software engineering. Following that, we detail how
these abstractions are exploited in Gaia in order to provide a methodology for the
analysis and design of MASs. The next section clarifies these concepts with the
use of a simple case study, followed by a discussion of the weaknesses and
strengths of the Gaia methodology. The chapter ends with our conclusions.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
138 Zambonelli, Jennings & Wooldridge
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 139
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
140 Zambonelli, Jennings & Wooldridge
Organization
Inter-agent Agent
Interactions Agent
Agent
Agent
Agent Agent
Access to the
Environment
Environment
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 141
(at the agents’ level) and macro-level (at the system level) control over the
design and understanding of the overall system behavior. Other metaphors (e.g.,
ant colonies and artificial societies), by focusing on the achievement of an
average macro-level behavior of the system, often sacrifice the micro-level
aspects (i.e., individual agents matter little or not at all). While this may be
acceptable in, say, wide-area file-sharing applications and heuristic allocation
systems, it is definitely not acceptable in manufacturing control systems,
enterprise information systems, or electronics marketplaces, where each agent
is important in its own right.
The characterization of an MAS of Figure 1 highlights the most basic abstrac-
tions that characterize a computational organization and that can be appropri-
ately exploited in the analysis and design phases: the environment in which the
MAS is immersed; the roles to be played by the different agents in the
organization; and the interactions between these roles. In addition, we have
identified two further abstractions that are often implicitly integrated into those
above and that, we believe, need to be considered in their own right: organiza-
tional rules and organizational structures (Zambonelli et al., 2003). In what
follows, we elaborate on these abstractions, which are the basic building blocks
of the Gaia methodology.
The Environment
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
142 Zambonelli, Jennings & Wooldridge
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 143
Organizational Rules
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
144 Zambonelli, Jennings & Wooldridge
rules—is very important for the correct understanding of the characteristics that
the organization-to-be must express and for the subsequent definition of the
system structure by the designer.
The explicit identification of organizational rules is also important in the context
of open systems. With the arrival of new, previously unknown and possibly self-
interested agents, the overall organization must be able to enforce its internal
coherency despite the dynamic and untrustworthy environment. The identifica-
tion of global organizational rules allows the system designer to explicitly define:
(1) whether and when to allow new agents to enter the organization and, once
accepted, what their position should be; and (2) which behaviors should be
considered as a legitimate expression of self-interest, and which among them
must be prevented by the organization. In this context, organizational rules may
also drive the designer towards the definition of the specific organizational
structure that most eases the enforcement of the organizational rules and, for
instance, can facilitate the prevention of undesirable behavior on the part of the
unknown agents.
Organizational Structures
A role model describes all the roles of an organization and their positions in that
organization. Therefore, a role model also implicitly defines the topology of the
interaction patterns and the control regime of the organization’s activities. That
is, it implicitly defines the overall architecture of the MAS organization (i.e., its
organizational structure). For example, a role model describing an organiza-
tion in terms of a “master role” and “slave roles”—where the former is in charge
of assigning work to the latter and of load balancing their activities—implicitly
defines an organizational structure based on a hierarchical topology and on a
load-partitioning control regime. Other exemplar organizational structures in-
clude collectives of peers, multi-level and multi-divisional hierarchies (Fox,
1981), as well as more dynamic structures deriving from market-oriented
models. All these organizations can be modeled in terms of a role model.
However, while the role model may define the organizational structure in an
implicit way, the structure of an MAS is more appropriately derived from the
explicit choice of an appropriate organizational structure and, given this, we
believe organizational structures should be viewed as first-class abstractions in
their own right. This argument (which is conventional in architecture-centered
software design [Shaw & Garlan, 1996]) calls for a specific design choice not
to be (generally) anticipated in the analysis phase but, rather, to exploit
information collected during analysis. In the specific context of MAS develop-
ment, the argument is motivated by several considerations:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 145
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
146 Zambonelli, Jennings & Wooldridge
• Gaia does not directly deal with particular modeling techniques. It proposes
but does not commit to specific techniques for modeling (e.g., roles,
environment, and interactions).
• Gaia does not directly deal with implementation issues. Although specific
technology platforms may introduce constraints over design decisions, this
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 147
Figure 2. Models of the Gaia methodology and their relations in the Gaia
process
Requirements
COLLECTION OF
REQUIREMENTS
ANALYSIS
Environmental
Model
Preliminary Preliminary
Role Model Interaction Model
Organizational
Rules
GAIA
SCOPE
ARCHITECTURAL
DESIGN
Organizational Structure
Organizational
Patterns
DETAILED
DESIGN Agent Model Services Model
IMPLEMENTATION
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
148 Zambonelli, Jennings & Wooldridge
The main goal of the analysis phase is to organize the collected specifications and
requirements for the system-to-be into an environmental model, preliminary role
and interaction models, and a set of organizational rules for each of the (sub-
organizations) composing the overall system.
The Organizations
The first step in Gaia’s analysis is concerned with determining whether multiple
organizations have to co-exist in the system and become autonomous, interacting
MASs. Identifying such organizations is reasonably easy if the system specifi-
cation already identifies them, or the system mimics the structure of the real
world, involving multiple, interacting organizations. However, even if neither of
these conditions hold, modularity concerns may suggest considering the system
in terms of multiple organizations, for the sake of splitting the global complexity
of a problem into a set of smaller more manageable components (Simon, 1957).
Generally speaking, such sub-organizations can be found when there are portions
of the overall system that (1) exhibit a behavior specifically oriented towards the
achievement of a given sub-goal, (2) interact loosely with other portions of the
system, or (3) require competencies that are not needed in other parts of the
system.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 149
characterized by the type of actions that the agents can perform on it, and
possibly associated with additional textual comments and descriptions. A graphi-
cal notation representing such a list of resources in an abstract space (as, e.g.,
in Figure 2) may also assist in the case of distributed applications or in the case
of applications intended to operate in the context of some physically situated
process.
Clearly, in realistic development scenarios, the analyst would choose to provide
a more detailed and structured view of environmental resources, depending on
their specific nature. For instance, a technical document would be represented
by a data structure including information such as authors, title, keywords, and so
on. Also, it is worth pointing out that more specific modeling techniques may be
better adopted depending on specifications and technological constraints. For
instance, the development of Web-based information based on XML documents
(as may be the case in a conference management system) might profit from an
environmental model by preserving the already available XML data representa-
tion and simply enriching it with annotations related to how the MAS will access
these structures.
The analysis phase is not intended to design the actual organization of the MAS
(this is the purpose of the subsequent architectural design phase). However,
even without knowing what the structure of the organization will be, it is possible,
in most cases, to identify some characteristics of the system that are likely to
remain the same independently of the actual organizational structure. In particu-
lar, this equates to identifying the “basic skills” that are required by the
organization to achieve its goals, as well as the basic interactions that are
required for the exploitation of these skills. Such identification activities may
even be facilitated if a goal-oriented early requirements analysis has already
modeled the characteristics of the system in terms of actors involved and their
goals.
Given the identification of the basic skills and of their basic interaction needs,
respectively, the analysis phase can provide a preliminary definition of the
organization’s roles and protocols. However, this definition cannot be completed
at this stage. In fact, the basic skills (or preliminary roles) can only truly become
organizational roles when it is known how and with which other roles they will
interact. This, in turn, requires the definition of the global organizational
structure. Analogously, the basic interaction needs (or preliminary protocols)
can only be fully defined as organizational protocols when the adoption of an
organizational structure clarifies which roles these protocols will involve, when
their execution will be triggered, and by whom. In addition, the design phase is
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
150 Zambonelli, Jennings & Wooldridge
likely to introduce additional roles and protocols, directly derived from the
adopted organizational structure and, therefore, not identified in the analysis
phase.
As anticipated in the previous section, it may also be the case that the need to
adopt specific organizational substructures in a system derives from specific
requirements, in which case at least some of the roles and protocols may assume
an already complete definition even at this stage.
To represent (preliminary) roles, Gaia adopts an abstract, semi-formal, descrip-
tion to express their capabilities and expected behaviors. These are represented
by two main attribute classes:
• Permissions are mainly aimed at: (1) identifying the resources that can
legitimately be used to carry out the role—intuitively, they say what can be
spent while carrying out the role; and (2) stating the resource limits within
which the role must operate—intuitively, they say what can’t be spent
while carrying out the role. In general, permissions relate agent roles to the
environment in which they are situated; in order to carry out a role, an agent
will typically have to access environmental resources and possibly change
or consume them. However, they can also be used to represent the
knowledge the agent can possibly have or have received from communi-
cations with other roles. To represent permissions, Gaia makes use of the
same notation adopted for representing environmental resources; that is, it
lists the resources to be accessed by a role and their attributes. However,
the attributes associated with resources no longer represent what can be
done with such resources (i.e., reading, writing, or consuming) from the
environmental perspective, but rather what agents playing the role must be
allowed to do to accomplish the role and what they must not be allowed to
do.
• Responsibilities determine the expected behavior of a role and, as such,
are perhaps the key attribute associated with a role. In Gaia, responsibilities
are divided into two types: liveness properties and safety properties
(Manna & Pnueli, 1995). Liveness properties intuitively state that “some-
thing good happens,” that is, describe those states of affairs that an agent
must bring about, given certain conditions. In contrast, safety properties are
invariants. Intuitively, a safety property states that “nothing bad happens,”
that is, that an acceptable state of affairs is maintained. The most widely
used formalism for specifying liveness and safety properties is temporal
logic, and the use of such a formalism has been strongly advocated for use
in agent systems. Although it has undoubted strengths as a mathematical
tool for expressing liveness and safety properties, there is always some
doubt about the viability of such formal tools for use in everyday software
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 151
With all these definitions in place, it is now possible to precisely define the Gaia
(preliminary) roles model. A roles model is comprised of a set of role schema,
one for each role in the system. A role schema draws (i.e., lists) together the
various attributes discussed above into a single place (see Zambonelli et
al.[2003] for several examples of Gaia role schemata). In the case of the
preliminary role model, such a schema may simply leave some of its parts
undefined, to be later completed in the architectural design phase.
The Gaia interaction model captures the dependencies and relationships be-
tween the various roles in the MAS organization in terms of one protocol
definition for each type of inter-role interaction. Since the roles model is still
preliminary at this stage, the corresponding protocols model must also necessar-
ily be preliminary, for the same reasons.
In Gaia, a protocol can be viewed as an institutionalized pattern of interaction;
that is, a pattern of interaction that has been formally defined and abstracted
away from any particular sequence of execution steps, to focus attention on the
essential nature and purpose of the interaction, rather than on the precise
ordering of particular message exchanges (cf. the interaction diagrams of
Objectory or the scenarios of Fusion [Coleman et al., 1994]).
A protocol definition consists of the following attributes:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
152 Zambonelli, Jennings & Wooldridge
The preliminary roles and interaction models capture the basic characteristics,
functionalities, and interaction patterns that the MAS system must realize,
independently of any predefined organizational structure. However, as previ-
ously stated, there may be general relationships between roles, between proto-
cols, and between roles and protocols that are best captured by organizational
rules. In Gaia, the perspective on organizational rules is consistent with that on
roles’ responsibilities—organizational rules are considered responsibilities of
the organization as a whole. Accordingly, it is possible to distinguish between
safety and liveness organizational rules. The former refer to the invariants that
must be respected by the organization for it to work coherently; the latter express
the dynamics of the organization (i.e., how the execution must evolve). In
particular:
• Liveness rules define how the dynamics of the organization should evolve
over time. These can include, for example, the fact that a role can be played
by an entity only after it has played a given previous role or that a given
protocol may execute only after some other protocol. In addition, liveness
organizational rules can relate to other liveness expressions belonging to
different roles, that is, relating the way different roles can play specific
activities.
• Safety rules define time-independent global invariants for the organization
that must be respected. These can include, for example, the fact that a given
role must be played by only one entity during the organization’s lifetime or
that two roles can never be played by the same entity. In addition, they can
relate to other safety rules of different roles or to expressions of the
environmental variables in different roles.
Due to their similar nature, organizational rules can be expressed by making use
of the same formalisms adopted for specifying liveness and safety rules for roles
(i.e., regular expressions, predicates, temporal logics).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 153
Organizational rules and their correct identification are fundamental to the design
phase because they constrain the definition of the actual organizational and
restrict the number of proper implementations of an organization, that is, of those
actual organizational structures that respect the organizational rules. In addition,
the definition of organizational rules is necessary when the system is open. In this
case, organizational rules are important to analyze (1) whether and when a new
agent can be admitted into the organization and which roles it is allowed to play,
and (2) which kinds of protocols can be initiated by the members of the
organization and when, and which kinds of protocols are an expression of
legitimate self-interest. As a final note, the identification of organizational rules
clearly shows that collecting and defining the system specifications may also
imply discovering which agents have to be present in the organization. Some of
the organizational rules for roles are likely to be reflected in the design phase,
driving, for example, the number of agents to be instantiated and the number of
roles to be played by a single agent. However, although some of these design
decisions may become clear well before the design phase, the analysis phase
should still disregard the presence of agents and only focus on the more abstract
concept of roles.
The output of the Gaia analysis phase systematically documents all the functional
(and to some extent, non-functional) characteristics that the MAS has to
express, together with the characteristics of the operational environment in
which the MAS will be situated. These structured specifications are then used
in architectural design to identify an efficient and reliable way to structure the
MAS organization and to complete the preliminary role and interaction models.
It is worth emphasizing that while the analysis phase is mainly aimed at
understanding what the MAS will have to be, the design phase is where
decisions have to be made about the actual characteristics of the MAS.
Therefore, even if some of the activities in design (i.e., the completion of the role
and interaction models) appear to be aimed at refining the outputs of the analysis,
they in fact rely on actual decisions about the organizational structure and lead
to a modeling of the MAS’s actual characteristics starting from the specifica-
tions.
Of course, any real-world project faces the difficult task of identifying when the
analysis phase can be considered complete (i.e., mature enough for design
decisions to be taken). In most cases, only the initiation of design activities
enables missing or incomplete specifications to be identified or conflicting
requirements to be noted. In either case, such findings typically require a
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
154 Zambonelli, Jennings & Wooldridge
regression back to earlier stages of the development process. Gaia is not exempt
from such problems, although it promotes an earlier identification of them by
making explicit some decisions that are implicit in other methodologies (i.e., the
architectural design).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 155
portion of its global coordination needs, while maintaining the capability of direct
peer-to-peer coordination for others (or, equivalently, a leader in a hierarchy can
take charge of a limited set of coordination activities, leaving subordinate
members to directly coordinate with one another for the remaining ones).
The control regime handling the interactions between the members of the
organization is somewhat orthogonal to the organizational topology, but it may
also somehow influence the organizational efficiency (although in a less signifi-
cant and direct way than the topology does). In a collective of peers, for example,
the control regime can be based either on a workload partitioning regime (in
which each of the peers has the same role and provides the same services) or
on a workload specialization (in which each of the peers provides a specific
service/activity). The two solutions, depending on the specific application
characteristics, may lead to different coordination costs, thus influencing orga-
nizational efficiency; when large numbers of similar tasks have to be performed,
work partitioning is better at reducing complexity and coordination costs; when
the overall workload derives from a few complex activities, work specialization
may incur lower coordination costs. Similar considerations may apply to different
control regimes applied to different topologies. For instance, it is possible to opt
for a hierarchy in which the main goal of the leader is to coordinate the activities
of the subordinates so as to obtain a sensible partitioning (i.e., load balancing) of
work among them. Alternatively, it is possible to opt for a hierarchy in which each
subordinate is specialized to supply either a specific service or product and in
which the leader is in charge of the allocation of resources and services so that
each subordinate can work at its full load. In the case of very large organizations
and when competitive and self-interested behavior are likely to emerge, both the
cooperative control regimes of collectives and the authoritative control regimes
of hierarchies are often ineffective. This is because of the unavoidable ineffi-
ciencies of multi-level hierarchies (or of hierarchies with high fan-out). In such
cases, a control regime based on market models for the distribution of workloads
and the supply of services needs to be adopted.
Organizational Rules
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
156 Zambonelli, Jennings & Wooldridge
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 157
Whatever the specific factors that may determine the choice of an organizational
structure, it is likely that similar issues have been faced in the past and have led
to similar considerations and choices. This is the stage where the availability of
a catalogue of possibly modular and composable “organizational structures,”
describing in much more detail than we have done how and when to exploit a
specific structure, will greatly help the designer (Shaw & Garlan, 1996) and will
effectively complement our general guidelines. In fact, the guidelines we have
described are intended to be of help in evaluating the right trade-off in a rather
coarse-grained taxonomy of structures and control regimes. However, they
consider neither a number of variations on the theme that could be conceived, nor
a number of non-functional aspects possibly affecting such a more detailed
choice (e.g., mobility, security, resilience). The specific identification of these
variations and their impact on specific non-functional aspects may be well
supported by a structured catalogue of organizational structures. This will help
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
158 Zambonelli, Jennings & Wooldridge
the designer to re-use both well-documented and motivated design choices and
the design work related to the representation of such a structure.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 159
Again, we emphasize that Gaia, per se, is not intended to commit to the adoption
of a specific notation. With regard to organizational structure, in addition to the
simple representational methods described above, other notations and graphical
representation can be adopted to describe and represent roles and their interac-
tions (e.g., AUML diagrams [Odell et al., 2001]).
Once the organizational structure is defined, the preliminary role and interaction
models (as identified in the analysis phase) can be transformed into complete
roles and interactions models (describing in detail the characteristics of all roles
and stages involved in the MAS that will actually be produced). In fact, with the
organizational structure identified, the designer knows which roles will have to
interact with which others (as derived from the organization topology) and which
protocols will have to be executed (as derived from the control regime of the
organization). Thus, the completion of the role and protocol model amounts to:
• Defining all the activities in which a role will be involved, as well as its
liveness and safety responsibilities;
• Defining organizational roles – those whose presence was not identified
in the analysis phase and whose identification derives directly from the
adoption of a given organizational structure;
• Completing the definition of the protocols required by the application, by
specifying which roles the protocol will involve; and
• Defining organizational protocols – those whose identification derives
from the adopted organizational structure.
The complete definition of the roles and protocols can exploit the representation
already introduced with respect to the preliminary roles and protocols. However,
if compared with the already discussed preliminary roles and protocols, the main
difference is that the complete representation now includes all the characteris-
tics of roles and protocols (i.e., for roles, the full identification of activities and
services, and for protocols, the complete identification of the involved roles).
With regard to roles and protocols whose definition directly derives from the
adoption of a specific structure (and that were not identified in the analysis
phase), their representation has to be defined from scratch (or by exploiting
templates from catalogues of organizational patterns).
When completing the preliminary role and interaction models, it is important to
clearly preserve the distinction between those characteristics that are “intrinsic”
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
160 Zambonelli, Jennings & Wooldridge
The detailed design phase is responsible for eventually identifying the agent
model and the services model that, in turn, act as guidelines for the actual
implementation of agents and their activities.
In the Gaia context, an agent is an active software entity playing a set of agent
roles. Thus, the definition of the agent model amounts to identifying which agent
classes are to be defined to play specific roles and how many instances of each
class have to be instantiated in the actual system.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 161
As its name suggests, the aim of the Gaia services model is to identify the
services associated with each agent class or, equivalently, with each of the roles
to be played by the agent classes. Thus, the services model applies both in the
case of static assignment of roles to agent classes and in the case where agents
can dynamically assume roles.
While in OO terms a service would roughly correspond to an operation, agent
services are not available for other agents in the same way that an object’s
operations are available for another object to invoke. Rather, due to the
intrinsically active nature of an agent, a service is better thought of as a single,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
162 Zambonelli, Jennings & Wooldridge
coherent block of activity in which an agent will be engaged. Such a service does
not necessarily have to be triggered by external requests (i.e., the agent is
autonomous in its activities), nor does an external request necessarily trigger a
service (autonomy also implies there are internal decision capabilities).
For each service that may be performed by an agent, it is necessary to document
its properties. Specifically, we must identify the inputs, outputs, pre-condi-
tions, and post-conditions. Inputs and outputs to services will be derived in an
obvious way from both the protocols model (for services involving the elaboration
of data and knowledge exchange between agents) and the environmental model
(for services involving the evaluation and modification of environmental re-
sources). Pre- and post-conditions represent constraints on the execution and
completion of services, respectively. These are derived from the safety proper-
ties of a role, as well as from the organizational rules, and may involve constraints
on the availability and the specific values assumed by either environmental
resources or data and knowledge from other agents.
The services that compose an agent are derived from the list of protocols,
activities, responsibilities, and liveness properties of the roles it implements. At
one extreme, there will be at least one service for each parallel activity of
execution that the agent has to execute. However, even for sequential activities
of execution, there may be a need to introduce more services to represent
different phases of the agent lifecycle.
The Gaia services model does not prescribe an implementation for the services
it documents. Rather, the developer is free to realize the services in any
implementation framework deemed appropriate. For example, it may be decided
to implement services directly as operations in an object-oriented language or as
Web services. Alternatively, a service may be decomposed into a number of
operations and implemented accordingly.
After the successful completion of the Gaia design process, developers are
provided with a well-defined set of agent classes to implement and instantiate,
according to the defined agent and services model. As already stated, Gaia does
not deal with implementation issues and considers the output of the design phase
as a specification that can be picked up by using a traditional method or that could
be implemented using an appropriate agent-programming framework. These
considerations rely on the assumption that specific technological constraints
(e.g., those that may occur with regard to modeling and accessing to the
environment) are identified earlier in the process.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 163
In both cases, assuming that the developers of the existing MAS have made all
the Gaia models publicly available, an agent developer will be able to check
whether its agent can enter the system and, if so, to what rules and procedures
it needs to conform.
A Case Study
As an example of an open system that is suitable for development using the Gaia
methodology, we consider an agent-based system for supporting the manage-
ment of an international conference.
Setting up and running a conference is a multi-phase process, involving several
individuals and groups. During the submission phase, authors send papers and are
informed that their papers have been received and have been assigned a
submission number. In the review phase, the program committee (PC) has to
handle the review of the papers, contacting potential referees and asking them
to review a number of the papers (possibly by bidding on papers). Eventually,
reviews come in and are used to decide about the acceptance or rejection of the
submissions. In the final phase, authors need to be notified of these decisions and,
in case of acceptance, must be asked to produce a revised version of their
papers. The publisher has to collect these final versions and print the proceed-
ings.
Analysis
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
164 Zambonelli, Jennings & Wooldridge
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 165
submitted papers by three different agents; the role in charge of setting up the
conference program can only be played after the role in charge of collecting all
the reviews has been played. All these constraints cannot be expressed simply
in terms of responsibilities of single roles; rather, they need to spread across
several roles and must therefore be expressed as global rules to be respected by
the MAS organization as a whole.
Architectural Design
Once the analysis phase is completed, the first important design step is to identify
the actual organizational structure. In the case of the conference management
examples, several considerations should drive this choice:
Once the above considerations have been taken into account, they will eventually
enable a suitable organizational structure to be identified. Based on this, the
preliminary roles and interaction protocols can be completed and the final
organization of the MAS can be properly represented in a complete form (i.e.,
including all the involved roles and protocols and their interactions with the
environmental resources).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
166 Zambonelli, Jennings & Wooldridge
Detailed Design
The detailed design includes identifying the actual agents that will be called on
to play the above identified roles. In this case study, the typical one-to-one
mapping of roles-to-agents does not necessarily apply. For instance, an agent
called to play the role of PC Chair could also, concurrently, play the role of PC
Member. An agent playing the role of PC member could, in turn, play the role of
author and of reviewer. The detailed design phase is responsible for evaluating
these possibilities with respect to the bounded rationality of agents (and of their
human counterparts) and the organizational rules.
Once the agents are identified, the last step is to identify the services that will
compose them, according to the guidelines presented in the previous section. For
example, an agent playing simply a reviewer role will typically imply the
sequential execution of a number of phases (receive a paper, review it, send back
its review form), all of which can be implemented as a single long-term service.
The input of the service will be a request for reviewing a paper. The output of
the service will be the completed review form. A pre-condition on the execution
of the service could be that the same agent has not already executed that service
a maximum number of times (i.e., is not already reviewing the maximum allowed
number of papers). The post-condition is that the review form has been correctly
completed. However, since there are several potential outcomes of the initial
receive paper phase (e.g., a reviewer may also refuse to review a paper), the
design would be better to split the larger long-term service into a set of smaller
ones (e.g., by separating the service associated with the reception of a paper to
review from the one associated with the review itself, in which case the latter
service is only executed after a paper has been accepted for review). Similar
considerations may apply to the other agents in the MAS.
Discussion
The Gaia methodology is based on a well-founded organizational metaphor and
exploits in a clean and rational way a suitable set of organizational abstractions.
Therefore, we consider Gaia to be an effective general-purpose methodology for
the development of an MAS in a large set of scenarios (from distributed
workflow management systems, to systems for the control of physical and
manufacturing processes). In addition to this first, very important, characteristic,
other key advantages of Gaia can be identified:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 167
• Gaia does not deal directly with implementation issues. Such a radical
choice, driven by conceptual simplicity and generality, may not always be
practical. In fact, it may be the case that specific technology platforms may
introduce constraints over design decisions and may require being taken
into account during analysis and design. A trivial example relates to
environmental modeling: if the environmental resources are of a passive
nature, one cannot rely on having agents perceive them in terms of events.
Gaia—by neglecting such implementation issues—has no way of handling
them.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
168 Zambonelli, Jennings & Wooldridge
• Gaia does not deal with the activities of requirements capture and modeling
and, specifically, of early requirements engineering. We are aware of the
importance of such activities and of the ongoing work in this area.
Nevertheless, we believe that Gaia could fit and be easily integrated with
modern goal-oriented approaches to requirements engineering (Castro,
Kolp, & Mylopoulos, 2002), whose abstractions closely match those of
agent-oriented computing. However, the problem of requirements engi-
neering, fully elaborated by other methodologies (cf. the Tropos and PASSI
methodologies described elsewhere in this book) has still not been deeply
analyzed in the context of Gaia.
• Gaia suggests a rather sequential approach to software development,
proceeding linearly from analysis to design and implementation. However,
software development has often to deal with unstable requirements, wrong
assumptions, or missing information. This requires the designer to step back
from the current activities and, perhaps, re-think some of the decisions. As
it stands, however, there are no explicit structures or processes in Gaia for
doing this and for supporting a more flexible and iterative process.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 169
References
Abelson, H., Allen, D, Coore, D., Hanson, C., Homsy, G., Knight, T., Napal, R.,
Rauch, F., Sussmann, G. &. Weiss, R. (2000) Amorphous computing.
Communications of the ACM, 43(5), 43-50.
Bauer, B., Muller, J.P., & Odell, J. (2001). Agent UML: A formalism for
specifying multi-agent software systems. International Journal of Soft-
ware Engineering and Knowledge Engineering, 11(3), 207-230.
Bonabeau, E., Dorigo, M., & Theraulaz, G. (1999). Swarm intelligence. From
natural to artificial systems. Oxford, UK: Oxford University Press.
Castro, J., Kolp, M., & Mylopoulos, J. (2002). Towards requirements-driven
information systems engineering: The Tropos project. Information Sys-
tems, 27(6), 365-389.
Coleman, D., Arnold, P., Bodoff, S., Dollin, D., Gilchrist, H., Hayes, F., &
Jeremas, P. (1994). Object-oriented development: The FUSION method.
Hemel Hampstead, UK: Prentice-Hall International.
Collinot, A. Drogoul, A., & Benhamou, P. (1996). Agent-oriented design of a
soccer robot team. In Proceedings of the 2nd International Conference
on Multi-agent Systems, Kyoto, Japan (pp. 41-47). Los Alamitos, CA:
IEEE Computer Society Press.
Demazeau, Y. & Rocha Costa, A.C. (1996). Populations and organizations in
open multi-agent systems. In Proceedings of the 1st National Sympo-
sium on Parallel and Distributed AI.
Esteva, M., Rodriguez-Aguilar, J.A., Sierra, C., Garcia, P., & Arcos, J.L.
(2001). On the formal specifications of agent institutions. In Agent-
Mediated Electronic Commerce, Volume 991, LNCS (pp. 126-147).
Berlin: Springer-Verlag.
Estrin, D., Culler, D., Pister, K., & Sukjatme, G. (2002). Connecting the physical
world with pervasive networks. IEEE Pervasive Computing, 1(1), 59-69.
Ferber, J. & Gutknecht, O. (1998). A meta-model for the analysis and design of
organizations in multi-agent systems. In Proceedings of the 3rd Interna-
tional Conference on Multi-Agent Systems, June, Paris (pp.128-135).
Los Alamitos, CA: IEEE Computer Society Press.
Fox, M.S. (1981). An organizational view of distributed systems. IEEE Trans-
actions on Systems, Man, and Cybernetics, 11(1), 70-80.
Handy, C. (1976). Understanding organizations. London: Penguin Books.
Hattori, F., Ohguro, T., Yokoo, M., Matsubara, S., & Yoshida, S. (1999).
Socialware: Multiagent systems for supporting network communities.
Communications of the ACM, 42(3), 55-61.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
170 Zambonelli, Jennings & Wooldridge
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems as Computational Organizations: The Gaia Methodology 171
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
172 Bernon, Camps, Gleizes & Picard
Chapter VII
Engineering Adaptive
Multi-Agent Systems:
The ADELFE Methodology
Carole Bernon
IRIT – University Paul Sabatier, France
Valérie Camps
IRIT – University Paul Sabatier, France
Marie-Pierre Gleizes
IRIT – University Paul Sabatier, France
Gauthier Picard
IRIT – University Paul Sabatier, France
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 173
The last part of the chapter assesses strengths and limitations of ADELFE.
We note that its main strength is also its main limitation—it is a specialized
methodology, especially suited to the development of software with emergent
functionalities.
Introduction
Usually, classical design of computational systems requires some important
initial knowledge in the sense that the exact purposes of the system and every
interaction to which it may be confronted in the future have to be known.
However, at the same time, today’s problems are becoming more and more
complex (e.g., information searching on the Internet, mobile robots moving in the
real world). Indeed, systems that are able to deal with such problems are also
becoming open and complex; they are immersed in a dynamical environment;
they are often incompletely specified and, especially, an a priori known algorithm
does not exist to find a solution. Classical approaches then become inadequate
and a new way to tackle such problems is necessary.
Our research work, for several years now, has essentially focused on these kinds
of systems and has led us to propose Adaptive Multi-Agent Systems (AMAS)
as an answer (Camps, Gleizes, & Glize, 1998; Capera, Georgé, Gleizes & Glize,
2003; Gleizes, Georgé & Glize, 2000; Piquemal-Baluard, Camps, Gleizes, &
Glize, 1996). These systems are composed of agents that permanently try to
maintain cooperative interactions with others. We have built, with success,
several systems based on the use of adaptive agents in different areas. To ease
and promote this kind of programming, we then developed the ADELFE
methodology, the aim of which is to help and guide designers when developing
AMAS.
The remainder of this section briefly presents the foundation of adaptive multi-
agent systems and then explains how to implement adaptation in such systems.
After that, the main characteristics of ADELFE, as well as the context of its
presentation, are given.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
174 Bernon, Camps, Gleizes & Picard
Any agent in an AMAS follows a specific lifecycle that consists of three steps:
More precisely, each agent follows this lifecycle while trying to keep cooperative
local interactions with others.
These cooperative agents are equipped with five modules to represent their
“physical,” “cognitive,” or “social” capabilities (Picard, 2003). Each module
represents a specific resource for the agent during its “perceive-decide-act”
lifecycle. The first four modules are quite classical in an agent model (Brazier,
Jonker, & Treur, 1999; Wooldridge, 2002); the novelty comes from the fifth one:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 175
This theory has been applied to many projects: foraging ant simulation (Topin et
al., 1999), knowledge management, e-commerce (Gleizes, Glize, & Link-Pezet,
2000), flood forecasting (Georgé, Gleizes, Glize, & Régis, 2003), routing in
telephonic network, mechanical design, bio-informatics, and so forth. To ease
our future work, design tools were required. They were also needed to promote
this kind of programming towards designers not accustomed to developing
AMAS.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
176 Bernon, Camps, Gleizes & Picard
We are clearly situated in a system where every end-user and service provider
has an individual goal: to answer the request he/she has to solve. Each end-user
and service provider does not know the global function of the system. The system
is strongly open because a great number of appearances or disappearances of
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 177
• A tool that analyzes answers given by the designer to tell him/her if using
the AMAS technology is useful to implement the target system;
• OpenTool, a graphical modelling tool that supports the UML notation and
that has been modified to integrate new stereotypes and AUML interaction
protocols; and
• An interactive tool that describes the process and helps the designer to
apply it.
Not every designer needs to use the AMAS theory to build a system. Indeed, if
the algorithm required to solve the task is already known, if the task is not
complex, or if the system is closed and nothing unexpected can occur, this kind
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
178 Bernon, Camps, Gleizes & Picard
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 179
Two solutions were available to express the behaviour of agents: extending the
meta-model or using a UML profile (Desfray, 2000). The former solution has not
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
180 Bernon, Camps, Gleizes & Picard
been chosen because concepts concerning the agent domain or the multi-agent
one are not so well defined and set; many points of view still exist. It is therefore
difficult to “dictate” an agent or a multi-agent architecture.
We thus chose the latter solution by defining nine stereotypes to show how an
agent is formed and/or how its behaviour is expressed. They are defined and
embedded into OpenTool and rules (written in the OTScript language linked with
OpenTool) are given to govern their use:
A class called CooperativeAgent is the base class of all these stereotypes (see the
third section, devoted to the process of ADELFE). The «cooperative agent»
stereotype can only be applied to a class inheriting from that one. The last eight
stereotypes can be applied to attributes and/or methods of this class. Attributes
correspond to the data manipulated in the modules composing a cooperative
agent; methods are means to access or act on these attributes.
More details about those stereotypes and the rules linked with them (e.g., an
agent inherits from a super-class called CooperativeAgent, methods stereotyped
with «cooperation» are always called during the decision phase of an agent, etc.)
can be found in Picard (2003).
Agents’ interactions and languages are specified by using the AUML interaction
protocol model (Odell, Van Dyke Parunak, & Bauer, 2001). To fit with AMAS
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 181
specificities, the model has been extended and included in OpenTool functionalities
(Bernon et al., 2004).
The first extension concerns the non-determinism of OR or XOR nodes. AUML
remains vague concerning the decision process that manages these nodes. In
ADELFE, an «aptitude»-stereotyped method is attached to the node. This
method specifies the agent method that chooses the message to send or the
action to do.
The second extension highlights the cooperative attitude of an agent. When
receiving a message, an agent may detect a Non Cooperative Situation. To
specify this detection and enable its processing, a «cooperation»-stereotyped
method can be attached to the reception point of the message.
Figure 2. The ADELFE Interactive Tool – A general view showing the four
main windows: (1) Manager interface, (2) WorkProduct interface, (3)
Description interface, and (4) Example interface. The optional Synthesis
and Glossary interfaces are not shown on this figure.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
182 Bernon, Camps, Gleizes & Picard
applying it to a tutorial application. This tool also provides a means to support the
adopted notations and draw the needed diagrams by integrating the customized
version of OpenTool. It verifies the project consistency by displaying what
stages can be done depending on what has been already done or what documents
have been produced so far. Finally, the AMAS adequacy tool is linked with this
interactive tool to support the AMAS technology.
This interactive tool is composed of several interfaces (Bernon et al., 2004):
This interactive tool can be downloaded from the ADELFE Web site (http://
www.irit.fr/ADELFE). This site constitutes an online and simplified version of
the interactive tool.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 183
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
184 Bernon, Camps, Gleizes & Picard
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 185
• Dynamic (as opposed to “static”) if its state depends upon actions of the
system that is within this environment but is also dependent on the actions
of some other processes. So, changes cannot be predicted by the system.
For example, the Internet is a highly dynamic environment.
In the case study, the environment of the system consists of end-users and
service providers who have subscribed to the system. Each of them exerts
pressure on the system (by submitting requests to find relevant service providers
or to seek potential customers), and the system has to adapt itself to these
constraints. Reorganizing interaction links between entities representing end-
users and service providers is a way for the system to adapt to its environment.
For the reasons previously given, the environment can be described as inacces-
sible, continuous, non-deterministic and highly dynamic.
The next activity is a classical one in which use cases are identified from the point
of view of the MAS user (A7). But ADELFE is only interested in “cooperative
agents” that enable building AMAS. At this point, designers must also begin to
think about the events that can be “unexpected” or “harmful” for the system,
because these situations can lead to Non Cooperative Situations at the agent
level. These “cooperation failures” can be viewed as a kind of exception. To take
this aspect into account, the determination of use cases has been modified by
Figure 3. (Simplified) Use case for the information system – Two cooperation
failures may be identified
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
186 Bernon, Camps, Gleizes & Picard
WD3: Analysis
Domain analysis is a static view and an abstraction of the real world established
from previous requirements and remains the same as in the RUP (A10). By
studying the previously defined use cases and scenarios, the analyst identifies the
components of his/her system. This identification is more or less complex
depending on the studied applications (Georgé et al., 2003; Shehory & Sturm,
2001) and aims at clustering the different identified components into a prelimi-
nary class diagram.
As outlined in the introduction section, not every designer needs AMAS theory
to build a system. Thus, a new and appropriate activity is added to the process
to study the adequacy of the AMAS technology (A11) through the tool previously
described. This adequacy must be studied at two levels (A11-S1 & A11-S2),
through a certain number of criteria:
• At the global level, to answer the question “is a system implementation using
AMAS needed?”
• At the local level, to try to answer the question “do some components need
to be implemented as AMAS?” That is, is some decomposition or recursion
useful during design?
If a positive answer is given by the tool in the former case, the designer can
continue applying the process. Furthermore, if the tool shows the same need at
the components level, ADELFE must be applied again to these components that
will be considered as AMAS themselves because they need to evolve.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 187
Even though some features of the case study application (a priori unknown
algorithm, open and dynamic environment, evolutionary system, etc.) may meet
the essential characteristics within the remit of the AMAS theory, the adequacy
tool has been used to reinforce this idea. The values given to the different
questions (see the description of the tool in the introductory section) are
respectively 17, 16, 11, 19, 20, 12, 5, 19, 17, 15, and 13. Values given to criteria
1, 3, 5, and 7 express the fact that this problem is a complex and open one for
which no well-established algorithm exists. The second and fourth values show
that, at this point, the designer does not know exactly how to implement a
solution.
The positive result given by ADELFE can be seen on the Figure 1. Using an
AMAS is relevant for solving this case study; using AMAS for some components
of the system is also relevant. This latter result will lead us to apply the process
again once the agents have been identified (WD4) to possibly find other entities
and consequently agents. We will only focus here on the entities representing
end-users and service providers; other entities present in the real developed
system will not be taken into account.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
188 Bernon, Camps, Gleizes & Picard
resource such as pheromones or active objects. In that case, they are not
potentially cooperative and will remain simple objects without becoming agents.
To actually be a cooperative agent, a potential cooperative entity must be prone
to cooperation failures. By studying its interactions with its environment and with
other entities, the designer has then to determine if this entity may encounter such
situations that will be considered as Non Cooperative Situations at the agent level
(A12-S2). The entities verifying all these criteria will be identified as agents and
the classes related to them marked with the specific «cooperative agent»
stereotype (A12-S3).
In the case study, the active entities identified in A6-1 can be considered as
agents because of their properties. Such entities are autonomous, have a local
goal to pursue (to find a relevant service provider or to make targeted advertise-
ment), have a partial view of their environment (other active entities), or may
interact with others to target the search more effectively. They are then
potentially cooperative. Furthermore, since the system is open, new entities may
appear or disappear, and they may not be able to communicate as they should
(e.g., an entity does not understand requests from a new entity). In that case, an
active entity is prone to cooperation failures and can be viewed as a cooperative
agent. Each end-user (or service provider) is then represented within the system
by an agent called TransactionAgent (TA).
Interactions between all the identified entities are then studied in the last activity
of this work definition (A13). Studying relationships between passive and active
entities or between solely active ones is done by using UML collaboration or
sequence diagrams in a standard way. However, in the last step of this activity,
protocol diagrams are used to express relations between all the existing agents
(A13-S3). These diagrams can be built using OpenTool modified to support
AUML.
The AUML protocol diagram, shown in Figure 4, expresses the way in which the
system responds to an end-user’s request. The end-user TA, which represents
the end-user, tries to satisfy the request by finding a relevant service provider
TA. If it does not have any relevant partner, it asks a special address provider
TA for partner addresses. Since every TA is cooperative, when a TA judges
itself incompetent to respond to a received request, it will not discard this request;
rather, it will send it again to another TA that is competent from its point of view.
Every TA having the same cooperative behaviour, the request may be propa-
gated a limited number of times, step-by-step.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 189
Figure 4. An AUML Protocol Diagram for the Case Study – It expresses the
way in which the system answers an end-user’s request.
WD4: Design
This design work definition is an important stage because the recursive charac-
terization of an AMAS is identified at this stage and can lead to the identification
of other agents at a lower level. This may imply one design process for each new
identified level of the system.
The first activity identifies the detailed architecture for the system with
packages, sub-systems, objects, agents, and relations between them to produce
a class diagram in which the predefined CooperativeAgent class and the «coop-
erative agent» stereotype will appear (A14).
In the case study, the TransactionAgent’s (TA’s) goal is to find relevant TAs
according to the request that its associated end-user or service provider
submitted for solution. To represent these TAs, a class called TA has been
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
190 Bernon, Camps, Gleizes & Picard
A14: Study detailed architecture and multi-agent model A16: Design agents
S1: Determine packages S1: Define skills
S2: Determine classes S2: Define aptitudes
S3: Use design-patterns S3: Define interaction languages
S4: Elaborate component and class diagrams S4: Define world representations
A15: Study interaction languages S5: Define Non Cooperative Situations
A17: Fast prototyping
A18: Complete design diagrams
S1: Enhance design diagrams
S2: Design dynamic behaviours
defined. This class inherits from the CooperativeAgent class and therefore
contains four mandatory methods: run, perceive, decide, and act. It is also tagged
with the «cooperative agent» stereotype.
The designer has then to study interaction languages to define, in a new activity
(A15), the way in which agents interact. If agents interact in order to commu-
nicate, for each scenario defined in A7 & A13, information exchanges between
agents must be described using AUML protocol diagrams. Languages that
enable interactions between agents may be implemented by a set of classes or
by a design pattern, including specific agent communication tools such as an
implementation of Foundation for Intelligent Physical Agents (FIPA) Agent
Communication Language (ACL). As they are generic models, protocol dia-
grams are attached to packages and not to classes. If no direct communication
exists between agents (e.g., they communicate in an indirect manner via the
environment by modifying it), defining an interaction language is useless. Indeed,
this step only aims at detailing the protocol used by agents to communicate and
does not give any means to implement these interactions.
The next activity is also specific to ADELFE and added to the RUP (A16) to let
the designer refine the «cooperative agent»-stereotyped classes he/she has
previously defined (during A12 & A15). The different modules composing an
agent must be given in this activity, as well as their physical properties (e.g.,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 191
weight, color, etc.). Each step composing this activity must be applied to every
previously identified agent.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
192 Bernon, Camps, Gleizes & Picard
«action»). For example, the method used by a TA to get a message from its
mailbox is tagged by the «perception» stereotype, that is, «perception» Message
getMessage().
The method to send messages is stereotyped with «action», that is, «action»void
sendMessage (Message AMessage, Reference Dest).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 193
Table 5. Table 4 Partially Filled up for the Case Study – Only the “decision”
phase is considered.
may be only a textual one to be a guide to find afterwards the methods related
to the detection and removal of the NCS. This table contains:
If the designer wants to be more precise and formal, he/she may also specify
what attributes and methods will be used to express the state, conditions, and
actions. Rules embedded in OpenTool will verify the consistency of their
stereotyping. To express a state, only the «perception», «characteristic» or
«representation» stereotypes will be used. Those stereotypes used to express
conditions will be «perception» or «representation», and methods and attributes
related to actions must be stereotyped with «action» or «skill».
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
194 Bernon, Camps, Gleizes & Picard
For the case study, the main task in this step is to fill up the table describing each
NCS that a TA may encounter. Four situations have been highlighted and are
textually described below.
Name Ambiguity
State Receipt of a request
An ambiguity occurs when the content of a received request is incomplete either because
Description the sender gets a bad description of the receiver’s tasks or because the specification of the
message is wrong.
During the interpretation phase the agent compares the received request with its own
Conditions representation (words matching) and can extract several informative contents from the
message.
An agent is supposed to intentionally and spontaneously send understandable data to the
others. Therefore, the receiver of an ambiguous message sends back all its interpretations
Actions
of the received request. The initial sender is then able to choose the most pertinent one and
update its representation about the receiver’s skills.
Name Concurrence
State Receipt of a request
Description A situation of concurrence occurs when two agents have similar skills for a given task.
During the interpretation phase, the agent compares the received request with its own
representation (words matching). If it can extract an informative content from only a part of
Conditions the request, the agent compares this request with the representation it has about other
agents to find rival agents. An agent A competes with an agent B, from B’s point of view, if
A can extract informative content from the same part of the request as B.
Redundancy is beneficial when an agent has not been able to reach its aim or to accept a
Actions
task it has been asked to undertake. In these cases, it refers the problem to its rival(s).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 195
Once the behaviour of the agents involved in the concerned AMAS is defined,
the simulation functionality of OpenTool enables the designer to test them in a
new activity (A17).
This functionality of OpenTool requires a dynamic model (state-chart) for each
simulated entity (object or agent). The customized version of OpenTool is able
to automatically transform a protocol diagram (a particular generic sequence
diagram) into a state-chart. As agents’ behaviours are modelled as AIP protocol
diagrams, OpenTool is then able to simulate this behaviour by running a state-
machine. Therefore, uselessness or inconsistency of protocols, existence of
deadlocks in these protocols, or uselessness or exhaustiveness of methods can
be tested, for instance. This is done by creating the simulation environment using
a UML collaboration diagram in which instances of involved agents are carrying
out the generic protocol, and then, implementing some methods (using the
OTScript language that is the set-based action language of OpenTool) that will
be tested. If the behaviour of an agent is not adequate, the designer has to work
again on it to improve it.
The last activity of the design work definition consists in finalizing the detailed
architecture by enriching class diagrams (A18-S1) and then developing the state-
chart diagrams that are needed to design dynamic behaviours (A18-S2). The
objective is to highlight the different changes of state of an entity when it is
interacting with others. For «cooperative agent»-stereotyped classes that al-
ready have state-machine(s) (coming from A16-S3), the new identified states
have to appear in a new state-machine. This latter will be concurrent with the
first one(s).
By now, ADELFE is only able to guide the designer until this point. The next work
definitions would be those that are stipulated in the RUP: implementation and
test.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
196 Bernon, Camps, Gleizes & Picard
Strengths of ADELFE
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 197
Limitations of ADELFE
The main strength of ADELFE could also be its major limitation; it is specialized
and therefore cannot be used to design all the existing applications or to model
all types of agents (e.g., BDI). For instance, to design a system such as
simulation software, embedding it within another system such as a simulation
platform, would be needed. Preliminary steps would therefore be required to
design the whole simulation software by studying the most external system and
expressing the needs of the user simulation (such as statistical results, observa-
tion algorithms, etc.). Nevertheless, this limitation by specialization is lessened
by integrating the AMAS adequacy verification activity into the process.
Furthermore, this limit could also be removed by coupling another methodology
with ADELFE. It would then be interesting to have a more general methodology
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
198 Bernon, Camps, Gleizes & Picard
coupled with ADELFE in order to take into account both problem solving and
simulation software design.
Some activities could be improved, especially the fast prototyping one. For the
moment, it only enables the designer to test the behaviour of the defined agents
and validate them according to the specifications. We would like to improve this
activity to provide greater help during the design and implementation of agents.
The designer would be able to interact with the system during its design for
improving the behaviour of agents by adding or removing some parts of it.
Some work definitions are still lacking. At the present time, no operational tool
such as a platform or a set of software tools is coupled to ADELFE to guide
implementation, testing, or deployment.
The interactive tool is linked with OpenTool and verifies the production of
artifacts to make the designer progress in the process application. Although there
is no automated tool for consistency checking of the different activities results,
it is a future targeted improvement.
Finally a disadvantage of ADELFE is common to all design methods, the
graphical modelling tool is complex, and sometimes the designer may find it
difficult to use.
Purposeful Omissions
Some purposeful omissions were made in ADELFE, mainly due to the fact that
ADELFE tries to constrain the agent behaviour with a cooperative attitude.
Therefore, the role notion is useless because designers have only to focus on the
ability an agent possesses to detect and solve cooperation failures. If a designer
gives roles to agents, by describing a task or protocols, he/she will establish a
fixed organization for these agents. However, a fixed organization in an AMAS
is not welcomed because this organization must evolve to allow the system to
adapt.
Neither does the goal notion appear. The goal an agent has to achieve is modelled
by its skills, aptitudes, and representations; using the term “goal” in one of the
ADELFE models is not useful.
Using an ontology can be motivated by the agent granularity and may become
useful if agents are coarse-grained. But according to the AMAS theory, if agents
have to adapt themselves to their environment, they are also able to adapt to the
other agents. This adaptation can lead agents to learn to understand each other
making the use of ontology not essential in ADELFE.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 199
Conclusions
This chapter devoted to the ADELFE methodology has first presented the
theoretical background that led to the development of this specialized method-
ology. Unpredictable situations due to interactions between agents or to the
openness of the environment are locally processed by agents composing the
system. Locally processing these cooperation failures is enough to change the
system organization, without relying on the knowledge of the global function that
must be obtained, and therefore to make the system adapt.
The ADELFE toolkit also provides some tools that have been briefly presented
in a second part: an interactive tool to help the designer to follow the process, a
graphical modelling tool to support the use of the dedicated notation, and an
AMAS adequacy tool to warn the designer if the problem is not suited to this kind
of technology.
The process of ADELFE is based on the RUP and uses UML and AUML
notations. It has been described in the third section of this chapter, using an
information system case study to better visualize how to apply the different
stages.
ADELFE aims at promoting a specific kind of MAS and is not a general
methodology. This specificity is its main strength but also one of its limitations.
Therefore, a first perspective of this work would be to define “fragments” that
could be interrelated with others, coming from different complementary method-
ologies. That would enable a designer to build his/her own methodology (adapted
to his/her particular needs) from different existing ones. A second perspective
of our work in the engineering domain would also be to endow ADELFE with a
tool that would automatically transform a meta-model into a model depending on
a target platform in the spirit of OMG’s Model-Driven Architecture (MDA)
initiative4.
Acknowledgments
We would like to thank the support of the French Ministry of Economy, Finance,
and Industry, as well as our partners: TNI-Valiosys Ltd. (for their customization
of Open-Tool), ARTAL technologies Ltd., and the IRIT software engineering
team (for their help and work on UML and SPEM).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
200 Bernon, Camps, Gleizes & Picard
References
Bernon, C., Camps, V., Gleizes, M-P., & Picard, G. (2004). Tools for self-
organizing applications engineering. In G. Di Marzo Serugendo, A.
Karageorgos, O. F. Rana, & F. Zambonelli (Eds.), First International
Workshop on Engineering Self-Organizing Applications (ESOA),
Melbourne, Australia (pp. 283-298). LNCS 2977, Berlin: Springer-Verlag.
Bernon, C., Gleizes, M-P., Peyruqueou, S., & Picard, G. (2002). ADELFE, a
methodology for adaptive multi-agent systems engineering. In P. Petta, R.
Tolksdorf, & F. Zambonelli (Eds.), Third International Workshop “En-
gineering Societies in the Agents World” (ESAW), LNAI 2577 (pp. 156-
169). Berlin: Springer-Verlag.
Brazier, F. M. T., Jonker, C. M., & Treur, J. (1999). Compositional design and
reuse of a generic agent model. In Proceeding of Knowledge Acquisition
Workshop (KAW’99), Banff, Canada.
Camps, V., Gleizes, M-P., & Glize, P. (1998). A self-organization process based
on cooperation theory for adaptive artificial systems. In Proceedings of
the First International Conference on Philosophy and Computer
Science “Processes of Evolution in Real and Virtual Systems”, Krakow,
Poland (pp. 2-4).
Capera, D., Georgé, J-P., Gleizes, M-P., & Glize, P. (2003). The AMAS theory
for complex problem solving based on self-organizing cooperative agents.
In Proceedings of the First International Workshop on Theory and
Practice of Open Computational Systems (TAPOCS03@WETICE 2003),
Linz, Austria (pp. 383-388). IEEE Computer Society.
Desfray, P. (2000). UML profiles versus metamodel extensions: An ongoing
debate. OMG’s UML Workshops: UML in the .com Enterprise: Mod-
eling CORBA, Components, XML/XMI and Metadata Workshop, No-
vember. Available online http://www.omg.org/news/meetings/workshops/
uml_presentations.htm
Georgé J-P., Gleizes, M-P., Glize, P., & Régis, C. (2003). Real-time simulation
for flood forecast: An adaptive multi-agent system STAFF. In Proceed-
ings of the AISB’03 symposium on Adaptive Agents and Multi-Agent
Systems, University of Wales, Aberystwyth (pp. 109-114). Society for the
Study of Artificial Intelligence and the Simulation of Behaviour.
Gleizes, M-P., Georgé, J-P., & Glize, P. (2000). A theory of complex adaptive
systems based on co-operative self-organisation: Demonstration in elec-
tronic commerce. In Proceedings of the Self-Organisation in Multi-
Agent Systems Workshop (SOMAS), Milton Keynes, UK, July 27-28.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Engineering Adaptive Multi-Agent Systems: The ADELFE Methdology 201
Gleizes, M-P., Glize, P. & Link-Pezet, J. (2000). An adaptive multi-agent tool for
electronic commerce. In the Proceedings of the IEEE 9th International
Workshops on Enabling Technologies: Infrastructure for Collabora-
tive Enterprises (WET ICE’00), Gaithersburg, Maryland (pp. 59-66).
IEEE Computer Society.
Gleizes, M-P., Millan, T., & Picard, G. (2003a). ADELFE: Using SPEM notation
to unify agent engineering processes and methodology. IRIT Internal
Report 2003-10-R.
Iglesias, C.A., Garijo, M. & Gonzalez, J.C. (1998). A survey of agent-oriented
methodologies. In Proceedings of the Fifth International Workshop,
ATAL ’98, LNAI 1555, Paris, July 4-7 (pp. 317-330). Berlin: Springer-
Verlag.
Kruchten, P. (2000). The rational unified process: An introduction. Reading,
MA: Addison Wesley.
Odell, J., Van Dyke Parunak, H., & Bauer, B. (2000). Extending UML for
agents. In Proceedings of the Agent Oriented Information Systems
(AOIS) Workshop at the 17th National Conference on Artificial
Intelligence (AAAI), Austin, Texas (pp. 3-17).
Odell, J., Van Dyke Parunak, H., & Bauer, B. (2001). Representing agent
interaction protocols in UML. In Proceedings of the First International
Workshop on Agent-Oriented Software Engineering (AOSE’00), Lim-
erick, Ireland, pp. 121-140. Berlin: Springer-Verlag.
OMG. (2002). Software Process Engineering Metamodel Specification.
Available online http://cgi.omg.org/docs/formal/02-11-14.pdf
Picard, G. (2003). UML stereotypes definition and AUML notations for ADELFE
methodology with OpenTool. Proceedings of the First European Work-
shop on Multi-Agent Systems (EUMAS’03), Oxford, UK.
Piquemal-Baluard, C., Camps, V., Gleizes, M.-P., & Glize, P. (1996). Properties
of individual cooperative attitude for collective learning. In Proceedings of
the Seventh European Workshop on Modelling Autonomous Agents in
a Multi-Agent World (MAAMAW’96), Eindhoven, The Netherlands,
January 22-25, position paper.
Russel, S. & Norvig, P. (1995). Artificial intelligence: A modern approach.
Englewood Cliffs, NJ: Prentice Hall Series.
Shehory, O. & Sturm, A. (2001). Evaluation of modeling techniques for agent-
based systems. In Proceedings of the Fifth International Conference
on Autonomous Agents (pp. 624-631). New York: ACM Press.
Topin, X., Fourcassie, V., Gleizes, M-P., Theraulaz, G., Régis, C., & Glize, P.
(1999). Theories and experiments on emergent behaviour: From natural to
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
202 Bernon, Camps, Gleizes & Picard
Endnotes
1
Agents and MASs notions are introduced in Chapter I.
2
See Chapter I for more details about modelling languages.
3
Ed. As will be discussed in Chapter XIII.
4
Some hints about MDA are given in Chapter I.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 203
Chapter VIII
The MESSAGE
Methodology for
Agent-Oriented
Analysis and Design
Francisco J. Garijo
Telefónica I+D, Spain
Jorge J. Gómez-Sanz
Universidad Complutense de Madrid, Spain
Philippe Massonet
CETIC, Belgium
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
204 Garijo, Gómez-Sanz & Massonet
Introduction
The agent-oriented (AO) approach promises the ability to construct flexible
systems with complex and sophisticated behaviour by combining highly modular
components. When several of these components interact, the intelligence of
these components—the agents—and their capacity for social interaction results
in a multi-agent system (MAS) with capabilities beyond those of a simple “sum”
of the capabilities of the individual agents.
The availability of agent-oriented software engineering (AOSE) methodologies
is a pre-requisite for engineering commercial MASs. The MESSAGE method-
ology covers the MAS analysis and design phases of the software engineering
lifecycle. It is designed for use in mainstream software engineering departments
that develop complex distributed applications. It is a genuinely agent-oriented
methodology, but also builds upon the achievements of software engineering
(SE), and is consistent with current SE best practice. MESSAGE grounds agent-
oriented concepts in the same underlying semantic framework as that used by
UML, and uses UML-based notation whenever appropriate.
MESSAGE (Caire, Courlier et al., 2001, 2002) extends UML by contributing
agent knowledge-level concepts, such as organization (Zambonelli, Jennings, &
Wooldridge, 2001), role (Kendall, 2000), goal (Dardenne, Lamsweerde, &
Fickas, 1993; Giorgini, Kolp, Mylopoulos, & Pistore, 2004) and task (Omicini,
2000), and diagrams with notations for viewing them. The work is illustrated in
a complete agent case study going through the phases of analysis and design.
The plan of the chapter is as follows. The next section describes the MESSAGE
modelling language and process, followed by a section that describes the analysis
case study and illustrates some of the graphical notation proposed. The high-level
design case study is then presented. Next, we illustrate the organization-driven
detailed design process. The final section presents an evaluation of MESSAGE
based on analysis, design, and implementation experimentations.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 205
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
206 Garijo, Gómez-Sanz & Massonet
The Agent/Role model focuses on the individual agents and roles. For each
agent/role, it uses schemata supported by diagrams to describe its characteris-
tics, such as the Goals for which an agent is responsible, the events it needs to
sense, the resources it controls, the Tasks it knows how to perform, “behaviour
rules,” and the like. The agent model contains a detailed and comprehensive
description of each individual agent and role within the MAS.
The Interaction model is concerned with agent interactions with human users and
other agents. For each interaction among agents/roles, the initiator, it shows the
collaborators, the motivator (generally a goal the initiator is responsible for), the
relevant information supplied/achieved by each participant, and the events that
trigger the interaction, together with other relevant effects of the interaction
(e.g., an agent becoming responsible for a new goal).
The Domain (information) model shows the domain-specific entities and rela-
tions that are relevant for the system under development.
The above models contain the data that defines the system and that is repre-
sented in the views. The MESSAGE meta-model is defined as an M-2 Layer
meta-model using the MOF four-layer architecture (OMG, 2000). The MES-
SAGE meta-model provides the concepts, the underlying structure, and the rules
for producing application models.
Figure 1 shows the main agent-related meta-concepts (Caire, Coulier, et al.,
2002; EURESCOM P907, 2003), for example, an Agent is an atomic autonomous
entity that is capable of performing some (potentially) useful function. In these
diagrams, each concept is related to others using labeled associations, denoting
the semantics of the association.
The MESSAGE concepts extend UML concepts by means of the MOF
generalization primitive. For instance, the agent concept extends the MESSAGE
Entity that extends the UML classifier concept.
During design, the analysis models are refined into computational entities that
can be implemented in an agent platform. Two distinct phases of design are
considered: high-level and detailed design. The first phase involves identifying an
agent architecture, assigning roles to agents, and describing how the application
services are provided in terms of tasks. The tasks can be decomposed into direct
actions on the agent’s internal representation of the environment, and commu-
nicative actions to send and receive messages according to interaction protocols.
The interactions between roles identified in analysis are detailed using interaction
protocols. Detailed design deals with computational representations of the
entities modelled in high-level design. During this second phase, the refinement
process continues to determine how entities can be implemented. In MESSAGE,
two approaches are considered: organization-driven and the agent platform-
driven design. This process is illustrated in Figure 2.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 207
Goal Role
Provides
AimsToAchieve ServiceTo Service
Plays
Information
Entity Agent
Implements
Perceives
Acquaintance
Describes Performs
Action Task
Describes Event
StateOf
Generates
GeneratedBy
ChangeOfState
ANALYSIS MODEL
TSP
TSP
Parent KM Parent KM
pane sy stem
pane sy stem
< < Wish > > < < Wish > >
1 1 1 ..*
1 1 1 ..*
1..*
Structure Tra veller Structure Tra veller
1 ..*
KM
A dmin-
istrativ e
Sales
Sys te m pane A ss is ted
pane A ss is ted
LEVEL 0
Catalog
Sales -
Book ing Tra vel
per son
D atabas e D atabas e
Initiator Collaborator
Parent <<participation>> <<participation>>
KM Travelling TSP
Sys te m pane system TA Gatherer Request 1 Assistant
A dmin i - A dmin - Tra veler
stra tor istratio n << Wish >>
Team
Travel
ar rang ements
K now n G athere d I den
Id entif
tified
ied Selected
LEVEL 1
1..* 1..*
Tra vel Arrangement
Tra vel Book ing
Catalog
D atabas e D atabas e Child
pane TSP TA Gatherer TA Selector
Assistant
LEVEL N
REFINES
DESIGN MODEL
HIGH LEVEL DESIGN
Travelling <<provision>> Travelling-
Personal Arrangements
Travel TSP Sales PTA arrangement-
Provided Assistant selection
Agent
Booking Request Diagnosed
TravelRequirement TravelArrangement Formulated
<<wish>> <<play>> TSP Airline
Booking Booking Not Understood
Provide Travelling TSP Refuse
Flight Services Booking Get travel Send / Score travel Request, TA Booking Request Booking Request
Availability Provider <<play>> Manager Arrange- Receive arrange- Submitted Cancelled
ments TAs ments
<<accesses>> < < per for mance > >
Agree Failure
<<provision>> < < per for mance > > Agree
<<manages>>
Not-understood Booking Request
Flight Booking Request
ProvideTravel Confirmed
Destinations Traveler Agreed
Arrangement
s TSP TA TA Refuse
Requirements Assistant Selector
Gatherer Inform
REFINES
DETAILED LEVEL
ORGANIZATION DESIGN
AGENT PLATFORM
AGENT PLATFORM
ORGANIZATION
DRIVEN
DRIVEN DESIGN DRIVEN DESIGNDRIVEN
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
208 Garijo, Gómez-Sanz & Massonet
The MESSAGE modelling language is based on RUP notations that are, in turn,
based on UML. MESSAGE extends the basic UML concepts of Class and
Association with knowledge-level agent-centric concepts and modelling views
(Caire, Coulier, et al., 2001). The most important agent-related concepts are the
following.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 209
Implication Assignment
Goal Task Service
Acquaintance DataFlow
Interaction Structure
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
210 Garijo, Gómez-Sanz & Massonet
Analysis
Analysis Process
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 211
needed for achieving the goals appear naturally during the refinement process.
Then, cooperation, possible conflicts, and conflict resolution may be analyzed.
Agent-centred approaches focus on the identification of agents needed for
providing the system functionality. The most suitable organization is identified
according to system requirements. Interaction-oriented approaches suggest
progressive refinement of interaction scenarios that characterize the internal and
external behaviour of the organization and agents. These scenarios are the
source for characterizing task, goal, messages, protocols, and domain entities.
Goal/task-decomposition approaches are based on functional decomposition.
System roles, goals, and tasks are systematically analyzed in order to determine
the resolution conditions, problem-solving methods, decomposition, and failure
treatment. Task preconditions, task structures, task output, and task post-
condition may determine what Domain Entities are needed. Agents playing roles
must perform tasks to meet their goals. Consequently, looking at the overall
structure of goal and tasks in the Goal/task view, decisions can be made on the
most appropriate agents and organization structure for achieving those goals/
tasks.
The experience in MESSAGE shows that the different views of the system leave
the analyst free to choose the most appropriate strategy. In practice, a combi-
nation of refinement strategies with frequent feedback loops are used. The
analysis process might start with the Organization View (OV), then switch to the
Agent View and continue with the Interaction View. The results of the analysis
of specific interaction scenarios may lead to the reconsideration of part of the
OV and thus to further refinement and adaptation of OV constituents.
Design
The purpose of design is to define computational entities that represent the MAS
appearing at the analysis level. In general, the artifacts produced in each of the
analysis models need to be transformed into computational entities that can be
implemented. Analysis entities are thus translated into subsystems, interfaces,
classes, operation signatures, algorithms, objects, object diagrams, and other
computational concepts.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
212 Garijo, Gómez-Sanz & Massonet
are defined in generic terms, during design it may be necessary to refine them
into one or more computational entities. There are situations in which agents
identified during analysis are not implemented in design. This happens when
analysis agents are refined into simple classes in design, and when agents from
the analysis correspond to very well-known software components such as
access systems, notification servers, database wrappers, proxies, and so on. In
such situations, it is better to consider analysis agents as resources. On the other
hand, analysis agents will be implemented in design when the complexity of the
refinement requires an agent architecture.
MESSAGE distinguishes between high-level and detailed design to keep the
models implementation independent and thus avoid taking into account the
complexity of the specific concepts and constraints of a target agent platform,
such as the agent architecture and the knowledge representations.
In high-level design, the analysis model is refined to produce the initial version
of the MAS architecture and its computing behaviour defined with design
artifacts. Four steps are proposed:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 213
The low-level design process assumes that the developer is thinking about
possible implementations. This process implies consideration of different map-
pings, from high-level design concepts to computational elements provided by the
target development platforms. By computational, we mean having an application
program interface with an externally known behaviour. These elements may
already exist, for example, as a software library, or will need to be developed
from scratch. The MESSAGE methodology has been evaluated with two
complementary design approaches.
The first design approach is driven by the MAS organization The design process
is driven by the Organization Model in order to assign responsibilities, to define
agent interactions, and to model social knowledge.
The second approach is agent-platform-oriented and considers that each agent
can be mapped to a class. This is mainly derived from the application of most
agent models supported by agent building tools, such as Jade (Bellifemine, Poggi,
& Rimassa, 2001), in which there is one agent class from which to derive the
specific agent type.
The Organization Model provides a high-level view of the system with all the
elements needed for structuring its computational entities. The organization itself
may or may not be present as a computational element at the end of the design.
The Organization Model shows which roles need to interact, their communication
needs, and what social knowledge is required from each agent in order to satisfy
the system goals, that is, the organization goals. Individual realization of tasks or
service provision is easier to design than collective realization.
The steps proposed to achieve organization driven design are as follows:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 217
System
Admini- Admin- Traveler
strator istration
Team
KM Sales-
System person
Travel
Travel Booking Catalog
Database Database
Organizations have high-level goals that the roles need to satisfy by providing and
requesting services. The organization goals can be decomposed using goal
decomposition techniques into goals that can be directly satisfied in terms of the
services that are offered by a role. For example, the “Traveler Assisted” goal
of the traveller is partially satisfied by the goal “TA Gathered” of the “TA
Gatherer” role, together with its goals “Best TA identified” and “TA Selected”
of the “TA Selector” role. The services that need to be provided to satisfy these
goals are “TA Gathering” and “Best TA Selection.”
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
214 Garijo, Gómez-Sanz & Massonet
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
216 Garijo, Gómez-Sanz & Massonet
are several teams in the TSP. At level 0, the system under development, namely,
the KM System, is seen itself as an organization that will be analyzed at level 1.
Goal
The goal of the TSP is to assist the traveller. This could be understood as the TSP
arranging a restaurant, renting a room in a hotel, providing information on tourist
places, and so forth. This goal is very generic and will be refined in level 1. Level
0 is kept simple in order to clearly separate the first idea of the system from its
refinement.
Domain
The domain can be conveniently described using UML class diagrams to model
the classes, their associations, and their attributes. Examples of classes that
model domain entities and relationships are: “Travel Requirement” (TR), which
is composed of a set of “Transfer Requirements” (TsR) that specify an origin,
a destination, and a time frame; a “Travel Arrangement” (TA), which is
composed of a set of “Transfer Arrangement” (TsA) that refers to a “Flight
Occurrence.” A flight occurrence refers to a flight from an origin to a destination
on a specific date. A TA can match a TR if all TsR match the TsA.
TSP
1 1 1..* 1..*
Admin- System
KM istrative Sales
System Team Admin-
Team istrator
1..* 1..*
1 1
Travel
Catalog
Sales-
Booking Travel
person
Database Database
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
218 Garijo, Gómez-Sanz & Massonet
Parent KM
pane system
<< Wish >>
Structure Traveller
pane Assisted
Child
pane TSP TA Gatherer TA Selector
Assistant
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 219
Interactions
This view highlights which, why, and when agents/roles need to communicate,
leaving all the details about how the communication takes place to the design
process.
The interaction view is typically refined through several iterations as long as new
interactions are discovered. It can be conveniently expressed by means of a
number of interaction diagrams. These diagrams are interaction centric (i.e.,
there is one
such diagram for each interaction) and show the initiator, the responders, and the
motivator (often a goal of the initiator) of an interaction, plus other optional
information such as the trigger condition and the information achieved and
supplied by each participant. Figure 7 shows as an example the interaction
diagram describing the Traveling Request interaction between the TA Gatherer
and the TSP Assistant roles.
The details of the interaction protocol and the messages that are exchanged
between roles can be represented using an AUML sequence diagram (Bauer,
Müller, & Odell, 2001). The modelling of an interaction protocol is on the border
between analysis and design. The interaction can be detailed either in analysis
or in design. The analysis stops here, but more iterations could be made.
Initiator Collaborator
<<participation>> <<participation>>
Travelling TSP
TA Gatherer Request 1 Assistant
Travel
1 Requirement 1
Travel 1..*
1..*
Arrangement
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 215
Organizations
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 221
<<provision>> Travelling-
PTA arrangement-
selection
TravelRequirement TravelArrangement
TSP TA TA
Assistant Gatherer Selector
with the services it provides, the roles that it plays, together with the tasks and
resources upon which it relies.
Once the agents have been assigned to roles, the services can be implemented
in terms of tasks. Figure 9 shows the workflow of tasks that is needed for the
PTA agent to provide the “TA selection” service to the traveller. The input to
the “Get TAs” task of the “TSP Assistant” role is a TR using the object flow
UML notation. The output is a set of TAs that is sent to the “TA Gatherer” role,
which then passes them to the “TA Selector” role to rank them.
Interaction Protocols
This step involves refining the definition of interactions made during analysis.
Based on the interactions between roles, the assignment of agents to roles, and
the implementation of services in terms of tasks, direct actions, and communica-
tive actions, the interactions can be modelled in terms of interaction protocols and
UML statecharts. Figure 10 shows how the interaction between the “TSP
Booking Manager” and the “Airline Booking” roles can be modelled with a FIPA
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
222 Garijo, Gómez-Sanz & Massonet
TSP Airline
Booking Booking
Request, TA
Agree
Not-understood
Refuse
This step involves modelling the behaviour of the roles in an interaction protocol.
Figure 11 shows how the “TSP Booking Manager” role’s behaviour can be
modelled for the request interaction protocol. When a booking request is refused
or not understood, it is diagnosed and a decision is made to either cancel the
request or retry the request.
Failure
Agree
Inform
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
220 Garijo, Gómez-Sanz & Massonet
Agents are identified based on the description of the organizations and the use
of some heuristic: at one extreme, for each organization there can be one agent,
assigned all the roles in the multi-agent application; at the other extreme, there
is one agent per role.
In this case study, a personal travel agent (PTA) was created for the traveller,
a TSP agent was created for the TSP organization, and an airline agent was
created for the airline organization. Assigning roles to agents has an impact on
the design of the interactions. For example, since the “TSP Sales Assistant” and
“TSP Booking Manager” need to interact and are played by the same agent, they
do not need to interact using interaction protocols. Figure 8 shows the TSP agent
Travelling
Personal Arrangements
Travel TSP Sales
Provided Assistant
Agent
<<play>>
<<wish>>
<<accesses>>
<<provision>>
<<manages>>
Flight ProvideTravel
Destinations Traveler Arrangements
Requirements
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 223
Organization-Driven
Detailed Design Example
At the detailed design stage, MESSAGE considers two approaches: the agent-
platform-driven and the organization-driven. An agent-platform-driven design
(Massonet et al., 2002) is based on the mapping between the high-level design
concepts and the target platform. However, this may not be possible when the
agent platform is not known in advance or when the agent platform does not
satisfy the computing requirements of the target computing infrastructure. This
section focuses on the organization-driven approach.
Organizational Model
<<Organisation>>
TravelAssistanceAgency
pursues
is structured has worlkflowss
<<Organisation purposes>>
Organisation Purposes <<Workflow>>
ManagementW
<<Organisation Structure>> <<Workflow>> contains
UPATravelServicesOrganisation Workflow
is structured
contains
<<Workflow>>
<<Organisation Structure>> ProvidingTravelInfo&NotifW
UPATravelInfoNotificationOrganisation
contains uses
contains contains contains
Resources
contains contains
contains
<<Agent Definition>>
UPAFlightInfo&NotificationAssistantAg <<Agent Definition>>
<<Agent Definition>>
UPAAirlineInfoDeskAg UPAAirportInfoDeskAg
<<Agent Definition>>
UPATrialAccessAg <<Agent Definition>> <<Agent Definition>> <<Agent Definition>>
UPACustomerAccessAg UPAInformationFinderAg UPAInformationCommunicatorAg
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
224 Garijo, Gómez-Sanz & Massonet
Cognitive
Cognitive Agent
Agent
Management
Decission
MangementIntfCognitive Agent KnowledgePProcessor
rocessor Rules
+ IinitIInterfaces()
D omain
UseControlInterfaceCognitiveAg
UseControlInterfaceCognitiveAg
( from Knowledge Processor ) Objectives
O bjetives
Perception +insertBelieve
insertBelieve
() ()
Perception
PerceptiontIntfCognitive Agent
A ction
T asks
T asks
+ iInsertMessage()
InternalPerceptionIntfCognitiveAg ent
IInternalPerceptionIntfCognitiveAgent
+insertDomainObject
insertDomainObject
() () () Messaging Adapter
Messaging
MessagingAdapter
Adapter
(from action )
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 225
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
226 Garijo, Gómez-Sanz & Massonet
CreateVisualResourcesNotificationDefinitionG GatherNotificationDataAndValidateG
<<satisfy>>
<<satisfy>>
<<satisfy>>
CreateNotificationDefinition CreateNotificationD
WindowWithCorrectionT efinitionWindowT ValidateNotific
ationDataT
<<produce>> <<produce>>
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 227
ResourceManagementInterface ResourceUse
ResourceUserInterface
+ Start()
+ Stop()
+ End()
+ Continue() Resource
+ Monitoring()
The MESSAGE methodology was evaluated in two case studies. The case
studies were conducted in two phases: Analysis and Development, that is,
Design and Implementation. An assessment of the methodology based on this
experience was then performed. Two case study scenarios were selected for
Analysis:
The UPA4T case study was carried through to design and to different partial
implementations.
MESSAGE’s agent-centred concepts proved to be a sufficiently complete set of
construction primitives for the case study problems. Using the views of the
system as building patterns helps developers obtain a complete specification of
the MAS. The case studies confirmed that the methodology supports the analysis
and design of multi-agent systems that are autonomous and can be deployed in
a dynamic and heterogeneous environment.
MESSAGE has been the basis for new proposals, such as INGENIAS (Pavón
& Gómez-Sanz, 2003), which refines the different MESSAGE meta-models and
adds more tool support, and RT-MESSAGE (Julian & Botti, 2004), which adds
extensions to deal with real-time constraints.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
228 Garijo, Gómez-Sanz & Massonet
The methodology supports the analysis and design of multi-agent systems that
are flexible and adapt to specific kind of changes described below in a
heterogeneous and dynamic environment. The case studies showed that MES-
SAGE supports architectures where:
• Agent instances of defined agent classes can come and go during the
lifetime of a multi-agent system. This is modelled in the interaction and
agent models by describing the roles that participate in an interaction and
the agents capable of playing those roles.
• Services come and go during the lifetime of an MAS. This is modelled by
describing which organizations/roles/agents provide a given service. How-
ever, the precise ways in which a published service can be changed during
the MAS’s lifetime depend on the specifics of each agent toolkit.
• Agents can change the way they provide a service. This is modelled by
separating the description of the service from the way it is implemented in
terms of tasks. The service could be provided in different ways using an
inference engine that optimizes certain criteria. If it has been designed to
do so, an agent could even cooperate with other agents to help them provide
the service that was previously provided alone during the lifetime of the
system.
• Agents communicate in an environment with information heterogeneity.
This is handled by a shared ontology for the MAS. This shared ontology is
derived from the domain model that was captured during analysis. Agents
then communicate using the common ontology to which the internal
heterogeneous information of the different agents can be mapped.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 229
• Agents display goal-oriented behaviour and thus adapt their behaviour for
continuous optimization of design-time and run-time goals. This is possible
by modelling which tasks an agent is capable of performing and translating
them into rules for a rule-based engine or planner. There are no specific
means for modelling rules in MESSAGE other than the concept of task with
its pre- and post-conditions.
Most of these features are supported by the agent toolkits and were evaluated
in the case studies. The assumption is made that these toolkits provide the basic
agent infrastructure, such as matchmaking mechanisms for finding services,
ontology support, or communication primitives.
The methodology provided sufficient separation of concerns between multi-
agent considerations such as coordination and communication and the internal
agent design. The MESSAGE models and associated diagrams (Organization,
Goal, Agent/Role, Interaction, Workflow, and Domain) mostly support modelling
the multi-agent considerations. Modeling the internal structure and behaviour of
agents was mostly supported by agent pattern reuse, together with existing UML
diagrams such as statecharts, activity, and class diagrams.
The MESSAGE design modelling language is less mature than the analysis
language, and the integration of the MESSAGE analysis and design processes
into RUP is not fully finalized. Furthermore, some of the more difficult issues
related to the dynamic behaviour of multi-agent systems were not explicitly
addressed.
The question of dynamic behaviour of multi-agent systems could be relevant for
many of the analysis and design modelling concepts (meta-classes and meta-
associations). Some of them were identified but not studied in detail. The implicit
assumption in the MESSAGE methodology is that all of the meta-model concepts
are static; that is, new classes (instances of MESSAGE meta-classes) and
associations (instances of MESSAGE meta-associations) cannot be added at
run-time, only instances of them. This does not mean that an agent system
designed with MESSAGE cannot display some degree of dynamic behaviour and
adapt to specific kind of changes in the environment as described above, for
example, by using rules to replan behaviour.
A methodology should provide explicit modelling support for the dynamic aspects
of multi-agent systems. Consider the following examples of dynamic behaviour
that are difficult to model with MESSAGE:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
230 Garijo, Gómez-Sanz & Massonet
Modeling these kinds of changes was considered in the methodology but not
addressed. One of the main reasons they were not addressed is that they were
difficult to assess experimentally in the case studies. Most of the agent toolkits
do not provide any explicit support for this kind of dynamic behaviour. Most of
the above mentioned changes would require design time changes, recompilation.
and redeployment of an agent-based application with most current agent-
oriented toolkits. For example, in the JADE toolkit, there is no support for
changing the interaction protocols, providing new agent classes, or modifying the
ontology during the execution of the system. These are design-time choices that
are compiled into the application and cannot be changed without modifying the
design, recompiling, and redeploying.
Another issue that was not sufficiently studied was the availability of an analysis
and design pattern library associated with the methodology. This aspect has been
partially covered in Garijo, Bravo et al. (2003), although the number and the type
of patterns should be extended. For example, specific coordination and negotia-
tions patterns between agents could be used to allow for continuous optimization.
Although agent-centred concepts and notations have proved to be suitable for
analysis and design, developers also need guidelines and support for other stages
of the life cycle such as requirements, implementation, testing, and deployment.
Conclusions
Analysis focuses on describing the organizations involved in the multi-agent
system, agent goals, and the roles defined to satisfy them. The high-level goals
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 231
Acknowledgments
This work was supported by EURESCOM (http://www.eurescom.de) Project
P907. The editing of parts of this chapter was supported by the Spanish Ministry
for Science and Technology (TIC2002-04516-C03-03) and FEDER, and the
Walloon region under contract Convention EP1A12030000012 N DGTRE
130023.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
232 Garijo, Gómez-Sanz & Massonet
References
Barbier, F., Henderson-Sellers, B., Le Parc-Lacayrelle, A., & Bruel, J.-M.
(2003). Formalization of the whole-part relationship in the Unified Modeling
Language. IEEE Trans. Software Eng., 29(5), 459-470.
Bauer, B., Müller, J. P., & Odell, J. (2001). Agent UML: A formalism for
specifying multiagent interaction. International Journal of Software
Engineering and Knowledge Engineering (IJSEKE), 11(3), 207-230.
Bellifemine, F., Poggi, A., & Rimassa, G. (2001). JADE: A FIPA2000 compliant
agent development environment. In Proceedings of the Fifth Interna-
tional Conference on Autonomous Agents (Agents 2001), Montreal,
Canada (pp. 216-217). ACM Press.
Caire, G., Coulier, W., Garijo, F., Gomez-Sanz, J., Pavon, J., Leal, F., Chainho,
P., Kearney , P. E., Stark, J., Evans, R., & Massonet, P. (2001). Agent-
oriented analysis using MESSAGE/UML. LNCS 2222, Berlin: Springer-
Verlag.
Caire, G., Coulier, W., Garijo, F., Gomez-Sanz, J., Pavon, J., Leal, F., Chainho,
P., Kearney , P. E., Stark, J., Evans, R., & Massonet, P. (2002). EURESCOM
P907: MESSAGE - Methodology for Engineering Systems of Software
Agents, http://www.eurescom.de/public/projects/P900-series/p907/
default.asp
Cook, S. (2005). UML2.0 – Trying to have it both ways in UML – the Good, the
Bad or the Ugly? – Perspectives from a panel of experts. Software and
Systems Modelling, 4(1), 4.
Dardenne, A., Lamsweerde, A. v., & Fickas, S. (1993). Goal-directed require-
ments acquisition. Science of Computer Programming, 20, 3-50.
Demazeau, Y. (2001). La méthode VOYELLES, dans Systèmes Multi-Agents:
Des Théories Organisationnelles aux Applications Industrielles. Oslo,
Norway: Hermès.
Do, T. T., Kolp, M., Hoang, T. T. H., & Pirotte, A. (2003). A Framework for
Design Patterns for Tropos. Paper presented at the Proceedings of the
17th Brazilian Symposium on Software Engineering (SBES 2003),
Maunas, Brazil, October.
EURESCOM P907. (2003). Methodology for agent-oriented software engineer-
ing (final) 9/20/2001. Retrieved March 29, 2005, from http://
www.eurescom.de/~public-webspace/P900-series/P907/index.htm
Friedman-Hill, E. (2002). Java Expert System Shell (JESS). Retrieved March
29, 2005, from http://herzberg.ca.sandia.gov/jess/
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 233
Garijo, F., Bravo, S., Gonzalez, J., & Bobadilla, E. (2003). BOGAR_LN: An
agent-based component framework for developing multi-modal services
using natural language. Paper presented at the CAEPIA, LNAI, (Vol. 3040,
pp. 207-220). Berlin: Springer-Verlag,
Garijo, F. Gómez-Sanz, J. J., Pavón, J., & Massonet, P. (2001). Multi-agent
system organization. An engineering perspective. Paper presented at the
Modelling Autonomous Agents in a Multi-Agent World, Annecy, France,
May.
Garijo, F., Tous, J., Matias, J. M., Corley, S., & Tesselaar, M. (1998). Develop-
ment of a multi-agent system for cooperative work with network negotia-
tion capabilities. In S. Albayrak (Ed.), Intelligent agents for telecommu-
nication applications, LNCS, (Vol. 1437, pp. 204-219). Berlin: Springer-
Verlag.
Giorgini, P., Kolp, M., Mylopoulos, J., & Pistore, M. (2004). The Tropos
methodology: An overview. In F. Bergenti, M. P. Gleizes, & F. Zambonelli
(Eds.), Methodologies and software engineering for agent systems.
Boston: Kluwer Academic Publishing.
Huhns, M. & Singh, M. (1997). Agents and multiagent systems: Themes,
approaches, and challenges. In M. Huhns & M. Singh (Eds.), Reading in
agents (pp. 1-23). San Francisco: Morgan Kaufmann Publishers.
Iglesias, C., Mercedes Garijo, M., Gonzalez, J. C., & Velasco, J. R. (1998).
Analysis and design of multiagent systems using MAS-CommonKADS. In
M. P. Singh, A. Rao, & M. J. Wooldridge (Eds.), Intelligent Agents IV
(LNAI Volume 1365 ed., pp. 313-327). Berlin: Springer-Verlag.
Julian, V. & Botti, V. (2004). Developing real-time multi-agent systems.
Integrated Computer Aided Engineering Journal, 11(2), 135-149.
Kendall, E. A. (2000). Software engineering with role modelling. In Proceed-
ings of the Agent-Oriented Software Engineering, LNCS, Vol.1957 (pp.
163-169). Berlin: Springer-Verlag.
Kolp, M., Do, T. T., Faulkner, S., & Hoang, H. T. T. (2005). Introspecting agent
oriented design patterns. In Handbook of Software Engineering and
Knowledge Engineering (Vol. III). World Publishing. Forthcoming 2005.
Kruchten, P. (1999). The rational unified process. Reading, MA: Addison-
Wesley.
Lind, J. (2001). Iterative software engineering for multiagent systems: The
MASSIVE method. Berlin; New York: Springer-Verlag.
Massonet, P., Deville, Y., & Neve, C. (2002). From (AOSE) methodology to
agent implementation. In Proceedings of the First International Joint
Conference on Autonomous Agents and Multiagent Systems (pp. 27-
34). New York: ACM Press.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
234 Garijo, Gómez-Sanz & Massonet
Milgrom, E., Chainho, P., Deville, Y., Evans, R., Kearney, P., & Massonet, P.
(2001). Methodology for agent oriented software engineering, Final
Guidelines for the identification of relevant problem areas where
agent technology is appropriate. EURESCOM Project P907. Retrieved
March 29, 2005, from http://www.eurescom.de/~public-webspace/P900-
series/P907/D2FinalReviewed.zip
Odell, J., Parunak, H. V. D., & Bauer, B. (2000). Extending UML for agents.
Paper presented at the Agent-Oriented Information Systems Workshop
at the 17th National Conference on Artificial Intelligence,
Odell, J., Parunak, V., & Bauer, B. (2001). Representing agent interaction
protocols in UML. In P. Ciancarini & M. J. Wooldridge (Eds.), Agent-
oriented software engineering. Proceedings of the First International
Workshop (AOSE 2000). LNAI, (Vol. 1957, pp. 121-140). Berlin: Springer-
Verlag.
OMG. (2000). MOF. Meta Object Facility (specification) (No. V.1.4. for-
mal). Retrieved March 29, 2005, from http://www.omg.org/technology/
documents/formal/mof.htm
OMG. (2002). CORBA Component Model v3.0. Retrieved March 29, 2005,
from http://www.omg.org/library/schedule/CORBA_ Component_
Model_RFP.htm
Omicini, A. (2000). SODA, societies and infrastructures in the analysis and
design of agent-based systems. In Agent-Oriented Software Engineer-
ing, LNCS, Vol. 1957 (pp. 185-193). Berlin: Springer-Verlag.
Pavón, J. & Gómez-Sanz, J. (2003). Agent-oriented software engineering with
INGENIAS. Proceedings of the International Central and Eastern
European Conference on Multi-Agent Systems (CEEMA ’03), Prague,
Czech Republic (LNCS, Vol. 2691, pp. 394-304). Springer-Verlag.
Szyperski, C. (1997). Beyond object-oriented programming. Reading, MA:
Addison-Wesley.
Walshe, D., Kennedy, J., Corley, S., Koudouridis, G., F. Van Laenen, Ouzounis,
V., et al. (2000). An interoperable architecture for agent-oriented workflow
management. Proceedings of the International Conference on Artifi-
cial Intelligence (IC-AI 2000), Monte Carlo Resort, Las Vegas. CSREA-
Press.
Weiss, G. (1999). Multiagent systems. A modern approach to distributed
artificial intelligence. Cambridge, MA: The MIT Press.
Wooldridge, M. J., & Jennings, N. R. (1995). Agent theories, architectures,
and languages: A survey. New York: Springer-Verlag,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
236 Pavón, Gómez-Sanz & Fuentes
Chapter IX
The INGENIAS
Methodology and Tools
Juan Pavón
Universidad Complutense de Madrid, Spain
Jorge J. Gómez-Sanz
Universidad Complutense de Madrid, Spain
Rubén Fuentes
Universidad Complutense de Madrid, Spain
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The MESSAGE Methodology for Agent-Oriented Analysis and Design 235
Wooldridge, M., Jennings, N. R., & Kinny, D. (2000). The Gaia methodology for
agent-oriented analysis and design. Journal of Autonomous Agents and
Multi-Agent Systems, 3(3), 285-312.
Zambonelli, F., Jennings, N. R., & Wooldridge, M. (2001). Organisational
abstractions for the analysis and design of multi-agent systems. In Pro-
ceedings of the Agent-Oriented Software Engineering, LNCS, Vol.
1957 (pp. 235-251). Berlin: Springer-Verlag.
Endnote
1
Ed. This is a known weakness of UML. See, for example, Barbier,
Henderson-Sellers, Le Parc-Lacayrelle, and Bruel (2003) and Cook (2005).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 239
2000). The difference with this proposal compared to existing ones is how these
viewpoints are defined and built, and how they are integrated into the MAS
development process.
INGENIAS viewpoints can be complemented with extensions of known nota-
tions, such as UML use case diagrams or UML collaboration diagrams. The
extension consists of introducing new non-UML elements and associating them
with UML entities. In the case study, readers can find use case diagrams used
to depict roles (Figure 12), while interaction entities (Figure 18) appear linked
to use cases.
Viewpoint Definition
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 237
Introduction
As can be seen in this book, there are several methodologies proposed to support
a systematic way of developing an MAS. Each one of them starts by assuming
its own model of agents and proposing a convenient method of realizing the MAS.
This diversity, in principle, benefits agent research by providing different points
of view and, therefore, promoting experimentation with agent concepts. On the
other hand, this diversity may be a constraint to facilitate the adoption of agent
technology by the software industry and to integrate advances in the field.
New methodologies try to deal with this multiplicity of solutions by meta-
modeling techniques applied to the development process and to the specification
method. The goal is to finish with a set of agreed-upon concepts and MAS-
building methods as a common framework to focus agent research. However,
achieving this goal will take time and experimentation. Therefore, today, we are
working with notations in contact evolution, support tools to cope with these
changes, and development methods that have to be applied and verified in a short
time.
INGENIAS assumes the need of evolving in order to adopt or change concepts
as agent technology progresses and to incorporate this ongoing research into a
stable body of knowledge. This approach is based on:
• Open source CASE tools. These tools are available freely to the commu-
nity, so that the development method can be validated and replicated, which
is the nature of software engineering.
• A notation that can be extended and refined. Meta-modeling primitives
allow us to generalize or specialize concepts, aggregate new ones, or refine
existing ones. There has been a significant effort to integrate results of
agent research into a coherent recipe of how to define an MAS. Conse-
quently, this is not just a personal view of MAS-building but an integrative
approach.
• There is a detailed and experimented development process. A develop-
ment process is usually misunderstood in this area as a guideline. In
INGENIAS, a developer will find concrete activities to be executed, an
account of the results to be obtained, support tools to produce these results,
and a lifecycle to organize all of them.
• Implementation concerns. The methodology dedicates an important effort
to consider how to translate specifications into code automatically.
INGENIAS proposes to include the development of a customized code
generation procedure as one of the development tasks.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
238 Pavón, Gómez-Sanz & Fuentes
The Methodology
This part explains how to generate a specification of the MAS and its implemen-
tation. We built the specification of the MAS considering several viewpoints.
The concepts for describing each viewpoint are detailed in the next section.
Reading that section is important because it clarifies the graphical notation that
will be used throughout the case study. The instantiation of these viewpoints with
concrete problem entities is addressed with a development process, which is
explained in the section on the INGENIAS process. Implementation of the
resulting specification is detailed in the same section and demonstrated later on
in the case study.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
240 Pavón, Gómez-Sanz & Fuentes
Organization Viewpoint
The organization describes the framework where agents, resources, tasks, and
goals coexist. It is defined by its structure, functionality, and social relationships.
From a structural viewpoint, the organization is a set of entities with relationships
of aggregation and inheritance. The organization structure defines a decompo-
sition of the MAS in groups and workflows (see Figure 1).
Groups may contain agents, roles, resources, or applications. Groups are useful
when the number of elements in an MAS increases. Assignment of such
elements to a group obeys some organizational purpose, because the grouping
facilitates the definition of workflows or because its members have some
common characteristics.
The functionality of the organization is defined by its purpose and tasks. An
organization has one or more goals and depends upon its agents to perform the
necessary tasks to achieve them. How these tasks are related and who is
responsible of their execution are defined in workflows.
Organization
pursues
Goal
decomposes Group
workflow
Application
decomposes
plays
Agent Role Resource
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 241
workflow
connect
task task
responsible
uses Consumes/produces
Application Resource
Workflows define associations among tasks and general information about their
execution (Figure 2). For instance, for each task, a workflow defines its results,
the agent or role responsible for its execution, and the resources that are
required. This is useful to gain knowledge on the relationships between agents
through tasks, and the assignment and availability of resources in an organization.
Social relationships can be established at different levels—between organiza-
tions, groups, agents, or roles. There are service relationships (for instance,
client-server relationship), conditional or unconditional subordination, and so on.
Social rules state restrictions on the interactions between entities in the organi-
zation.
Agent Viewpoint
An agent here is a program that follows the rationality principle (Newell, 1982)
and that processes knowledge. The rationality principle says that an agent will
execute those actions that make it achieve its goals.
The agent viewpoint (Figure 3) is concerned with the functionality of each agent:
purpose (what goals an agent is committed to pursue), responsibilities (what
tasks it has to execute), and capabilities (what roles it plays). The behaviour of
the agent is defined through three components:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
242 Pavón, Gómez-Sanz & Fuentes
pursues plays
has
responsible
Mental
has M
Concrete State
Agent task
P
modifies
Fact
Belief Event
The mental state can be seen as all the information that allows the agent to make
decisions. This information is managed and processed in order to produce agent
decisions and actions made by the mental state manager (M) and processor (P).
The mental state processor makes the decision of which task to execute, while
the mental state manager provides the operations to create, destroy, and modify
the elements of the mental state and their relationships.
Tasks/Goals Viewpoint
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 243
Preconditions
Postconditions
Fact A
consumes
F
Task Fact C
produces
Fact B consumes F
F
uses uses produces
Modifies/affects
Resource goal
Application Application
<<Environment>> <<Internal>> Interaction
- method - method
Depends/decomposes into
performed (i.e., it justifies the execution of tasks as a way to satisfy goals). For
each task, it determines what elements are required and what outputs are
expected. To identify which goals are influenced by a task execution, there are
satisfaction and failure relationships. Finally, the tasks/goals viewpoint explains
how a solved goal affects other existing goals by using decomposition and
dependency relationships. It is useful to know that in solving a subgoal, a
supergoal can be solved too.
Diagrams from this view can be used to explain how the mental state processor
and manager work. In INGENIAS, how a task affects the mental state of an
agent can be represented within a goal/task view. Therefore, a developer can
define special tasks expressing what to do when new elements appear in the
mental state (tasks defining mental state management functionality) or tasks that
produce special entities representing the next task to execute (tasks for mental
state processor functionality description).
Interaction Viewpoint
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
248 Pavón, Gómez-Sanz & Fuentes
any assistance is possible when the size of the development is small. When it is
bigger, satisfying dependencies may consume most of the development effort.
To alleviate those dependencies, we propose to generate the specification in a
stepwise refinement following a conventional software engineering development
process. This process has been customized to produce the elements that our
MAS specification needs.
Initially, INGENIAS considers the Unified Software Development Process
(USDP) (Jacobson, Booch, & Rumbaugh, 1999) as its software development
process and defines a set of interrelated activities (around one hundred) that can
lead the developer to the final MAS specification. These activities are organized
in UML activity diagrams showing the dependencies between them. Instead of
presenting all of these activities here, this section focuses on the expected results
throughout the development. Readers interested in the details can consult the
original work in (Gomez-Sanz, 2002), available only in Spanish, or consult the
Web site http://ingenias.sourceforge.net
Figure 8 summarizes the results obtained in each phase of the USDP for analysis
and design activities, applied to INGENIAS MAS specification. Details about
how to apply analysis and design activities will be provided in this section.
Throughout the chapter, references to specific parts of the development process
will follow the pattern workflow-phase (for instance, design-elaboration).
PHASES
Inception Elaboration Construction
Generate use cases and identify their Refined use cases and interactions Refinements on existing
actors associated to them models to cover use cases
A Sketch a system architecture with an Agent models that detail elements of
N
organization model. the system architecture.
A Generate enviroment models to Workflows and tasks in organization
L
represent results from requirement models
Y Models of tasks and goals to highlight
gathering stage
S
control constraints (main goals, goal
I
WORKFLOWS
decomposition)
S
Refinements of environment model to
include new environment elements
Generate prototypes perhaps with
D rapid application development tool Refinements in workflows Generate new models
E such as ZEUS or Agent Tool or code Interaction models that show how
Social relationships that
S generators from the IDK. Sometimes tasks are executed.
regulate organizational behavior
I this prototyping limits to concrete Models of tasks and goals that
G aspects and uses a more reflect dependencies and needs
N conventional technology identified in workflows and how system
goals are achieved
Agent models to show required
mental state patterns
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
244 Pavón, Gómez-Sanz & Fuentes
• Actors in the interaction: who plays the role of initiator and who are the
collaborators. There should be at least one collaborator and only one
initiator.
• Interaction specification: a specification should detail how the interaction
is constructed at runtime. This refers to the protocol followed along the
interaction, but it also may include the mental attitudes that agents should
observe and actions triggered on delivering or receiving a message.
• Context of the interaction: the goals the interaction pursued and the
mental states its participants go through when the interaction starts, during
its execution, and at the end. Goals of the interaction and its participants do
not need to be the same, but they should have something in common (e.g.,
the goals pursued by agents are subgoals of the interaction goal). Common-
alities may be represented by means of a goal/task diagram (see Figure 4).
• Nature of the interaction: the nature of the interaction refers to the
attitude of interaction participants: do they negotiate, cooperate, perform
distributed planning, and so forth. This nature is detailed in the hierarchy
defined by Huhns and Stephens (2000). Knowing the nature in advance
may help in locating a proper protocol or in identifying control constraints.
Figure 5 shows the elements participating in the interaction viewpoint. For each
interaction, there is an associated interaction specification that can be special-
ized as the developer needs. INGENIAS does not use a single formalism for
interaction specification. It admits different notations for specifying interactions,
Goal
Pursues
Pursues Is detailed with
SPECIFICATION
Pursues Interaction
Intiated by Collaborates in
Pursues
GRASIA UML AUML
Spec Collaboration Protocol
diagram diagram
Agent Role
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 245
Task
Task
Interaction unit
Initiates Colaborates
Speech act
Iterates
Agent Interaction unit Agent
Colaborates Initiates
Interaction unit
Precedes Precedes
Speech act Speech act
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
246 Pavón, Gómez-Sanz & Fuentes
Environment Viewpoint
Finally, the environment viewpoint (Figure 7) defines the entities with which the
MAS interacts, which can be:
Group
Application
Is assigned Is assigned
Application Application
<<Environment>> <<Internal>> Resource Perceives
- method - method environment
through
Is assigned Is assigned
Agent
Role Agent
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 247
Developers should be aware that there are elements that may appear in different
views in a specification. This repetition of entities across different views induces
dependencies among views. This feature is a consequence of the definition of
system views and may be a source of inconsistency in a specification. For
instance, the same task entity can appear in an agent view, a task/goal view, an
organization view, and an interaction view. Therefore, to completely define a
task, creating different diagrams for different views is required. If the developer
fails to create all of these diagrams, the system specification may be incomplete.
On the other hand, if the developer creates all required diagrams, and a task is
assigned to one role in an organization view and another, different role in an agent
view, it could be interpreted that the specification is not consistent.
In order to deal with those dependencies, the original work of INGENIAS
(Gomez-Sanz, 2002) suggested that some tests to be manually applied for each
view. These tests were formulated as rules, showing for each element which
other views may be used to complement its definition. These tests were
incorporated inside of INGENIAS development process in the form of validation
activities and can be consulted at http://grasia.fdi.ucm.es/ingenias.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 249
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
252 Pavón, Gómez-Sanz & Fuentes
study, and assume that the rest is feasible. Naturally, in a more realistic case,
more aspects should be tested and some comparatives should be made in order
to make a decision. According to the USDP, this kind of task is needed in the
inception stage, which is dedicated to the verification of the feasibility of the
development.
Implementation
• A set of templates. Usually, they are templates of code that are made
concrete with data from the specification. These templates are XML
documents so they can be applied to different programming languages. The
DTD of these documents aims at highlighting the pieces of code that will
be replaced with information from the diagrams. Basic tags in the DTD are:
repeat, which means that a portion of code has to be duplicated and
instantiated with different data, and v, which means that it has to be
replaced with a concrete piece of information.
• A graph traversal algorithm. The MAS specification is viewed as a set
of graphs that can be traversed using a customized API. This API considers
graphs as containers of entities that are interconnected through n-ary
relationships.
• A data structure to be filled. During graph traversal, the developer has to
extract meaningful information from the specification and put it into a
special data structure required by the code generation framework. This
data structure is based on the DTD that defined the template, so that the
replacement is easier to program.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 251
[NO]
[ NO ]
Is there a way of
satisfying each goal?
[YES]
[ YES ]
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
254 Pavón, Gómez-Sanz & Fuentes
Support Tools
The INGENIAS Development Kit (IDK) is a set of tools that supports the
development process in INGENIAS. The IDK offers two kind of tools: a visual
editor and modules. The visual editor works as a modeling tool (Figure 11) that
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
250 Pavón, Gómez-Sanz & Fuentes
discussion about whether resulting goals do influence each other or not. On the
other hand, if goals are discovered first, it should be studied how to achieve the
state identified by the goal. If the goal is too generic, there could be many
candidate tasks or none. In the latter case, a refinement of the generic goal would
be needed. In the former case, a task-selection criterion should be described.
Achieving a goal may also involve the collaboration of other agents. This would
be represented by playing a role involved in an interaction or by executing a task
that produces an interaction, for instance.
Activity 2.c in Figure 10 tests the appropriateness of identified tasks and goals.
In principle, tasks can satisfy goals, make them fail, modify them, create them,
or destroy them. In addition, a goal may be indirectly satisfied due to the success
of its subgoals. It may be that a new goal is already subsumed by another pre-
existing one or that the execution of certain tasks already satisfies more than one
goal, including the new one. Such situations may lead to the conclusion that the
new goal does not improve the design.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 253
As a result, the IDK has influenced our initial version of the INGENIAS
development process. It has induced some new roles: module developer,
prototype developers, and analysts. Prototype developers produce the initial
versions of small parts of the system according to the identified needs. Module
developers adapt these prototypes to modules, generating templates and the
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 255
supports the notation presented in the second section of this chapter. Modules
have been presented already as the core of the code generation facilities.
The IDK is associated with the definition of the views, the meta-models, through
a XML representation of meta-model concepts, relationships, diagrams, and
graphical representation. Therefore, it is easy to make changes in the meta-
models without affecting the functionality of the IDK. This feature enables the
decoupling between the methodology and these tools, and, at the same time, it
facilitates experimentation with agent concepts.
The IDK is fully implemented in Java and distributed under GNU General Public
License and can be downloaded from http://ingenias.sourceforge.net. It is
distributed together with a reference manual that includes detailed information
about how to develop a module, how to create and modify diagrams, and a
description of the meta-models that implement the tool.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
256 Pavón, Gómez-Sanz & Fuentes
As in other methodologies, the first steps have a great importance since they bias
the rest of the development. Here, first steps imply deciding what kind of
diagrams to be created first and, therefore, which are the first identified
concepts. In Figure 8, it is suggested to start with an organization model, a UML
use case model, and an environment model. These diagrams were selected
because they represent a counterpart in the agent domain to the diagrams needed
in the USDP inception phase. However, developers have the freedom to select
others, taking into account their backgrounds. Though activities would remain
the same, selecting other diagrams determines other different development
processes where activities are executed in a different order and whose products
follow different abstraction levels. To assist developers in that situation, we
include a subsection here. That section indicates briefly what other diagrams
should be detailed according to how the process is started.
When following the instructions from Figure 8, the process is quite straightfor-
ward. Developers should determine the kind of product to generate (i.e., an agent
diagram), the phase involved (i.e., inception), and the workflow stage (i.e.,
analysis). With this information, the developer consults one of the ten activity
diagrams and applies the activities in order to obtain the requested result.
Sometimes, especially at the beginning of the process, the activity diagram
produces too much information. In our experience, the best advice is to use
Figure 8 as a guideline and avoid executing those activities that lead to
information not needed in the current stage. Therefore, Figure 8 controls the level
of abstraction and the activity diagram indicates how to obtain the required
information.
To give readers a feeling of how the development process works, we have added
references to the activities along the experiment. These are explained briefly.
Providing full details of all existing activities is not possible here because of space
constraints. For more information, readers are invited to visit http://
ingenias.sourceforge.net.
Activities are executed within the USDP. The USDP states that it may be
necessary to iterate over different phases until the system is finalized. Hence,
several analyses may occur along the development.
In our methodology, the process ends when there is a functional system that
satisfies user requirements. These are identified with use cases at the beginning.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 259
Analysis-Inception Stage
In this stage, the analyst has to demonstrate the feasibility and convenience of
building the system. This implies the definition of key functionality, first. This is
achieved by identifying use cases (Figure 12), four in our case. The main
functionality deals with how to sell a book to the customer, how to obtain new
books from publishers, how to know in advance which books should include a
discount, and informing students of the availability of these books. These use
cases are associated with role entities by means of participates relationships.
We could try to organize these roles with organization diagrams, but these
diagrams would show little information at this moment. We preferred to leave
this to the end of the section where more entities can be integrated. Nevertheless,
three main organizations can be identified: the publisher, the bookshop, and the
business school.
Next, it should be determined what existing resources and applications should be
reused by the new system. We obtain this information by elaborating on the
environment diagrams (Figure 13) that describe the existing system, according
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
260 Pavón, Gómez-Sanz & Fuentes
Figure 13. Initial elements identified in the environment of the MAS (To
check notation, see Figure 7)
to the activities defined in Figure 14. In the same diagrams, the identified
applications will determine the perception of the agent. To better understand the
kind of perception, we have allowed ourselves to propose the existence of three
types of agents.
Figure 13 shows that agents are connected with proprietary applications to obtain
information about their users. In this case, the analyst decides that interaction
with users will be realized with Web technology, so an application server is
needed. This application server is represented by an environment application
entity. This entity captures the operations that a user may request to its agent and
vice versa.
Activity Result
Determine perception of the agents (6) Associations between agents and applications
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 261
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 257
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
258 Pavón, Gómez-Sanz & Fuentes
execute this task?, which is not intuitive and compliant with a rational
approach (an agent executes a task because it wants to satisfy one of its
goals). An alternative is to identify the states that the system must reach
by determining the system goals.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
262 Pavón, Gómez-Sanz & Fuentes
Design-Inception Stage
Analysis-Elaboration Stage
In the elaboration stage, in each iteration, the analyst reorganizes use cases,
putting together related cases and discovering new ones. Though new use cases
may appear, this process converges, according to the USDP, to a point where
few use cases appear. In fact, use cases that represent key functionality
constitute a small percentage of the whole application. Here we just consider
those already presented in Figure 12.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 263
Activity Result
Figure 18. Result of a refinement of initial use cases and their association
with interactions. It is a UML use case with associated interactions. (The
meaning of the interaction symbol is given in Figure 5.)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
264 Pavón, Gómez-Sanz & Fuentes
Figure 19. Initial description of the interaction” obtain book list” (To
check notation, see Figure 5)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
266 Pavón, Gómez-Sanz & Fuentes
all the information can be obtained from the bookshop database, but we could
also say that a negotiation should be started with some publishers to see what
prices they offer. This could be done by saying that the task produces an
interaction. Filter books takes the book evaluation and produces a preprocessed
book list. Later, Elaborate Book List would produce the final list of books to be
bought. Again, the bookshop database may be required to generate a detailed list
of the prices and books.
Readers should be aware that, in determining the role of these tasks, we need to
elaborate other diagrams, such as organization diagrams and agent diagrams, in
order to determine who is responsible for executing these tasks. Later, in the
design, these tasks will be composed into workflows.
After identifying tasks, new resources, roles, and applications tend to appear. As
in the analysis-inception, we collect them into a refinement of the organization,
as shown in Figure 22.
Figure 22 shows that the organization has several workflows, one per interaction.
These workflows will collect tasks identified previously in diagrams such as
Figure 20. The Obtains books from Publisher workflow details how the
bookshop contacts the publisher, negotiates a price, and arranges a delivery. The
Provide book list workflow details the tasks involved in obtaining the discount
book list. The Organization Management workflow describes the tasks that
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 265
Activity Result
Identify tasks and goals (1) A set of goals and tasks
Decompose goals (4) Goal decomposition
relationships
Associate goals and tasks (2) Relationships among tasks and
goals
Decompose tasks (3) Task decomposition
relationships
Determine relationships Dependency relationships
amongs goals (5). among goals
Associate tasks and Instances of WFProduce
interactions(6.a) connecting task and
Interaction entities
Relate tasks with its products Instances of WFProduce and
(6.c) and inputs (6.b) WFConsume
Associate tasks and Instances of WFUse
applications (6.d). connecting applications and
tasks
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 267
Design-Elaboration Stage
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
268 Pavón, Gómez-Sanz & Fuentes
of an interaction. The interaction, on the other hand, highlights when tasks are
executed and the mental states required from the agents to start and continue
interactions. Goals are refined by determining when a goal is satisfied and when
it has failed.
Figure 23 shows a more elaborate view of the interaction from Figure 19 using
interaction units to abstract the communication technology and to include details
about the speech act (FIPA, 2001)—inform in this case, which is used in addition
to mental attitudes of participants. These will be explained later. Also, the
interaction allocates tasks, determining when the tasks from Figure 20 are
started.
The initial mental attitude of the professor (Figure 24) is referred to in an attribute
in the UIInitiates relationship. In this case, the mental attitude appears. Figure
24 shows that, in order to obtain a book list, there should be an event indicating
that there is a new book in the school database and a goal in the pending state.
Pending state means that this goal has no assigned task yet and has not yet been
refined into subgoals. The event would appear because there is a perception
relationship between the agent playing the role professor and the business
school database, similar to those identified in Figure 13 between the bookshop
agent and the bookshop database.
Proceeding in the same way with each actor of the interaction, we obtain a list
of mental states to be achieved in runtime from an initial one. These mental states
are the result of executing tasks. Therefore, the study of mental states and
associated tasks could be continued within the goal/task view. Tasks could be
examined also from the point of view of workflows. Figure 25 shows a workflow
created with the tasks identified in the interaction view and the goal/task view.
This workflow explains how to obtain a list of books from the business school.
Figure 24. Mental state required to start a obtain book list interaction (To
check notation, see Figure 3)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
270 Pavón, Gómez-Sanz & Fuentes
AddNewConv
Agent
SimpleBehavior ersation
(from co...
(from behaviors)
creates
manages RemoveFinished
StateBehavior JADEAgent Cyc licBehavior
Conversations (from behaviors)
(from jade) creates
sends a receives a
creates
message with message with
0.. *
0..*
SyncRe
SyncSender DetectNotProcess
ceiver
edMessages
modifies modifies
current state current state
<<Interface>> triggers changes
StateUpdater in the mental st ate MentalState
• Detect messages not being processed and allocate them into a data
structure.
• Create behaviours to deal with messages not processed and that are known
to the agent.
• Remove behaviours to handle protocols that are already finished.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 269
Finally, again, new pieces of information that affect the analysis model of the
organization should be reconsidered. It is unlikely that new workflows will
appear, although there could be new goals, resources, or applications.
Implementation
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 271
Figure 27. Part of the template responsible for sending messages in a State
behaviour specialization
@repeat id="sendaction"@
if (sequence.equals("@v@iud@/v@")&& options.length>0) {
int count=0;
@repeat id="nextstates"@
if (options[count].equals("@v@possibleiu@/v@")){
boolean alldefined=true;
@repeat id="condfacts"@
Fact @v@label@/v@=getAgent().getFact("@v@type@/v@");
alldefined=alldefined && @v@label@/v@!=null;
@/repeat@
@repeat id="condevents"@
Event @v@label@/v@=getAgent().getEvent("@v@type@/v@");
alldefined=alldefined && @v@label@/v@!=null;
@/repeat@
@repeat id="condgoals"@
StateGoal @v@label@/v@=getAgent().getGoal("@v@type@/v@");
alldefined=alldefined && @v@label@/v@!=null;
@/repeat@
if (alldefined && @v@condition@/v@){
sb.setState(options[count]);
}
}
count++;
@/repeat@
processed = true;
}
@/repeat@
are those of the interaction itself (obtained from Figure 23), the next interaction
unit to be executed, and the mental attitude required in the agent in order to
execute the task (which are obtained from Figure 24). So agents in the interaction
have a partial knowledge of its current state, which makes interaction more
efficient than having a global state shared among several agents.
Just as an example, Figure 28 shows the result of instantiating the template with
data from Figure 27 and Figure 24. At present, Figure 28 says that the interaction
will not be started until there is a goal labeled Bookshop_knows_what_
material_is_required and an event labelled ThereIsANewBookInSubject.
With respect to the verification of the specification, this template forces the
specification to define mental states for agents initiating an interaction and to
identify a condition or/and some mental entities, such as Goals or Facts. It could
do even more, such as determining if the goal can appear in the mental state of
the agent in the future. Instead of applying temporal logics, what this module does
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
272 Pavón, Gómez-Sanz & Fuentes
Figure 28. Instantiated template from the Figure 27 (Source code shown
here is only a part of the whole program)
if (options[count].equals("inform_library_of_book_list")){
Boolean alldefined=true;
Event
newBookEvent=getAgent().getEvent("ThereIsANewBookInSchoolDatabase");
alldefined=alldefined && fact!=null;
StateGoal
goal=getAgent().getGoal("Bookshop_knows_what_material_is_required");
alldefined=alldefined && goal!=null;
if (alldefined && true){
sb.setState(options[count]);
}
}
count++;
processed=true
Figure 29. Failures in the specification detected with the JADE module
is detect instances of this goal in the initial mental state of the agent (described
in another diagram) or if the agent is responsible for a task producing it.
Figure 29 shows an example of the errors that produce the current JADE module
included in the distribution. This is not as precise as formal methods, although it
is more intuitive for developers of average skill. Also, performing this kind of
verification does not prevent the application of formal methods to perform
further checking of the system and ensuring that the agent will have a determined
mental state in the future.
Conclusions
The INGENIAS methodology is the result of experience in developing agent-
based applications during the last five years. We have found that the use of a
methodology is the key to the control and management of the development
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
274 Pavón, Gómez-Sanz & Fuentes
ments and determine how many instances of each element shall exist. At
the moment, there is no support for deployment or component diagrams in
the current version of INGENIAS. Instead, INGENIAS delegates this task
to existing UML compliant development tools.
• Code generation. When there is a new target platform, it is necessary to
define the code generation templates. Though there is a generalized method
for generating code from the specification, there are still open issues in the
process. Developers have to participate, actively customizing how the
marked-up sources are rewritten using the specification generated with the
INGENIAS graphical language. This can be tiresome, particularly when
the developer has never developed an MAS and does not know in advance
which agent architecture to use or how an agent platform works.
• Specification correctness. Currently, the IDK applies mainly a module-
based verification and assists the user in the diagram construction activi-
ties. Due to this assistance, all diagrams are built correctly with regard to
existing meta-models. Ongoing work is being carried out to ensure the
correctness of specifications in two other aspects: coherence of diagrams
and the presence of inconsistencies. To ensure coherence between dia-
grams, INGENIAS already defines a set of rules that follow the pattern “if
an element of type X appears in the diagram of type Y, then it also has
to appear in some diagrams of type W and Z.” These rules are defined
in the original thesis work by Gómez-Sanz (2002). At present, the set of
rules is verified manually by developers during the development process,
but work is being done to make this automatic. INGENIAS is also applying
automated consistency checking using models defined with Activity Theory
(R. Fuentes et al., 2003). Activity Theory is useful because the behaviour
of agents is defined in similar terms to human and social behaviour.
Acknowledgments
This work has been supported by the Spanish Council of Science and Technology
(TIC2002-04516-C03-03).
References
Andersen, E. (2001). Juul Moller Bokhandel A/S. Retrieved April 1, 2005,
from Espen Andersen Web site http://www.espen.com/papers/index.html
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 275
Caire, G., Leal, F., Chainho, P., Evans, R., Garijo, F., Gomez-Sanz, J. J., et al.
(2001). Agent-oriented analysis using MESSAGE/UML. In Proceedings
of the Second International Workshop on Agent-Oriented Software
Engineering (AOSE 2001), LNCS 2222 (pp. 119-135). Berlin: Springer-
Verlag.
DeLoach, S. (2001). Analysis and design using MaSE and agentTool. In
Proceedings of the 12th Midwest Artificial Intelligence and Cognitive
Science Conference (MAICS 2001), Miami University, Oxford, Ohio,
March.
Demazeau, Y. (2001). La méthode VOYELLES, dans Systèmes Multi-Agents.
Des Théories Organisationnelles aux Applications Industrielles. Oslo,
Norway: Hermès.
FIPA. (2001). FIPA ACL message structure specification (No. 00061 stan-
dard). Retrieved April 1, 2005, from FIPA Web site http://www.fipa.org/
specs/fipa00061/
Fuentes, R., Gómez-Sanz, J. J., & Pavón, J. (2003). Activity theory for the
analysis and design of multi-agent systems. In Proceedings of the Fourth
International Workshop on Agent Oriented Software Engineering
(AOSE 2003), Lecture Notes in Computer Science 2935 (pp. 110-122).
Berlin: Springer-Verlag.
Fuentes, R., Gómez-Sanz, J. J., & Pavón, J. (2004). Towards requirements
elicitation in multi-agent systems. In Proceedings of Cybernetics and
Systems 2004, the 17th European Meeting on Cybernetics and Systems
Research (EMCSR 2004), Vienna, Austria, April (pp. 582-587). Austrian
Society for Cybernetic Studies.
Gomez-Sanz, J. J. (2002). Modelado de Sistemas Multi-Agente. PhD thesis,
Universidad Complutense de Madrid, Madrid.
Gomez-Sanz, J. J., Garijo, F., & Pavón, J. (2000). Intelligent interface agents
behaviour modelling. In Proceedings of the Mexican International
Conference on Artificial Intelligence (MICAI 2000), Acapulco, Mexico,
April, (LNAI 1793, pp. 598-609). Berlin: Springer-Verlag.
Gómez-Sanz, J., Pavón, J., & Díaz-Carrasco, A. (2003). The PSI3 agent
recommender system. In Proceedings of the International Conference
on Web Engineering, ICWE 2003, LNCS 2722 (pp. 30-39). Berlin:
Springer-Verlag.
Huhns, M. N. & Stephens, L. M. (2000). Multiagent systems and societies of
agents. In G. Weiss (Ed.), Multiagent systems (pp. 79-120). Cambridge,
MA: MIT Press.
Iglesias, C., Mercedes Garijo, M., Gonzalez, J. C., & Velasco, J. R. (1998).
Analysis and design of multiagent systems using MAS-CommonKADS. In
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
276 Pavón, Gómez-Sanz & Fuentes
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
The INGENIAS Methodology and Tools 273
process of an MAS and helps to identify the elements and relationships that make
up the MAS.
INGENIAS offers to the agent developer a methodology and tools to build agent-
based applications, from analysis specification to implementation in code. An
agent developer can start depicting an organization for the MAS, which identifies
its main goal and basic entities. The main goal can be decomposed in a goal/task
diagram. Interactions between entities can be described in several interaction
diagrams. At the end, the developer has created several diagrams, which are
stored as XML files and can be used later by the code generation tools to produce
the code for a target agent platform.
INGENIAS is original with respect other methodologies in several respects:
This methodology is currently being used mainly for educational and research
purposes in several universities in Spain. Our current goal is to develop new
modules and case studies, improving the tools to be applicable in software
industry environment and in alignment with FIPA standards.
We have identified four main open issues that will be covered in new releases
of INGENIAS:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 277
Chapter X
Towards Radical
Agent-Oriented
Software Engineering
Processes Based on
AOR Modelling
Kuldar Taveter
The University of Melbourne, Australia*
Gerd Wagner
Brandenburg University of Technology at Cottbus, Germany
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
280 Taveter & Wagner
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 279
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 281
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
278 Taveter & Wagner
Introduction
A Radical Agent-Oriented Process (RAP) defines a software engineering
process1 using the Agent-Object-Relationship (AOR) modelling language pro-
posed by Wagner (2003a). In AOR modelling, the agents in a problem domain
are distinguished from the non-agentive objects. The agents’ actions, event
perceptions, commitments, and claims, as well as their rights and duties, are
explicitly included in the models.
The RAP/AOR methodology is based on Wagner (2003a) and Taveter (2004a).
Wagner (2003a) presents an agent-oriented approach to the conceptual model-
ling of organizations and organizational information systems, called AOR mod-
elling, where an entity is either an agent, an event, an action, a claim, a
commitment, or an ordinary object, and where special relationships between
agents and events, actions, claims, and commitments supplement the fundamen-
tal association, aggregation, and generalization relationship types of Entity-
Relationship (ER) and UML class modelling. Business processes are viewed as
social interaction processes emerging from the behaviour of the participating
agents. In the proposed approach, behaviour is primarily modelled by means of
interaction patterns expressed in the form of reaction rules that are visualized in
interaction pattern diagrams.
Taveter (2004a) proposes an integrated business modelling technique—the
Business Agents’ Approach—that is based on AOR modelling. Taveter (2004a)
emphasizes that in addition to being a technological building block, an agent is an
important modelling abstraction that can be used at different logical levels in the
creation and development of an information system. The Business Agents’
Approach suggests an elaboration of the existing business modelling frameworks
– six perspectives of agent-oriented business modelling for distributed domains.
These perspectives are the organizational, informational, interactional, func-
tional, motivational, and behavioural perspective. The Business Agents’ Ap-
proach covers modelling from all the perspectives mentioned by employing a
combination of goal-based use cases, the AOR Modelling Language (AORML),
and Object Constraint Language (OCL), forming a part of UML 2.0 (OMG,
2003b). The Business Agents’ Approach also extends the graphical notation of
AORML by activity diagrams that are executable and enable to represent
models of several or all perspectives in just one diagram.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
282 Taveter & Wagner
We include this summary of UFO in this chapter because we want to give the
reader an idea of what a foundational ontology is and how it can help in
establishing a modelling method. The reader should know, however, that, lacking
the necessary space, we cannot treat this topic in greater depth here.
The most important concepts for the purposes of the RAP/AOR methodology,
presented in controlled English, are:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 283
PhysicalObject
(from UFO-A)
*
MomentIndividual Event
(from UFO-A) (from UFO-B)
perceives
{disjoint}
{disjoint}
Intrinsic Non-Agentive
Moment Object Non-Action
ActionEvent
* Event
* 1 creates *
inheres in
Physical
MentalMoment
Agent 1..*
Communicative
{disjoint} Message
ActionEvent
* * 1
Belief Perception
*
! bears
Communicating Sender 1
SocialMoment
PhysicalAgent
* 2..* Receiver
Communicating
{disjoint}
Agent
1..*
Commitment Institutional
Agent * InternalAgent
Note that the term agent is defined as an abstraction that subsumes physical
agents, social agents, and software agents. Since software entities are difficult
to understand ontologically (in which sense does a software entity exist in the real
world?), the category of software agents is not included in the current version
of UFO. But even if no ontological account of software agents is provided by the
foundational ontology, it may still be of great value for a software engineering
method, such as RAP/AOR, since it can help to motivate and explain the choice
of its modelling constructs and to provide guidelines on how to use a modelling
language. For instance, UFO provides an account of the meaning of roles on the
basis of its distinction between role type and base type (see the following). Role
modelling is an important issue in all agent-oriented modelling methods.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
286 Taveter & Wagner
There are two basic types of AOR models: external and internal models. An
external AOR model adopts the perspective of an external observer who is
looking at the (prototypical) agents and their interactions in the problem domain
under consideration. In an internal AOR model, we adopt the internal (first-
person) view of a particular agent to be modelled. While a (business) domain
model corresponds to an external model, a design model (for a specific agentified
information system) corresponds to an internal model that can be derived from
the external one.
Figure 3 shows the most important elements of external AOR mental state
structure modelling. In order to restore compatibility with the diagram notation
of UML 2.0 (OMG, 2003b), the graphical shape for an agent type has been
changed in this chapter from a round-cornered rectangle, which has been used
previously but which is now the UML symbol for an action/activity, to the shape
shown in Figure 3 (see also the agent types Buyer and Seller in Figure 4). In
AORML, we have overloaded this shape, which stands for a “subsystem” in
UML 2.0 (OMG, 2003b), with different semantics by using it as a graphical
symbol for the <<AgentType>> stereotype of the base class Class of UML. In
other words, an agent type is viewed as a UML class instead of a “subsystem.”
An external AOR diagram, as represented in Figure 3, depicts the agent types
and instances (if applicable) of a problem domain, together with their internal
agent types and instances, their beliefs about objects and external agents, and the
relationships among agents and/or objects.
As has been shown by Wagner (2003b), mental state structure modelling in
AORML can be defined as a UML Profile, that is, it is a conservative extension
of UML class modelling.
sends
Message Type
Agent
Type
External
Object Type receives
Internal Non-Communicative
does Action Event Type
Object Type
Commitment/Claim
Type
perceives
Action Event Type
Non-Action
perceives Event Type
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 287
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
284 Taveter & Wagner
• sortal type: type that provides an identity criterion for determining if two
instances are the same
Examples: Person; Student; City
• mixin type: type that is not a sortal type and can be partitioned into disjoint
subtypes, which are sortal types with different identity criteria
Examples: Agent; Customer; Product
• base type: sortal type that is rigid (all its instances are necessarily its
instances)
Examples: Mountain; Person
• phase type: sortal type that is anti-rigid (its instances could also not be
instances of it without losing their identity) and that is an element of a
subtype partition of a base type
Examples: Town and Metropolis are phase subtypes of City; Baby,
Teenager and Adult are phase subtypes of Person
• role type: sortal type that is anti-rigid and for which there is a relation-
ship type such that it is the subtype of a base type formed by all instances
participating in the relationship type
Examples: DestinationCity as a role subtype of City; Student as a role
subtype of Person
We understand a mixin type as a union of other types that does not have a uniform
identity criterion for all its instances. Many mixin types are role mixin types, that
is, mixin types that can be partitioned into role subtypes. For instance, Customer
is a role mixin type: it can be partitioned into PersonalCustomer and
CorporateCustomer, both of which are role subtypes (of Person and Corpora-
tion, respectively).
Note that an actor (more precisely, actor type) is an agent role type. For
instance, the actor type CEO is a role subtype of the base type Person. In many
cases, an actor type is an agent role mixin type. For instance, the actor type
BookingClerk can be partitioned into HumanBookingClerk (being a role subclass
of Person) and SoftwareAgentBookingClerk (being a role subclass of
SoftwareAgent).
In the RAP/AOR methodology, we view the autonomy of an agent as a relative
rather than an absolute characteristic. An institutional agent consisting of
internal agents is thus autonomous in relation to other institutional agents, at least
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 285
Entity
Type
{disjoint}
SortalType MixinType
{disjoint}
to some degree. The autonomy of an internal agent is even not always desired
in systems of the kind this methodology targets. For example, an autonomous
agent could reject commitments arising from its duties, which is something we
would not want for a communicating internal agent (e.g., a software agent)
forming a part of an institutional agent (e.g., a company). However, we may
allow that an internal agent makes its own prioritization decisions, which could
also be viewed as a kind of autonomy.
AORML is used as the main graphical description for work products of RAP/
AOR. We thus describe it first as a prelude to our use of it in the methodology
itself.
AORML is based on an ontological distinction between active and passive
entities, that is, between agents and (non-agentive) objects of the real world. The
agent metaphor subsumes artificial (software and robotic), natural (human and
animal), and social/institutional agents (groups, organizations, etc.).
In AORML, an entity is an agent, an event, an action, a claim, a commitment, or
an ordinary object. Only agents can communicate, perceive, act, make commit-
ments, and satisfy claims. Objects are passive entities with no such capabilities.
In addition to human and artificial agents, AORML also includes the concept of
institutional agents, which are composed of a number of other agents that act
on their behalf. Organizations and organizational units are important examples of
institutional agents.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
288 Taveter & Wagner
Buyer Seller
inventory =
request PurchaseOrder inventory@ pre -
R1 requestedQuantity
globalProductIdentifier productID =
requestedQuantity globalProductIdentifier
provideProduct
(PurchaseOrder)
Product
Item
productID
outgoing inventory
message
action isAvailable
triggering
RR
mental event
effect mental
state
condition
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 289
Normally, in a software engineering project, one or more views are created for
each viewpoint, using the respective modelling language(s). A view is a diagram
or a model of another kind, like a tabular use case or a textual description. Thus,
a viewpoint-modelling framework defines the collection of engineering docu-
ments created and used in a software engineering project. In the following, we
briefly describe different viewpoints of the framework
Domain-Interaction Viewpoint
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
290 Taveter & Wagner
According to Zambonelli, Jennings, and Wooldridge (2001), among the five types
of relationships that can be identified between institutional agent types and/or
role types, control, benevolence, and dependency relationships are the most
relevant ones to modelling interactions between agents. Control relationships
identify the authority structures within an organization. Benevolence relation-
ships identify agents with shared interests. Dependency relationships exist
between agents because of resource restrictions where the depender depends
on the dependee for the availability of a physical or an informational resource.
For example, in Figure 5 there is the isBenevolentTo relationship between
instances of the role types Seller and Buyer.
The domain-interaction viewpoint is described with the help of four views:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
commerce
Buyer 1 Seller
0..*
PurchaseOrder/Confirmation RFQ/Quote
Clerk Clerk
requestedResponseDate
ProductLineItem
QuoteLineItem
requestedQuantity <<isBenevolentTo>>
Software Software
requestedUnitPrice 0..* 1 1 0..* isSubstituteProductAcceptable
Agent Agent
globalProductUnitOfMeasureCode requestedQuantity
globalProductIdentifier globalProductUnitOfMeasureCode
shippedQuantity globalProductIdentifier
isAccept isBid
isReject isNoBid
0..*
isPending isPending
Towards Radical Agent-Oriented Software Engineering Processes
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
Figure 5. The agent diagram of the domain of business-to-business electronic
291
TEAM LinG
292 Taveter & Wagner
Seller
Quote
Order
Buyer Pay
Figure 7. The interaction frame between agents of the types Buyer and Seller
Buyer Seller
request
RFQ/Quote
inform
RFQ/Quote
request
PurchaseOrder/
Confirmation
inform
PurchaseOrder/
Confirmation
provideProduct
(PurchaseOrder)
provideProduct
(PurchaseOrder)
request
Invoice
payForProduct
(Invoice)
payForProduct
(Invoice)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 293
BuyerA SellerB
1
request RFQ/Quote
globalProductIdentifier =
"1247"
2
inform
RFQ/Quote
3
request
PurchaseOrder/
Confirmation
4
inform
PurchaseOrder/
Confirmation
5
provideProduct
(PurchaseOrder)
6
request
Invoice
7
payForProduct
(Invoice)
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
294 Taveter & Wagner
Domain-Information Viewpoint
Domain-Behaviour Viewpoint
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 295
actions performed by one agent may be, at the same time, the events perceived
by another agent. Figure 4 demonstrates that an interaction-pattern diagram can
visualize the reaction chains that arise by one reaction triggering another.
However, for adequate modelling of business processes, interaction-pattern
diagrams are not sufficient because they do not allow modelling of action
sequences. For this reason, we will introduce activities as a glue to connect the
actions of an agent within a business process to each other.
Actor types (or agent role types) are always characterized by goals because,
as noted by Kueng and Kawalek (1997, p. 19), “human activity is inherently
purposeful.” In a business domain, a human or an institutional agent acting in the
role of a “customer” has a goal of having something accomplished. To achieve
its goal, the agent uses some service provided by another agent. An agent’s
autonomy implied by a benevolence relationship between the service provider
and a service requester means that the service provider performs the service
requested if it is able to do so, but the service provider also has an option to
refuse the service request. Even though the agent requesting the service may
not explicitly communicate its goals to the service provider agent, the latter
always “internalizes” the whole or a part of the customer’s goal in an attempt to
provide the service. For example, assuming that a customer has a goal of renting
a car, the goal of a car rental company is to provide the customer with a car,
which is, of course, a subgoal of the company’s higher level goal—to earn money
through renting cars. The car rental company tries to achieve this higher level
goal by “internalizing” as many customer goals as possible.
The “internalizations” of the goals of customers by service providers can be
modelled in different ways. For example, in the i* framework proposed by Yu
(1995), a customer’s goal can be captured by representing a goal dependency
where a depender (i.e., a customer) depends on the dependee (i.e., a service
provider) to bring about a certain state in the world. In the same framework,
setting and achieving of the corresponding internal goal by the dependee can be
modelled through a means-ends link, indicating a relationship between an
internal goal to be achieved and a means for attaining it, which is usually
performing a task (activity). As another example, in the KAOS framework
described by Lamsweerde (2003), goals of agents are “operationalized” into
specifications of services to be performed by an agent.
In our approach, we capture the goals of “customers” and their “internalizations”
by service providers by employing goal-based use case models. Use cases as
such were originally introduced by Jacobson (1992). Cockburn (1997a, 1997b)
proposed an extended version of use cases that he calls “use cases with goals.”
He elaborated goal-based use cases in Cockburn (2001). While a graphical UML
use-case diagram in the domain-interaction viewpoint summarizes types of
interactions between an external actor and the focus agent (the “system”), a
tabular goal-based use case models the behaviour of the focus agent.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
296 Taveter & Wagner
Table 3. A goal-based use case for the business process type “Process the
request for a quote”
A goal-based use case, such as the use case represented in Table 3, consists of
a primary actor, the system under discussion, and a secondary actor. We will
call the system under discussion the actor in focus. In the domain-behaviour
viewpoint, where use cases describe the types of an organization’s business
processes, the actor in focus is the organization itself or an organization unit.
According to Cockburn (2001), the external primary actors are the actors
whose goals the organization is to satisfy. They include the company’s customers
and perhaps their suppliers. The external primary actors form a part of the
company’s stakeholders that includes the company shareholders, customers,
vendors, and government regulatory agencies. A secondary or a supporting
actor is an external actor that provides a service to the agent in focus, so that
the latter could achieve its goals. In parallel with the identification of primary
actors, the triggering events created by them to which the organization must
respond should be identified (Cockburn, 2001).
Internal and external actors in goal-based use cases straightforwardly corre-
spond to internal and external agents in AOR modelling. According to Cockburn
(1997a), each actor has a set of responsibilities that have been assigned to it
by external authorities. To carry out those responsibilities, it sets some goals. An
agent’s responsibility is realized as an activity that the agent performs in
response to perceiving an event of the corresponding type. The relationship
between an agent’s responsibilities, goals, and activities is illustrated by the
RAP/AOR metamodel fragment shown in Figure 9.
An activity is defined using workflow terminology as an uninterruptible amount
of work that is performed in a non-zero span of time by an actor (Eshuis, Jansen,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 297
1
0..* 1 has>
Event <perceives Agent 1
1..* 2 1
& Wieringa, 2002). Each activity belongs to some activity type. An activity type
(or task in Yu [1995]), like “Manage quoting,” is defined as a prototypical job
function in an organization that specifies a particular way of doing something
(Yu, 1995). It seems natural to allow specifying the start of an activity in the
action part of a reaction rule. In other words, an instance of an activity type is
created by means of a reaction rule in response to perceiving an event, which is
also reflected by the RAP/AOR metamodel fragment represented in Figure 9.
We define an AOR activity diagram, like the one shown in Figure 10, by making
the definition provided in UML 2.0 (OMG, 2003b) slightly more precise as a
Figure 10. An incomplete model of the quoting business process type from
the perspective of Seller
Buyer Seller
request
R1
RFQ/Quote
Manage quoting
(q : Quote)
Confirm quote
inform (q : Quote)
RFQ/Quote
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
298 Taveter & Wagner
Viewpoints of Design
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 299
We have shown in Wagner and Tulba (2003) that, with some minor extensions,
AOR models can be used for a certain form of agent-based discrete event
simulation called Agent-Object-Relationship Simulation (AORS). In RAP/
AOR, we employ AORS for achieving more agility in the software engineering
process by getting feedback from the execution of models before they are
implemented in a target technology platform.
AORS allows animating and testing both AOR domain-interaction and -behaviour
models and AOR interaction and behaviour design models.
As has been shown in Taveter (2004a), simulation of behaviour models is
facilitated by the executability of complete and incomplete AOR activity
diagrams. An AORS system, for example, the implementation described in Luin,
Tulba, and Wagner (2004), includes an environment simulator that is responsible
for simulating exogenous events and the causality laws of the physical environ-
ment. Other actors of the problem domain can be simulated with various degrees
of realism.
1. Domain modelling;
2. Requirements engineering;
3. Design;
4. Simulation;
5. Implementation;
6. Test; and
7. Deployment.
The first three disciplines listed above can be represented as the following task
sequence divided between different viewpoints:
1. Domain-interaction viewpoint:
1.1. Model agent types and instances of the problem domain and relation-
ships between them by using an AOR agent diagram.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
300 Taveter & Wagner
In large development projects, there will be a team for each of the seven
disciplines stated above.
Jacobson, et al. (1999) and Kruchten (1999) have pointed out that a software
development project has two dimensions: the temporal sequence of project
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 301
Case Study
Our case study is about the business process type of quoting in business-to-
business electronic commerce that is based on the RosettaNet standard (http:/
/www.rosettanet.org/). The RosettaNet’s “Request Quote” Partner Interface
Process® (PIP) enables a buyer to request a product quote from a provider and
a provider to respond with a quote. The prices and product availability reflected
in a quote may be influenced by an existing or potential relationship between a
buyer and provider. We now discuss the conceptual modelling of this problem
domain in terms of the RAP/AOR viewpoint modelling framework. We also
briefly address the computational design of a business-to-business process
automation system for the problem domain.
At the level of conceptual domain modelling (Row 1 in Table 1), the interaction
aspect (Column 1 in Table 1) is captured by conceptual AOR- interaction
models that are represented by using the following views: AOR agent diagrams,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
302 Taveter & Wagner
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
306 Taveter & Wagner
Figure 12. The complete behaviour model of the quoting business process
type from the perspective of Seller
Buyer Seller
request
RFQ/Quote
R1 C
Manage quoting
(q : Quote)
Quote
Process product items
(q : Quote)
QuoteLineItem
QuoteLineItem
StatusCode
R2 {quote = q} isBid
isNoBid
Process product
item isPending
(item:
QuoteLineItem) U
R3 U
ProductItem
{isAvailable productID
(item.requestedQuantity) and unitPrice
productID = itemsAvailable
item.globalProductIdentifier} isAvailable
(Integer)
Clerk
R4 approveQuote
Confirm quote
(q : Quote)
inform
R5
RFQ/Quote
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 303
Figure 11. The reaction frame for an agent of the type Seller
Seller
Buyer
request
RFQ/Quote
inform
RFQ/Quote
request
PurchaseOrder/
Confirmation
inform
PurchaseOrder/
Confirmation
provideProduct
(PurchaseOrder)
provideProduct
(PurchaseOrder)
request
Invoice
payForProduct
(Invoice)
payForProduct
(Invoice)
At the level of conceptual domain modelling (Row 1 in Table 1), the information
aspect (Column 2 in Table 1) is captured by conceptual AOR information
models, which are represented by AOR agent diagrams.
The conceptual information model of the problem domain of business-to-
business electronic commerce is represented in the agent diagram in Figure 5.
The figure shows that the object types PurchaseOrder/Confirmation, RFQ/Quote,
and Invoice are shared between agents of the types Buyer and Seller, while the
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
304 Taveter & Wagner
While the interaction aspect deals with the communication and interactions
between the agents, the behaviour aspect (Column 3 in Table 1) addresses the
agents’ reactions to the communicative and non-communicative action events
and non-action events perceived by them. At the level of conceptual modelling
(Row 1 in Table 1), the behaviour aspect is captured by the conceptual AOR
behaviour models that are represented by means of the following views: AOR
interaction-pattern diagrams, goal-based use-case models and AOR activity
diagrams.
At the level of computational design (Row 2 in Table 1), the behaviour aspect is
captured by AOR reaction-pattern diagrams and AOR internal activity dia-
grams.
Figure 4 serves as an example of an interaction-pattern diagram specifying the
reaction rule R1 for a Seller’s behaviour in response to perceiving a communi-
cative action event of the type request PurchaseOrder.
A goal-based use case can be triggered by an internal or external actor. For
example, the use case “Issue a request for a quote” with the buyer in focus is
triggered by the buyer’s internal actor “clerk,” while the use case “Process the
request for a quote” presented as an example in Table 3 is triggered by receiving
a request from a buyer for a quote. The use case (“Process the request for a
quote”) in Table 3 is modelled from the perspective of a buyer with the seller in
focus (scope), which means that the goal of the use case is the so-called user
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 305
goal, the goal of the actor (i.e., a buyer) trying to get work (primary task) done
(Cockburn, 1997a). The buyer is therefore the external primary actor of the use
case. Since the goal of the primary actor is “internalized” by the actor in focus,
unlike Cockburn, we also include the goal of the focus actor in a goal-based use
case, as is reflected by Table 3.
As shown in Taveter (2004a), a goal-based use case can be straightforwardly
turned into sequences and hierarchies of activity types whose instances are
performed by an agent. For example, an activity diagram as shown in Figure 10
corresponds to the use case represented in Table 3. In the figure, an activity of
the type “Manage quoting,” which is visualized as a roundtangle, is started by
reaction rule R1 in response to receiving a message containing a request for a
quote. As shown in Figure 10, an activity of the type “Manage quoting” consists
of sequential subactivities of the types “Process product items” and “Confirm
quote.”
For each activity type represented in Figure 10 can be defined the goal that its
instances try to achieve. The goal defined for the outermost activity type, which
is “Manage quoting” in Figure 10, corresponds to the focus actor’s goal of the
respective goal-based use case. For example, the goal of an activity of the type
“Process product items” is represented informally as “For each product item
included by the request for a quote is known whether it is to be bid or not.” This
goal can be formalized by means of OCL in terms of the input parameter declared
for the corresponding activity type, as is represented in Figure 10. Input
parameters defined for activity types represent the dataflow through the
activities.
Next, activity diagrams obtained from goal-based use cases are elaborated by
introducing into them behavioural constructs by means of reaction rules.
Taveter (2004a) has shown that AORML extended by activity modelling allows
the representation of 16 out of 19 behavioural workflow patterns as defined in
the benchmark proposal of van der Aalst, ter Hofstede, Kiepuszewski and
Barros (2003). The complete behavioural model of the quoting business process
type from the perspective of the agent role type Seller is represented in Figure
12. As the figure shows, the behavioural model shown in Figure 10 has been
complemented by the behavioural constructs of the types “For-each loop” and
“Starting an activity by means of two (or more) events.” In addition, elementary
epistemic, physical, and communicative actions that make up the activity types
“Process product item” and “Confirm quote” have been specified.
According to the behavioural construct of the type “For-each loop” represented
in Figure 12, upon the start of an activity of the type “Process product items,” its
subactivity of the type “Process product item” is performed for each instance of
the object type QuoteLineItem for which the pre-condition quote = q evaluates to
true. The pre-condition limits the set of QuoteLineItems for which the subactivity
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 307
The behavioural construct of the type “Starting an activity by means of two (or
more) events” represented in Figure 12 specifies that, upon the end of an activity
of the type “Process product items,” if the agent perceives an approval of the
quote by an internal human agent of the type Clerk, an activity of the type
“Confirm quote” is started. An activity of the given type is thus started only after
events of all the specified types have occurred. In Figure 12, such events are the
ending event of the previous activity and an approval of the quote by a human
agent instance of the type Clerk.
Since goal-based use cases also serve to document business process types
modelled by activity diagrams, in Table 5, the use case “Process the request for
Table 5. A goal-based use case for the business process type “Process the
request for a quote”
USE CASE 2 Process the request for a quote.
Goal of the To receive from the seller the quote.
Primary Actor
Goal of the Focus To provide the buyer with the quote.
Actor
Scope & Level Seller, primary task.
Success End The buyer has received from the seller the quote.
Condition
Primary Actor Buyer.
Secondary Actors
Triggering event A request for a quote by the buyer.
DESCRIPTION Step Action
1 For each product item included in the request for a quote: process
product item (Use Case 3).
2 The quote has been approved by the clerk: send the quote to the buyer.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
308 Taveter & Wagner
Simulation
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 309
3. The final step is to transform a PSM to code. Because a PSM fits its
technology very closely, this transformation is rather trivial. The complex
step is the one in which a PIM is transformed into a PSM.
In principle, the transformation from a PIM into a PSM can be performed for
each software system to be built (e.g., an agentified information system)
separately. However, in the RAP/AOR methodology, we advocate an approach
where executable AOR models are transformed into equivalent XML-based
representations that are then interpreted and executed by software agents. In the
case study of automating business-to-business processes, which we described
in our case study, this is crucial because new business process types emerge and
old ones frequently change, as a result of which specifications of business
process automation systems are in constant flux.
In order to facilitate generation of XML-based representations of business
process models, we have developed the corresponding XML Schema (http://
www.w3.org/XML/Schema) whose instances describe business process types
in a machine-interpretable way. By using the schema, it is possible to represent
business process types from different perspectives. For example, the models of
the quoting business process type created in our case study are transformed into
two XML-based representations that describe the quoting business process type
from the perspectives of the agent role types Seller and Buyer.
Interact Interact
with agent with agent
Instantiate
ACL
business Business Process
process type (...)
message Interpreter
JADE JADE Interpret Representations of
agent agent business process business process
ACL
Invoke agent types
message
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 311
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
310 Taveter & Wagner
Figure 14. The quoting business process type from the perspective of Seller
modelled by the Integrated Business Process Editor
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
312 Taveter & Wagner
Conclusions
In this chapter, we have introduced the RAP/AOR methodology for agent-
oriented information systems engineering. Unlike many other agent-oriented
methodologies, RAP/AOR is not intended to be used in the development of AI
agent systems; rather, it targets the development of large-scale distributed and
cross-enterprise business information systems that may include or even consist
of software agents. RAP/AOR is an agent-oriented extension of RUP+UML by
adding the mental state structure modelling constructs of agents, events, actions,
commitments, and claims, and by adding the behaviour modelling constructs of
reaction rules and activities. Additionally, these modelling constructs fit well with
MDA. In particular, they yield a higher level PIM language that allows a more
direct mapping of CIM elements to PIM elements.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
314 Taveter & Wagner
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 315
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Towards Radical Agent-Oriented Software Engineering Processes 313
References
Austin, J. (1962). How to do thing with words. Urmson Editor, Oxford, UK:
Clarenson Press.
Beck, K. (1999). Extreme programming explained: Embrace change. India-
napolis, IN: Addison-Wesley Professional.
Bernon, C., Glaizes, M-P., Peyruqueou, S., & Picard, G. (2002). ADELFE, a
methodology for adaptive multi-agent systems engineering. In P. Petta, R.
Tolksdorf, & F. Zambonelli (Eds.), Engineering societies in the agents
world III: Third International Workshop (ESAW 2002), Madrid, Sep-
tember 16-17, revised papers (Vol. 2577, pp. 156-169). LNAI 2577. Berlin:
Springer-Verlag.
BPML (2002). Business Process Modeling Language 1.0 and Business Process
Modeling Notation 0.9. (2002). Retrieved September 4, 2004, from http:/
/www.bpmi.org
Capera, D., Georgé, J-P., Gleizes, M-P., & Glize, P. (2003). The AMAS theory
for complex problem solving based on self-organizing cooperative agents.
In Proceedings of the 12th IEEE International Workshops on Enabling
Technologies: Infrastructure for Collaborative Enterprises (WETICE
’03), Linz, Austria, June 9-11 (pp. 383-388). IEEE Press.
Cockburn, A. (1997a, Sept). Goals and use cases. Journal of Object-Oriented
Programming, 10(5), 56-62.
Cockburn, A. (1997b, Nov/Dec). Using goal-based use cases. Journal of
Object-Oriented Programming, 10(7), 56-62.
Cockburn, A. (2001). Writing effective use cases. Reading, MA: Addison-
Wesley.
Eshuis, R., Jansen, D. N., & Wieringa, R. J. (2002). Requirements-level
semantics and model checking of object-oriented statecharts. Require-
ments Engineering Journal, 7(4), 243-263.
Evans, R., Kearney, P., Stark, J., Caire, G., Garijo, F. J., Gomez Sanz, J. J.,
Pavon, J., Leal, F., Chainho, P., & Massonet, P. (2001). MESSAGE:
Methodology for engineering systems of software agents. EURESCOM
Technical Information, 2001. Retrieved August 31, 2004, from http://
www.eurescom.de/~pub-deliverables/P900-series/P907/TI1/p907ti1.
pdf
Fowler, M. (2003). The new methodology. Retrieved September 4, 2004, from
http://martinfowler.com/articles/newMethodology.html#N400315
Guizzardi, G. & Wagner, G. (2005). Towards ontological foundations for agent
modelling concepts using the Unified Foundational Ontology. In P. Bresciani,
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
316 Taveter & Wagner
Endnotes
*
The author has done the work reported in this chapter partially as an
employee of the Technical Research Centre of Finland (VTT Information
Technology) from where he is currently on leave.
1
Strictly speaking, the RAP defines a process type family whose members
are process types that can be instantiated by different process individu-
als. It is common practice, though, to use the term “process” ambiguously
both at the level of types and at the level of instances.
2
The RAP/AOR methodology has, for example, been used for creating a
prototypical system for the automation of business-to-business processes
described in Taveter (2004b).
3
A role can be understood as an “abstract characterization of the behaviour
of a social actor within some specialized context or domain of endeavor”
(Yu, 1995), such as the role Seller.
4
Henceforth, we use the terms “actor” and “agent” as synonyms.
5
These functions are actually speech acts (Austin, 1962).
6
A subfunction is a use case that is below the main level of interest of the
primary actor.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 317
Chapter XI
Multi-Agent Systems
Engineering:
An Overview and
Case Study
Scott A. DeLoach
Kansas State University, USA
Madhukar Kumar
Software Engineer, USA
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
318 DeLoach & Kumar
Introduction
This chapter describes the Multi-agent Systems Engineering (MaSE) methodol-
ogy for analyzing and designing multi-agent systems. MaSE was originally
designed to develop closed, general purpose, heterogeneous multi-agent sys-
tems. MaSE has been used to design systems ranging from a heterogeneous
database integration system to a biologically based, computer virus-immune
system to cooperative robotics systems. While the multi-agent systems designed
by MaSE are typically closed (the number and type of all agents are known a
priori), the number of agents is unlimited, although, practically, the number of
types of different agents is limited to something less than 50.
MaSE uses the abstraction provided by multi-agent systems to help designers
develop intelligent, distributed software systems. MaSE views agents as a
further abstraction of the object-oriented paradigm where agents are a special-
ization of objects. Instead of simple objects, with methods that can be invoked
by other objects, agents coordinate with each other via conversations and act
proactively to accomplish individual and system-wide goals. Agents are a
convenient abstraction that allows designers to handle intelligent and non-
intelligent system components equally within the same framework.
MaSE builds on existing object-oriented techniques and applies them to the
specification and design of multi-agent systems. Many of the models developed
with MaSE are similar to models defined in the Unified Modeling Language.
However, the semantics of the models are often specialized for the multi-agent
setting.
MaSE was designed to be used to analyze, design, and implement multi-agent
systems by proceeding in an orderly fashion through the development lifecycle
(DeLoach, Wood, & Sparkman, 2001). MaSE has been automated via an
analysis and design environment called agentTool, which is a tool that supports
MaSE and helps guide the system designer through a series of models, from high-
level goal definition to automatic verification, semi-automated design generation,
and finally to code generation.
The MaSE methodology consists of two main phases that result in the creation
of a set of complementary models. The phases and the respective models that
result at the end of each phase are listed below. While presented sequentially,
the methodology is, in practice, iterative. The intent is to free the designer to
move between steps and phases such that with each successive pass, additional
detail is added and, eventually, a complete and consistent system design is
produced.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 319
Phases Models
1. Analysis Phase Goal Hierarchy
a. Capturing Goals Use Cases, Sequence Diagrams
b. Applying Use Cases Concurrent Tasks, Role Model
c. Refining Roles
2. Design Phase Agent Class Diagrams
a. Creating Agent Classes Conversation Diagrams
b. Constructing Conversations Agent Architecture Diagrams
c. Assembling Agent Classes Deployment Diagrams
d. System Design
Analysis Phase
The first phase in developing a multi-agent system using the MaSE method-
ology is the analysis phase. The goal of the MaSE analysis phase is to define
a set of roles that can be used to achieve the system-level goals. These roles are
defined explicitly via a set of tasks, which are described by finite state models.
This process is captured in three steps: capturing goals, applying use cases, and
refining roles.
Capturing Goals
The purpose of the first step in the analysis phase is to capture goals of the system
by extracting the goals from a set of system requirements. The initial system
requirements may exist in many forms including informal text and tell the
designer about how the system should function based on specific inputs and the
system state. The MaSE methodology uses these requirements to define goals
in two specific sub-steps: Identifying goals and Structuring goals.
Identifying Goals
The main purpose of this step is to derive the overall system goal and its subgoals
from the initial set of requirements. This is done by first extracting scenarios from
the requirements and then identifying the goals of the scenarios. These initial
scenarios are usually abstract in nature and are critical to the entire system.
Therefore, the goals identified from these scenarios are at a very high level.
These high-level goals then serve as the basis of analysis of the entire system.
The roles defined later in the analysis phase must support one of these goals.
Later, if the analyst defines a role that does not support one of these goals, either
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
322 DeLoach & Kumar
MaSE is built on the assumption that the system goals will be satisfied if each goal
maps to a role, and every role is played by at least one agent class. In general,
the mapping of goals to roles involves a one-to-one mapping. However, the
developer may choose to allow a role to be responsible for multiple goals for the
sake of convenience or efficiency. At this stage, the developer may also choose
to combine several roles; although this will most certainly increase the complex-
ity of the individual roles, it can significantly simplify the overall design.
In MaSE, goal refinement is captured in a Role Model (Kendall, 1998). In this
model, the roles are represented by a rectangle, while a role’s tasks are
represented by ovals attached to them. The arrows between tasks designate
communication protocols, with arrows pointing from the initiator of the protocol
toward the responder. Solid lines represent external communication (role-to-
role), while dashed lines indicate internal communication between tasks belong-
ing to the same role instance.
Once the roles are decomposed into a set of tasks, the individual tasks are
designed to achieve the goals for which the role is responsible. It is important to
note here that roles should not share tasks with other roles. Sharing a task among
different roles indicates improper role decomposition. If the analyst believes that
a task needs to be shared, then a separate role should be created for that task.
This will allow the task to be incorporated into different agent classes, thus being
effectively shared.
After the roles are defined, the analyst must define the details of each task in the
role model. Task definition is performed via a Concurrent Task Diagram, which
is based on finite state automata. Semantically, each task is assumed to run
concurrently and may communicate with other tasks either internally or exter-
nally. Taken collectively, the set of tasks for a specific role should define the
behavior required for that role.
A concurrent task consists of a set of states and transitions. The states in the
concurrent tasks represent the internal functioning of an agent while transitions
define the communication between tasks. Every transition in the model has a
source state, destination state, trigger, guard condition, and transmissions. The
transitions use the syntax
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
320 DeLoach & Kumar
the role is not needed or the initial set of goals was incomplete and a new goal
must be added.
Structuring Goals
After the goals have been identified, the second step is to categorize and
structure them into a goal tree. The result is a Goal Hierarchy Diagram whose
nodes represent goals and arcs define goal/subgoal relationships. The Goal
Hierarchy Diagram is acyclic; however, there some subgoals that may have
more that one parent goal.
To structure the goals, the analyst first identifies the main goal of the system. In
the case where there is more than one main goal, those goals must be summarized
as one high-level goal that is decomposed into a set of subgoals that are easier
to manage and understand. To decompose a goal into subgoals, the developer
must analyze what must be done to achieve the parent goals. A subgoal should
support its parent goal by describing a subgoal that must be achieved in order to
achieve the parent goal.
Although superficially similar, goal decomposition is different from function
decomposition since goals define what tasks must be done instead of how a task
is achieved, which is functional decomposition. Thus, goal decomposition should
stop when the designer thinks that any further decomposition will result in
functions and not subgoals. MaSE goal decomposition is similar to the KAOS
approach (van Lamsweerde & Letier, 2000) except that MaSE goals do not have
to be strictly AND-refined or OR-refined.
There are four types of goals in a Goal Hierarchical Diagram: summary goals,
partitioned goals, combined goals, and non-functional goals. Any goal or subgoal
can take on the attributes of any one, or more, of these types of goals. The four
types of goals are described below.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 325
This means that that if the message rec-mess is received with the arguments
args1 and the condition cond holds true, then the method action is called and
the message trans-mess is sent with arguments args2.
Conversations are derived from the concurrent tasks of the analysis phase, based
on the roles the agents are required to play. Thus, each task that defines an
external conversation (outside the role) ends up becoming one or more conver-
sation between agents. However, if all task communication is internal (within the
same role) or with roles that are performed by the same agent, then the
communication translates into internal function or method calls. Generally,
however, concurrent tasks translate into multiple conversations, as they require
communication with more than one agent class.
During this stage, the designer also needs to take into account other factors
besides the basic protocols defined in the concurrent tasks. For example, what
should an agent do if it does not receive the message it was expecting? Perhaps
the communication medium was disabled or the other agent failed. Therefore, the
designer should attempt to make conversations robust enough to handle potential
run-time errors.
The last two stages in MaSE involve the internal design of the agent classes and
the system-level design. The first of these stages, Assembling Agent Classes,
involves two steps, defining the agents’ architecture and defining the individual
components of the architecture. MaSE does not assume any particular agent
architecture and attempts to allow a wide variety of existing and new architec-
tures to be used. Thus, the designer has the choice of either using pre-existing
agent architecture like Beliefs, Desires, and Intentions (BDI) or creating a new
architecture from scratch. The same goes for the architecture components. The
step of assembling agents result in an Agent Architecture Diagram in which the
components are represented by rectangular boxes connected to either inner or
outer agent connectors. The inner-agent connectors, represented by thin arrows
define visibility between components, while the outer agent connectors, repre-
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 321
Once the goals have been identified and structured, the developer is ready to
move to the next step of the MaSE analysis phase, applying use cases.
In this step, the goals and subgoals are translated into use cases. These use cases
typically capture the scenarios discovered in the previous step by providing a
textual description and a set of sequence diagrams that are similar to the UML
sequence diagrams. The main difference between MaSE sequence diagrams
and UML is that in MaSE they are used to represent sequences of events
between roles instead of objects. The events sent between roles are used in later
steps to help define the communications between the agents that will be
eventually playing these roles.
The use case at this stage helps the developer in representing desired system
behaviors and sequences of events. When the use cases are converted to
sequence diagrams, the roles that are identified become the initial set of roles that
will be used in the next step of refining roles.
While not all requirements can be captured as use cases, the developer should
try to represent the critical requirements as either positive or negative use cases.
Positive use cases define the desired system behaviors, and negative use cases
describe a breakdown or an error in the system. Both are useful in defining roles
that must be played in the system.
Refining Roles
With the Goal Hierarchy Diagram and use cases in place, the analyst is ready to
move to the next step, Refining Roles. This step involves further defining roles
by associating them with specific tasks. The roles produced from this step are
defined in such a way as to ensure that each system goal is accounted for and
form the building blocks for the agents that will eventually populate the system.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 323
sent as triggers or transmissions are associated with events sent to tasks within
the same role instance, thus allowing for internal task coordination. To represent
messages sent between agents, however, two special events—send and receive
—are used.
The send event is used to represent a message sent to another agent and is
denoted by send(message, agent) while a receive event, denoted by
receive(message, agent), is used to define a message received from another
agent. The message itself consists of a performative, the intent of the message
along with a set of parameters. It is also possible to send the same message to
several agents at the same time using multicasting by using a group name of the
agents as compared to the name of a single agent.
Task states may contain activities that represent internal reasoning, reading a
percept from sensors, or performing actions via actuators. More than one
activity may be included in a single state and they are performed in an
uninterruptible sequence, which, when combined with states and transitions,
gives a general computational model. Once inside a state, the task remains there
until the activity sequence is complete. Variables used in activity and event
definitions are visible within the task, but not outside of the task or within
activities. All messages sent between roles and events sent between tasks are
queued to ensure that all messages are received even if the agent or task is not
in the appropriate state to handle the message or event immediately.
Once a transition is enabled, it is executed instantaneously. If multiple transitions
are enabled, then internal events are handled first, external messages (the send/
receive events) are next, and the transitions with guard conditions only are last
(DeLoach, 2000).
To reason about time, the Concurrent Task Model provides a built-in timer
activity. An agent can define a timer using the setTimer activity, t = setTimer(time).
The setTimer activity takes a time as input and returns a timer that will timeout
in exactly the time specified. The timer that can then be tested via the timeout
activity, timeout(t), which returns a Boolean value, to see if it has “timed out.”
Design Phase
In the analysis phase, a set of goals was derived and used to create a set of use
cases and sequence diagrams that described basic system behavior. These
models were then used to develop a set of roles and tasks that showed how the
goals should be achieved. The purpose of the design phase is to take those roles
and tasks and to convert them into a form that is more amenable to implemen-
tation, namely, agents and conversations. The MaSE design phase consists of
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
326 DeLoach & Kumar
Overview
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
324 DeLoach & Kumar
four steps. These steps include designing agent classes, developing conversation
between the agents, assembling agents, and finally deploying the agents at
system-level design.
The first step in the design phase involves designing the individual agent classes,
which is documented in an Agent Class Diagram. In this step, the designer maps
each role defined in the analysis phase to at least one agent class. Since roles are
derived from the system goals and are responsible for achieving them, enforcing
the constraint that each role is assigned to at least one agent class in the system
helps to ensure that the goals are actually implemented in the system. In general,
an agent class can be thought of as a template for creating the actual agent
instances that will be part of the multi-agent system. These templates are defined
in terms of the roles they play and the protocols they use to coordinate with other
agents.
The first step in constructing agent classes is to assign roles to the agent classes.
If the designer chooses to assign more than one role to the same agent class, the
roles may be performed either concurrently or sequentially. The assignment of
roles to agents allows the multi-agent organization to be easily modified, since the
roles can be manipulated modularly. This allows the designer to manipulate the
design to account for various software engineering principles, such as functional
or temporal cohesion.
Once the agents are created by identifying the roles they will be playing, the
conversations between agents are designed accordingly. For example, if two
roles, R1 and R2, that shared a communication protocol were assigned to agent
classes A1 and A2 respectively, then A1 and A2 would require a conversation
(to implement the protocol) between them as well.
The Agent Class Diagram that results from this step is similar to object-oriented
class diagrams. They are different in that (1) agent classes are defined by the
roles they play instead of their attributes and methods, and (2) the relationships
between agent classes are always conversations.
Constructing Conversations
Once the agent classes have been defined and the required conversations
identified, the detailed design of the conversations is undertaken. These details
are extracted from the communications protocols identified in the analysis phase.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 327
and efficient in conducting searches, but that it should also be able to work in the
background and, at the same time, be non-intrusive to the user. Moreover, since
use of the Internet has become commonplace, it is assumed that a person using
MART has access to the Internet. It would be more useful if the research tool
could use distributed computing to retrieve research material and present it to the
user whenever he/she decides to view or use them. Based on the nature of the
original motivation, it was decided to build MART as a multi-agent system since
the location and numbers of the various components within the local network
would not be known in advance. Since MART was developed using the MaSE
methodology, the decision to use the agentTool development environment—a
software engineering tool that directly supports MaSE analysis and design—was
straightforward.
In the first step of the Analysis Phase, the following goals were defined based
on the requirements for the MART system, as presented above. As shown in
Figure 1, the overall goal of the system is to produce the results of a search for
keywords from the user’s article. This goal is partitioned into four subgoals:
ranking and refining the keywords used in the search, searching the Web for
results, producing and presenting the result to the user, and managing the entire
system.
The rank and refine search keywords goal is partitioned into two subgoals:
reading user keywords and ranking the keywords. The goal, search the Web, is
also partitioned; however, it has only one subgoal, namely, search Web sites.
Although not technically required, this goal structure was adopted so that future
versions could add additional goals that could include searching other types of
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
328 DeLoach & Kumar
information sources such as databases located on the host computer and/or local
network. Finally, the goal produce results is partitioned into three subgoals that
allow for reading raw results, refining the raw results, and producing the final
results that will be presented to the user.
After defining the goals, three primary use cases were generated based on the
three main subgoals (1.1, 1.2, and 1.3 in Figure 1). These use cases are Refine
and Rank Keywords, Search the Web, and Generate Results. Each is
presented in detail below.
The Refine and Rank Keywords use case defines how the system should behave
when it is initially asked to perform as search. As shown in Figure 2, the manager
of the search process asks the reader to read the predefined user preferences
and keywords and then asks the ranker to rank the keywords that were returned.
The user preferences define exactly how the user prefers the search to be
conducted while the keywords are the specific words on which the user wants
the search to be conducted. These keywords are then ranked in terms of
relevance to the article the user is currently writing.
Figure 2. Sequence diagram for “Refine and Rank Keywords” use case
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 329
Figure 3. Sequence diagram for the use case “Search the Web”
As shown in Figure 3, the Search the Web use case defines the basic search
process of the system once a set of keywords has been developed. Each
searcher agent is asked to search its known Web sites for a specific set of
keywords. Exactly where and how each searcher conducts its search is not
known to the manager. However, once results are received back by the searcher
agents, the results are returned to the controller, who tabulates the results for a
variety of searchers.
Generate Results
The sequence diagram in Figure 4 shows that the manager, once it has the raw
results, sends a message to the result generator along with the raw results. The
result generator refines the results by extracting duplicates and providing proper
formatting and then sends back the finished product back to the manager.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
330 DeLoach & Kumar
Refining Roles
The role diagram depicts how the different goals are mapped to the roles of the
system. Figure 5 shows that the controller has many tasks that collaborate with
the other roles in order to read keywords, perform a search, and generate the
finished product. The numbers inside rectangles (roles) indicate the goals for
which they are responsible. For example, the Controller role is responsible for
goal 1.4 from Figure 1, which is the goal of managing the system.
As discussed above, the solid lines connecting the different roles represent the
communication between the roles. The dotted line between tasks in the Sleuth
role (the makeRaw protocol) shows that it is an internal communication between
tasks within the same role instance (agent). The makeRawResults task is
invoked by the rawResults task of the Sleuth once it receives the searchTheWeb
request from the controller.
Once the Role Model has been constructed, a concurrent task model was defined
for each task in the role model. For example, showKeywords is a task for the
KeywordsReader role. An example of a concurrent task model for
showKeywords is shown in Figure 6. The task starts when a readPrefs message
is received from an agent named controller. After receiving the message, the
user preferences are read via the activity readPreferences() in the readPreferences
state. Upon completion of the activity, the task enter the readKeywords state
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 331
where it gets the keywords from the user via the readKeywords() activity. If the
keywords list is empty (null), then the task ends without sending a response.
Otherwise, the task sends the set of keywords back to the controller.
After all the tasks from the Role Model have been defined via concurrent task
diagrams, the analysis phase ended and the design phase commenced. The first
step of the design phase is to define the basic system architecture using an Agent
Class Diagram. The initial task was to create agent classes and assign them
specific roles to play.
The Agent Class Diagram shown in Figure 7 shows that MART has five different
agents: AgentManager, AgentKey, AgentProducer, AgentGoogle, and
AgentTeoma. The lines connecting the agents represent the conversations
between the agents. For example, searchTheWeb is a conversation that is
initiated by AgentManager. searchTheWeb is unique in that it exists between the
AgentManager and two different agent types: AgentGoogle and AgentTeoma.
Actually, both of these agent types implement the Sleuth role, and the conver-
sation can be directed from the AgentManager to either agent type requesting
them to conduct a search and return raw results. The agent classes in Figure 7
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 335
design was implemented by integrating all the agent components into a single
class (one class for each agent type). This resulted in the simplified class
structure shown in Figure 12.
The system architecture is shown in Figure 13, where each agent class is
represented as a package. Obviously, multiple versions of each agent may exist.
The KeyObjectPackage, which is accessed by each of the agents, includes shared
definitions of data objects passed between agents. The diagram also includes a
user-defined stereotype «conversation» to denote the existence of conversations
between the various agent packages. The system was implemented using the
agentMom agent-oriented middleware system, which inherently supports the
concept of conversations as defined in MaSE (Mekprasertvit, 2004).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
334 DeLoach & Kumar
After completing the analysis and design for MART, the implementation of the
system began. As the system analysis and design was performed using agentTool,
the first step was to verify that the conversations were correct and deadlock
free. After this step was completed, the code generation capabilities of agentTool
were employed to generate the initial code, which included stubs for each agent,
each component, and each side of the conversations. Generally, each agent
component is implemented as a single class. However, due to the simplicity of
the components defined during the Assembling agents step, each agent class
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 333
After developing the conversations required for MART, the next step was
constructing the individual components of the agent classes. As discussed
earlier, there is a choice of either using either pre-existing agent architectures or
creating an application-specific architecture. Because the MART agents were
simple, it was decided that a simple application-specific architecture was the best
approach for MART. Each concurrent task was mapped directly to an internal
component in the architecture, thus making the internal agent design directly
reflect the roles and tasks of the analysis model. An example of component
structure of the AgentKey agent class is shown in Figure 10.
The attributes and methods of the showKeywords component are derived
directly from the showKeywords task defined in Figure 6, with the exception of
the conv_r_readUserPreferences method. The conv_r_readUserPreferences method
was created to initiate the readUserPreferences conversation. When the agent
wants to start the readUserPreferences conversation, it calls the method, which
contains all the implementation dependent code for handling the conversation.
The rankedKeywords component was derived similarly. Because these two
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
336 DeLoach & Kumar
Strengths
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 337
showing that the entities defined in previous models are implemented success-
fully in the current model. It also provides an excellent tool for tracking down
system errors. If a particular goal is not being successfully achieved, the
developer can track that goal directly to the responsible role and then on the
implementing agent classes.
Often in multi-agent approaches, developers are allowed to specify behavior and
agent communications protocols; however, the relationship between the two is
not always clear. MaSE provides a way of directly defining the relationship
between agent communication protocols and the internal behavior of the agent.
This relationship is captured in the concurrent task diagrams and is carried over
to agent conversation diagrams. By studying a set of concurrent tasks, it
becomes evident how the communications between roles, and eventually agents,
directly affects and is affected by the results of the communication. For instance,
in Figure 6, it is clear that the computation (the readPreferences activity) starts
after receiving the readPrefs message, and the results of the readKeywords
activity determine whether the userKeywords message is even sent.
MaSE is also supported by the agentTool development environment. AgentTool
is a software engineering tool built to help designers create multi-agent systems
using the MaSE methodology. Using agentTool, a multi-agent system can be
developed by following the MaSE steps in both the analysis and design phases.
Since agentTool is a graphical-based tool, all the diagrams and the models
described in the MaSE methodology are created using the tool. During each step
of system development, the various analysis and design diagrams are available
via agentTool and the developer is allowed to move freely back and forth
between models in the various MaSE steps. A developer may also use agentTool
to verify a conversation at any point by using the conversation verification
capability (Lacey & DeLoach, 2000), which uses the Spin model checker
(Holzmann, 1997) to check for deadlocks, as well as non-progress loops, syntax
errors, unused messages, or unused states. If an error exists, the verification
results are presented textually to the developer as well as by directly highlighting
the offending conversation diagram. AgentTool includes developing support for
semi-automatic transformations that convert a set of analysis models into the
appropriate design models (Sparkman, DeLoach, & Self, 2001). To initiate the
process, the designer assigns roles to specific agent classes and then applies the
semi-automated transformations. There are three transformation stages. In
stage one, the transformations determine to which protocol individual concurrent
task events belong. Next, the transformations create internal components for
each concurrent task associated with the agent class. In the final stage, the
conversations are extracted from the concurrent tasks and placed in conversa-
tion diagrams.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
332 DeLoach & Kumar
Constructing Conversations
After creating the agent classes and documenting them via the Agent Class
Diagram, the individual communication between the agents was defined, based
on the protocols between the appropriate roles from which they were derived.
Each resulting conversation was documented using a pair of Conversation
Diagrams, which are similar to and can be derived from the concurrent tasks
models developed during the analysis phase (Sparkman, DeLoach, & Self, 2001).
Each conversation is represented from the initiator’s and the responder’s points
of view. For example, the conversation rankKeywords from the above diagram
has the agent class AgentManager as the initiator and agent class AgentKey as
the responder. The diagrams are show below in Figure 8 and Figure 9. Taken
together, the diagrams show that the initiator sends the rankKey message with the
parameter keywords to the responder and then waits until a rankedKey message
is returned along with the ranked set of keywords via the message parameter. The
responder side of the conversation is quite similar, with the messages sent by the
initiator being received and the messages received by the initiator being sent. The
obvious difference between the two is that the responder side includes an
activity, rankKeywords(), that is called to actually perform the ranking process.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
338 DeLoach & Kumar
Weaknesses
While MaSE provides many advantages for building multi-agent systems, it is not
perfect. It is based on a strong top-down software engineering mindset, which
makes it difficult to use in some application areas. First, MaSE is not currently
appropriate for the development of open multi-agent systems. Since MaSE
predefines the communications protocols between agent classes, the resulting
system assumes that any agents trying to participate in the system implicitly
know what those protocols are. In addition, MaSE does not inherently support the
use of different ontologies, although an extension to MaSE by DiLeo, Jacobs, and
DeLoach (2002) does incorporate the notion of ontologies into MaSE and
agentTool. In general, however, MaSE implicitly defines an ontology that is
embedded in the task communication protocols and is implemented within each
agent.
The MaSE notion of conversations can also be somewhat bothersome, as they
tend to decompose the protocols defined in the analysis phase into small, often
extremely simple pieces when the original protocol involves more than two
agents. This often results in conversations with only a single message. This
makes comprehending how the individual conversations fit together more
difficult.
MaSE also tends to produce multi-agent systems with a fixed organization.
Agents developed in MaSE tend to play a limited number of roles and have a
limited ability to change those roles, regardless of their individual capabilities.
Recent trends in multi-agent systems are towards the explicit design and use of
organizations, which allow heterogeneous agents to work together within well-
defined roles to achieve individual and system-level goals. In multi-agent teams,
the use of roles and goals allows the agents to perform their duties in an efficient
and effective manner that allows the team to optimize its overall performance.
In most multi-agent design methodologies, including MaSE, the system designer
analyzes the possible organizational structure and then designs one organization
that will suffice for most anticipated scenarios. Unfortunately, in dynamic
applications—where the environment as well as the agents may change—a
designer can rarely account for or even consider all possible situations.
Ideally, a multi-agent team would be able to design its own organization at
runtime. To accomplish this, MaSE would have to be extended to be able to
analyze and design multi-agent organizations. While MaSE already incorporates
many of the required organizational concepts such as goals, roles, and the
relations between these entities, it cannot currently be used to define a true multi-
agent organization.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Multi-Agent Systems Engineering 339
Conclusions
MaSE provides a detailed approach to the analysis and design of multi-agent
systems. MaSE combines several established models into a comprehensive
methodology. It also provides a set of transformation steps that shows how to
derive new models from the existing models thus guiding the developer through
the analysis and design process.
MaSE has been successfully applied in many graduate-level projects as well as
several research projects. The Multi-agent Distributed Goal Satisfaction Project
used MaSE to design the collaborative agent framework to integrate different
constraint satisfaction and planning systems. The Agent-Based Mixed-Initiative
Collaboration Project also used MaSE to design a multi-agent system focused on
distributed human and machine planning. MaSE has been used successfully to
design an agent-based heterogeneous database system as well as a multi-agent
approach to a biologically based computer virus-immune system. More recently,
we applied MaSE to a team of autonomous, heterogeneous search and rescue
robots (DeLoach, Matson, & Li, 2003). The MaSE approach and models worked
very well. The concurrent tasks mapped nicely to the typical behaviors in robot
architectures. MaSE also provided the high-level, top-down approach missing in
many cooperative robot applications.
Future work on MaSE will focus on specializing it for use in adaptive multi-agent
and cooperative robotic systems based on an organizational theoretic approach.
We are currently developing an organizational model that will provide the
knowledge required for a team of software or hardware agents to adapt to
changes in their environment and to organize and re-organize to accomplish team
goals. Much of the information needed in this organizational model—goals, roles
and agents—is already captured in MaSE. However, we will have to extend
MaSE analysis to capture more detail on roles, including the capabilities required
to play roles.
References
DeLoach, S.A. (2000). Specifying agent behavior as concurrent tasks:
Defining the behavior of social agents. Technical Report, U.S. Air
Force Institute of Technology, AFIT/EN-TR-00-03.
DeLoach, S.A., Matson, E.T., & Li, Y. (2003). Exploiting agent oriented
software engineering in cooperative robotics search and rescue. The
International Journal of Pattern Recognition and Artificial Intelli-
gence, 17(5), 817-835.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
340 DeLoach & Kumar
DeLoach, S.A., Wood, M.F., & Sparkman, C.H. (2001). Multiagent systems
engineering. The International Journal of Software Engineering and
Knowledge Engineering, 11(3), 231-258.
DiLeo, J., Jacobs, T., & DeLoach, S.A. (2002). Integrating ontologies into
multiagent systems engineering. In Proceedings of the Fourth Interna-
tional Bi-Conference Workshop on Agent-Oriented Information Sys-
tems (AOIS 2002) at AAMAS ’02, Bologna, Italy, July 16. Available from
http://CEUR-WS.org/Vol-59
Holzmann, G.J. (1997). The model checker spin. IEEE Transactions on
Software Engineering, 23(5), 279-295.
Kendall, E. (1998). Agent roles and role models: New abstractions for multiagent
system analysis and design. In Proceedings of the International Work-
shop on Intelligent Agents in Information and Process Management,
Bremen, Germany, September.
Lacey, T.H. & DeLoach, S.A. (2000). Automatic verification of multiagent
conversations. In Proceedings of the 11th Annual Midwest Artificial
Intelligence and Cognitive Science Conference, University of Arkan-
sas, Fayetteville, April 15-16 (pp. 93-100). AAAI Press.
Mekprasertvit, C. (2004). AgentMom user’s manual. Kansas State University.
Retrieved June 30, 2004, from http://www.cis.ksu.edu/~sdeloach/ai/
software/agentMom_2.0/
Robinson, D. (2000). A component based approach to agent specification.
Master’s Thesis. AFIT/GCS/ENG/00M-22. School of Engineering, Air
Force Institute of Technology, Wright-Patterson AFB.
Sparkman, C.H., DeLoach, S.A., & Self, A.L. (2001). Automated derivation of
complex agent architectures from analysis specifications. In Proceedings
of the Second International Workshop on Agent-Oriented Software
Engineering, (AOSE 2001), Springer Lecture Notes in Computer
Science (Vol. 2222, pp. 188-205).
van Lamsweerde, A. & Letier, E. (2000). Handling obstacles in goal-oriented
requirements engineering. IEEE Transactions on Software Engineering,
26(10), 978-1005.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
342 Tran & Low
Introduction
This chapter presents an evaluation and comparison of the 10 agent-oriented
software engineering (AOSE) methodologies discussed in the preceding chap-
ters. The objective is to assist researchers and practitioners in selecting the most
appropriate methodology for a particular application. In order to achieve this, we
discuss the similarities and differences between the methodologies, noting their
strengths and weaknesses with regard to their support for multi-agent systems
(MAS) development. This comparison is not a straightforward task, considering
the heterogeneity of the methodologies in terms of their scope, approaches,
terminology, development activities, and modelling notations.
The evaluation and comparison are conducted using the feature analysis
approach. Feature Analysis is the most common and cost-effective approach
compared to other evaluation techniques such as survey, case study, and field
experiment (Siau & Rossi, 1998). Feature analysis employs a checklist of
evaluation criteria to assess and compare methodologies based on selected
methodological features.
We have adopted the feature analysis framework proposed by Tran, Low, and
Williams (2003). This framework was developed from a synthesis of previous
evaluation efforts and is capable of assessing AOSE methodologies from both
the dimensions of conventional system development methodologies and those
specific to AOSE. Its evaluation criteria are comprehensive, case-generic, and
multi-dimensional, covering AOSE methodology’s process, techniques, and
models.
We will describe the evaluation framework in more detail in the next section. The
section entitled “Comparative Analysis” presents the evaluation and comparison
of the 10 AOSE methodologies, using the framework.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 341
Chapter XII
Comparison of Ten
Agent-Oriented
Methodologies
Quynh-Nhu Numi Tran
University of New South Wales, Australia
Graham C. Low
University of New South Wales, Australia
Abstract
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
344 Tran & Low
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 343
This structure highlights the framework’s attention to all three major components
of a system development methodology—process, models, and techniques.
Each evaluation criterion is accompanied by one or more questions to guide and
assist the evaluator. A detailed specification of the criteria is presented below.
Process-Related Criteria
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
346 Tran & Low
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 345
Since different evaluators may use different terms and/or descriptions of the
steps expected from an AOSE methodology, it was deemed advisable to provide
a “standard” framework of process steps that serves as an assessment
checklist for the criterion “Steps in the development process.” This framework
would provide a means of ensuring consistency not only between different
evaluators of the same methodology but also for the comparative analysis of
different methodologies.
To date, no study has been found that identifies this “standard” framework of
steps. We investigated the development process of the existing AOSE method-
ologies. We extracted the major steps from each development process and
synthesize them into a coherent super list. To verify the validity of our
recommended steps, we conducted a survey of experts for their opinions on the
importance of these steps. The survey confirmed the importance of all the
proposed steps to the development of MAS.
The proposed list of AOSE steps is used in Tables 2a to 2j (in the section
“Comparison regarding Steps and Techniques Related Criteria”) as a “yard-
stick” for evaluating and comparing the 10 methodologies in terms of the
criterion, “Steps in the development process.”
Technique-Related Criteria
Model-Related Criteria
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 347
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
348 Tran & Low
Supportive-Feature Criteria
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 349
Comparative Analysis
In this section, the 10 AOSE methodologies are evaluated and compared using
the set of Process-Related Criteria listed in section “Process Related Criteria,”
except for criteria “Steps in the development process,” “Models and nota-
tional components,” and “Definition of inputs and outputs,” which will be
discussed alongside the Technique-Related Criteria in the section entitled,
“Comparison regarding Steps and Techniques Related Criteria.” The results of
the comparative analysis are summarised in Table 1.
The 10 methodologies either adopt a formally defined, prominent development
lifecycle (e.g., ADELFE, RAP, MESSAGE, and INGENIAS) or informally
describe their lifecycle paradigm (e.g., GAIA, TROPOS, PROMETHEUS, and
MASE). In both cases, the development process of all methodologies involves
a high degree of iteration within and/or across the development phases.
INGENIAS is found to provide the best support for refinability, as all of its
models are incrementally refined and expanded throughout the Analysis and
Design phases to reach an implementation. All other methodologies develop
different models during different phases of their development process. How-
ever, they all provide a path or, at least, encourage the need for refining these
models within the corresponding phase.
With regard to the generic MAS development approach (i.e., Part a. of the
criterion “Approach towards MAS development”), most methodologies follow
the object-oriented-based approach (denoted as “OO”); that is, they take
inspiration from the OO paradigm and seek to adapt or extend the conventional
OO approaches and techniques (e.g., use cases, interaction protocol modelling,
and design patterns) and/or OO modelling notation (e.g., UML and OMT)
(Iglesias, Garijo, &Gonzalez, 1999). MAS-CommonKADS is the only method-
ology that adopts the knowledge-engineering-based approach (denoted as
“KE”), meaning it borrows techniques from the knowledge-engineering litera-
ture. TROPOS is an exception because it is built upon the i* modelling
framework developed by Yu (1995).
Regarding the approach towards using “role” in MAS development (i.e., Part
b. of the criterion “Approach towards MAS development”), we classified an
AOSE methodology as non-role-oriented (“NRO”) if it does not involve the use
of the concept “role” anywhere in the MAS development process. A role-
oriented (“RO”) methodology, on the other hand, employs “role” as a major
modelling concept. For RO methodologies, we identified the approach used by
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
MAS-
GAIA TROPOS PROMETHEUS PASSI ADELFE MASE RAP MESSAGE INGENIAS
COMMONAKADS
Usability of the Medium Medium Medium High High High High Medium Medium High
methodology
Refinability Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Approach a. i*
a. OO a. KE a. OO a. OO a. OO a. OO a. OO a. OO a. OO
modelling
towards MAS b. RO (OrO) b. NRO b. NRO b. RO b. NRO b. RO (GO) b. RO b. RO b. RO
framework
(GO and BO)
development b. NRO
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 351
the methodologies to identify roles (cited within parentheses in Table 1). Three
potential approaches for role identification are:
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
352 Tran & Low
GAIA
for modelling
understanding
components?
Supported?
Examples
Techniques
Techniques
Notational
Ease of
Outputs?
Usability
Steps
Models/
for step
Inputs/
1. Identify system goals
2. Identify system Specified as “liveness Each liveness responsibility is
tasks/behaviour I [4] Role model O responsibilities” of roles made up of “actions” and/or H M Y
“protocols”
3. Specify use case scenarios
4. Identify roles Identify roles from individuals, Model each role by its
departments/offices or sub- “responsibilities” (including
E Role model B H H Y
organizations in the target system “liveness” and “safety”) and
“permissions”
5. Identify agent classes Agent model Typically one-to-one mapping Show identifier of agent classes
E B H H Y
between roles and agent classes and their respective roles
6. Model domain
conceptualization
7. Specify acquaintances Acquaintance Identify acquaintances from Role, Show agent classes and
between agent classes E model B Agent and (inter-role) Interaction communication paths between H M Y
models them
8. Define interaction Only specifies protocols for inter- Specify purpose, initiator,
protocols role interactions. Each protocol responder, inputs, outputs and
Interaction defines an institutionalized (informal) processing description
E O H H Y
model pattern of interaction with no for each inter-role protocol
detailed sequences of exchanged
messages
9. Define content of
exchanged messages
10.Specify agent
architecture
11.Define agent mental
attitudes (e.g. goals, beliefs,
plans, commitments …)
12.Define agent behavioural Identify agents’ services by Show inputs, outputs, pre-
interface (e.g. capabilities, analyzing their roles’ condition, and post-condition for
E Service model B H H Y
services, contracts…) responsibilities, actions and each agent’s service
protocols.
13.Specify system
architecture (i.e. overview of
all components and their
connections)
14.Specify organizational Choose a structure that optimizes Specify organizational
structure/control the organizational efficiency and dependencies between roles
regime/inter-agent social Organizational simplicity, respects
E B H H Y
relationships structure model organizational rules, and reflects
the structure of real world
organization.
15.Model MAS environment Identify abstract computational Specify a symbolic name, types
(e.g. resources, facilities, Environmental resources (e.g. tuples/variables) of actions permitted on each
E B H M Y
characteristics) model that are available to agents for environmental resource and their
sensing, effecting or consuming textual/structural descriptions
16.Specify agent- Implicitly indicates that agents
environment interaction interact with environment via
I[15]
mechanism sensors and affectuators. No
additional information provided
17.Specify agent inheritance Aggregation occurs when an Show an aggregate agent class as
and aggregation agent class is composed of the the parent of the children classes
I[5] Agent model B roles that make up other agent in the tree structure of Agent H H N
classes. Does not consider model
inheritance
18.Instantiate agent classes Specify numbers of instances for
E [5] Agent model O each agent class by annotating the H M Y
class with qualifiers from Fusion
19.Specify agent instances
deployment
Extra: Specify Identify rules that must be Model safety and liveness
organizational rules respected by the organization for organizational rules
Organizational it to work coherently, and specify
E rules B how the dynamics of the H H Y
specifications organization should evolve over
time. Can refer to roles’ safety
and liveness responsibilities.
Extra: Identify initial sub- At the beginning of Analysis,
organizations determine whether multiple
E B organizations have to co-exist in H H Y
the system and become
autonomous interacting MASs
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 355
PROMETHEUS
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Capture initial goals from high-level
E Goal diagram B system description and decompose H H Y
these goals into subgoals
2. Identify system tasks/ Identify a set of functionalities by Describe each functionality in
behaviour Functionality considering groupings of goals. terms of its goals, actions,
E B H H Y
descriptor percepts/events and potential data
read/written
3. Specify use case scenarios Identify sequences of steps that
Use case Annotate each step with associated
E B describe how the system achieves a H H Y
descriptor functionality and data read/written
goal or responds to an event
4. Identify roles
5. Identify agent classes Assign functionalites to agent class Describe each agent class in terms
Agent class based on the criteria of strong of its functionalites, goals, events,
E B H H Y
descriptor coherence and loose coupling actions, and data read/written,
cardinality, agent lifetime).
6. Model domain
conceptualization
7. Specify acquaintances Whenever there is a step in a use case Show the core interaction channels
between agent classes that involves functionality from a between agents using sequence
Interaction new agent, there must be an diagrams
E B H H Y
diagrams interaction pathway from a
previously involved agent and this
new agent
8. Define interaction protocols Elaborate each complex interaction Show all variations of interaction
Interaction with protocol by analyzing use case sequences that are valid in the
E[7] B H H Y
protocols scenarios system. Each protocol may be split
into smaller chunks
9. Define content of exchanged Interaction Analyze use case scenarios
I
messages diagrams and B H L Y
[7, 8]
protocols
10.Specify agent architecture Agent Show the top-level view of an
overview agent’s internals, including top-
E diagram B level capabilities, events H H Y
connecting these capabilities, and
data objects internal to the agent
11.Define agent mental attitudes Recursively decompose each agent’s Describe each agent “plan” in
Plan
(e.g., goals, beliefs, plans, capability (step 12) into plans, events terms of input/output events,
descriptor,
commitments …) E[12] B connecting plans, data read/written actions and messages. Describe H H Y
Data
by plans and sub-capabilities. each “data object” used by the
descriptor
agent with fields and methods.
12.Define agent behavioural Identify agent “capabilities” by Describe each capability in terms
interface (e.g., capabilities, Capability analyzing functionalities assigned to of subcapabilities, plans, events
E B H H Y
services, contracts…) diagram the agent and data read/written in Capability
diagram
13.Specify system architecture Describe how the system as a whole Show an overview of all agent
(i.e. , overview of all components System will function classes in the system, messages
and their connections) E overview B connecting classes, shared data H H Y
diagram objects and percepts/actions with
the environment
14.Specify organizational
structure/control regime/inter-
agent social relationships
15.Model MAS environment System There may be data objects existing in Show and link shared data objects
(e.g., resources, facilities, E overview O the environment that must be shared to agents in System overview H M Y
characteristics) diagram among agents (e.g. , databases) diagram
16.Specify agent-environment Percepts Specify raw data available to the Specify percepts and actions for
interaction mechanism descriptor, system as “percepts” and activities each system functionality in
E B H H Y
Actions performed by the system on the Percepts and Actions descriptors
descriptor environment as “actions”
17.Specify agent inheritance and
aggregation
18.Instantiate agent classes Agent class Specify cardinality for each agent
I[5] O H L N
descriptor in its Agent class descriptor
19.Specify agent instances
deployment
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 353
TROPOS
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals In Early Requirements, identify goals Show goal dependencies among
and softgoals of stakeholders, and stakeholders and system in Actor
Actor
perform means-end analysis to diagram. Show how goals can be
diagram,
E B determine how these goals can be fulfilled (through subgoals, tasks, H H Y
Rationale
fulfilled. In Late Requirements, focus and goal/task/resource
diagram
on the target system and how it can dependencies) in Rationale
fulfil the assigned goals. diagram.
2. Identify system Perform means-end analysis to Show task dependencies among
Actor
tasks/behaviour identify tasks to achieve goals during stakeholders and system in Actor
diagram,
E[1] B both Early and Late Requirements diagram. Show how goals are H H Y
Rationale
achieved through tasks in
diagram
Rationale diagram.
3. Specify use case scenarios
4. Identify roles
5. Identify agent classes Depending on the chosen Show sub-actors within each
organizational structure (step 14), system actor and
decompose the system into sub- goal/task/resource dependencies
Actor actors, each of which can be among them
E B H H Y
diagram recursively refined into sub-actors
(can consult catalogues of agent
patterns for this activity). Assign sub-
actors to agents.
6. Model domain
conceptualization
7. Specify acquaintances Sequence Identify interactions between agents
between agent classes diagrams, to fulfil particular tasks
E B H M Y
Collaboration
diagrams
8. Define interaction protocols Elaborate each inter-agent interaction
Sequence in greater detail (e.g., by introducing
E[7] B H H Y
diagrams additional or refined exchanged
messages)
9. Define content of exchanged Model each message as a
I[7,8] H M Y
messages communication act in ACL
10.Specify agent architecture BDI agent TROPOS adopts BDI model for
I
architecture agent architecture
11.Define agent mental attitudes Define agent’s “plans” to achieve a Specify Plan diagrams at a directly
Plan
(e.g., goals, beliefs, plans, goal, perform a task, or respond to a executable level. Represent
diagrams,
commitments …) E B (communicative) event. Identify resource entities as component H M Y
Agent class
resource entities that are incorporated classes of an agent class in Agent
diagram
in the agent’s knowledge base class diagram
12.Define agent behavioural
interface (e.g., capabilities,
services, contracts…)
13.Specify system architecture
(i.e., overview of all components
and their connections)
14.Specify organizational Select a suitable organizational Specify how well each alternative
Non-
structure/control regime/inter- structure style (e.g., from the set organizational structure style
functional
agent social relationships E B proposed by TROPOS) by evaluating fulfils the system’s softgoals H H Y
requirement
its quality attributes against the
model
system’s softgoals.
15.Model MAS environment Model environment via
(e.g., resources, facilities, Actor stakeholders and their goal/
I[1,2] B H H Y
characteristics) diagram task/resource dependencies with
the system
16.Specify agent-environment
interaction mechanism
17.Specify agent inheritance and
aggregation
18.Instantiate agent classes
19.Specify agent instances
deployment
Extra: Implementation Generate BDI agents by mapping
agent’s resources, goal/softgoal, and
plans onto BDI agent belief, desire,
E BDI agents B and intentions, which can in turn be H H Y
directly implemented by JACK
database relations, Goal Event, and
Plans.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
356 Tran & Low
PASSI
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals
2. Identify system Follow standard requirements Specify functionality as use cases in Use
System
tasks/behaviour elicitation techniques in OO or case diagrams
E requirements O
scenario-based teleological
model
methods such as GBRAM
3. Specify use case scenarios System Develop a hierarchical series of use case
E[2] requirements B diagrams. The uppermost serves as a H H Y
model context diagram
4. Identify roles Identify roles for each agent by For each inter-agent interaction scenario,
exploring all the possible develop a Role identification diagram to
System scenarios of inter-agent specify the roles that agents play during
requirements interaction (captured in Agent the interaction. Describe roles with a
E model, Agent B identification diagram – step 5) Role description diagram, which shows H H Y
society their agents, role changes within an
model agent, roles’ tasks, roles’ interactions and
dependencies.
5. Identify agent classes System Package use cases into agents Show agents, their respective use cases,
E requirement B and interaction paths between use cases H M Y
model in Agent identification diagram
6. Model domain Specify concepts/entities that Represent domain ontology as an XML
Agent society
conceptualization E O define the domain’s schema or class diagram in Domain H M Y
model
knowledge. ontology diagram
7. Specify acquaintances System Agent acquaintances are reflected via the
between agent classes I[5] requirement B interaction paths between use cases in H H Y
model Agent identification diagram
8. Define interaction protocols Select and refine protocol for Document each protocol in Protocol
each agent acquaintance by description diagram (which may be
Agent society consulting e.g., FIPA library. AUML sequence diagram). Specify
E B H H Y
model Should also specify the identifier of protocol and ontology for
ontology used with the each agent acquaintance in
protocol Communication ontology diagram.
9. Define content of Specify messages’ Model exchanged messages (including
exchanged messages performatives as required by their performatives and contents) as
Agent
the interaction protocol (step transitions between agents in the Multi-
I implementati B H H Y
8), and messages’ contents by agent behaviour description diagram
on model
using concepts defined in
Domain ontology diagram.
10.Specify agent architecture Define agent structure as being Specify data structures and methods of
Agent composed of one main agent the agent and its tasks in the main agent
E implementati B class and a set of inner classes, class and task classes respectively. H H Y
on model each representing a task of the
agent
11.Define agent mental Agent Specify agent “knowledge” by Model knowledge as agent data
attitudes (e.g. , goals, beliefs, implementati using the concepts defined in structures in Single-agent structure
I[10] B H M Y
plans) on model Domain ontology diagram definition diagram
(step 6)
12.Define agent behavioural System Agent’s capabilities are Show all tasks of an agent in a Task
interface (e.g., capabilities, requirements represented by its tasks, which specification diagram. Further describe
services) model, Agent can be identified by analyzing each method required to achieve each
E B H H Y
implementati its roles and interactions task in Single-agent behaviour
on model described in Role identification description (using flow charts, state
diagrams (step 4) diagrams or text description)
13.Specify system architecture Agent Show all agent classes, their knowledge,
E implementati B tasks and connections with external H H Y
on model actors in Multi-agent structure diagram
14.Specify organizational
structure/inter-agent social
relationships
15.Model MAS environment
16.Specify agent-environment
interaction mechanism
17.Specify agent inheritance
and aggregation
18.Instantiate agent classes
19.Specify agent instances Show processing units, agents in each
deployment Deployment unit, agent movements, and units/agents
E O H L N
model connections in Deployment configuration
diagram.
Extra: Code reuse, code Try to reuse predefined
E Code model B H M N
completion patterns of agents and tasks
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
354 Tran & Low
MAS-COMMONKADS
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Perform responsibility/goal-driven Describe each goal with type,
analysis during Conceptualization activiation/deactivation condition and
E Goal case B H H Y
phase to identify responsibilities success/failure condition.
(goals) of the system
2. Identify system Decompose tasks following a top- Show tasks in an and/or tree. Describe
tasks/behaviour down approach each task in terms of inputs, outputs,
E Task model O H H N
task structure, required capabilities of
performer and preconditions.
3. Specify use case scenarios Perform user-centered analysis
during Conceptualization phase to
E Use case B Conventional OO techniques H H Y
identify potential users and how the
system processes a user request
4. Identify roles
5. Identify agent classes Analyze various sources e.g., use Describe each agent in terms of type,
cases, statement problems, role, position, description, services,
heuristics, initial Task and Expertise goals, plans, knowledge, collaborates,
E Agent model B H M Y
models skills, reasoning capabilities, general
capabilities norms, preferences and
permissions.
6. Model domain Specify domain conceptualization as Represent concepts, properties,
E Expertise
conceptualization O agent’s domain knowledge expressions and relationships in the H M Y
[11] model
domain using e.g. class/object diagrams
7. Specify acquaintances Identify prototypical conversations Model conversations by using Message
between agent classes between agents by analyzing the Sequence Charts and Event flow
Coordination
E B results of techniques used for diagrams H H Y
model
identifying agents (e.g., use cases,
heuristics, task model, CRC cards).
8. Define interaction protocols Identify protocols for complex Model protocols using high level
Coordination conversations by consulting existing Message Sequence Charts. Model the
E[7] B H H Y
model libraries and reuse protocol processing states of an agent during a
definitions protocol using State transition diagrams
9. Define content of Analyze use cases and Expertise Model data interchanged in each
Coordination
exchanged messages E[8] B model interaction in terms of data structures H H Y
model
specified in Expertise model
10.Specify agent architecture Select an appropriate architecture
and map the elements defined in
Coordination, Expertise, Agent and
E Design model B H L N
Task models onto modules of the
architecture. No techniques or
models are discussed
11.Define agent mental Specify domain knowledge, task Describe each type of knowledge in
attitudes (e.g. , goals, beliefs, knowledge, inference knowledge Domain knowledge ontology, Inference
Expertise
plans, commitments …) E B and problem solving knowledge for diagrams, Task knowledge specification H M Y
model
each agent or Problem solving method
diagrams/templates.
12.Define agent behavioural Agent model; Identify services that an agent offers to
interface (e.g., capabilities, I Organization O other agents and document this in Agent H L Y
services, contracts…) model Model and/or Organization Model
13.Specify system architecture Show all agents, objects and their
(i.e. , overview of all Organisation relationships (e.g., inheritance,
E B H M Y
components and their model association, agent-object relationship)
connections)
14.Specify organizational Model organizational relationships are
Organisation
structure/control regime/inter- I as association relationships annotated H L Y
model
agent social relationships with roles (of each involved agent)
15.Model MAS environment Perform environment-centered Describe the reaction cases coming from
(e.g. , resources, facilities, analysis during Conceptualization interaction of agents with objects in the
characteristics) phase to identify objects in the environment
Reaction
environment and potential events
cases;
E B coming from each object and actions H M N
Design model
performed by agents on each object.
Identify networking, knowledge and
coordination facilities.
16.Specify agent-environment
interaction mechanism
17.Specify agent inheritance Specify aggregation relationships for
and aggregation agent groups, and inheritance
E Organisation
B relationships for agents that inherit H M Y
[13] model
from the values of the precedent
agents
18.Instantiate agent classes I Organisation Mentioned but no techniques Develop organization model for both
O H L N
[13] model discussed agent classes and agent instances
19.Specify agent instances
deployment
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 357
ADELFE
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals
2. Identify system tasks/ Use case Identify the different functionality the Express each functionality as a
E[3] O H H Y
behaviour model system has to carry out use case
3. Specify use case scenarios Apart from identifying use cases, need to
Use case
E B also highlight the possible cooperation Conventional OO techniques H H Y
model
failures in the identified use cases
4. Identify roles
5. Identify agent classes First, decompose system into entities. Show entities and their
Determine which entities fit to be agents, relationships in Preliminary
i.e., whether they are autonomous, goal- class diagram. Update this
Software
directed, dynamic, and need to deal with diagram to indicate which
E architecture B H H Y
unpredictable events. If an agent needs to classes are agents
document
be adaptive/evolving, it should be
decomposed into a collective of sub-
agents.
6. Model domain
conceptualization
7. Specify acquaintances Software Identify potential interaction Model interaction relationships
between agent classes architecture relationships between agents, and also with sequence diagrams or
E B H M Y
document between agents and non-agent collaboration diagrams
active/passive entities
8. Define interaction protocols Analyze each use case (step 4) and Elaborate each interaction
interaction scenarios (step 7) relationship with a protocol
Interaction
diagram that specifies
E languages B H M Y
information exchanges
document
between agents and between
agents and non-entities
9. Define content of Interaction As above. Also select the communication
exchanged messages E[8] languages B languages for specifying the messages H M Y
document
10.Specify agent architecture Agent architecture should contain 5 Model each agent in terms of
Detailed
components: representations, social the 5 listed components
E architecture O H H Y
attitudes, interaction languages,
document
aptitudes, and skills
11.Define agent mental “Representations” are agent’s beliefs Specify attributes and methods
attitudes (e.g. , goals, beliefs, about itself and environment. “Social for agent’s representations.
plans, commitments …) Detailed attitudes” contain rules for dealing with Select protocols for agent’s
E architecture B non-cooperative situations. “Interaction interaction languages from the H H Y
document languages” involve protocols used by the set defined in step 8. Specify
agent. non-cooperative situations and
rules for cooperative attitudes.
12.Define agent behavioural Detailed “Skills” are capabilities that an agent Specify methods and/or
interface (e.g., capabilities, E architecture B brings to its collective. “Aptitudes” are attributes for agent’s “skills” H M Y
services, contracts…) document agent’s capabilities on its knowledge. and “aptitudes”
13.Specify system architecture Define the system architecture in terms Generate a Class diagram for
Detailed
(i.e. , overview of all of packages and classes (of agents and each package
E architecture H H Y
components and their objects). Should use design patterns
document
connections) and/or re-usable components
14.Specify organizational
structure/control regime/inter-
agent social relationships
15.Model MAS environment Identify active and passive entities in the
(e.g. , resources, facilities, Environment environment; characterize the system’s
characteristics) E definition B environment as being accessible or not, H H Y
document deterministic or not, static or dynamic,
and discrete or continuous
16.Specify agent-environment Agents interact with environment via
Detailed
interaction mechanism percepts and actions, implicitly specified
I[10] architecture O H L N
in agents’ “skills”, “aptitudes” and
document
“interactions”.
17.Specify agent inheritance Detailed Show aggregation relationships
I[13]
and aggregation architecture O between agents in Class H M Y
document diagrams
18.Instantiate agent classes
19.Specify agent instances
deployment
Extra: Elaborate and validate Specify the GUIs through which users Use any basic drawing tools
UI prototypes E UI prototype B will interact with the systems, and H M Y
relationships between GUIs
Extra: Code reuse, code Investigate (at the global level) whether a Answer a number of questions
completion AMAS is required to implement the regarding both levels
AMAS
E B system, and (at the local level) whether H H Y
adequacy test
some agents are needed to be
implemented like AMAS
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
358 Tran & Low
MASE
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Analyze initial system Hierarchically organize goals in
Goal hierarchy specifications, e.g., technical the order of importance. All
E B H H Y
diagram documents, user stories and use subgoals should relate functionally
cases. to their parent.
2. Identify system tasks/ Extended role Identify tasks that each role should Attach tasks to roles in Extended
E [4] B H H Y
behaviour diagram perform to achieve goals role diagram
3. Specify use case scenarios Use case
E B Conventional OO techniques Conventional OO techniques H H Y
diagrams
4. Identify roles Typically one-to-one mapping Show roles, their related goals and
E Role diagram B between goals and roles communication paths between H H Y
roles
5. Identify agent classes Agent class Group roles into agent classes Show agent classes, related roles,
E B H H Y
diagram and acquaintances between agents
6. Model domain
conceptualization
7. Specify acquaintances Any communication paths between
between agent classes I Agent class 2 roles indicate acquaintances
B H H Y
[5] diagram between their respective agent
classes
8. Define interaction protocols Specify conversations between Produce a Communication class
Communication agents by analyzing inter-role diagram (which is a finite state
E B H H Y
class diagrams interactions in use cases, and task machine) for each participant in
descriptions in Task state diagrams the conversation
9. Define content of Analyze inter-role interactions in Model messages as transitions
exchanged messages Communication use cases, and task descriptions in between states in Communication
E[8] B H H Y
class diagrams Task state diagrams class diagram. Specify
performatives and parameters
10.Specify agent architecture Agent class Refer to the work of Robinson Refer to the work of Robinson
E architecture O (2000) (2000) H M Y
diagram
11.Define agent mental Specify how a role/agent can fulfil Depict the task processing as a
attitudes (e.g. ,goals, beliefs, a task with a structured set of finite state machine
Task state
plans, commitments …) I[4] B activities and communications. H M Y
diagram
This implicitly represents an
agent’s plan for achieving tasks.
12.Define agent behavioural
interface (e.g., capabilities,
services, contracts…)
13.Specify system architecture
(i.e. ,overview of all
components and their
connections)
14.Specify organizational
structure/control regime/inter-
agent social relationships
15.Model MAS environment
(e.g. ,resources, facilities,
characteristics)
16.Specify agent-environment
interaction mechanism
17.Specify agent inheritance
and aggregation
18.Instantiate agent classes Deployment Similar to instantiating objects Show numbers and types of agents
E B H H Y
diagram from object classes
19.Specify agent instances Consider message traffic between Show locations of agents (e.g.,
deployment E Deployment agents and processing power hostname and address)
B H H Y
[19] diagram available on particular machines
and required by particular agents
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 359
RAP
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Goal-based Define goal for each type of activity Document the goals for each actor
E[2] use case B performed by agents (see step 2) in each goal-based use case. H H Y
Model
2. Identify system tasks/ Identify the types of activities to be Model each activity type with a
Goal-based
behaviour performed by each agent goal-based use case, which is later
E use case B H H Y
elaborated with an activity
Model
diagram.
3. Specify use case scenarios Develop a use case for each
Goal-based activity type of agent, specifying
E[1,2
use case B the involved agents, their goals, H H Y
]
Model trigger event, and actions of the
primary agent.
4. Identify roles Show all agent roles and their
I Agent Model O H M Y
respective internal agents
5. Identify agent classes Only define a system entity as an Show all agents in the system and
agent class if it can communicate, their role types
E Agent Model O perceive, act, make commitments and H L Y
satisfy claims. Otherwise, view it as a
passive object class
6. Model domain This model captures all
Information
conceptualization I information objects, thus reflecting
Model
the domain conceptualization
7. Specify acquaintances Agent acquaintances are captured
Interaction
between agent classes E B via communicative action events H M Y
Model
between agents
8. Define interaction protocols
9. Define content of Model exchanged messages as
exchanged messages Interaction communicative action event.
I[7] B H M Y
Model Passing parameters are specified in
the content of messages.
10.Specify agent architecture
11.Define agent mental Information Specify beliefs, commitments and Model agent beliefs as data objects
attitudes (e.g. , goals, beliefs, Model reaction rules for each agent that are shared or owned privately
plans, commitments …) (belief, by the agents. Model each reaction
commitment) rule by specifying the triggering
E Behaviour B event for the reaction and the H H Y
Model output action (i.e., change of
(reaction beliefs/commitments or
rule) performance of an action).
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
360 Tran & Low
MESSAGE
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Analyze organization chart, company Show a hierarchy of goal
Goal/Task
E B goals description and business processes decomposition in Goal H H Y
model
diagram
2. Identify system tasks/ Identify services that can be performed Describe the flow of tasks to
behaviour Goal/Task by roles to satisfy goals, and tasks that achieve a service in a
E[1] B H H Y
model can be implemented to fulfil these Workflow diagram
services
3. Specify use case scenarios
4. Identify roles Associate roles to goals in
Delegation structure diagram,
Agent /Role
E B and to services and tasks in H M Y
model
Workflow diagrams. Describe
each role with Role Schema
5. Identify agent classes Agent /Role Assign roles to agents based on the Describe each agent with an
model designer’s experience and heuristics Agent Schema and an Agent
E B diagram (which shows the H M Y
associated roles, goals, tasks,
and assessed data sources)
6. Model domain Incrementally add domain concepts and Specify concepts as classes in
Domain
conceptualization E B relations to Domain model as they are UML class diagram H M Y
model
needed in other models
7. Specify acquaintances Specify acquaintances between
Organization
between agent classes E B roles/agents in Organisation H M Y
Model
model.
8. Define interaction protocols Incrementally built from Analysis to May model each protocol with
Design. In Analysis phase, only need to AUML protocol diagrams or
highlight which, why, and when roles UML statechart. Can model
Interaction communicate. In Design phase, elaborate the behaviour of eachagent/role
E B H H Y
model each interaction considering the in a protocol with statecharts
assignment of roles to agents and
implementation of services in terms of
tasks
9. Define content of exchanged Define each message in
Interaction
messages I[8] O appropriate ACL in protocol H L N
model
diagrams.
10.Specify agent architecture Select an architecture that suits the Specify architecture
E B functional requirements of agents (e.g., components/layers, depending H H Y
cognitive versus reactive) on the chosen architecture
11.Define agent mental attitudes Depending on the agent architecture, Model domain entities (for
(e.g. ,goals, beliefs, plans, various categories of knowledge may domain knowledge), social
commitments …) need to be specified, including domain constraints (for social
knowledge, social knowledge and knowledge), and rules,
E B H H Y
behaviour knowledge. These can be objectives, and tasks (for
determined by analyzing the Domain behaviour knowledge)
model, Organization model, and probably using UML notation
Goal/Task model.
12.Define agent behavioural
interface (e.g., capabilities,
services, contracts…)
13.Specify system architecture System Derive system architecture from Show all system components
(i.e. , overview of all components E[14] architecture B Organization Model as a package structure H H Y
and their connections) diagram
14.Specify organizational Incrementally built from Analysis to Show stakeholders/users,
structure/control regime/inter- Design. Start by analyzing organization agents/roles, resources, sub-
agent social relationships Organization chart and business process organizations and relationships
E B H H Y
model documentation bet them (e.g. , power/peer-to-
peer organizational
relationships, acquaintances)
15.Model MAS environment Identify resources that agents use, control Show resources and their
Organization
(e.g., resources, facilities, I[14] O or receive input from (e.g. , databases, relationships with agents in H L N
model
characteristics) computational resources) Organization model
16.Specify agent-environment
interaction mechanism
17.Specify agent inheritance and
aggregation
18.Instantiate agent classes Mentioned but no techniques/models
I[5] L L N
provided
19.Specify agent instances
deployment
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 361
INGENIAS
for modelling
components?
Supported?
understanding
Examples
Techniques
Techniques
Notational
Outputs?
Usability
Steps
Models/
for step
Ease of
Inputs/
1. Identify system goals Identify goals from system Show goals, goal-subgoals
Goals and
E B requirements or objectives associable dependencies and goals-tasks H H Y
Tasks model
to agents associations
2. Identify system tasks/ Derive tasks from system Show tasks, tasks’ pre-conditions,
Goals and
behaviour E[1] B requirements or from goals post-conditions, and goals-tasks H H Y
Tasks model
associations
3. Specify use case scenarios Use case
E O Incrementally identified and refined Conventional OO techniques H H Y
diagrams
4. Identify roles Agent model, Identify roles from the analysis of Show roles as actors of
Organization workflows and tasks in Organization workflows/tasks in Organization
I[5,14
model, B model (step 14) and interactions (step model, as participants in H M Y
,8]
Interaction 8) Interaction model, and associated
model to agents in Agent model
5. Identify agent classes Apply “rationality principle” on Describe each agent in terms of its
E Agent model B system components to identify roles, goals, tasks, mental states, H H Y
agents. and control structure/process.
6. Model domain
conceptualization
7. Specify acquaintances In Analysis phase, identify Show participants (agents/roles)
between agent classes Interaction significant interactions between and goals pursued by each
E B H H Y
model actors (i.e., agents/roles) and initial interaction
schemes of exchanged info.
8. Define interaction protocols In Design phase, elaborate each Specify exchanged elements and
Interaction interaction with detailed description order of their execution (e.g. ,
E[7] B H H Y
model of exchanged elements (e.g., iteration, concurrency, branching)
messages, tuples, method calls)
9. Define content of exchanged For each message, show name of
Interaction
messages E[8] B operation, parameters, guards and H M Y
model
annotation of sequence
10.Specify agent architecture
11.Define agent mental attitudes Determine agent’s “mental states” Represent mental states in terms of
(e.g. , goals, beliefs, plans, from analysis of goals, tasks, and goals, tasks, facts, or any other
commitments …) interactions. Define the “control” of entity that helps in state
E Agent model B agent to assure desired transitions description. Agent goals can be H H Y
between its mental states modelled as initial state. Can
model agent control as algorithms
or complex deliberative process
12.Define agent behavioural
interface (e.g., capabilities,
services, contracts…)
13.Specify system architecture Implicitly reflected in the
(i.e., overview of all components Organization Organization model where all
I[14] B H H Y
and their connections) model system components and their
connections are shown
14.Specify organizational Incrementally identify and refine the Show how system components are
structure/control regime/inter- org. structure in terms of system grouped, their social dependencies
agent social relationships Organization components (i.e. , agents, roles, (e.g., subordination and client-
E B H H Y
model resources, and applications) and server relations), task/workflow
social dependencies among them assignment, and resources
used/produced.
15.Model MAS environment Identify resources and applications in Model resources and applications
(e.g., resources, facilities, the environment by analyzing system as objects. Specify internal states
Environment
characteristics) E B requirements and agent requirements and operations for applications, H H Y
model
and initial states, category, and
limit of consumption for resources.
16.Specify agent-environment Determine how agents perceive Represent agent’s perception
interaction mechanism outputs of applications in the mechanism as a type of association
Environment
E[15] B environment. Possible perception relationship between the agent and H H Y
model
mechanisms: sampling or notification an application in Environment
model
17.Specify agent inheritance and
aggregation
18.Instantiate agent classes
19.Specify agent instances
deployment
Extra: Implementation Map the system design components
to concrete components in the
E H H Y
development framework and generate
codes using code-generation tools
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
362 Tran & Low
COMMONKADS
PROMETHEUS
INGENIAS
MESSAGE
Steps
TROPOS
ADELFE
MASE
PASSI
GAIA
MAS-
RAP
1. Identify system goals H H H H H H H
2. Identify system tasks/
behaviour
M H H H H H H H H H
3. Specify use case scenarios H H H H H H H
4. Identify roles H H H M M M
5. Identify agent classes H H M H M H H L M H
6. Model domain
conceptualization
M M M
7. Specify acquaintances
between agent classes
M M H H H M H M M H
8. Define interaction
protocols
H H H H H M H H H
9. Define content of
exchanged messages
M H L H M H M L M
10.Specify agent architecture L H H H M H
11.Define agent mental
attitudes (e.g. , goals, beliefs, M M H M H M H H H
plans, commitments …)
12.Define agent behavioural
interface (e.g., capabilities, H L H H M
services, contracts…)
13.Specify system architecture
(i.e. , overview of all
M H H H H H
components and their
connections)
14.Specify organizational
structure/control regime/inter- H H L H H
agent social relationships
15.Model MAS environment
(e.g. , resources, facilities, M H M M H L H
characteristics)
16.Specify agent-environment
interaction mechanism
H L H
17.Specify agent inheritance
and aggregation
H M M
18.Instantiate agent classes M L L H L L
19.Specify agent instances
deployment
L H
All methodologies are found to specify outputs for their supported steps (denoted
as “O” in the column “Inputs/Outputs”), while most methodologies specify
inputs as well (denoted as “B,” indicating “both”).
The ease of understanding and usability of the steps are evaluated as either
High (“H”), Medium (“M”), or Low (“L”).
We summarize the comparison in Table 3, where only the assessment of the
criterion “Usability of techniques” is shown for each step of the methodolo-
gies.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
MAS-
Concepts GAIA TROPOS PROMETHEUS PASSI ADELFE MASE RAP MESSAGE INGENIAS
COMMONAKDS
Actor diagram, Goal hierarchy Goal-based use Goal/Task Goals & Tasks
System goal Goal cases Goal diagram
Rationale diagram diagram case model model model
Actor diagram, Functionality System requirement Extended role Goal-based use Goal/Task Goals & Tasks
System task/behaviour Role model Task model Use case model
Rationale diagram descriptor model diagram case model model model
System requirement Goal-based use
Use case scenario Use cases Use case descriptor Use case model Use case diagram Use case diagram
model case model
System requirement Agent model,
Agent/Role
Role Role model model, Agent society Role diagram Agent Model Organization model,
model
model Interaction model
Domain Information
Expertise model Agent society model Domain model
conceptualization model
Agent class System requirement Detailed architecture Goal-based use
Agent goal/task Actor diagram Agent model Agent model
descriptor model document case model
Agent class Agent/Role
Agent-role assignment Agent model Agent model Agent society model Agent Model Agent model
diagram model
* (can be recorded in
As resources in each Agent
Agent Detailed architecture Information mental states, but
agent in Agent class Expertise model Data descriptor implementation
belief/knowledge document model not mentioned in
diagram model
methodology)
Agent Agent model; Detailed architecture
Service model Capability diagram Agent society model
capability/service Organization model document
Agent plan/reasoning Agent
Task state Behaviour
rule/problem solving Plan diagram Expertise model Plan descriptor implementation Agent model
diagram
Interaction Interaction languages Communication Interaction
Interaction protocol Sequence diagram Coordination model Interaction protocols Agent society model Interaction model
model document class diagram model
Sequence Agent
Content of exchanged Interaction diagrams Interaction languages Communication Interaction Interaction
diagram/Collaboration Coordination model implementation Interaction model
messages & protocols document class diagram model model
diagram model
Inter-agent Information
contract/commitment model
Agent System
System overview Detailed architecture
System architecture Organization model implementation architecture Organization model
diagram document
model diagram
Organizational Organizational
Non-functional Organization
structure/inter-agent structure Organization model Organization model
requirements framework model
social relationship model
Environment Environmental Organization model; System overview Environment Organization
Environment model
resource/facility model Design model diagram definition document model
Environment Environment
characterisation definition document
Agent aggregation Detailed architecture
Agent model Organization model
relationship document
Agent inheritance
Organization model
relationship
Agent class Deployment
Comparison of Ten Agent-Oriented Methodologies
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
diagram
363
TEAM LinG
364 Tran & Low
COMMONKADS
PROMETHEUS
INGENIAS
MESSAGE
TROPOS
ADELFE
MASE
PASSI
GAIA
MAS-
RAP
Completeness/Express
M H H H H H H M M H
iveness
Formalization/ a. H a. H a. M a. H a. H a. H a. H a. H a. H a. H
Preciseness b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y
Model derivation Y Y Y Y Y Y Y Y Y Y
a. Y a. Y a. N a. Y a. Y a. Y a. Y a. N a. N a. Y
Consistency b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y
a. Y a. Y a. Y a. Y a. Y a. Y a. Y a. Y a. Y a. N
Complexity b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. Y b. N
Ease of understanding H H H H H H H H H M
Modularity Y Y Y Y Y Y Y Y Y Y
Abstraction Y Y Y Y N Y Y Y Y Y
Autonomy Y Y Y Y Y Y Y Y Y Y
Adaptability P N N N N Y N N P P
Cooperative
Y Y Y Y Y Y Y Y Y Y
behaviour
Communication
N Y Y Y Y Y Y Y Y Y
ability
Inferential capability N Y Y Y Y Y P P Y Y
Reactivity P Y Y Y Y Y Y Y Y Y
Deliberative
Y Y Y Y Y Y Y N Y Y
behaviour
Personality N N N N N N N N N N
Temporal continuity N N N N N N N N N Y
Concurrency N N N N Y N Y N N N
Human Computer
N Y Y Y Y Y N Y Y Y
Interaction
Models Reuse Y P Y P Y P Y P P P
Y: Yes N: No P: Possibly
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 365
COMMONKADS
PROMETHEUS
INGENIAS
MESSAGE
TROPOS
ADELFE
MASE
PASSI
GAIA
MAS-
RAP
Software and
methodological N N N Y Y Y Y Y Y Y
support
Open systems Y N N N N Y N N N N
Dynamic structure N N N N Y N P N N N
Agility and robustness N N Y Y N Y Y Y N N
Support for
N N N Y N Y N Y Y Y
conventional objects
Support for mobile
N N N N Y N N N N N
agents
Support for ontology N N Y N Y N N N Y N
Y: Yes N: No P: Possibly
Conclusions
• Our evaluation has been solely based upon the available documentation of
the methodologies and their documented case studies, examples, and
projects. We have not personally applied any of these methodologies on a
real project. An optimal comparison would be to use the 10 methodologies
on the same application(s).
• Some evaluation criteria are subjective in nature, particularly the usability
and understandability of the methodologies’ process steps, techniques, and
models.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
368 Henderson-Sellers
Chapter XIII
Creating a
Comprehensive
Agent-Oriented
Methodology :
Using Method Engineering
and the OPEN Metamodel
Brian Henderson-Sellers
University of Technology, Sydney, Australia
Abstract
While individual agent-oriented methodologies are useful for restricted
situations, a more flexible approach can be found in the use of situational
method engineering. Using an underpinning metamodel, a repository of
method fragments can be built up and, from this, a selected number of
fragments can be abstracted to form an organization-specific or project-
specific methodology. As an example, we demonstrate the use of the OPEN
metamodel and repository, as extended to support agent-oriented conceptual
thinking. Re-creation of existing methodologies, such as Prometheus, is
demonstrated with further enhancements from other methodologies such as
Tropos and Gaia.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
366 Tran & Low
The comparative analysis provided in this chapter is one step towards the
development of a unified, standardized AOSE framework that may be formed by
merging the various existing AOSE methodologies with some extensions. A first
step towards this, using the principles of method engineering, is described in the
next chapters.
References
Cernuzzi, L. & Rossi, G. (2002). On the evaluation of agent-oriented modeling
methods. In Proceedings of the OOPSLA Workshop on Agent-Oriented
Methodologies, Seattle, November 4-8 (pp. 21-33). University of Tech-
nology, Sydney: Centre for Object Technology Applications and Research.
Iglesias, C.A., Garijo, M., & Gonzalez, J.C. (1999). A survey of agent-oriented
methodologies. In Proceedings of the 5th International Workshop on
Intelligent Agents V: Agent Theories, Architectures, and Languages
(ATAL-98), Paris, July 4-7 (pp. 317-330). Springer-Verlag.
Jayaratna, N. (1994). Understanding and evaluating methodologies - NIMSAD
a systematic framework. Maidenhead, UK: McGraw-Hill.
The Object Agency Inc. (1995). A comparison of object-oriented development
methodologies. Retrieved November 9, 2003, from http://www.toa.com/
smnn?mcr.html
Olle, T.W., Sol, H.G., & Tully, C.J. (1983). Information systems design
methodologies – A feature analysis. Amsterdam: Elsevier Science
Publishers.
O’Malley, S.A. & DeLoach, S.A. (2001). Determining when to use an agent-
oriented software engineering paradigm. In Proceedings of the 2nd
International Workshop on Agent-Oriented Software Engineering
(AOSE 2001), Montreal, Canada, May 29 (pp. 188-205). Springer-Verlag.
Robinson, D.J. (2000). A component-based approach to agent specification.
Master’s Thesis, School of Engineering, Air Force Institute of Technology,
Wright-Patterson AFB OH.
Sabas, A., Badri, M., & Delisle, S. (2002). A multidimensional framework for the
evaluation of multi-agent system methodologies. In Proceedings of the
6th World Multiconference on Systemics, Cybernetics and Informatics
(SCI 2002), Orlando, July 14-18 (pp. 211-216). Orlando: International
Institute of Informatics and Systemics.
Shehory, O. & Sturm, A. (2001). Evaluation of modeling techniques for agent-
based systems. In Proceedings of the 5th International Conference on
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Comparison of Ten Agent-Oriented Methodologies 367
Endnotes
1
Models are differentiated from notational components in that models are
conceptual constructs that underlie the graphical or textual depictions,
which are notational components (e.g. diagrams, tabular schemas). Each
model can be depicted by many notational components (e.g., an Interaction
Model may be depicted by a set of Sequence Diagrams and/or State
Charts).
2
This is the same survey as that conducted for validating the framework of
“standard” AOSE steps in the section on “Process Related Criteria.”
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Creating a Comprehensive Agent-Oriented Methodology 369
Introduction
Individual methodologies, such as those described so far in this book, are often
created with specific purposes in mind, for example, particular domains, particu-
lar segments of the lifecycle. Used within those constraints, they are ideally
suited. However, users often make the assumption that a methodology is not in
fact constrained but, rather, is universally applicable. This can easily lead to
“methodology failure” and the total rejection of methodological thinking by
software development organizations (e.g., Avison & Fitzgerald, 2003).
The search for a one-size-fits-all methodology has been long and will, ultimately,
always be fruitless (e.g., Cockburn, 2000). If the creation of a single universally
applicable methodology is an unattainable goal, then we must ask how we might
create a methodological environment in which the various demands of different
software developers might be satisfied simultaneously. It is argued here that
such flexibility might be best obtained by the use of method engineering,
preferably based on an underlying metamodel. Formalizing methodological
concepts and constraints with a metamodel in this way allows us to identify two
component parts of a methodology: (1) the process, and (2) various products
created and/or used in the process (Rolland, Prakash, & Benjamen, 1999).
Although all the chapters in this book deal with the broader term of “methodol-
ogy” (i.e., process plus product), for our case study in this chapter, we will focus
only on the “process” part of a methodology. A second assumption we make here
is that an agent-oriented (AO) methodology can be formulated as a particular
extension of an object-oriented (OO) methodology. In the context of method
engineering and the earlier chapters of this book, we will demonstrate that this
is a reasonable assumption.
In the following sections, we introduce situational method engineering as an
effective approach for constructing a site-specific methodology that may be
tailored or customized for individual projects in the context of OPEN, particularly
as it has been partially extended to support agent-oriented software develop-
ment. In the next section (CASE STUDY), we demonstrate how such method-
ology construction works with a simple case study and, finally, we conclude with
a research and technology transfer agenda to facilitate the creation, finalization,
and technology transfer of such a “standardized” approach in the context of the
adoption of agent-oriented methodologies in an industrial context.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
372 Henderson-Sellers
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
370 Henderson-Sellers
Project
describes how
to use the
Construction Guidelines
user methodologist
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
Creating a Comprehensive Agent-Oriented Methodology 371
way to use a sequence diagram in AUML (Odell, Van Dyke Parunak, & Bauer,
2000). These method fragments thus effectively allow a methodology to be
extended by incorporating elements from other methodologies (e.g., Ralyté &
Rolland, 2001). In other words, from these method fragments can be constructed
a specialized methodology appropriate for each and every situation.
The methodologist publishes the method fragments, usually contained in a
repository1 together with some construction guidelines (Brinkkemper, Saeki, &
Harmsen Klooster, Brinkkemper, Harmsen, & Wijers, 1997; Ralyté & Rolland,
2001; Ralyté, Rolland, & Deneckère, 2004); and the user (usually an in-house
method engineer) uses these construction guidelines to create the organization-
specific or project-specific methodology within the organizational context and
constraints (Figure 1). In the case where an organization develops software in
a single domain, that constructed methodology may suffice for all developments;
for other commercial developers, the constructed methodology may need to be
project-specific.
Ideally, the elements in an SME repository should be compliant with (in fact,
generated from) a set of concepts described by a metamodel (Henderson-
Sellers, 2003; Ralyté & Rolland, 2001), which is a high-level description of the
rules that govern the kinds of method fragments that are allowable. For instance,
in the metamodel there may be an entity (often represented as a class) called
Task.2 This definition describes the characteristics and rules of all tasks (for
example, that they must be accomplished by a person using a special technique).
From this Task concept in the metamodel can then be generated (usually by
instantiation) very many kinds of tasks, for example, a task to create a class
diagram, a task to identify the use cases, and so on. For each kind of method
Concept A
...
Concept B Example 1 Example 2
Concept A Concept A
...
Concept C Example 1 Example 2
Concept B Concept B
Concept D
...
Example 1 Example 2
Concept C Concept C
...
Example 1 Example 2
Concept D Concept D
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG
374 Henderson-Sellers
Each of these five metaclasses has many subclasses in the detailed metamodel
(see Appendix G of Firesmith & Henderson-Sellers, 2002). From each of the
leaves in the metamodel hierarchy can be generated one or more method
fragments, which are, of course, instances of classes in the metamodel,
documented and stored in the OPEN repository
Each method fragment is described in a standardized way—examples of task
descriptions, for instance, are found in the Appendix to this chapter. These
descriptions are found in the books on OPEN (e.g., Firesmith & Henderson-
Sellers, 2002; Graham et al., 1997; Henderson-Sellers< Simons, & Younessi,
1998), on Web sites (http://www.open.org.au and http://www.donald-
firesmith.com) and, in the future, in software tools (e.g., Nguyen & Henderson-
Sellers, 2003). These repositories provide an extensive collection of fragments
that can be further extended to support changes in technology, for instance, as
described in this chapter, to offer additional methodology support for the novel
aspects of agent-oriented software development.
Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written
permission of Idea Group Inc. is prohibited.
TEAM LinG