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
Method Engineer
Uses
Design Methodology
Defines Is adopted by
SystemDesigner
CAMEToolsFragments
Repository
Uses
CASETools
Perceives
Problem
Designs Solve
Agents
Instantiate
System Specifications
Produce
Specify
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
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?)
The results of the FIPA Methodology TC
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
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, …)
Further details
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)
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
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..*
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
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
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 …
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.
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?