Download presentation
Presentation is loading. Please wait.
Published byCamron Perry Modified over 9 years ago
1
ATAL - Seattle, August 1 st, 2001 1 A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia Dept. of Information and Communication Technology University of Trento SRA Division - ITC-irst Trento fausto@itc.it - http://sra.itc.it
2
ATAL - Seattle, August 1 st, 2001 2 Outline Key ideas Modeling language –case studycase study –metamodelmetamodel Transformational approach –case study revisitedcase study revisited –transformation operatorsransformation operators –composition of transformations: intuitionscomposition of transformations: intuition Conclusion Future work Related work
3
ATAL - Seattle, August 1 st, 2001 3 Key ideas
4
ATAL - Seattle, August 1 st, 2001 4 The Tropos framework rests on three key ideas: 1.Consider the overall software development process, from early requirements down to implementation 2.Use the notion of agent and all the related mentalistic notions in all phases of software development 3.Adopt a transformational approach, namely perform refinement steps, inside one phase or between phases, using a set of transformation operators Key ideas
5
ATAL - Seattle, August 1 st, 2001 5 Key ideas (1.1) 5 phases: Early requirements Late requirements Architectural design Detailed design Implementation
6
ATAL - Seattle, August 1 st, 2001 6 Key Ideas (1.2): AOSE approaches Early requirements Late requirements Architectural design Detailed design Implementation Tropos Gaia, Wooldridge, et al. AUML, Odell et al. AAII, Kinny et al. Development process methodologies, organizational analysis ontology Extension of OO specification languages - methodologies MSEM, Wood et al.
7
ATAL - Seattle, August 1 st, 2001 7 –we adopt a requirementsdriven software development approach, exploiting goal analysis and actor dependencies analysis techniques (i* by E. Yu, NFR by Chung et al., Kaos by Dardenne et al.) why Model the what, how and the why Key ideas (2.1)
8
ATAL - Seattle, August 1 st, 2001 8 Filling the gap Early requirements Late requirements Architectural design Detailed design Implementation i * Agent-oriented programming Key ideas (2.2)
9
ATAL - Seattle, August 1 st, 2001 9 Notions of agent and goal are used along all the development phases. The key elements and dependencies describing the organizational setting can be used to and motivate design and implementation choices. Each artifact (including code) can be retraced back to the analysis performed during requirement phases. There is a direct and natural correspondence between requirement analysis (social actors) and implemented code (software agents). Key ideas (2.3)
10
ATAL - Seattle, August 1 st, 2001 10 We adopt a transformational approach: start with a limited list of Tropos conceptual elements (actors, goals, softgoals,...) iteratively and incrementally: – add details – revise dependency relationships Each step corresponds to the introduction/deletion of relationships/elements in the model. Key ideas (3.1)
11
ATAL - Seattle, August 1 st, 2001 11 Advantages of the approach : provides systematic description of the process allows for process analysis provides guidelines to the engineer provides a sound basis for describing and evaluating requirement acquisition and design strategies Key ideas (3.2)
12
ATAL - Seattle, August 1 st, 2001 12 Modeling language
13
ATAL - Seattle, August 1 st, 2001 13 Modeling language case study
14
ATAL - Seattle, August 1 st, 2001 14 a web-based broker of cultural information and services for the province of Trentino usable by a variety of users (e.g.Trentinos, tourists, scholars and students). The eCulture system case study
15
ATAL - Seattle, August 1 st, 2001 15 The eCulture system case study The eCulture system case study … following the 5 phases of the Tropos framework Early requirements Late requirements Architectural design Detailed design Implementation Tropos social actors Agents
16
ATAL - Seattle, August 1 st, 2001 16 environment relevant actorsdependencies We analyze the environment (i.e. existing organizational setting) and model it in terms of relevant actors and their respective dependencies Early requirements Early requirements Main activities
17
ATAL - Seattle, August 1 st, 2001 17 Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor
18
ATAL - Seattle, August 1 st, 2001 18 Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor get cultural information increase internet use enjoy visit
19
ATAL - Seattle, August 1 st, 2001 19 Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor get cultural information increase internet use taxes well spent enjoy visit
20
ATAL - Seattle, August 1 st, 2001 20 Early requirements Early requirements The stakeholders of the eCulture domain
21
ATAL - Seattle, August 1 st, 2001 21 Early requirements Early requirements Balloon: goal-decomposition and Means-ends analysis for PAT
22
ATAL - Seattle, August 1 st, 2001 22 system dependencies We introduce the system actor and analize its dependencies with actors in its environment identifying system’s functional and non-functional requirements Late requirements Late requirements Main activities
23
ATAL - Seattle, August 1 st, 2001 23 Late requirements Rationale diagram for eCulture System
24
ATAL - Seattle, August 1 st, 2001 24 Revision of dependencies Revision of dependencies Early Requirements revised PAT Citizen eCulture sys. available get cultural information eCulture sys. available get cultural information eCulture System
25
ATAL - Seattle, August 1 st, 2001 25 Late requirements Late requirements dependencies with environmental actors
26
ATAL - Seattle, August 1 st, 2001 26 Architectural design Architectural design Main activities 3 steps: 1.decomposing and refining the system actor diagram … at three different levels of abstraction 2.identifying capabilities 3.from actors to agents
27
ATAL - Seattle, August 1 st, 2001 27 Architectural design: step 1 a:inclusion of new actors due to delegation of subgoals upon goal analysis of system's goals b:inclusion of new actors according to the choice of a specific architectural style (design patterns) c:inclusion of new actors contributing positively to the fulfillment of some Non Functional Requirements a:inclusion of new actors due to delegation of subgoals upon goal analysis of system's goals
28
ATAL - Seattle, August 1 st, 2001 28 Architectural design Architectural design (step 1) taking into account functional requirements : decomposition into sub-actors
29
ATAL - Seattle, August 1 st, 2001 29 Architectural design: step 1 a:inclusion of new actors due to delegation of subgoals upon goal analysis of system's goals b:inclusion of new actors according to the choice of a specific architectural style (design patterns) c:inclusion of new actors contributing positively to the fulfillment of some Non Functional Requirements
30
ATAL - Seattle, August 1 st, 2001 30 Architectural design Info Broker Architectural design (step 1) extending actor diagram taking into account architectural styles - the Info Broker
31
ATAL - Seattle, August 1 st, 2001 31 Architectural design Architectural design Step 2 identifying actor capabilities from the analysis of dependencies in the actor diagram …an intuitive idea of the process
32
ATAL - Seattle, August 1 st, 2001 32 Architectural design Architectural design (step 2) Actor capabilities
33
ATAL - Seattle, August 1 st, 2001 33 Actor Name Capability # Area Classifier 1) Get area specification form 2) Classify area 3) Provide area information 4) Provide service description Architectural design Architectural design (step 2) Actor capabilities
34
ATAL - Seattle, August 1 st, 2001 34 Architectural design Architectural design (step 2) Actor capabilities Actor NameCapability # Area Classifier 1) Get area specification form 2) Classify area 3) Provide area information 4) Provide service description Info Searcher 5) Get area information 6) Find information source 7) Compose query 8) Query source 9) Provide query information Provide service description Results Synthesizer 10) Get query information 11) Get query results 12) Provide query results 13) Synthesize area query results Provide service description Sources Interface Manager 14) Wrap information source User Interface Manager 15) Get user specification 16) Provide user specification 17) Get query results 18) Present query results to the user Provide service description
35
ATAL - Seattle, August 1 st, 2001 35 Architectural design Architectural design Step 3 from actors to agents ….
36
ATAL - Seattle, August 1 st, 2001 36 Actor NameCapability # Area Classifier 1) Get area specification form 2) Classify area 3) Provide area information 4) Provide service description Info Searcher 5) Get area information 6) Find information source 7) Compose query 8) Query source 9) Provide query information Provide service description Results Synthesizer 10) Get query information 11) Get query results 12) Provide query results 13) Synthesize area query results Provide service description Sources Interface Manager 14) Wrap information source User Interface Manager 15) Get user specification 16) Provide user specification 17) Get query results 18) Present query results to the user Provide service description Architectural design Architectural design (step 3) from actors to agents
37
ATAL - Seattle, August 1 st, 2001 37 Architectural design Architectural design (step 3) from actors to agents Agent NameCapability # Query Handler 1) Get area specification form 3) Provide area information 4) Provide service description 5) Get area information 7) Compose query 8) Query source 9) Provide query information 10) Get query information 11) Get query results 12) Provide query results Classifier 2) Classify area 4) Provide service description Searcher 4) Provide service description 6) Find information source Synthesizer 13)Synthesize area query results 14)Provide service description User Interface Agent 15, 16, 17, 18, 4 Wrapper 14, 4
38
ATAL - Seattle, August 1 st, 2001 38 Detailed design Detailed design Main activities Specification of the agents’ micro level taking into account the implementation platform. Objective: to perform a design that will map directly to the code. We consider a BDI multiagent platform, so …
39
ATAL - Seattle, August 1 st, 2001 39 Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams)
40
ATAL - Seattle, August 1 st, 2001 40 Detailed design Detailed design Capability diagram
41
ATAL - Seattle, August 1 st, 2001 41 Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams) plans –plan diagrams (currently AUML activity diagrams
42
ATAL - Seattle, August 1 st, 2001 42 Detailed design Detailed design Plan diagram - plan evaluate query
43
ATAL - Seattle, August 1 st, 2001 43 Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams) plans –plan diagrams (currently AUML activity diagrams agents interaction –agent interactions diagrams (currently AUML sequence diagrams
44
ATAL - Seattle, August 1 st, 2001 44 Detailed design Detailed design Agent interaction diagram
45
ATAL - Seattle, August 1 st, 2001 45 Implementation Implementation Main activities … follow step by step the detailed design specification … In JACK (BDI multiagent platform) agents are autonomous software components that have explicit goals (desires), events to handle, beliefs and capabilities. Agents are programmed with a set of plans that make them capable of achieving goals.
46
ATAL - Seattle, August 1 st, 2001 46 Implementation Implementation Jack Intelligent system, AOS
47
ATAL - Seattle, August 1 st, 2001 47 Modeling Language Metamodel
48
ATAL - Seattle, August 1 st, 2001 48 So far only for early and late requirement diagrams Tropos conceptual entities (actors, goals, …) are instances of classes in a (meta)metamodel described by UML class diagrams. Modeling language
49
ATAL - Seattle, August 1 st, 2001 49 Metametamodel Metametamodel Entity
50
ATAL - Seattle, August 1 st, 2001 50 Metametamodel Metametamodel N-ary Relatioship
51
ATAL - Seattle, August 1 st, 2001 51 Metamodel Metamodel Actor
52
ATAL - Seattle, August 1 st, 2001 52 Metamodel Metamodel Goal
53
ATAL - Seattle, August 1 st, 2001 53 Metamodel Metamodel Plan
54
ATAL - Seattle, August 1 st, 2001 54 Transformational approach
55
ATAL - Seattle, August 1 st, 2001 55 Case study revisited: early requirements again citizen taxes well spent PAT visit web site visit cultural institution interenet available buy eCulture system build eCulture system provide eCult. services good cultural services good services get cultural information eCulture sys. available eCulture sys. available eCulture sys. available eCulture sys. available get cultural information 1 2 3 4 5 6 7 8
56
ATAL - Seattle, August 1 st, 2001 56 Transformational operators
57
ATAL - Seattle, August 1 st, 2001 57 Composition of operators: intuitions citizenPAT taxes well spent visit web site visit cultural institution provide eCult. services good cultural services good services buy eCulture system build eCulture system eCulture sys. available interenet available eCulture sys. available eCulture sys. available get cultural information 4 5 6 7 8 3 1 2 taxes well spent
58
ATAL - Seattle, August 1 st, 2001 58 Different transformation sequences may have different chances to lead to a satisfactory design; even when the same design is obtained, different transformation sequences in the design process may lead at discovering/facing/discarding relevant elements at different times; different analyses may have different costs; balancing analysis costs and good results is a hard (human) planning task. Composition of operators: intuitions
59
ATAL - Seattle, August 1 st, 2001 59 Conclusion
60
ATAL - Seattle, August 1 st, 2001 60 Conclusion The Tropos framework is a novel approach in Agent Oriented Software Engineering, resting on the following 3 key ideas: –the Tropos approach framework spans the overall software development process, from early requirements down to implementation –we use the notion of agent and all the related mentalistic notions in all phases of software development –we adopt a transformational approach, i.e., we perform refinement steps, inside one phase or between phases, using a set of transformation operators
61
ATAL - Seattle, August 1 st, 2001 61 Related work
62
ATAL - Seattle, August 1 st, 2001 62 Related work 1)AOSE 2)OOP 3)Requirement engineering
63
ATAL - Seattle, August 1 st, 2001 63 Future work
64
ATAL - Seattle, August 1 st, 2001 64 Future work Formal Tropos Architectural patterns Formalization of the transformational approach (primitives and strategies)
65
ATAL - Seattle, August 1 st, 2001 65 The Tropos group Fausto Giunchiglia, Paolo Giorgini, Fabrizio Sannicoló University of Trento, Trento Paolo Bresciani, Anna Perini, Marco Pistore, Paolo Traverso SRA Division at ITC-IRST, Trento John Mylopoulos, Eric Yu, Manuel Kolp, Luiz Cysneiros, Ariel D. Fuxman, Daniel Gross, Linda Lin University of Toronto, Toronto Yves Lespérance York University, Toronto Jaelson Castro Universidade Federale de Pernambuco, Recife, Brazil
66
ATAL - Seattle, August 1 st, 2001 66 The Tropos framework The Tropos framework where to find what I talked about [1]A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini and J. Mylopoulos, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming. Proc. ACM Int. Conf. Agents 2001 [2]P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia, J. Mylopoulos, Modeling early requirements in Tropos: a transformation based approach. AOSE workshop at Conf. Agents 2001, LNAI Lectures Notes [3]P. Giorgini, A. Perini, J. Mylopoulos, F. Giunchiglia, P. Bresciani. Agent- Oriented Software Development: A Case Study. Proc. Int. Conf. on Software Engineering & Knowledge Engineering (SEKE01), 2001 [4]A. Fuxman, M. Pistore, J. Mylopoulos, P. Traverso. Model Checking Early Requirements Specifications in Tropos. IEEE Int. Symp. on Requirements Engineering, 2001 [5]M. Kolp, P. Giorgini, J. Mylopoulos. A Goal-Based Organizational Perspective on Multi-Agent Architectures. Int. Workshop ATAL-2001, LNAI Lecture notes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.