Professional Documents
Culture Documents
net/publication/2489985
CITATIONS READS
308 384
4 authors, including:
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:
All content following this page was uploaded by Fausto Giunchiglia on 13 April 2015.
November 2001
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 specic 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 rening 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 rening 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-identied 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 specic 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 dierent types of relationships that can be iden-
internal structure. This structure is specied in terms of tied 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
tion of the actors who want them (or the designers thereof.)
own systems
eCulture offer
System inexpensive + good cultural +
end ; end
solve : acceptGoal(goal; agenda(goal:actor)); end procedure
delegate :
begin During early requirements, this process analyzes initially-
actor = selectActor(actorList); identied 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 fulll initially-specied goals
actorList = add(actor;actorList); of external stakeholders, the development process includes
delegateGoal(goal;actor; specication 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. Specications 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 specications 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 dened 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 specic 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
contributed by end
0..n 1..n Goal
root
Belief Actor root
are has pointview
believed 0..n
wants Actor
dependee depender Hardgoal Softgoal
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 dened 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 fulllment 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 satised, so is g2. Analo-
other concepts are dened 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 fullls 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 fulllment of a goal. latter at the knowledge level). This contrast also denes the
Examples of contribution analysis are shown in Figure 4. key dierence 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 dierence 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
denes 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, renement algorithm which charac-
Kaos terizes the renement process during each phase. This re-
nement process, of course, is instantiated dierently 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 renement strategies [3]; the denition 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. Specically, 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 dierence 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 justies 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
specication 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. Articial
[2] G. Booch, J. Rambaugh, and J. Jacobson. The Unied 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. Articial Intelligence, pages 3{17, Austin, TX, 2000.
JACK Intelligent Agents - Components for Intelligent [19] OMG. OMG Unied Modeling Language Specication,
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, Staord 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 Articial Intelligence and