Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATAL - Seattle, August 1 st, 2001 1 A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.

Similar presentations


Presentation on theme: "ATAL - Seattle, August 1 st, 2001 1 A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia."— Presentation transcript:

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 –tranformational operatorstranformational operators –composition of transformations: intuitioncomposition 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 is a novel approach in Agent Oriented Software Engineering, resting on the following 3 key ideas: 1.the Tropos approach framework spans the overall software development process, from early requirements down to implementation 2.we use the notion of agent and all the related mentalistic notions in all phases of software development 3.we adopt a transformational approach, i.e., we 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) The 5 phases of the Tropos framework: Early requirements Late requirements Architectural design Detailed design Implementation

6 ATAL - Seattle, August 1 st, 2001 6 –we adopt a requirements­driven 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 –the conceptual notions thus introduced are used along the whole development process Key ideas (1.2)

7 ATAL - Seattle, August 1 st, 2001 7 Filling the gap Early requirements Late requirements Architectural design Detailed design Implementation i * Agent-oriented programming Key ideas (1.3)

8 ATAL - Seattle, August 1 st, 2001 8 The notion of agent and goal is used along all the phases, therefore the key elements and dependencies describing the organizational setting can be used to justify and motivate each design and implementation choice. 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). System behaviour is easier to understand, explain, motivate. Key ideas (2)

9 ATAL - Seattle, August 1 st, 2001 9 We adopt a transformational approach: (for early and late requirements, and partially for the architectural design) 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)

10 ATAL - Seattle, August 1 st, 2001 10 Advantages of the (transformational) 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)

11 ATAL - Seattle, August 1 st, 2001 11 Modeling language

12 ATAL - Seattle, August 1 st, 2001 12 Modeling language case study

13 ATAL - Seattle, August 1 st, 2001 13 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

14 ATAL - Seattle, August 1 st, 2001 14 The eCulture system case study The eCulture system case study Following the 5 phases of the Tropos framework down to the implementation Early requirements Late requirements Architectural design Detailed design Implementation Tropos social actors Agents

15 ATAL - Seattle, August 1 st, 2001 15 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

16 ATAL - Seattle, August 1 st, 2001 16 Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor

17 ATAL - Seattle, August 1 st, 2001 17 Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor get cultural information increase internet use enjoy visit

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 taxes well spent enjoy visit

19 ATAL - Seattle, August 1 st, 2001 19 Early requirements Early requirements The stakeholders of the eCulture domain

20 ATAL - Seattle, August 1 st, 2001 20 Early requirements Early requirements Goal-decomposition and Means-ends analysis for PAT

21 ATAL - Seattle, August 1 st, 2001 21 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

22 ATAL - Seattle, August 1 st, 2001 22 Late requirements Rationale diagram for eCulture System

23 ATAL - Seattle, August 1 st, 2001 23 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

24 ATAL - Seattle, August 1 st, 2001 24 Late requirements Late requirements dependencies with environmental actors

25 ATAL - Seattle, August 1 st, 2001 25 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

26 ATAL - Seattle, August 1 st, 2001 26 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

27 ATAL - Seattle, August 1 st, 2001 27 Architectural design Architectural design (step 1) taking into account functional requirements : eCulture System decomposition into sub- actors

28 ATAL - Seattle, August 1 st, 2001 28 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

29 ATAL - Seattle, August 1 st, 2001 29 Architectural design Info Broker Architectural design (step 1) extending actor diagram taking into account architectural styles - the Info Broker

30 ATAL - Seattle, August 1 st, 2001 30 Architectural design Architectural design Step 2 identifying actor capabilities from the analysis of dependencies in the actor diagram …an intuitive idea of this process

31 ATAL - Seattle, August 1 st, 2001 31 Architectural design Architectural design (step 2) Actor capabilities

32 ATAL - Seattle, August 1 st, 2001 32 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

33 ATAL - Seattle, August 1 st, 2001 33 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

34 ATAL - Seattle, August 1 st, 2001 34 Architectural design Architectural design Step 3 from actors to agents ….

35 ATAL - Seattle, August 1 st, 2001 35 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

36 ATAL - Seattle, August 1 st, 2001 36 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

37 ATAL - Seattle, August 1 st, 2001 37 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 …

38 ATAL - Seattle, August 1 st, 2001 38 Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams)

39 ATAL - Seattle, August 1 st, 2001 39 Detailed design Detailed design Capability diagram

40 ATAL - Seattle, August 1 st, 2001 40 Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams) plans –plan diagrams (currently AUML activity diagrams

41 ATAL - Seattle, August 1 st, 2001 41 Detailed design Detailed design Plan diagram - plan evaluate query

42 ATAL - Seattle, August 1 st, 2001 42 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

43 ATAL - Seattle, August 1 st, 2001 43 Detailed design Detailed design Agent interaction diagram

44 ATAL - Seattle, August 1 st, 2001 44 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) to achieve or events to handle, beliefs and capabilities. They are programmed with a set of plans that make them capable of achieving goals.

45 ATAL - Seattle, August 1 st, 2001 45 Implementation Implementation Jack Intelligent system, AOS

46 ATAL - Seattle, August 1 st, 2001 46 Modeling language metamodel

47 ATAL - Seattle, August 1 st, 2001 47 A detailed definition is available for the early and late requiremet models. Tropos conceptual entities (actors, goals, softgoals, …) of a tropos model are seen as instances of classes in a metamodel described by UML class diagrams. Metamodel Metamodel

48 ATAL - Seattle, August 1 st, 2001 48 Actor: the actor is the central primitive notion in Tropos. It corresponds both to human stakeholders (single persons and organizations) and artificial agents (software and hardware systems and components). Goal: actors may depends each other in order to attain some goal. The depending actor is called depender, and the actor that is depended upon is called dependee. The object of the dependency is called dependum. … Metamodel Metamodel actors, goals, softgoals, …

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 requirement 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 primitives: intuition 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 primitives: intuition

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 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.

64 ATAL - Seattle, August 1 st, 2001 64 Future work

65 ATAL - Seattle, August 1 st, 2001 65 Future work Formal Tropos Architectural patterns Formalization of the transformational approach (primitives and strategies)

66 ATAL - Seattle, August 1 st, 2001 66 The Tropos group Fausto Giunchiglia, Paolo Giorgini, Fabrizio Sannicoló University of Trento - Dept. of information and communication technology Paolo Bresciani, Anna Perini, Marco Pistore, Paolo Traverso SRA Division at ITC-IRST John Mylopoulos, Eric Yu, Manuel Kolp, Luiz Cysneiros, Ariel D. Fuxman Computer Science Dept. - University of Toronto Yves Lespérance York University, Toronto Jaelson Castro Universidade Federale de Pernambuco, Recife, Brazil Daniel Gross, Linda Lin Faculty of information Studies, University of Toronto

67 ATAL - Seattle, August 1 st, 2001 67 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. 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 [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. Proc. Int. Workshop ATAL-2001


Download ppt "ATAL - Seattle, August 1 st, 2001 1 A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia."

Similar presentations


Ads by Google