A FIPA-Systems Development Methodology Standardization

download report

Transcript A FIPA-Systems Development Methodology Standardization

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 ??
Place of events
The (ex) FIPA Methodology Technical Committee
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 !!!
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)
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
What is method
engineering
The ‘normal’ agent
development process
The proposed Method
Engineering approach
The
Method
The
CAME
tool is
Engineer
uses a
Engineer
analyzes
used
to instantiate
tool and
to
the
problem
aCAME
methodology
compose
the
new
thespecific
development
tool
methodology by
context/people
to
reusing
fragments
deduce
new
from
the repository
methodology
features
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
fragments
 A CAME (Computer Aided Method Engineering)
tool


… an evaluation framework (is my new
methodology really good?)
The results of the FIPA
Methodology TC
The new methodology
production process AllAANew
Fragments
areare
fragments
methodologies
are
The
methodology
method
fragments
CAME
(Computer
Existing
Methodologies
New
Method
Fragments
Method
Fragments
Extraction
MAS
A new and problem
Metaspecific methodology
is
Model
built
CAME tool
Method
Base
MAS
Deployment Model
MAS running
on agent platforms
CASE tool
identified
and
defined
ifisMethod
necessary
expressed
in a of
design
tool
iscomposed
aware
repository
Aided
described
according
to
standard
(we
the
selected
MAS
with
allnotation
existing
Engineering)
tool
the
previous
discussed
adopt
SPEM
- selection
Software
meta-model
helps
fragments
assists
in the(this
definition
Process
Engineering
in
fragments
selection
of fragments
and
Metamodel
– of
bydesign
OMG)
and
consistency
check)
composition
process
Specific
Methodology
Specific
problem
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
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
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, …)
Are you interested?
Please, contact me:
[email protected]
Further details
What is a (method) fragment

A fragment1 is a portion of the development process, composed as follows:
1.
2.
3.
4.
5.
6.
7.
A portion of process (what is to be done, in what order), defined with a
SPEM diagram
One or more deliverables (artifacts like (A)UML/UML diagrams, text
documents and so on).
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)
A list of concepts (related to the MAS meta-model) to be defined (designed)
or refined during the specified process fragment.
Guideline(s) that illustrates how to apply the fragment and best practices
related to that
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)
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)
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
Method Fragment structure
Aspect
Glossary
Guideline
Composition
Guideline
MasModelElementType
defines/refines
Fragment
fragment_name : String
dependant
precondition
artifact_element
Constraint
1..n
dependee
1..n
1
Process
Description
<<Guideline>>
1
1..*
involved roles
activities
Role Actor
1..*
Activity
1..*
role_name : String
MASModel
Relationship
MASModel
Entity
Work Product
deliverable
title : String
activity_product file : URL
Fragments dependency
description : text
Guard Condition
condition : String
activity_name : String
description : String
activity_role : Role Actor
1..* guideline : String
performs
activity_input
0..*
0..*
activity_output
Activity Data
ref : MasModelElementType
Text Document
template : URL
Diagram
notation : String
UML Diagram
notation = UML
xmi_content : String
Description of a methodology
in SPEM
(From the PASSI
process)
[New Iteration]
System Requirements
Deployment
Deploy
ment
Model
Syst.
Req.
Model
Agent
Society
Model
Agent
Impl.
Model
Code
Model
KEYS
Phase
WorkProduct
Agent Society
Agent Implementation
Code
Description of a methodology
in SPEM
Domain Ontology
Description
Fragment
Domain
Ontology
Description
(From PASSI process: the
Agent Society Phase)
Communication
Ontology Description
Communication Ontology
Description
Fragment
Roles Identification
Diagram(s)
(from Syst. Req. phase)
Fragment
Task Specification
Diagram(s)
(From Syst. Req. phase)
Roles Description
KEYS
Data Flow
Activity
UML
Diagram
Text
Document
Control Flow
Services
Fragment
Role
Description
Protocols Description
Protocol
Description
Relationship with the MAS
meta-model

MAS meta-model elements and
work products are directly related
D
*
Concept
1
D

D
Kinds of relationships:





1
1
Define
Refine
Quote
Relate
…
1
*
Ontology
Domain
Ontology
Description
*
Predicate
1
D
*
Action
R
D
1..*
1
Agent
0..*
-Knowledge
1..*
Q
0..*
1
Agent
Society
Model
-Exch. Knowledge
Ontology
Element
D
1..*
Communication Ontology
1
Communication
Description
Q
1..*
Q
Content
Language
1..*
Role
Q
1..*
AIP
D
A unifying MAS meta-model
(from Adelfe, Gaia, Ingenias, PASSI)
0..*
Organization
controlEngine
topology
Organizational
Structure
Service
input
output
pre-condition
post-condition
0..*
belongs
1
observes
1..*
Responsibility
0..1
has
LivenessPeoperty
Organizational Rules
SafetyRules
0..*
NonFuncReq
LivenessRules
SafetyProperty
Provides/
Requests
Communication
contentLanguage
Message
1..*
0..*
Specific NCSs derived from here
[see AdelFe MAS meta-model]
are hidden because of space
concerns
0..*
Cooperation
Rules
NCS
0..*
1
1
0..*
0..*
Characteristics
0..*
0..*
Skill
0..*
Requirement
Aptitude
1..*
1..*
1
1
Role
name : String
1
1
1
1
0..1
Representation
1..*
FIPAPlatform
Agent
+activity
1
comm_Act
acts on/interact with
1
*
1
describes
Environment
1
Predicate
Performative
1..*
FIPAPlatform
Task
1
Action
act
+PermittedAction
1..*
C. Bernon, M. Cossentino, M.P. Gleizes, J. Pavon, P. Turci, F. Zambonelli.
Towards Unification of Multi-Agent Systems Meta-Models.
AIP
name : String
Scenario
Task
1
0..1
Concept
1
1
1..*
Ontology
1..*
1..*
1
ExchangedKnowledge
+Initiator/
Participant
1..*
Agent
1..*
name : String
1..*
0..*
0..*
Resource
name : String
1
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.
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?