670 likes | 693 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 • tranformational operators • composition of transformations: intuition • Conclusion • Future work • Related work
Key ideas 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
Key ideas (1.1) The 5 phases of the Tropos framework: • Early requirements • Late requirements • Architectural design • Detailed design • Implementation
Key ideas (1.2) • 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 • the conceptual notions thus introduced are used along the whole development process
Key ideas (1.3) Filling the gap Agent-oriented programming i * Early requirements Late requirements Detailed design Architectural design Implementation
Key ideas (2) • 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 (3.1) 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.2) Advantages of the (transformational) 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 studyFollowing the 5 phases of the Tropos framework down to the implementation • 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 requirementsGoal-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 : eCulture System 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 this 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) to achieve or events to handle, beliefs and capabilities. They are programmed with a set of plans that make them capable of achieving goals.
Metamodel 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.
Metamodelactors, goals, softgoals, … 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. …