660 likes | 854 Views
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
E N D
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
Outline • Key ideas • Modeling language • case study • metamodel • Transformational approach • case study revisited • transformation operators • composition of transformations: intuitions • Conclusion • Future work • Related work
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
Key ideas (1.1) 5 phases: • Early requirements • Late requirements • Architectural design • Detailed design • Implementation
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
Key ideas (2.1) • 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.) Model the what, how and the why
Key ideas (2.2) Filling the gap Agent-oriented programming i * Early requirements Late requirements Detailed design Architectural design Implementation
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).
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.
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
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).
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
Early requirementsMain activities • We analyze the environment (i.e. existing organizational setting)and model it in terms of relevant actors and their respective dependencies
Early requirementsThe stakeholders of the eCulture domain Citizen Museum PAT Visitor
Early requirementsThe stakeholders of the eCulture domain Citizen get cultural information Museum PAT increase internet use Visitor enjoy visit
Early requirementsThe stakeholders of the eCulture domain Citizen taxes well spent get cultural information Museum PAT increase internet use Visitor enjoy visit
Early requirementsBalloon: goal-decomposition andMeans-ends analysis for PAT
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
get cultural information get cultural information eCulture System eCulture sys.available eCulture sys.available Revision of dependencies Early Requirements revised Citizen PAT
Architectural designMain activities • 3 steps: • decomposing and refining the system actor diagram • … at three different levels of abstraction • identifying capabilities • from actors to agents
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
Architectural design(step 1)taking into account functional requirements : decomposition into sub-actors
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
Architectural design(step 1)extending actor diagram taking into account architectural styles - the Info Broker
Architectural designStep 2 • identifying actor capabilities from the analysis of dependencies in the actor diagram • …an intuitive idea of the process
Architectural designStep 3 from actors to agents ….
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 …
Detailed designBDI platform case • We model: • capabilities • capability diagrams (currently AUML activity diagrams)
Detailed designBDI platform case • We model: • capabilities • capability diagrams (currently AUML activity diagrams) • plans • plan diagrams (currently AUML activity diagrams
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
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.
Modeling Language Metamodel
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.