atal - seattle, august 1 st, 2001 1 a knowledge level software engineering methodology for agent...

Post on 04-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ATAL - Seattle, August 1st, 2001 1

A Knowledge Level Software Engineering A Knowledge Level Software Engineering Methodology for Agent Oriented Methodology for Agent Oriented

ProgrammingProgramming

The Tropos framework

Fausto GiunchigliaDept. of Information and Communication TechnologyUniversity of Trento

SRA Division - ITC-irstTrento

fausto@itc.it - http://sra.itc.it

ATAL - Seattle, August 1st, 2001 2

Outline Outline

• Key ideas• Modeling language

– case study – metamodel

• Transformational approach– case study revisited– transformation operators– composition of transformations: intuitions

• Conclusion• Future work• Related work

ATAL - Seattle, August 1st, 2001 3

Key ideas

ATAL - Seattle, August 1st, 2001 4

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

ATAL - Seattle, August 1st, 2001 5

Key ideas (1.1)Key ideas (1.1)

5 phases:

• Early requirements• Late requirements• Architectural design• Detailed design

• Implementation

ATAL - Seattle, August 1st, 2001 6

Key Ideas (1.2): AOSE approachesKey Ideas (1.2): AOSE approaches

Early

require

ments

Late

require

ments

Archite

ctura

l

design Detaile

d

design

Implementatio

n

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 1st, 2001 7

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

Key ideas (2.1)Key ideas (2.1)

ATAL - Seattle, August 1st, 2001 8

Filling the gap

Early

require

ments

Late

require

ments

Archite

ctura

l

design Deta

iled

design

Implem

entatio

n

i *Agent-orientedprogramming

Key ideas (2.2)Key ideas (2.2)

ATAL - Seattle, August 1st, 2001 9

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

ATAL - Seattle, August 1st, 2001 10

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

ATAL - Seattle, August 1st, 2001 11

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)Key ideas (3.2)

ATAL - Seattle, August 1st, 2001 12

Modeling languageModeling language

ATAL - Seattle, August 1st, 2001 13

Modeling languageModeling languagecase studycase study

ATAL - Seattle, August 1st, 2001 14

• 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 studyThe eCulture system case study

ATAL - Seattle, August 1st, 2001 15

The eCulture system case studyThe 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 1st, 2001 16

We analyze the environmentenvironment (i.e. existing organizational setting) and model it in terms of relevant actorsrelevant actors and their respective dependenciesdependencies

Early requirementsEarly requirementsMain activities

ATAL - Seattle, August 1st, 2001 17

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

ATAL - Seattle, August 1st, 2001 18

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

get cultural information

increase internet

use

enjoy visit

ATAL - Seattle, August 1st, 2001 19

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

get cultural information

increase internet

use

taxes well spent

enjoy visit

ATAL - Seattle, August 1st, 2001 20

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

ATAL - Seattle, August 1st, 2001 21

Early requirementsEarly requirementsBalloon: goal-decomposition and Means-ends analysis for PAT

ATAL - Seattle, August 1st, 2001 22

We introduce the systemsystem actor and analize its dependencies dependencies with actors in its environment identifying system’s functional and non-functional requirements

Late requirementsLate requirementsMain activities

ATAL - Seattle, August 1st, 2001 23

Late requirementsRationale diagram for eCulture System

ATAL - Seattle, August 1st, 2001 24

Revision of dependencies Revision of dependencies Early Requirements revised

PAT

Citizen eCulture sys. available

get cultural information

eCulture sys. available

get cultural information

eCultureSystem

ATAL - Seattle, August 1st, 2001 25

Late requirementsLate requirementsdependencies with environmental actors

ATAL - Seattle, August 1st, 2001 26

Architectural designArchitectural 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 1st, 2001 27

Architectural design: Architectural design: step 1step 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

a:a: inclusion of new actors due to inclusion of new actors due to delegationdelegation of subgoals upon goal of subgoals upon goal analysis of system's goalsanalysis of system's goals

ATAL - Seattle, August 1st, 2001 28

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

ATAL - Seattle, August 1st, 2001 29

Architectural design: Architectural design: step 1step 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

ATAL - Seattle, August 1st, 2001 30

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

ATAL - Seattle, August 1st, 2001 31

Architectural designArchitectural design Step 2

identifying actor capabilities from the analysis of dependencies in the actor diagram

…an intuitive idea of the process

ATAL - Seattle, August 1st, 2001 32

Architectural designArchitectural design (step 2) Actor capabilities

ATAL - Seattle, August 1st, 2001 33

Actor Name

Capability #

Area Classifier

1) Get area specification form

2) Classify area3) Provide area

information4) Provide service

description

Architectural designArchitectural design (step 2) Actor capabilities

ATAL - Seattle, August 1st, 2001 34

Architectural designArchitectural design (step 2) Actor capabilities

Actor Name Capability #

Area Classifier 1) Get area specification form2) Classify area3) Provide area information4) Provide service description

Info Searcher 5) Get area information6) Find information source7) Compose query8) Query source9) Provide query information Provide service description

Results Synthesizer 10) Get query information11) Get query results12) Provide query results13) 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 1st, 2001 35

Architectural designArchitectural design Step 3

from actors to agents ….

ATAL - Seattle, August 1st, 2001 36

Actor Name Capability #

Area Classifier 1) Get area specification form2) Classify area3) Provide area information4) Provide service description

Info Searcher 5) Get area information6) Find information source7) Compose query8) Query source9) Provide query information Provide service description

Results Synthesizer 10) Get query information11) Get query results12) Provide query results13) 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 designArchitectural design (step 3) from actors to agents

ATAL - Seattle, August 1st, 2001 37

Architectural designArchitectural design (step 3) from actors to agents

Agent Name Capability #

Query Handler 1) Get area specification form3) Provide area information4) Provide service description 5) Get area information7) Compose query8) Query source9) Provide query information 10) Get query information11) Get query results12) Provide query results

Classifier 2) Classify area4) Provide service description

Searcher 4) Provide service description 6) Find information source

Synthesizer 13)Synthesize area query results14)Provide service description

User Interface Agent 15, 16, 17, 18, 4

Wrapper 14, 4

ATAL - Seattle, August 1st, 2001 38

Detailed designDetailed design Main activities

Specification of the agents’ micro leveltaking 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 1st, 2001 39

Detailed designDetailed design BDI platform caseBDI platform case

We model:

• capabilities– capability diagrams (currently AUML

activity diagrams)

ATAL - Seattle, August 1st, 2001 40

Detailed designDetailed design Capability diagram

ATAL - Seattle, August 1st, 2001 41

Detailed designDetailed design BDI platform caseBDI platform case

We model:

• capabilities– capability diagrams (currently AUML

activity diagrams)

• plans– plan diagrams (currently AUML activity

diagrams

ATAL - Seattle, August 1st, 2001 42

Detailed designDetailed design Plan diagram - plan evaluate query

ATAL - Seattle, August 1st, 2001 43

Detailed designDetailed design BDI platform caseBDI 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 1st, 2001 44

Detailed designDetailed designAgent interaction diagram

ATAL - Seattle, August 1st, 2001 45

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 1st, 2001 46

ImplementationImplementationJack Intelligent system, AOS

ATAL - Seattle, August 1st, 2001 47

Modeling LanguageMetamodel

ATAL - Seattle, August 1st, 2001 48

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

ATAL - Seattle, August 1st, 2001 49

Language Element

Actor

EntitySystem Formula

PlanGoal

Attribute

Basic

ResourceDependency

invariant

creation

fulfillment

0..n

fulfillment

N-ary Relationship

MetametamodelMetametamodel Entity

ATAL - Seattle, August 1st, 2001 50

Metametamodel Metametamodel N-ary Relatioship

N-ary Relationship

ContributionDependency

Language Element

AND-OR decomposition Means-Ends Analysis

ATAL - Seattle, August 1st, 2001 51

Metamodel Metamodel Actor

DependencyActor

dependee

depender

Resource PlanGoal

Belief

has

wantedby

dependum dependumdependum

0..n

1..n

wants0..n

0..narebelieved

{XOR}

ATAL - Seattle, August 1st, 2001 52

Metamodel Metamodel Goal

Means-Ends analysis

Resource

Hardgoal

Goal

Plan

Softgoal

Contribution

0..nend

means0..n

root

pointview

means means

0..n 0..ncontributes to

contributed by

AND-OR decomposition

Actor

OR-decomposition AND-decomposition0..n

0..n

1..n

pointviewpointview

e.g.,++,+,-,--,...

child

child

ATAL - Seattle, August 1st, 2001 53

Metamodel Metamodel Plan

Means-Ends analysis

Resource

Plan0..n end

means0..n

root

pointview

means

0..n

AND-OR decomposition

Actor

1..n

is capable ofpointview

Hardgoal

1..n

fulfills

OR-decomposition AND-decomposition0..n

0..n

child

child

ATAL - Seattle, August 1st, 2001 54

Transformational Transformational approachapproach

ATAL - Seattle, August 1st, 2001 55

Case study revisited: Case study revisited: early requirements early requirements againagain

citizen

taxes wellspent

PAT

visit website

visit culturalinstitution

interenetavailable

buy eCulturesystem

build eCulturesystem

provide eCult.services

good culturalservices

goodservices

get culturalinformation

eCulture sys.available

eCulture sys.available

eCulture sys.available

eCulture sys.available

get culturalinformation

1

2

3

4

5

6

7

8

ATAL - Seattle, August 1st, 2001 56

Transformational operators

ATAL - Seattle, August 1st, 2001 57

Composition of operators: intuitionsComposition of operators: intuitions

citizen PAT

taxes wellspent

visit website

visit culturalinstitution

provide eCult.services

good culturalservices

goodservices

buy eCulturesystem

build eCulturesystem

eCulture sys.available

interenetavailable

eCulture sys.available

eCulture sys.available

get culturalinformation

4

5

6

7

8

3

1

2

taxes wellspent

ATAL - Seattle, August 1st, 2001 58

• 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: intuitionsComposition of operators: intuitions

ATAL - Seattle, August 1st, 2001 59

ConclusionConclusion

ATAL - Seattle, August 1st, 2001 60

ConclusionConclusion

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 1st, 2001 61

Related workRelated work

ATAL - Seattle, August 1st, 2001 62

Related workRelated work

1) AOSE

2) OOP

3) Requirement engineering

ATAL - Seattle, August 1st, 2001 63

Future workFuture work

ATAL - Seattle, August 1st, 2001 64

Future workFuture work

• Formal Tropos

• Architectural patterns

• Formalization of the transformational approach (primitives and strategies)

ATAL - Seattle, August 1st, 2001 65

The The TroposTropos group 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 1st, 2001 66

The The TroposTropos framework 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

top related