ATAL - Seattle, August 1 st, 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 -
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Key ideas
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Key ideas (1.1) 5 phases: Early requirements Late requirements Architectural design Detailed design Implementation
ATAL - Seattle, August 1 st, 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.
ATAL - Seattle, August 1 st, –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)
ATAL - Seattle, August 1 st, Filling the gap Early requirements Late requirements Architectural design Detailed design Implementation i * Agent-oriented programming Key ideas (2.2)
ATAL - Seattle, August 1 st, 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)
ATAL - Seattle, August 1 st, 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)
ATAL - Seattle, August 1 st, 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)
ATAL - Seattle, August 1 st, Modeling language
ATAL - Seattle, August 1 st, Modeling language case study
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor
ATAL - Seattle, August 1 st, Early requirements Early requirements The stakeholders of the eCulture domain PAT Museum Citizen Visitor get cultural information increase internet use enjoy visit
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Early requirements Early requirements The stakeholders of the eCulture domain
ATAL - Seattle, August 1 st, Early requirements Early requirements Balloon: goal-decomposition and Means-ends analysis for PAT
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Late requirements Rationale diagram for eCulture System
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Late requirements Late requirements dependencies with environmental actors
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Architectural design Architectural design (step 1) taking into account functional requirements : decomposition into sub-actors
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Architectural design Info Broker Architectural design (step 1) extending actor diagram taking into account architectural styles - the Info Broker
ATAL - Seattle, August 1 st, Architectural design Architectural design Step 2 identifying actor capabilities from the analysis of dependencies in the actor diagram …an intuitive idea of the process
ATAL - Seattle, August 1 st, Architectural design Architectural design (step 2) Actor capabilities
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Architectural design Architectural design Step 3 from actors to agents ….
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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 …
ATAL - Seattle, August 1 st, Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams)
ATAL - Seattle, August 1 st, Detailed design Detailed design Capability diagram
ATAL - Seattle, August 1 st, Detailed design BDI platform case We model: capabilities –capability diagrams (currently AUML activity diagrams) plans –plan diagrams (currently AUML activity diagrams
ATAL - Seattle, August 1 st, Detailed design Detailed design Plan diagram - plan evaluate query
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Detailed design Detailed design Agent interaction diagram
ATAL - Seattle, August 1 st, 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.
ATAL - Seattle, August 1 st, Implementation Implementation Jack Intelligent system, AOS
ATAL - Seattle, August 1 st, Modeling Language Metamodel
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Metametamodel Metametamodel Entity
ATAL - Seattle, August 1 st, Metametamodel Metametamodel N-ary Relatioship
ATAL - Seattle, August 1 st, Metamodel Metamodel Actor
ATAL - Seattle, August 1 st, Metamodel Metamodel Goal
ATAL - Seattle, August 1 st, Metamodel Metamodel Plan
ATAL - Seattle, August 1 st, Transformational approach
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Transformational operators
ATAL - Seattle, August 1 st, 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 taxes well spent
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Conclusion
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Related work
ATAL - Seattle, August 1 st, Related work 1)AOSE 2)OOP 3)Requirement engineering
ATAL - Seattle, August 1 st, Future work
ATAL - Seattle, August 1 st, Future work Formal Tropos Architectural patterns Formalization of the transformational approach (primitives and strategies)
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, 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