Page 128 -
P. 128
AGENT-ORIENTED INFORMATION SYSTEMS ANALYSIS AND DESIGN 113
Figure 7.11 A Plan Diagram for Checkout
Checkout
Press checkout button [checkout button activated] / shoppingCart.checkout()
[Mandatory fields filled]
/verifyCC() [CC# valid] Press confirm button
Fields Credit Card / confirm()? /confirm() Item
Checking Checking Registering
[Not confirmed]
[i=5] / cancel() [foreach Items
[[Not all mandatory [[CC# not valid] [i=3] selected item] Registered
fields filled] ^ [i<5]] ^ [i<3]]
Fields Updated Updated
Fields CC# Stock Records Final Amounts
Updating Correcting [foreach Updating Calculating
registered item] Records updated Amounts
succeeded/ shoppingcart.logout() calculated
[new customer]
Displaying Customer Profile
Report
succeeded [report asked] profile Updating
/ shoppingCart.logout() / initializeReport() updated [Already registered]
pass / orderProcessor. fail /shoppingCart.logout() any [[Cancel button pressed] OR
processOrder(this) [timeout>90 sec]] / shoppingCart.initialize()
RELATED WORK
The most important feature of the Tropos methodology is that it aspires to span the overall software
development process, from early requirements to implementation. Figure 7.12 shows graphically
the relative coverage of the software development process by Tropos and other methodologies,
including KAOS (Dardenne, van Lamsweerde, and Fickas, 1993), Gaia (Wooldridge, Jennings,
and Kinny, 2000), AAII (Kinny, Georgeff, and Rao, 1996), MaSE (Deloach, Wood, and Sparkman
2001), and AUML (Bauer, Muller, and Odell, 2001). Other agent-oriented software development
methodologies have been proposed as well (see, e.g., Brazier et al., 1997; Ciancarini and Wool-
dridge, 2001; Wooldridge, Ciancarini, and Weiss, 2002).
While Tropos covers all software development phases, at the same time it is well integrated with
other existing work. Thus, for early and late requirements analysis, it adapts ideas from requirements
engineering, and in particular Eric Yu’s i* methodology (Yu, 1995). During design phases, UML
(Booch, Rumbaugh, and Jacobson, 1999) and AUML (Bauer, Muller, and Odell, 2001) concepts
are used to model and analyze static and dynamic aspects of a software system design.
The Tropos metamodel presented in Bresciani and colleagues (2004) has been developed
in the same spirit as the UML metamodel for class diagrams. A comparison between the two
metamodels readily points out fundamental differences between the primitive concepts ad-
opted by the two modeling frameworks. This contrast also defines the key difference between
object-oriented and agent-oriented development methodologies. Agents (and actor diagrams)
cannot be thought of as specializations of objects (and class diagrams), as argued elsewhere.
The Tropos modeling framework supports the process of modeling and analyzing social and
intentional settings. UML was designed to support modeling and analysis of static and dy-
namic settings. In that sense, the two approaches (a) give designers very different concepts