26
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Embed Size (px)

Citation preview

Page 1: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Experiences from a standardization attempt in AO methodologies

Massimo Cossentino (Italian National Research Council)

Page 2: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Reference Scenario for this talk

I don’t like your methodology!!!

I’m going to create a new, better one!

… how ??

Page 3: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Place of events

The (ex) FIPA Methodology Technical Committee

Page 4: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

AOSE Today (methodological point of view)

Several methodologies exist with different advantages: Gaia Ingenias/Message MaSE PASSI Prometheus Tropos

… e.g.: one size does not fit all !!!

Page 5: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

The FIPA Methodology TC Goals

Problem:

It makes no sense to define one unique methodology and to force everyone to adopt it in order to be “FIPA compliant”

(Proposed) Solution:

Let the developer of a multi-agent system create his own methodology:

Suited for the specific problem/system to be built

Not conflicting with his (development) environmental constraints

Coherent with his (or his group) knowledge and skills

Supported by a CASE tool

Supported by a FIPA methodology composition framework (specifications, guidelines and construction bricks)

Page 6: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

The proposed approach

Adopting and customizing for Agent-based systems the well known Method Engineering paradigm:

The development methodology is built by the developer assembling pieces of the process (method fragments) taken from a repository.

The repository is composed of contributions coming from existing methodologies and other novel and specifically conceived fragments

Page 7: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

What is method engineering

Page 8: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

The ‘normal’ agent development process

Method Engineer

Uses

Design Methodology

Defines Is adopted by

SystemDesigner

CAMEToolsFragments

Repository

Uses

CASETools

Perceives

Problem

Designs Solve

Agents

Instantiate

System Specifications

Produce

Specify

Page 9: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

The Method Engineer analyzes the problem and the development context/people to

deduce new methodology

features

The proposed Method Engineering approach

Method Engineer

Uses

Design Methodology

Defines Is adopted by

SystemDesigner

CAMEToolsFragments

Repository

Uses

CASETools

Perceives

Problem

Designs Solve

Agents

Instantiate

System Specifications

Produce

SpecifyThe Method

Engineer uses a CAME tool to

compose the new methodology by

reusing fragments from the repository

The CAME tool is used to instantiate

a methodology specific tool

Page 10: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Key elements

OK sounds interesting, now, I want to create my new methodology with this approach.

What do I need?A collection of method fragments Some guidelines about how to assemble

fragmentsA CAME (Computer Aided Method Engineering)

tool

… an evaluation framework (is my new methodology really good?)

Page 11: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

The results of the FIPA Methodology TC

Page 12: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

ExistingMethodo-

logies

MethodBase

MethodFragmentsExtraction

NewMethod

Fragments

CAME tool SpecificMethodo-

logy

MASMeta-Model

CASE tool Specificproblem

MAS runningon agent platforms

MASModelDeployment

A new and problem specific methodology is

built

A CAME (Computer Aided Method

Engineering) tool assists in the selection

of fragments and composition of design

process

Fragments are identified and described

according to the previous discussed

definition

A method fragments repository is composed

with all existing fragments

All methodologies are expressed in a

standard notation (we adopt SPEM - Software Process Engineering

Metamodel – by OMG)

New fragments are defined if necessaryThe methodology

design tool is aware of the selected MAS

meta-model (this helps in fragments selection

and consistency check)

The new methodology production process

Page 13: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

What has been done

1. First release of a glossary of agent-design related terms (one of the TC deliverables) (see http://www.pa.icar.cnr.it/~cossentino/ FIPAmeth/glossary.htm)

2. Definition of the method fragment structure (meta-model)

In terms of: a portion of process, some deliverables, preconditions, list of concepts addressed in the fragment, guidelines, glossary of terms, composition guidelines, aspects and dependencies.

3. Study of several MAS meta-model, definition of an unifying proposal

4. Extensive experimentation of OMG SPEM (Software Process Engineering Metamodel) as a modeling language for representing process aspects of fragments of MAS design processes

5. Collection of fragments from several methodologies (Adelfe, Gaia, PASSI, Tropos, to be completed: Ingenias)

6. Experiments of methodologies composition

Page 14: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

What is (still) to be done(according to the old plan)

Extraction of more fragments from existing methodologies in order to improve the methods base

Documents to be completed: Fragments Repository architecture definition Methodology Composition Guidelines

Page 15: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Our Plans for the future

Starting a debate With both old TC members and new interested

people

Defining the new strategy From the technical point of view:

• Merging with OPF?• Exploring new directions?• Consolidating this position?

From the organizational point of view:• Preparing a proposal for an IEEE FIPA WG/SG?• Collaborating within other contexts? (ISO, Agentlink,

research projects, …)

Page 16: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Are you interested?

Please, contact me:

[email protected]

Page 17: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Further details

Page 18: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

What is a (method) fragment A fragment1 is a portion of the development process, composed as follows:

1. A portion of process (what is to be done, in what order), defined with a SPEM diagram

2. One or more deliverables (artifacts like (A)UML/UML diagrams, text documents and so on).

3. Some preconditions (they are a kind of constraint because it is not possible to start the process specified in the fragment without the required input data or without verifying the required guard condition)

4. A list of concepts (related to the MAS meta-model) to be defined (designed) or refined during the specified process fragment.

5. Guideline(s) that illustrates how to apply the fragment and best practices related to that

6. A glossary of terms used in the fragment (in order to avoid misunderstandings if the fragment is reused in a context that is different from the original one)

7. Other information (composition guidelines, platform to be used, application area and dependency relationships useful to assemble fragments) complete this definition.

1According to the (old) FIPA Methodology TC definition (see http://www.pa.icar.cnr.it/~cossentino/ FIPAmeth/metamodel.htm)

Page 19: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

MAS meta-models

It is the meta-model of the system to be built It specifies

which elements (agents, roles, behaviors, communications, …) will constitute the agent solution

which relationships exist among these elements The MAS meta-model (when chosen before of

the methodology) provides a guideline for the methodology pieces selection and assembling

Page 20: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Method Fragment structure

Text Documenttemplate : URL

UML Diagramnotation = UMLxmi_content : String

Diagramnotation : String

Guard Condition

condition : String

Fragments dependencydescription : text

<<Guideline>>

GlossaryComposition

GuidelineGuidelineAspect

MASModel Relationship

MASModel Entity

Role Actorrole_name : String

Activity Dataref : MasModelElementType

Process Description

1..*involved roles 1..*

MasModelElementType

Constraint

Fragment

fragment_name : String

11

1..n

1

dependee1..n

1

1..n

dependant1..n

defines/refines

precondition

Work Product

title : Stringfile : URL

artifact_element

deliverable

Activityactivity_name : Stringdescription : Stringactivity_role : Role Actorguideline : String1..*1..*

performs

0..*0..*activity_input 0..*0..* activity_output

1..* activities1..*1..*

activity_product

1..*

Page 21: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

System Requirements

Agent Society Agent Implementation Code

Deployment

Syst.Req.

Model

AgentImpl.

Model

CodeModel

AgentSocietyModel

DeploymentModel

[New Iteration]

Description of a methodology in SPEM

(From the PASSI process)

KEYS

Phase WorkProduct

Page 22: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Description of a methodology in SPEM

(From PASSI process: the Agent Society Phase)

KEYS

UML Diagram Control Flow

Data Flow

Text Document

Activity

Fragment

Fragment

Fragment

Fragment

Page 23: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

DomainOntology

Description

1 *

1

*

1 *

1

*

AgentSocietyModel

Communication Ontology Description

ProtocolDescription

Roles Description Diagram

Ontology

Concept

Predicate

Action

AIP Performative1 *1 *

Tasks

D

D

D

D

OntologyElement

Q

AIP

Q

1

1

1

0..*

Agent

R

ContentLanguage

Q

1..*

1..*

0..*

1..*

1..*

1..*

1-Knowledge0..*

1

-Exch. Knowledge

1..*

D

Communication

DD

Role

Q

1

1..*

Q

D

Communication

QResource

DService

QRole

R

Agent

Q

10..*D

1

0..*

D

Service

D

Services

D D

1

Relationship with the MAS meta-model

MAS meta-model elements and work products are directly related

Kinds of relationships:

Define Refine Quote Relate …

Page 24: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

A unifying MAS meta-model (from Adelfe, Gaia, Ingenias, PASSI)

SafetyRules LivenessRules

SafetyPropertyLivenessPeoperty

Specific NCSs derived from here [see AdelFe MAS meta-model] are hidden because of space concerns

NCS

FIPAPlatformTask

NonFuncReq

Requirement

FIPAPlatformAgent

*

1

*

1

Cooperation Rules

SkillCharacteristics Aptitude

Organization

controlEnginetopology

Organizational Rules

Task

1

1

1

1

Responsibility

Organizational Structure

0..1

1

0..1

1observes

Service

inputoutputpre-conditionpost-condition

Resource

name : String

Agent

name : String

0..*

1..*

0..*

1..*1..*

1..*

1..*

1..*

1

1

1

10..* 0..*0..* 0..*

0..*

1

0..*

1

0..*

1

0..*

1

0..*

1

0..*

1

0..*

0..*

0..*

0..*

belongs

Concept Predicate

Environment

Action

act1..*

1+PermittedAction

1..*

1

Representation

1

1..*

1

1..*

0..1

1

0..1

1

ScenarioRole

name : String

1..*

1

+activity1..*

1

0..*

1..*

0..*

1..*

acts on/interact with

1..*

1

1..*

1

has

1..*

1

1..*

1

0..*

0..*

0..*

0..*

0..*

1..*

0..*

1..*

Provides/ Requests

Ontology

1

1

1

1 describes

0..1

1

0..1

1

Communication

contentLanguage

1..*

0..*

1..*

0..*

+Initiator/ Participant

ExchangedKnowledge

AIP

name : String

1

1..*

1

1..*

Performative

Message

1..*1..*

comm_Act

C. Bernon, M. Cossentino, M.P. Gleizes, J. Pavon, P. Turci, F. Zambonelli.Towards Unification of Multi-Agent Systems Meta-Models.

Page 25: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Experiments of methodologies compositions

Recently, several papers have been written Among the others:

Following the Methodology TC approach:• M. Cossentino, V. Seidita. Composition of a New Process to Meet Agile Needs Using

Method Engineering. Software Engineering for Large Multi-Agent Systems vol. III. LNCS Series, Elsivier Ed. (2004)

• A. Garro, G. Fortino, W. Russo. Using Method Engineering for the Construction of Agent-Oriented Methodologies. In Proc. of WOA 04 - Dagli Oggetti agli Agenti, Sistemi Complessi e Agenti razionali, pages 51–54, Torino, Italy, December 2004.

Following similar approaches:• B. Henderson-Sellers. Method Engineering for OO Systems Development.

Communications of the ACM, 46(10), 2003. [29] B. Henderson-Sellers. Creating a comprehensive agent-oriented methodology - using method engineering and the OPEN metamodel. In B. Henderson-Sellers and P. Giorgini, editors, Agent-Oriented Methodologies Idea Group, 2005.

• T. Juan, and L. Sterling, and M. Winikoff. Assembling Agent Oriented Software Engineering Methodologies from Features. In Proc. of the Third International Workshop on Agent-Oriented Software Engineering, at AAMAS’02.

Page 26: Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)

Proposals for a new plan

Merging with OPF (Open Process Framework)?

Design tools A standardization effort could help in enabling the

development of this kind of tools Specific topics of interest for FIPA:

• Definition of a MAS meta-model, • Definition of the methodology meta-model • Identification of the basic activities that constitute a MAS

design process (?)

Proposals?