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 –tranformational operatorstranformational operators –composition of transformations: intuitioncomposition of transformations: intuition Conclusion Future work Related work
ATAL - Seattle, August 1 st, Key ideas
ATAL - Seattle, August 1 st, 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
ATAL - Seattle, August 1 st, Key ideas (1.1) The 5 phases of the Tropos framework: Early requirements Late requirements Architectural design Detailed design Implementation
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 –the conceptual notions thus introduced are used along the whole development process Key ideas (1.2)
ATAL - Seattle, August 1 st, Filling the gap Early requirements Late requirements Architectural design Detailed design Implementation i * Agent-oriented programming Key ideas (1.3)
ATAL - Seattle, August 1 st, 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)
ATAL - Seattle, August 1 st, 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)
ATAL - Seattle, August 1 st, 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)
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 down to the implementation 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 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 : eCulture System 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 this 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) to achieve or events to handle, beliefs and capabilities. They 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, 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
ATAL - Seattle, August 1 st, 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, …
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 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
ATAL - Seattle, August 1 st, transformational operators
ATAL - Seattle, August 1 st, 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 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 primitives: intuition
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, 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, 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 - 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
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. 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