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

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

First Inter-Galactic Workshop on Tropos IRST-ITC Trento November 15-16, 2001.
Agent Based Software Development
© Gerald Kotonya and Ian Sommerville Viewpoint-Oriented Requirements Methods.
UML an overview.
Tropos: A Framework for Requirements-Driven Software Development Jaelson Castro* Centro de Informatica - CIN Universidade Federal de Pernambuco - UFPE.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Giorgini - CoopIS 2001 Implicit Culture for Multi-agent Interaction Support Paolo Giorgini Department of Mathematics University of Trento
1 Enhancing Requirements Engineering by Quality Modelling: a structured Framework Paolo Donzelli Dept of Informatics Office of the Prime Minister Rome,
Agent-Oriented Software Engineering and Tropos Agent-Oriented Software Engineering Early Requirements and i* Modeling with i* Formal Tropos Analyzing Formal.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Software Testing and Quality Assurance
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
AOSE-2003, Melbourne July 15 th 1 Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2,1, Marco Roveri 1,
A Requirement-Driven Development Methodology Jaelson Castro † Manuel Kolp ‡ John Mylopoulos ‡ ‡ Department of Computer Science University of Toronto University.
Introduction To System Analysis and design
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
* SRA Division CoopIS- September Extending Multi-Agent Cooperation by Overhearing Floriano Zini SRA Division - ITC-irst, Povo (Trento) - Italy Joint.
Software Engineering CS B Prof. George Heineman.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
SecureTropos ST-Tool A CASE tool for security-aware software requirements analysis Departement of Information and Communication Technology – University.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp † Paolo Giorgini ‡ John Mylopoulos † † Department of Computer Science.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Loc-based Variability for Mobile Information Systems Raian Ali, Fabiano Dalpiaz, Paolo Giorgini CAiSE’ June 2008.
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)
Travis Steel. Objectives What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When.
Applying Tropos to Socio-Technical System Design and Runtime Configuration Fabiano Dalpiaz, Raian Ali, Yudistira Asnar, Volha Bryl, Paolo Giorgini Dipartimento.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
The Systems Development Life Cycle
Raian Ali, Fabiano Dalpiaz, Paolo Giorgini Location-based Software Modeling and Analysis: Tropos-based Approach.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Capturing Web Application Requirements through Goal-Oriented Analysis Presented by Chin-Yi Tsai
A Social Organization Perspective on Software Architecture Manuel KolpJaelson CastroJohn Mylopoulos Department of Computer Science University of Toronto.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
1 Evolving System Architecture to Meet Changing Business Goals An Agent and Goal-Oriented Approach Daniel Gross & Eric Yu Faculty of Information Studies.
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo.
1 CMPT 275 High Level Design Phase Modularization.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Unifying MAS Meta-Models ADELFE, Gaia & PASSI Carole Bernon, Massimo.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.
Adding Hypermedia Requirement to Goal-Driven Analysis Presented by Chin-Yi Tsai.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model Fabiano Dalpiaz¹, Ambra Molesini², Mariachiara Puviani³,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
UNIT 1.
Model-Driven Analysis Frameworks for Embedded Systems
The Tropos visual modeling language A meta-model.
TDT4252 Modelling of Information Systems Advanced Course
Dept. of Computation, UMIST
Agent-oriented Software Engineering Methodologies
PASSI (Process for Agent Societies Specification and Implementation)
From Use Cases to Implementation
Presentation transcript:

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