+ All Categories
Home > Documents > A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

Date post: 18-Mar-2016
Category:
Upload: astin
View: 56 times
Download: 6 times
Share this document with a friend
Description:
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 [email protected] - http://sra.itc .it. Outline. Key ideas - PowerPoint PPT Presentation
67
ATAL - Seattle, August 1 st , 2001 1 A Knowledge Level Software A Knowledge Level Software Engineering Methodology for Agent Engineering Methodology for Agent Oriented Programming Oriented Programming The Tropos framework Fausto Giunchiglia Dept. of Information and Communication Technology University of Trento SRA Division - ITC-irst Trento [email protected] - http://sra.itc.it
Transcript
Page 1: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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

[email protected] - http://sra.itc.it

Page 2: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 2

Outline • Key ideas• Modeling language

– case study – metamodel

• Transformational approach– case study revisited– tranformational operators– composition of transformations: intuition

• Conclusion• Future work• Related work

Page 3: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 3

Key ideas

Page 4: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 4

The Tropos framework is a novel approach in Agent Oriented Software Engineering, resting on the following 3 key ideas:

1. the Tropos approach framework spans the overall software development process, from early requirements down to implementation

2. we use the notion of agent and all the related mentalistic notions in all phases of software development

3. we adopt a transformational approach, i.e., we perform refinement steps, inside one phase or between phases, using a set of transformation operators

Key ideasKey ideas

Page 5: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 5

Key ideas (1.1)Key ideas (1.1)

The 5 phases of the Tropos framework:

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

Page 6: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 6

– 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

– the conceptual notions thus introduced are used along the whole development process

Key ideas (1.2)Key ideas (1.2)

Page 7: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 7

Filling the gap

Early

requirements

Late

requirements

Architectural

design Detailed

design

Implementatio

n

i *Agent-orientedprogramming

Key ideas (1.3)Key ideas (1.3)

Page 8: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 8

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

Page 9: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 9

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

Page 10: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 10

Advantages of the (transformational) 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)

Page 11: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 11

Modeling languageModeling language

Page 12: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 12

Modeling languageModeling languagecase studycase study

Page 13: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 13

• 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

Page 14: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 14

The eCulture system case studyThe eCulture system case study Following the 5 phases of the Tropos framework down to the implementation

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

•Implementation

Tropos social actors

Agents

Page 15: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 15

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

Page 16: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 16

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

Page 17: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 17

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

get cultural information

increase internet

use

enjoy visit

Page 18: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 18

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

PAT

Museum

Citizen

Visitor

get cultural information

increase internet

use

taxes well spent

enjoy visit

Page 19: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 19

Early requirementsEarly requirementsThe stakeholders of the eCulture domain

Page 20: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 20

Early requirementsEarly requirementsGoal-decomposition and Means-ends analysis for PAT

Page 21: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 21

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

Page 22: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 22

Late requirementsRationale diagram for eCulture System

Page 23: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 23

Revision of dependencies Revision of dependencies Early Requirements revised

PAT

Citizen eCulture sys. available

get cultural information

eCulture sys. available

get cultural information

eCultureSystem

Page 24: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 24

Late requirementsLate requirementsdependencies with environmental actors

Page 25: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 25

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

Page 26: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 26

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

Page 27: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 27

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

actors

Page 28: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 28

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

Page 29: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 29

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

Page 30: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 30

Architectural designArchitectural design Step 2

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

…an intuitive idea of this process

Page 31: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 31

Architectural designArchitectural design (step 2) Actor capabilities

Page 32: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 32

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

Page 33: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 33

Architectural designArchitectural design (step 2) Actor capabilities

Actor Name Capability #Area Classifier 1) Get area specification form

2) 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 specification16) Provide user specification 17) Get query results18) Present query results to the user Provide service description

Page 34: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 34

Architectural designArchitectural design Step 3

from actors to agents ….

Page 35: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 35

Actor Name Capability #Area Classifier 1) Get area specification form

2) 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 specification16) Provide user specification 17) Get query results18) Present query results to the user Provide service description

Architectural designArchitectural design (step 3) from actors to agents

Page 36: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 36

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

Page 37: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 37

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 …

Page 38: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 38

Detailed designDetailed design BDI platform caseBDI platform case

We model:

• capabilities– capability diagrams (currently AUML

activity diagrams)

Page 39: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 39

Detailed designDetailed design Capability diagram

Page 40: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 40

Detailed designDetailed design BDI platform caseBDI platform case

We model:

• capabilities– capability diagrams (currently AUML

activity diagrams)

• plans– plan diagrams (currently AUML activity

diagrams

Page 41: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 41

Detailed designDetailed design Plan diagram - plan evaluate query

Page 42: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 42

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

Page 43: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 43

Detailed designDetailed designAgent interaction diagram

Page 44: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 44

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) to achieve or events to handle, beliefs and capabilities. They are programmed with a set of plans that make them capable of achieving goals.

Page 45: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 45

ImplementationImplementationJack Intelligent system, AOS

Page 46: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 46

Modeling languageModeling languagemetamodelmetamodel

Page 47: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 47

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.

MetamodelMetamodel

Page 48: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 48

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.

MetamodelMetamodelactors, goals, softgoals, …

Page 49: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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

Page 50: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 50

Metametamodel Metametamodel N-ary Relatioship

N-ary Relationship

ContributionDependency

Language Element

AND-OR decomposition Means-Ends Analysis

Page 51: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 51

Metamodel Metamodel Actor

DependencyActordependee

depender

Resource PlanGoal

Belief

has

wantedby

dependum dependumdependum

0..n

1..n

wants0..n

0..narebelieved

{XOR}

Page 52: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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

Page 53: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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

Page 54: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 54

Transformational Transformational approachapproach

Page 55: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 55

case study revisited: case study revisited: early requirement againearly requirement again

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

34

5

6

7

8

Page 56: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 56

transformational operators

Page 57: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 57

composition of primitives: intuitioncomposition of primitives: intuition

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

67

8

3

1

2

taxes wellspent

Page 58: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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 primitives: intuitioncomposition of primitives: intuition

Page 59: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 59

ConclusionConclusion

Page 60: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

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

Page 61: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 61

Related workRelated work

Page 62: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 62

Related workRelated work

1) AOSE2) OOP3) Requirement engineering

Page 63: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 63

AOSE approachesAOSE approaches

Early

requirements

Late

requirements

Archite

ctural

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.

Page 64: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 64

Future workFuture work

Page 65: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 65

Future workFuture work

• Formal Tropos

• Architectural patterns

• Formalization of the transformational approach (primitives and strategies)

Page 66: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 66

The The TroposTropos group group

Fausto Giunchiglia, Paolo Giorgini, Fabrizio Sannicoló University of Trento - Dept. of information and communication technology

Paolo Bresciani, Anna Perini, Marco Pistore, Paolo TraversoSRA Division at ITC-IRST

John Mylopoulos, Eric Yu, Manuel Kolp, Luiz Cysneiros, Ariel D. Fuxman Computer Science Dept. - University of Toronto

Yves Lespérance York University, Toronto Jaelson Castro Universidade Federale de Pernambuco, Recife, BrazilDaniel Gross, Linda Lin Faculty of information Studies, University of Toronto

Page 67: A Knowledge Level Software Engineering Methodology for Agent Oriented Programming

ATAL - Seattle, August 1st, 2001 67

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

[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. Proc. Int. Workshop ATAL-2001


Recommended