You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/2489985

The Tropos Software Development Methodology: Processes, Models And


Diagrams

Conference Paper · January 2002


DOI: 10.1007/3-540-36540-0_13 · Source: CiteSeer

CITATIONS READS
308 384

4 authors, including:

Fausto Giunchiglia John Mylopoulos


Università degli Studi di Trento University of Toronto
545 PUBLICATIONS   15,670 CITATIONS    778 PUBLICATIONS   30,260 CITATIONS   

SEE PROFILE SEE PROFILE

Anna Perini
Fondazione Bruno Kessler
247 PUBLICATIONS   6,163 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

PhD at the University of Waterloo View project

Ontological Foundations for Strategic Analysis View project

All content following this page was uploaded by Fausto Giunchiglia on 13 April 2015.

The user has requested enhancement of the downloaded file.


CENTRO PER LA RICERCA
SCIENTIFICA E TECNOLOGICA
38050 Povo (Trento), Italy
Tel.: +39 0461 314312
Fax: +39 0461 302040
e−mail: prdoc@itc.it − url: http://www.itc.it

THE TROPOS SOFTWARE DEVELOPMENT METHODOLOGY:


PROCESSES, MODELS AND DIAGRAMS

Giunchiglia F., Mylopoulos J., Perini A.

November 2001

Technical Report # 0111−20

 Istituto Trentino di Cultura, 2001

LIMITED DISTRIBUTION NOTICE


This report has been submitted forpublication outside of ITC and will probably be copyrighted if accepted for publication. It has been
issued as a Technical Report forearly dissemination of its contents. In view of the transfert of copy right tothe outside publisher, its
distribution outside of ITC priorto publication should be limited to peer communications and specificrequests. After outside publication,
material will be available only inthe form authorized by the copyright owner.
The Tropos Software Development Methodology:
Processes, Models and Diagrams

Fausto Giunchiglia John Mylopoulos Anna Perini


Department of Information and Department of Computer ITC-Irst
Communication Technology Science Via Sommarive, 18
University of Trento University of Toronto I-38050 Trento-Povo, Italy
via Sommarive, 14 M5S 3H5, Toronto, Ontario,
I-38050 Trento-Povo, Italy Canada
perini@irst.itc.it
fausto@dit.unitn.it jm@cs.toronto.edu

ABSTRACT Object oriented and structured software development metho-


Tropos is a novel agent-oriented software development metho- dologies are examples of the breadth and depth of detail
dology founded on two key features: (i) the notions of agent, expected by practitioners. This paper focuses on the prob-
goal, plan and various other knowledge level concepts are lem of providing such a detailed account for agent-oriented
fundamental primitives used uniformly throughout the soft- software systems.
ware development process; and (ii) a crucial role is assigned We are developing a comprehensive software engineer-
to requirements analysis and speci cation when the system- ing methodology, named Tropos, for multi-agent systems.
to-be is analyzed with respect to its intended environment. The methodology begins with a model of the environment
This paper provides a ( rst) detailed account of the Tropos within which the system-to-be will eventually operate. The
methodology. In particular, we describe the basic concepts model is described in terms of actors, their goals and inter-
on which Tropos is founded and the types of models one dependencies. Through incremental re nements, this model
builds out of them. We also specify the analysis process is extended to include the system-to-be and its subsystems,
through which design ows from external to system actors also represented as actors that have been delegated goals
through a goal analysis and delegation. In addition, we pro- to achieve, plans to execute and resources to furnish. The
vide an abstract syntax for Tropos diagrams and other lin- Tropos language is founded on a small set of concepts and
guistic constructs. provides tools and techniques for building models which rep-
resent actors (agents, positions or roles), their goals, and
their intentional inter-dependencies. Such models are used
Keywords to capture the intentions of stakeholders (users, owners,
Agent-Oriented Software Engineering. managers,...), the responsibilities of the new system with
respect to these stakeholders, the architecture of the new
system and the details of its design. These models provide a
1. INTRODUCTION common interface to various software development phases,
New application areas such as eBusiness, application ser- from early requirements to implementation. They can also
vice provision and peer-to-peer computing call for software be used as part of the documentation of a software system
systems which have open, evolving architectures, operate during operation and maintenance.
robustly and exploit resources available in their environ- In a nutshell, the two key features of Tropos are: (i) the
ment. To build such systems, practicing software engineers use of knowledge level [16] concepts, such as agent, goal, plan
are discovering the importance of mechanisms for communi- and other through all phases of software development, and
cation, negotiation, and coordination between software com- (ii) a pivotal role assigned to requirements analysis when
ponents. We expect that many will be turning to multi- the environment and the system-to-be is analyzed.
agent system technologies and methodologies for guidance The phases covered by the proposed methodology are as
and support in building the software systems of the future. follows.
Focusing on methodologies, practitioners expect detailed
accounts of processes which cover all phases of software de- Early Requirements: during this phase the relevant stake-
velopment from requirements analysis to implementation. holders are identi ed, along with their respective objectives;
stakeholders are represented as actors, while their objectives
are represented as goals;
Late Requirements: the system-to-be is introduced as an-
other actor and is related to stakeholder actors in terms
Permission to make digital or hard copies of all or part of this work for
of actor dependencies; these indicate the obligations of the
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies system towards its environment, also what the system can
bear this notice and the full citation on the first page. To copy otherwise, to expect from actors in its environment;
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee. Architectural Design: more system actors are introduced
Copyright 2001 ACM X-XXXXX-XX-X/XX/XX ... 5.00. $
and they are assigned subgoals or subtasks of the goals and
tasks assigned to the system; Citizen Museum

Detailed Design: system actors are de ned in further detail, provide


including speci cations of communication and coordination get cultural cultural
protocols;
information services

Implementation: during this phase, the Tropos speci ca-


tion, produced during detailed design, is transformed into taxes well

a skeleton for the implementation. This is done through a


spent

mapping from the Tropos constructs to those of an agent Visitor

programming platform such as JACK [4]; code is added to


the skeleton using the programming language supported by enjoy visit
the programming platform. PAT
The Tropos methodology has been motivated and illus-
trated with two case studies [20, 6]. The purpose of this pa- increase
per is to present the methodology in further detail. The rest internet use
of the paper is structured as follows. Section 2 presents the
Tropos primitive knowledge level concepts used for building
the di erent types of models, and illustrates them with ex-
Actor Goal Softgoal

amples. Section 3 describes the analysis process that guides


model evolution through di erent development phases. The Goal dependency
Tropos modeling language is then de ned in Section 4 in
terms of UML diagrams, while related work is discussed in depender dependum dependee

Section 5. Conclusions and directions for further research


are presented in Section 6. Figure 1: Actor diagram of the stakeholders of the
eCulture System.
2. CONCEPTS AND MODELS
The Tropos conceptual models and diagrams are devel- Plan. A plan represents a way of satisfying a goal.
oped as instances of the following intentional and social con- Resource. A resource represents a physical or an informa-
cepts: actor, goal, dependency, plan, resource, capability, tional entity that one actor wants and another can deliver.
and belief. Below we discuss each one in turn.
Actor. The notion of actor models an entity that has strate- Capability. A capability represents the ability of an actor to
gic goals and intentionality. An actor represents a physical de ne, choose and execute a plan to ful ll a goal, given a
agent (e.g., a person, an animal, a car), or a software agent particular operating environment.
as well as a role or a position. A role is an abstract character- Belief. Beliefs are used to represent each actor's knowledge
ization of the behavior of an actor within some specialized of the world.
context, while a position represents a set of roles, typically Notice how the notions of belief, goal (or desire), and plan
played by one agent. An agent can occupy a position, while (or intention) are the key concepts of the BDI framework.
a position is said to cover a role. Notice that the notion of The notion of capability is used in some agent platforms,
actor in Tropos is a generalization of the classical AI notion notably in the JACK agent programming platform. The
of software agent, as given for instance in [17]. A discussion notion of resource stems quite straightforwardly from an
on this issue can be found in [26]. analysis aimed at identifying the modeling concepts needed
Goal. A goal represents the strategic interests of actors. Our in the software development process. The notion of depen-
framework distinguishes between hard goals and softgoals, dency, instead, is quite interesting and novel, and it turns
the latter having no clear-cut de nition and/or criteria as to out to be very important when modeling the intentional
whether they are satis ed. Softgoals are useful for model- inter-dependencies between actors (thereby playing, at the
ing software qualities [7], such as security, performance and knowledge level, a similar role to associations in UML class
maintainability. diagrams).
These concepts can be used to build di erent types of
Dependency. A dependency between two actors indicates models throughout the development process. We illustrate
that one actor depends on another in order to attain some these with examples extracted from a substantial software
goal, execute some plan, or deliver a resource. The former system developed for the government of Trentino (Provincia
actor is called the depender, while the latter is called the Autonoma di Trento, or PAT), and partially described in
dependee. The object (goal, plan resource) around which [20]. The system (which we will call throughout the eCul-
the dependency centers is called dependum. By depending ture system ) is a web-based broker of cultural information
on other actors, an actor is able to achieve goals that it would and services for the province of Trentino, including informa-
otherwise be unable to achieve on its own, or not as easily, tion obtained from museums, exhibitions, and other cultural
or not as well. At the same time, the depender becomes organizations and events to be used by a variety of users, in-
vulnerable. If the dependee fails to deliver the dependum cluding Trentino citizens and visitors.
the depender would be adversely a ected in its ability to We consider, in turn, examples of actor, dependency, goal
achieve its goals. and plan models. Other types of models are not discussed
use internet
technology eCulture
System
PAT
flexible
eCulture
System
extensible
eCulture
System
educational make provide
provide info services reservations virtual visits interface
eCulture
System
provide +
eCultural usable
services eCulture
System
available
eCulture
System Info Educational Reservation Virtual Visit System
+ Broker Broker Broker Broker Manager
+
+ +
make virtual visits user friendly
reservations eCulture
System
system user
educational provide
services info interfacing interfacing
portable
temporal
available
scalable

logistic info cultural info


System User
Interface Interface
Manager Manager

Figure 2: An actor diagram including PAT and eCul- Figure 3: Actor diagram of the architectural orga-
ture System and a goal diagram
of the eCulture System. nization for the eCulture System.
here for lack of space; see [20] for more examples.
ing architectural design. The eCulture System actor is de-
2.1 Actor and Dependency models composed into sub-actors and delegates to them some of its
Actor and dependency models result from the analysis goals. So, the eCulture System depends on the Info Broker to
of social and system actors, as well as of their goals and provide info, on the Educational Broker to provide educational
dependencies for goal achievement. These types of models services, on the Reservation Broker to make reservations, on
are built in the early requirements phase when we focus on Virtual Visit Broker to provide virtual visits, and on System
characterizing the application domain stakeholders, their in- Manager to provide interface.
tentions and the dependencies that interleave them. Actor
and dependency models are graphically represented through 2.2 Goal and Plan models
actor diagrams in which actors are depicted as circles, their Goal and plan models allow the designer to analyze goals
goals as ovals and their softgoal as cloud shapes. The net- and plans from the perspective of a speci c actor by using
work of dependency relationships among actors are depicted three basic reasoning techniques: means-end analysis, con-
as two arrowed lines connected by a graphical symbol vary- tribution analysis, and AND/OR decomposition. For goals,
ing according to the dependum: a goal, a plan or a resource. means-end analysis proceeds by re ning a goal into subgoals
Figure 1 shows the actor diagram for the eCulture domain in order to identify plans, resources and softgoals that pro-
as resulting from a rst early requirement analysis. In par- vide means for achieving the goal (the end). Contribution
ticular, the actor Citizen is associated with a single relevant analysis allows the designer to point out goals that can con-
goal: get cultural information, while the actor Visitor has an tribute positively or negatively in reaching the goal being
associated softgoal enjoy visit. Along similar lines, the ac- analyzed. In a sense, contribution analysis can be consid-
tor PAT wants to increase internet use for Trentino citizens, ered as a special case of means-end analysis, where means
while the actor Museum wants to provide cultural services. are always goals. AND/OR decomposition allows for a com-
Actor models are extended during the late requirements bination of AND and OR decompositions of a root goal into
phase by adding the system-to-be as another actor, along sub-goals, thereby re ning a goal structure.
with its inter-dependencies with social actors. For example, Goal models are rst developed during early requirements
in Figure 2 the actor PAT delegates a set of goals to the using initially-identi ed actors and their goals. Figure 4,
eCulture System actor through goal dependencies namely, shows portions of the goal model for PAT, relative to the
provide eCultural services, which is a goal that contributes to goals that Citizen has delegated to PAT through an earlier
the main goal of PAT increase internet use and softgoals such goal analysis. Goal and plan models are depicted through
as extensible eCulture System, exible eCulture System, usable goal diagrams that represent the perspective of a speci c ac-
eCulture System, and use internet technology. tor as a balloon that contains graphs whose nodes are goals
Actor models at the architectural design level provide (ovals) and /or plans (hexagonal shape) and whose arcs rep-
a more detailed account of the system-to-be actor and its resents the di erent types of relationships that can be iden-
internal structure. This structure is speci ed in terms of ti ed between its nodes. In Figure 4, the goals increase in-
subsystem actors, interconnected through data and control ternet use and eCulture System available are both well served
ows that are modeled as dependencies. This model pro- (through a contribution relationship) by the goal build eCul-
vides the basis for capability modeling, an activity that will ture System. Within an actor balloon, softgoal analysis is
start later on during the architectural design phase, along also performed identifying positive or negative contributions
with the mapping of system actors to software agents. Fig- from other goals. The softgoal taxes well spent gets positive
ure 3 illustrates a portion of the actor diagram built dur- contributions from the softgoal good services, and the goal
each with a list of associated root goals (possibly including
PAT
softgoals). Each root goal is analyzed from the perspective
of its respective actor, and as subgoals are generated, they
are delegated to other actors, or the actor takes on the re-
+
sponsibility of dealing with them him/her/itself. This analy-
sis is carried out concurrently with respect to each root goal.
internet taxes well
infrastructure spent
available

Sometimes the process requires the introduction of new ac-


reasonable
+ expenses

tors which are delegated goals and/or tasks. The process is


complete when all goals have been dealt with to the satisfac-
good fundig
services museums for

tion of the actors who want them (or the designers thereof.)
own systems
eCulture offer
System inexpensive + good cultural +

Assume that actorList includes a nite set of actors, also


available infrastructure services

that the list of goals for actor is stored in goalList(actor).


provide
eCultural +

In addition, we assume that agenda(actor) includes the list


services
increase +
internet use

of goals actor has undertaken to achieve personally (with no


provide help from other actors), along with the plan that has been
educate
citizens
interesting
systems selected for each goal. Initially, agenda(actor) is empty. de-
pendencyList includes a list of dependencies among actors,
+ while capabilityList(actor) includes < goal; plan > pairs in-
build
eCulture dicating the means by which the actor can achieve particular
goals. Finally, goalGraph stores a representation of the goal
System
Means-ends analysis

graph that has been generated so far by the design process.


Figure 4: Goal diagram for PAT. Initially, goalGraph contains all root goals of all initial actors
with no links among them. We will treat all of the above as
global variables which are accessed and/or updated by the
build eCulture System procedures presented below. For each procedure, we use as
Goal models play an analogous role in identifying (and parameters those variables used within the procedure.
justifying) actor dependencies during late requirements and
architectural design. Figure 2 shows a goal diagram for the
eCulture System, developed during late requirements analy- global actorList; goalList; agenda;dependencyList;
sis. In the example we concentrate on the goal provide eCul- capabilityList; goalGraph;
tural services and the softgoal usable eCulture System. The procedure rootGoalAnalysis(actorList; goalList;
goal provide eCultural services is AND-decomposed into four goalGraph)
subgoals make reservations, provide info, educational services begin
and virtual visits. The goal (provide info) is further decom- rootGoalList = nil;
posed into (the provision of) logistic info and cultural info. for actor in actorList do
Logistic info concerns timetables and visiting information for for rootGoal in goalList(actor) do
museums, while cultural info concerns the cultural content rootGoalList = add(rootGoal; rootGoalList);
of museums, special cultural events, and the like. Museum rootGoal:actor = actor;
content may include descriptions and images of historical end ;
objects and/or exhibitions, also the history of a particular end ;
region. Virtual visits are services that allow Citizen to pay a end ;
virtual visit to a city of the past (e.g., Rome during Csar's concurrent for
time!). Educational services include presentation of historical rootGoal in rootGoalList do
and cultural material at di erent levels of detail (e.g., at a goalAnalysis(rootGoal;actorList)
high school or undergraduate university level) as well as on- end concurrent for ;
line evaluation of the student's grasp of this material. Make if not[satisfied(rootGoalList; goalGraph)]
reservations allows Citizen to make reservations for particu- then fail;
lar cultural events, such as concerts, exhibitions, and guided end procedure
museum visits. The procedure rootGoalAnalysis conducts concurrent goal
analysis for every root goal. Initially, root goal analysis
3. THE DEVELOPMENT PROCESS is conducted for all initial goals associated with actors in
The previous section introduced the primitive concepts actorList. Later on, more root goals are created as goals
supported by Tropos and the di erent kinds of models one are delegated to existing or new actors. Note that the
builds in terms of them during a Tropos-based software de- concurrent for statement spawns a concurrent call to goal-
velopment project. In this section we focus on the generic Analysis for every element of the list rootGoalList. More-
design process through which these models are constructed. over, more calls to goalAnalysis are spawn as more root goals
The process is basically one of analyzing goals on behalf of are added to rootGoalList. concurrent for is assumed to
di erent actors, and is described in terms of a non deter- terminates when all its threads do. The predicate satis-
ministic concurrent algorithm, including a completeness cri- ed checks whether all root goals in goalGraph are satis ed.
terion. Note that this process is carried out by software en- This predicate is computed in terms of a label propagation
gineers (rather than software agents) at design-time (rather algorithm such as the one described in [15]. Its details are
than run-time). beyond the scope of this paper. rootGoalAnalysis succeeds if
Intuitively, the process begins with a number of actors, there is a set of non-deterministic selections within the con-
current executions of goalAnalysis procedures which leads to Level Description Examples
the satisfaction of all root goals. meta Basic language Attribute,
The procedure goalAnalysis conducts concurrent goal anal- metamodel structural elements Entity
ysis for every subgoal of a given root goal. Initially, the root metamodel Knowledge level Actor, Goal,
goal is placed in pendingList. Then, concurrent for selects notions Dependency
concurrently goals from pendingList and for each decides domain Application domain PAT, Citizen,
non-deterministically whether it will be expanded, adopted entities Museum
as a personal goal, delegated to an existing or new actor, instance Domain model Mary: instance
or whether the goal will be treated as unsatis able ('de- instances of Citizen
nied'). When a goal is expanded, more subgoals are added
to pendingList and goalGraph is augmented to include the Table 1: The four level architecture of the Tropos
new goals and their relationships to their parent goal. Note metamodel.
that the selection of an actor to delegate a goal is also non-
deterministic, and so is the creation of a new actor. The
three non-deterministic operations in goalAnalysis are high-
lighted with italic-bold font. These are the points where the procedure delegateGoal(goal;toActor;
designers of the software system will use their creative in rootGoalList; dependencyList)
designing the system-to-be. begin
add(goal;goalList(toActor));
procedure goalAnalysis(rootGoal; actorList) add(goal;rootGoalList);
pendingList = add(rootGoal; nil); goal:actor = toActor;
concurrent for goal in pendingList do add(< goal:actor; toActor; goal >; dependencyList);
decision = decideGoal(goal) end
case of decision end procedure
expand :
begin
newGoalList = expandGoal(goal;goalGraph); procedure acceptGoal(goal; agenda)
for newGoal in newGoalList do begin
newGoal:actor = goal:actor; plan = selectPlan(goal;capabilityList(goal:actor));
add(newGoal; pendingList); add(< goal; plan >; agenda(goal:actor));
end ; goal:label = satisfied ;
0 0

end ; end
solve : acceptGoal(goal; agenda(goal:actor)); end procedure
delegate :
begin During early requirements, this process analyzes initially-
actor = selectActor(actorList); identi ed goals of external actors ("stakeholders"). At some
delegateGoal(goal;actor; point (late requirements), the system-to-be is introduced as
rootGoalList; dependencyList); another actor and is delegated some of the subgoals that
end ; have been generated from this analysis. During architectural
newActor : design, more system actors are introduced and are delegated
begin subgoals to system-assigned goals. Apart from generating
actor = newActor(goal); goals and actors in order to ful ll initially-speci ed goals
actorList = add(actor;actorList); of external stakeholders, the development process includes
delegateGoal(goal;actor; speci cation steps during each phase which consist of fur-
rootGoalList; dependencyList); ther specifying each node of a model such as those shown
end ; in gures 3-4. Speci cations are given in a formal language
fail : goal:label = denied ;
0 0
(Formal Tropos) described in detail in [13]. These speci -
end case of ; cations add constraints, invariants, pre- and post-conditions
end concurrent for ; which capture more of the semantics of the subject domain.
end procedure Moreover, such speci cations can be simulated using model
checking technology for validation purposes [13, 8].
Finally, we specify two of the sub-procedures used in goal-
Analysis, for the lack of space, others are left to the imagi-
nation of the reader. delegateGoal adds a goal to an actor's 4. THE TROPOS MODELING LANGUAGE
goal list because that goal has been delegated to the actor. The modeling language is at the core of the Tropos metho-
This goal now becomes a root goal (with respect to the ac- dology. The abstract syntax of the language is de ned in
tor it has been delegated to), so another call to goalAnalysis this section in terms of a UML metamodel. Following stan-
is spawn by rootGoalAnalysis. Also, dependencyList is up- dard approaches [19], the metamodel has been organized in
dated. The procedure acceptGoal simply selects a plan for a four levels, as shown in Table 1. The four-layer architecture
goal the actor will handle personally from the actor's capa- makes the Tropos language extensible in the sense that new
bility list. The process we present here does not provide for constructs can be added. Semantics for the language (aug-
extensions to a capability list to deal with a newly assigned mented with a powerful fragment of Temporal Logic [9]) is
goal. handled in [13] and won't be discussed here.
The meta-metamodel level provides the basis for meta- is the softgoal taxes well spent, while the actors Citizen and
model extensions. In particular, the meta-metamodel con- PAT play respectively the roles of depender and dependee.
tains language primitives that allows for the inclusions of
constructs such as those proposed in [13]. The metamodel
level provides constructs for modeling knowledge level en-
tities and concepts. The domain model level contains a
1..n
Means-Ends analysis
representation of entities and concepts of a speci c appli- 1..n
cation domain, built as instances of the metamodel level Plan mean
constructs. So, for instance, the examples used in section 2
illustrate portions of the eCulture domain model. The in- Contribution
stance model level contains instances of the domain model.
{XOR}
mean {XOR}

For lack of space, we focus below only the metamodels for Resource

actors and goals. 1


contributes to mean

contributed by end
0..n 1..n Goal
root
Belief Actor root
are has pointview
believed 0..n
wants Actor
dependee depender Hardgoal Softgoal

Dependency AND-OR decomposition


0..n 0..n

dependum Plan 0..1 OR-decomposition AND-decomposition


why
1..n 1..n

dependum
0..1 Figure 6: The goal concept.
{XOR} why {XOR}
Resource
4.2 The metamodel for Goal
The concept of goal is represented by the class Goal in the
UML class diagram depicted in Figure 6. The distinction
dependum 0..1 between hard and softgoals is captured through a special-
Goal why ization of Goal into subclasses Hardgoal and Softgoal respec-
tively.
0..n
wanted Goals can be analyzed, from the point of view of an actor,
by performing means-end analysis, contribution analysis and
AND/OR decomposition (listed in order of strength). Let
Figure 5: The Actor concept. us consider these in turn.
Means-ends analysis is a ternary relationship de ned among
4.1 The metamodel for Actor an Actor, whose point of view is represented in the analysis,
A portion of the Tropos metamodel concerning the con- a goal (the end), and a Plan, Resource or Goal (the means).
cept of actor is shown in the UML class diagram of Figure 5. Means-end analysis is a weak form of analysis, consisting
Actor is represented as a UML class. An actor can have of a discovery of goals, plans or resources that can provide
0 : : : n goals. The UML class Goal represents here both hard means for reaching a goal. Means-end analysis is used in the
and softgoals. A goal is wanted by 0 : : : n actors, as speci- model shown in Figure 4, where the goals educate citizens
ed by the UML association relationship. An actor can have and provide eCultural services, as well as the softgoal provide
0 : : : n beliefs and, conversely, beliefs are believed by 1 : : : n interesting systems are means for achieving the goal increase
actors. internet use.
An actor dependency is a quaternary relationship repre- Contribution analysis is a ternary relationship between an
sented as a UML class (Dependency). A dependency relates Actor, whose point of view is represented, and two goals.
respectively a depender, dependee, and dependum (as de- Contribution analysis strives to identify goals that can con-
ned earlier), also an optional reason for the dependency tribute positively or negatively towards the ful llment of a
(labelled why). Examples of dependency relationships are goal (see association relationship labelled contributes to in
shown in Figures 1, 2, and 3. The early requirements model Figure 6). A contribution can be annotated with a quali-
depicted in Figure 1, for instance, shows a softgoal depen- tative metric, as used in [7], denoted by +; ++; ?; ??. In
dency between the actors Citizen and PAT. Its dependum particular, if the goal g1 contributes positively to the goal
1
The meta-metamodel and the metamodels concerning the g2, with metric ++ then if g1 is satis ed, so is g2. Analo-
other concepts are de ned analogously with the partial de- gously if the plan p contributes positively to the goal g, with
scription reported here. A complete description of the Tro- metric ++, this says that p ful lls g. A + label for a goal
pos language metamodel can be found in [22]. or plan contribution represents a partial, positive contribu-
tion to the goal being analyzed. With labels ??, and ? sentational and ontological levels used for class diagrams and
we have the dual situation representing a sucient or par- actor diagrams (the former being at the software level, the
tial negative contribution towards the ful llment of a goal. latter at the knowledge level). This contrast also de nes the
Examples of contribution analysis are shown in Figure 4. key di erence between object-oriented and agent-oriented
For instance the goal funding museums for own systems con- development methodologies. Agents (and actor diagrams)
tributes positively to both the softgoals provide interesting cannot be thought as a specialization of objects (and class
systems and good cultural services, and the latter softgoal diagrams), as argued in previous papers. The di erence is
contributes positively to the softgoal good services. rather the result of an ontological and representational shift.
Contribution analysis applied to softgoals is often used to Finally, it should be noted that inheritance, a crucial notion
evaluate non-functional (quality) requirements. for UML diagrams, plays no role in actor diagrams. This is-
AND-OR decomposition is also a ternary relationship which n't yet a nal decision. However inheritance, at the current
de nes an AND- or OR-decomposition of a root goal into state of the art, seems most useful at a software, rather than
subgoals. The particular case where the root goal g1 is de- a knowledge, level. This view is implicit in our decision to
composed into a single subgoal g2, is equivalent to a ++ adopt AUML for the detailed design phase.
contribution from g2 to g1.
6. CONCLUSION
5. RELATED WORK This paper provides a detailed account of Tropos, an agent
oriented software development methodology which spans the
As indicated in the introduction, the most important fea- software development process from early requirements to im-
ture of the Tropos methodology is that it aspires to span the plementation for agent oriented software. The paper presents
overall software development process, from early require- and discusses (in part) the ve phases supported by Tropos,
ments to implementation. This is represented in Figure 7 the development process within each phase, the models cre-
which shows the relative coverage of Tropos as well as i* ated through this process, and the diagrams used to describe
[25], KAOS [11], GAIA [24], AAII [10] and MaSE [12], and these models.
AUML [18, 1, 5]. Throughout, we have emphasized the uniform use of a
small set of knowledge level notions during all phases of
software development. We have also provided an iterative,
Early
Requirements
Late
Requirements
Architectural
Design
Detailed
Design actor and goal based, re nement algorithm which charac-
Kaos terizes the re nement process during each phase. This re-
nement process, of course, is instantiated di erently during
i* each phase.
Our long term objective is to provide a complete and de-
Tropos tailed account of the Tropos methodology. Object-oriented
and structured software development methodologies are ex-
Gaia amples of the breadth and depth of detail expected by prac-
titioners who use a particular software development metho-
AAII and Mase dology. Of course, much remains to be done towards achiev-
ing this goal. We are currently working on several open
AUML points, such as the development of formal analysis tech-
niques for Tropos [13]; the formalization of the transfor-
mation process in terms of primitive transformations and
Figure 7: Comparison of Tropos with other software re nement strategies [3]; the de nition of a catalogue of ar-
development methodologies. chitectural styles for multi-agent systems which adopt con-
cepts from organization theory and strategic alliances liter-
While Tropos covers the full range of software develop- ature [14]; and the development of tools which support the
ment phases, it is at the same time well-integrated with methodology during particular phases.
other existing work. Thus, for early and late requirements We consider a broad coverage of the software development
analysis, it takes advantage of work done in the Require- process as essential for agent-oriented software engineering.
ments Engineering community, and in particular of Eric Yu's It is only by going up to the early requirements phase that
i* methodology [25]. It is interesting to note that much of an agent-oriented methodology can provide a convincing ar-
the Tropos methodology can be combined with non-agent gument against other, for instance object-oriented, metho-
(e.g., object-oriented or imperative) software development dologies. Speci cally, agent-oriented methodologies are in-
paradigms. For example, one may want to use Tropos for herently intentional, founded on notions such as those of
early development phases and then use UML [2] for later agent, goal, plan, etc. Object-oriented ones, on the other
phases. At the same time, work on AUML [18] allows us hand, are inherently not intentional, since they are founded
to exploit existing UML techniques during (our version of) on implementation-level ontological primitives. This fun-
agent-oriented software development. As indicated in Fig- damental di erence shows most clearly when the software
ure 7, our idea is to adopt AUML for the detailed design developer is focusing on the (organizational) environment
phase. An example of how this can be done is given in [20]. where the system-to-be will eventually operate. Understand-
The metamodel presented in Section 4 has been developed ing such an environment calls (more precisely, cries out)
in the same spirit as the UML metamodel for class diagrams. for knowledge level modeling primitives. The agent-oriented
A comparison between UML class diagrams and the dia- programming paradigm is the only programming paradigm
grams presented in Section 4 emphasizes the distinct repre- that can gracefully and seamlessly integrate the intentional
models of early development phases with implementation Cognitive Science Conference (MAICS 2001), Miami
and run-time phases. This is the argument that justi es University, Oxford, Ohio, March 31 - April 1 2001.
agent-oriented software development, and at the same time [13] A. Fuxman, M. Pistore, J. Mylopoulos, and
promises for it a bright future. P. Traverso. Model checking early requirements
speci cation in Tropos. In Proc. of the 5th IEEE
7. ACKNOWLEDGMENTS International Symposium on Requirements
We thank all the Tropos Project people working in Trento Engineering, Toronto, CA, Aug. 2001.
and in Toronto. A special thank to Fabrizio Sannicolo' who [14] M. Kolp, P. Giorgini, and J. Mylopoulos. An
is completing his master thesis on the Tropos modeling lan- goal-based organizational perspective on multi-agents
guage [21]. architectures. In Proc. of the 8th Int. Workshop on
Agent Theories, Architectures, and Languages
(ATAL-2001), Seattle, WA, August 2001.
8. REFERENCES [15] J. Mylopoulos, L. K. Chung, and B. A. Nixon.
[1] B. Bauer, J. P. Muller, and J. Odell. Agent UML: A Representing and using non-functional requirements:
formalism for specifying multiagent software systems. A process-oriented approach. IEEE Transactions on
Int. Journal of Software Engineering and Knowledge Software Engineering, June 1992.
Engineering, 11(3):207{230, 2001. [16] A. Newell. The Knowledge Level. Arti cial
[2] G. Booch, J. Rambaugh, and J. Jacobson. The Uni ed Intelligence, 18:87{127, 1982.
Modeling Language User Guide. The Addison-Wesley [17] H. Nwana. Software agents: An overview. Knowledge
Object Technology Series. Addison-Wesley, 1999. Engineering Review Journal, 11(3), November 1996.
[3] P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia, [18] J. Odell, H. Parunak, and B. Bauer. Extending UML
and J. Mylopoulos. Modeling early requirements in for agents. In G. Wagner, Y. Lesperance, and E. Yu,
tropos: a transformation based approach. In editors, Proc. of the Agent-Oriented Information
Wooldridge et al. [23]. Systems workshop at the 17th National conference on
[4] P. Busetta, R. Ronnquist, A. Hodgson, and A. Lucas. Arti cial Intelligence, pages 3{17, Austin, TX, 2000.
JACK Intelligent Agents - Components for Intelligent [19] OMG. OMG Uni ed Modeling Language Speci cation,
Agents in Java. Technical Report TR9901, AOS, Jan. version 1.3, alpha edition, January 1999.
1999. http://www.jackagents.com/pdf/tr9901.pdf. [20] A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini,
[5] G. Caire, F. Leal, P. Chainho, R. Evans, F. Garijo, and J. Mylopoulos. A Knowledge Level Software
J. Gomez, J. Pavon, P. Kearney, J. Stark, and Engineering Methodology for Agent Oriented
P. Massonet. Agent oriented analysis using Programming. In Proc. of the 5th Int. Conference on
MESSAGE/UML. In Wooldridge et al. [23]. Autonomous Agents, Montreal CA, May 2001. ACM.
[6] J. Castro, M. Kolp, and J. Mylopoulos. A [21] F. Sannicolo'. Tropos: Una Metodologia ed un
requirements-driven development methodology. In Linguaggio di Modellazione Visuale Semiformale.
Proc. 13th Int. Conf. on Advanced Information Master's thesis, University of Trento, 2001.
Systems Engineering CAiSE 01, Sta ord UK, June [22] F. Sannicolo', A. Perini, and F. Giunchiglia. The
2001. Tropos modeling language. a User Guide. Technical
[7] L. K. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. report, ITC-irst, Dec. 2001.
Non-Functional Requirements in Software [23] M. Wooldridge, P. Ciancarini, and o. G. Weiss,
Engineering. Kluwer Publishing, 2000. editors. Proc. of the 2nd Int. Workshop on
[8] A. Cimatti, E. M. Clarke, F. Giunchiglia, and Agent-Oriented Software Engineering (AOSE-2001),
M. Roveri. NuSMV: a new symbolic model checker. Montreal, CA, May 2001.
International Journal on Software Tools for [24] M. Wooldridge, N. R. Jennings, and D. Kinny. The
Technology Transfer (STTT), 2(4), March 2000. Gaia methodology for agent-oriented analysis and
[9] E. M. Clarke and E. A. Emerson. Design and design. Journal of Autonomous Agents and
Synthesis of Synchronization Skeletons using Multi-Agent Systems, 3(3), 2000.
Branching Time Temporal Logic. In D. Kozen, editor, [25] E. Yu. Modelling Strategic Relationships for Process
Proceedings of the Workshop on Logics of Programs, Reengineering. PhD thesis, University of Toronto,
volume 131 of Lecture Notes in Computer Science, Department of Computer Science, 1995.
pages 52{71, Yorktown Heights, New York, May 1981. [26] E. Yu. Agent-oriented modeling: Software versus the
Springer-Verlag. world. In Agent-Oriented Software Engineering II,
[10] M. G. D. Kinny and A. Rao. A Methodology and LNCS 2222. Springer-Verlag, to appear, 2001.
Modelling Technique for Systems of BDI Agents. In
W. V. de Velde and J. W. Perram, editors, Agents
Breaking Away: Proc. of the 7th European Workshop
on Modelling Autonomous Agents in a Multi-Agent
World, Springer-Verlag: Berlin, Germany, 1996.
[11] A. Dardenne, A. van Lamsweerde, and S. Fickas.
Goal-directed requirements acquisition. Science of
Computer Programming, 20(1{2):3{50, 1993.
[12] S. A. Deloach. Analysis and Design using MaSE and
agentTool. In 12th Midwest Arti cial Intelligence and

View publication stats

You might also like