1 / 66

A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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. Outline. Key ideas

kin
Download Presentation

A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia Dept. of Information and Communication TechnologyUniversity of Trento SRA Division - ITC-irstTrento fausto@itc.it - http://sra.itc.it

  2. Outline • Key ideas • Modeling language • case study • metamodel • Transformational approach • case study revisited • transformation operators • composition of transformations: intuitions • Conclusion • Future work • Related work

  3. Key ideas

  4. Key ideas The Tropos framework rests on three key ideas: • Consider the overall software development process, from early requirements down to implementation • Use the notion of agent and all the related mentalistic notions in all phases of software development • Adopt a transformational approach, namely perform refinement steps, inside one phase or between phases, using a set of transformation operators

  5. Key ideas (1.1) 5 phases: • Early requirements • Late requirements • Architectural design • Detailed design • Implementation

  6. Key Ideas (1.2): AOSE approaches Development process methodologies, organizational analysis ontology Extension of OO specification languages - methodologies MSEM, Wood et al. AAII, Kinny et al. AUML, Odell et al. Gaia, Wooldridge, et al. Tropos Early requirements Late requirements Detailed design Architectural design Implementation

  7. Key ideas (2.1) • 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.) Model the what, how and the why

  8. Key ideas (2.2) Filling the gap Agent-oriented programming i * Early requirements Late requirements Detailed design Architectural design Implementation

  9. Key ideas (2.3) • 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).

  10. Key ideas (3.1) 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.

  11. Key ideas (3.2) Advantages of the approach : • provides systematic description of the process • allows for processanalysis • provides guidelines to the engineer • provides a sound basis for describing and evaluating requirement acquisition and design strategies

  12. Modeling language

  13. Modeling languagecase study

  14. The eCulture system case study • 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).

  15. 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. Early requirementsMain activities • We analyze the environment (i.e. existing organizational setting)and model it in terms of relevant actors and their respective dependencies

  17. Early requirementsThe stakeholders of the eCulture domain Citizen Museum PAT Visitor

  18. Early requirementsThe stakeholders of the eCulture domain Citizen get cultural information Museum PAT increase internet use Visitor enjoy visit

  19. Early requirementsThe stakeholders of the eCulture domain Citizen taxes well spent get cultural information Museum PAT increase internet use Visitor enjoy visit

  20. Early requirementsThe stakeholders of the eCulture domain

  21. Early requirementsBalloon: goal-decomposition andMeans-ends analysis for PAT

  22. Late requirementsMain activities • We introduce the system actor and analize its dependencies with actors in its environment identifying system’s functional and non-functional requirements

  23. Late requirementsRationale diagram for eCulture System

  24. get cultural information get cultural information eCulture System eCulture sys.available eCulture sys.available Revision of dependencies Early Requirements revised Citizen PAT

  25. Late requirementsdependencies with environmental actors

  26. Architectural designMain activities • 3 steps: • decomposing and refining the system actor diagram • … at three different levels of abstraction • identifying capabilities • from actors to agents

  27. Architectural design: step 1 • a:inclusion of new actors due to delegation of subgoals upon goal analysis of system's goals • 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 someNon Functional Requirements

  28. Architectural design(step 1)taking into account functional requirements : decomposition into sub-actors

  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 someNon Functional Requirements

  30. Architectural design(step 1)extending actor diagram taking into account architectural styles - the Info Broker

  31. Architectural designStep 2 • identifying actor capabilities from the analysis of dependencies in the actor diagram • …an intuitive idea of the process

  32. Architectural design(step 2)Actor capabilities

  33. Architectural design(step 2)Actor capabilities

  34. Architectural design(step 2)Actor capabilities

  35. Architectural designStep 3 from actors to agents ….

  36. Architectural design(step 3)from actors to agents

  37. Architectural design(step 3)from actors to agents

  38. Detailed designMain 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. Detailed designBDI platform case • We model: • capabilities • capability diagrams (currently AUML activity diagrams)

  40. Detailed designCapability diagram

  41. Detailed designBDI platform case • We model: • capabilities • capability diagrams (currently AUML activity diagrams) • plans • plan diagrams (currently AUML activity diagrams

  42. Detailed designPlan diagram - plan evaluate query

  43. Detailed designBDI 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. Detailed designAgent interaction diagram

  45. Implementation Main activities … follow step by step the detailed design specification … In JACK (BDI multiagent platform)agents are autonomous softwarecomponents 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. ImplementationJack Intelligent system, AOS

  47. Modeling Language Metamodel

  48. Modeling language 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.

  49. MetametamodelEntity

  50. Metametamodel N-ary Relatioship

More Related