Method Engineering for Multi-Agent System Design Methodologies

advertisement
The composition of ad-hoc
agent-oriented design
processes
Massimo Cossentino
ICAR- Consiglio Nazionale delle Ricerche – Palermo
Valeria Seidita
Dipartimento di Ingegneria Informatica – Univ. Palermo
Miniscuola WOA’08
18 Novembre 2008
Outline
2
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Introduction
Outline
4
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Introduction
In this talk we will deal with a well known problem: the
construction of a design process
When do we face this problem?




While developing a new design process (several new processes
are proposed in literature yearly)
While improving an existing process


Because it does not give good results (how do we measure that?)
Because we want to apply it to a different class of problems, or in a
different development context
How do we solve the problem?



5
Situational Method Engineering (SME) studies that from years
We propose an extension of classical SME approaches that is
specifically conceived for AOSE
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
What if my design process is not good?
Each problem is suited for a specific class of problems:


For instance, PASSI has been conceived to develop information
systems by using peer-agents societies with a classical (i.e. long
but well documented) design process
What if I am facing a different class of problems?


I can use a different design process



C. Bernon, M. Cossentino, J. Pavón. An Overview of Current Trends in European AOSE Research. Informatica
Journal, vol. 29, Number 4, 2005
L. Cernuzzi, M. Cossentino, F. Zambonelli. Process Models for Agent-based Development. Journal of Engineering
Applications of Artificial Intelligence, (EAAI). Elsevier. Vol. 18, No.2, March 2005.
I can create a new methodology for my specific purposes

Situational Method Engineering


6
M. Saeki. Software specification & design methods and method engineering. International Journal
of Software Engineering and Knowledge Engineering, 1994.
B. Henderson-Sellers. Method engineering: Theory and practice. In D. Karagiannis and editors
Mayr, H. C., editors, Information Systems Technology and its Applications., pages 13–23, 2006.
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
(Situational) Method Engineering
Outline
8
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Engineering: how it works

The development methodology is built by the developer by
assembling pieces of the process (method fragments) from a
method base.

The method base is composed of contributions coming from
existing methodologies and other novel and specifically
conceived fragments

This is the approach used within the FIPA Technical Committee
Methodology (2003-2005)
9
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The ‘normal’ agent development process
10
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Situational Method Engineering
11
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Adopting Method Engineering
What do I need?
12

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?)
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The new process production
CAPE tool
13
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
SME approaches









Brinkkemper S. (1996) Method Engineering: Engineering of Information Systems Development Methods and
Tools. Inf. Software Technol., 38(4), 275-280.
Brinkkemper S., Saeki M. and Harmsen F. (1998) Assembly techniques for method engineering, CAiSE'98,
Proceedings, Springer Verlag, LNCS 1413 pp. 381-400.
Weerd I. van de, Brinkkemper S., Souer J., Versendaal J. (2006) A Situational Implementation Method for
Web-based Content Management System-applications: Method Engineering and Validation in Practice. In
Software Process: Improvement and Practice (in press), John Wiley & Sons, Ltd.
Ralyté J. and Rolland C. (2001b) An approach for method re-engineering, Proceedings Int. Conf. ER2001,
LNCS 2224, Springer-Verlag, Berlin, 471-484
Ralyté J. (2002). Requirements Definition for the Situational Method Engineering. Proceedings of the IFIP
WG8.1 Working Conference on Engineering Information Systems in the Internet Context (EISIC’02),
Kluwer Academic Publishers, pp.127-152. Ralyté J. and Rolland C. (2001) An Assembly Process Model for
Method Engineering. CAISE’01, Proceedings, LNCS 2068, Springer-Verlag, pp. 267-283.
Mirbel I. and Ralyté J. (2006) Situational Method Engineering: Combining Assembly Based and RoadmapDriven Approaches. Requirements Engineering, 11(1), pp. 58–78.
Nguyen V.P. and Henderson-Sellers B. (2003) Towards automated support for method engineering with the
OPEN Process Framework. Procs. 7th IASTED Int. Conf. on Software Engineering and Applications, ACTA
Press, Anaheim, CA, USA, 691-696.
Firesmith D.G. and Henderson-Sellers B. (2002) The OPEN Process Framework. An Introduction, AddisonWesley, 330pp.
Gonzalez-Perez C. (2005) Tools for an extended object modelling environment. In 10 th IEEE International
Conference on Engineering of Complex Computer Systems (ICECCS). IEEE Computer Society. 20-23.
14
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Brinkkemper et al’s method fragment


Method fragment is a coherent piece of information system development
Two kinds of method fragment

Process fragment


Product fragment


Concerns the structure of a process product (deliverables, diagrams, etc.)
Three orthogonal dimension:

Perspective



The process and product perspective on fragment
Abstract level

Conceptual, technical and external level
Layer of granularity



Describes the stage, activities and tasks
The level of decomposition at which a method fragment resides
Method, stage, model diagram and concept
A fragment can be composed of other fragments and can have relationships
with other fragments
15
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Chunk - Ralytè et al.




16
Method chunk (seen as a consistent and autonomous
component)
It represents a portion of process with its resulting work
products
It integrates the product and the process aspects of method
fragment
It is represented using a metamodel (UML notation)
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Chunk Metamodel
Tactical
Guideline
Strategic
Guideline
Simple
Guideline
Intention
n
b elong to
Process
Model
1..n
Guideline
1..n
1
has
1
0..n
Interface
1
Situation
represented b y
has
Atomic
1
1
Method
Chunk
n
1
is b ased on 1
Aggregate
has
1..n
Product Model
1
Descriptor
1..n
Product Part
Reuse
Situation
Reuse Inention
1..n
target of
1..n
17
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Chunk Metamodel

It is composed of two parts:

The process model






The product model



18
Each chunk can be atomic (simple) or can aggregate other chunks
Guideline, embodies the method chunk knowledge to guide the designer
Situation, the condition of chunk applicability
Intention, the objective to perform
Descriptor, describes the situation in which the chunk can be reused
It is composed of: Product Model, Product Part and Guideline
For each method there is at least one product
Guideline is also part of the product model, it describes how to generate a
product
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
OPF method fragment



It is part of existing methodologies and used to
construct new ones
It is generated and stored in a repository with all its
guidelines basing on OPF Metamodel
The Metamodel is composed of five main metaclasses

19
Each metaclass produces a method fragment
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
OPF Metamodel
Guidelines
Stages
Provide macro
organization
Process
Components
WorkUnit
perform
create/evaluate/
iterate/mantain
WorkProduct
Producers
produce
20
Language
are documented
using
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Other References on SME








Kumar K. and R.J. Welke (1992) Methodology Engineering: a Proposal for Situation-Specific
Methodology Construction, in Challenges and Strategies for Research in Systems
Development, W.W. Cotterman and J.A. Senn (eds.). John Wiley & Sons: Chichester, UK. p. 257269.
Rolland C., Prakash N. and Benjamen A. (1999) A multi-model view of process modelling,
Requirements Engineering J., 4(4), 169-187.
Saeki M. (2003) Embedding Metrics into Information Systems Development Methods: An
Application of Method Engineering Technique. CAiSE’03, Proceedings, LNCS 2681, Springer,
374-389.
Saeki M. (2003) CAME: the First Step to Automated Software Engineering. Procs. OOPSLA
2003 Workshop on Process Engineering for Object-Oriented and Component-Based
Development. Anaheim, CA, 26-30, COTAR, Sydney, 7-18.
Gupta D. and Prakash N. (2001) Engineering Methods from Method Requirements
Specifications. Requirements Engineering Journal. 6(3), 135-160.
Henderson-Sellers B. (2002) Process metamodelling and process construction: Examples using
the OPEN Process Framework (OPF). Annals Software Engin. 14, 341–362.
Henderson-Sellers B. (2005) Creating a comprehensive agent-oriented methodology using
method engineering and the OPEN metamodel, Chapter 13 in Agent-Oriented Methodologies
(eds. B. Henderson-Sellers and P. Giorgini), Idea Group, 368-397.
Henderson-Sellers B. (2006) Method engineering: theory and practice, Information Systems
Technology and its Applications. 5th International Conference ISTA 2006. Klagenfurt, Austria,
LNI – Proceedings,Volume P-84, Bonn, 13-23.
21
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Agent-Oriented
Situational Method Engineering
MAS Meta-model

MAS meta-models play a fundamental role in the design of
agents.

Different design processes have great differences in the MAS
meta-models they adopt

A meta-model is a model of the concepts that can be used to
design and describe actual systems.

Models describing a system are composed of elements that are
instances of meta-model elements

MAS meta-models usually include elements like role, goal, task,
plan, communication, …
23
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Software Design:
the role of system meta-model
Designing (a software) means instantiating its meta-model
META-MODEL
24
MODEL
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Prode (PROcess DEsign for design processes)
approach for Agent-Oriented Method Engineering
MMM
25
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Fragment structure
(result of the FIPA Methodology TC work)
M. Cossentino, S. Gaglio, A. Garro,V. Seidita. Method Fragments for agent design methodologies: from standardization to research. International
Journal on Agent Oriented Software Engineering (IJAOSE). 1(1). 2007.
26
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
FIPA method fragment
A fragment is a portion of the development process, composed by:
•
•
•
•
•
•
•
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)
27 S. Gaglio, A. Garro,V. Seidita. Method Fragments
M. Cossentino,
V. Seidita
- Tutorial
18 Nov.Journal
2008 on
M. Cossentino,
for agent design
methodologies:
fromWOA'08
standardization to research. International
Agent Oriented Software Engineering (IJAOSE). 1(1). 2007.
The Process Design for Design Process
PRODE
Outline
29
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
PRODE divided in
three main areas of research
MMM
30
1) A collection of
process fragments
3) A CAPE (Computer
Aided Process Engineering)
tool
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
2) Guidelines for
fragment assembling
PRODE Area 1:
A Collection of Process Fragments
The fragment collection in PRODE
MMM
32
1) A collection of
process fragments
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The PRODE Process Representation
33
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Applying the Proposed Method Fragment
Definition

A method Fragment can be explored from four points of view:

Process


Storing


It concerns with the reuse feature of the fragment and lists the elements
helpful in reusing the fragment during the composition of a new design process
Implementation


It concerns with the storage of the fragment in the method base and its
retrieval
Reuse


The process related aspect of the fragment: workflow, activity and work
product
The implementation of the main elements of the process view.
Method fragment construction is Work Product oriented, a method
fragment must deliver a product.
Cossentino, M., Gaglio, S., Garro, A. and Seidita, V. (2007). Agents and Method Engineering: a Standardization Perspective’, Int. J. Agent-Oriented
Software Engineering, Vol. 1, No. 1, pp.91–121.
34
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Prode Area 2:
Guidelines for Fragment Assembly
Fragments Assembling in PRODE
MMM
36
2) Guidelines for
fragment assembling
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
37
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Requirements Analysis
38
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
39
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Core Metamodel Creation
40
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The ASPECS Core MetaModel
ASPECS is a design process for
building holonic multi-agent
systems recently developed at
UTBM
Massimo Cossentino, Nicolas Gaud, Stephane Galland, Vincent Hilaire, and Abderrafiaa Koukam. A Holonic Metamodel for AgentOriented Analysis and Design. 3rd International Conference on Industrial Applications of Holonic and Multi-Agent Systems
(HoloMAS'07). September 3 - 5, 2007, Regensburg, Germany.
41
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
42
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
What is Prioritization ??

The problem we face is:

What are the first fragments we should introduce in the new
process?
??
43
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Algorithm

Main issues:

We assume each process fragment instantiates, relates or
quotes MAS MetaModel Elements (MMMEs)

We created an algorithm for assigning a priority to the
realization of some MMMEs:



44
Elements that are ‘leaves’ of the metamodel graph are realised as first
Other elements follow according to the number of their relationships
The output is a priority list of fragments
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Prioritization Algorithm (1 of 3)
1.
2.
3.
4.
5.
Select a metamodel domain (consider the resulting metamodel
as a graph with nodes (MMMEs) and edges (relationships))
Define List elements1 as a list of MMMEs that can be defined
by reusing fragments from the repository, and the associated
priority p: List elements1 (MMME, p), p=1;
Define List elements2 as a list of MMMEs that cannot be
defined by reusing fragments from the repository;
Define List elements3 as a list of elements that are not in
the core MMM;
While the core MMM is not empty
Select the leaves Li (i=1,. . . ,n) that: (i) can be instantiated by
fragments of the repository and (ii) have less relationships with
other elements
a)
1.
2.
3.
6.
While the core MMM is not empty
Select the leaves Li (i=1,. . . ,m) that can not be instantiated by
fragments of the repository;
a)
1.
2.
45
Insert Li (i=1,. . . ,n) in List elements1;
Remove elements Li (i=1,. . . ,n) from the core MMM;
p = p+1;
Insert Li (i=1,. . . ,m) in List elements2;
Remove Li (i=1,. . . ,m) from the core MMM;
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Prioritization Algorithm (2 of 3)
For each element E1i of List_elements1 select an
instantiating fragment from the repository (verify the
correspondence among fragment rationale and the process
requirements/strategies)
7.
If one fragment corresponds to process requirements and
strategies then:
a)
insert the fragment in the new process composition diagram
analyze inputs Ii (i=0,. . . ,n) and outputs Oj (j=0,. . . ,m) of
the fragment
I.
II.
A.
If some Ii or Oj does not belong to the core MMM then add it to
List_elements3; mark the fragment as “To be modified”
B.
remove E1i from List elements1;
III.
A.
if yes delete E2i from List_elements2 and Ii/Oi from List_elements3
else (if no fragment correspond to requirements and
strategies) then
b)
I.
46
For each element E2i in List_elements2 analyze if there is a
similarity with the elements defined in this fragment
remove E1i from List_elements1 and insert it in List_elements2
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Prioritization Algorithm (3 of 3)
For each E2i (i=0..m) in List_elements2
8.
a)
Define a new fragment for instantiating E2i
b)
Insert the fragment in the new process composition diagram
c)
Remove E2i from List_elements2
For each E3i (i=0..m) in List_elements3
9.
a)
Introduce elements E3i (i=0..q) from List_elements3 in the
core MMM
b)
Repeat from 2. (consider only the new elements)
10.
a)
47
If the process is not completed (i.e. not all design
activities from requirements elicitation to coding, testing
and deployment have been defined)
Repeat from 1.
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
48
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The first two fragments in Building the
ASPECS Process
Not in the core
metamodel
49
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
50
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Process Component Diagram
51
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Process Analysis and Design in PRODE
52
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Metamodel Extension


The Core MAS Metamodel is the starting point for selecting
the right fragments from the repository and for assembling
them in the new process
MAS Metamodel extensions come from:
The need of incorporating MMMEs referred in selected fragments
 New process requirements
 Not all design activities from requirements elicitation to coding,
testing and deployment have been defined
 Three different situations may arise:
 Different MAS metamodels contribute to the new one with parts that
are totally disjointed
 Different MAS metamodels contribute to the new one with parts that
overlap and …



53
… overlapping elements have the same definitions bounded to elements with
different names…or on the contrary
...overlapping elements have the same name but different definitions
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Method Engineering
Supporting Tools
Method Engineering Supporting Tools

MetaEdit1 is probably the most diffused tool



Metameth is a recent research tool developed in Palermo



It is a CAME (Computer Aided Method Engineering) tool. It instantiates a CASE (Computer Aided
Software Engineering) tool.
It offers no specific support for: proper process life-cycle adoption, distributed work, collaboration
It is a CAPE tool that instantiates a CASE tool.
It is based on workflow concepts and supports collaborative distributed work. Designer is supported by
an expert system.
Eclipse Process Framework (EPF)3 is an open source effort


It is a process modelling tool that adopts SPEM (Software Process Engineering Metamodel) by OMG.
Not properly a method engineering tool but very useful in documenting/representing the process

The Rational Method Composer tool is another example of this kind of tool
1 http://www.metacase.com/mep/
2 M. Cossentino, L. Sabatucci,V. Seidita, S. Gaglio. An Agent Oriented Tool for New Design Processes. Fourth European Workshop on Multi-Agent
Systems (EUMAS'06). Lisbon, Portugal. December 2006.
3 http://www.eclipse.org/epf/
55
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
MetaEdit+ by MetaCASE

MetaEdit is composed of two main components:



The Workbench for defining the modeling language and related diagrams.
It uses the GOPPRR metamodeling language. This is the CAME part of
MetaEdit
The Modeler for actually designing the system. This is the CASE part of
MetaEdit and allows the instantiation of the concepts and rules defined
with the first step.
Comments



56
GOPPRR is powerful but defining a new
process is a very demanding operation
Expansion capabilities (for instance with plugins or new behaviour modules) are quite
limited
It is quite hard to convert it in a CAPE tool
(see experience done with Agile PASSI)
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
PRODE Area 3:
Supporting Tools
Metameth
PRODE divided in
three main areas of research
MMM
58
3) A CAPE (Computer
Aided Process Engineering)
tool
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
What is metameth

Metameth is an (open-source) agent-oriented tool we built to
support our experiments in methodologies composition and their
application in real projects.

Metameth is:

a CAPE tool: since it supports the definition of the design process lifecycle and the positioning of the different method fragments in the intended
place

a CAME tool: since it allows the definition of different method fragments

a CASE tool: since it supports a distributed design process, it offers
several (by now UML) graphical editors and an expert system for verifying
the resulting system
59
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
The Metameth tool architecture
60
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Results Evaluation
Results Evaluation: an open problem?
MMM
62
Results Evaluation is crucial
also in process
improvement/reengineering
M. Cossentino,
V. Seidita - Tutorial WOA'08
18 Nov. 2008
AO Design Process Evaluation






Q.N. Tran, G. C. Low (2005). Comparison of Ten Agent-Oriented Methodologies.
In Agent-Oriented Methodologies, chapter XII, pp. 341–367. Idea Group.
L. Cernuzzi, G. Rossi (2002). On the evaluation of agent oriented methodologies.
In: Proc. of the OOPSLA 2002 Workshop on Agent-Oriented
Methodologies, pp. 21-30.
Arnon Sturm, Dov Dori, Onn Shehory (2004). A Comparative Evaluation of
Agent-Oriented Methodologies, in Methodologies and Software Engineering
for Agent Systems, Federico Bergenti, Marie-Pierre Gleizes, Franco
Zambonelli (eds.)
Khanh Hoa Dam, Michael Winikoff (2003). Comparing Agent-Oriented
Methodologies. In proc. of the Agent-Oriented Information Systems
Workshop at AAMAS03. Melbourne (AUS).
P. Cuesta, A. Gómez, J. C. González, and F. J. Rodríguez (2003). A Framework
for Evaluation of Agent Oriented Methodologies. CAEPIA'2003
L. Cernuzzi, M. Cossentino, F. Zambonelli (2005). Process Models for AgentBased Development. International Journal on Engineering Applications of
Artificial Intelligence (EAAI). Elsevier.
63
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO processes evaluation

From:

64
Q.N. Tran, G. C. Low
(2005). Comparison of
Ten Agent-Oriented
Methodologies. In AgentOriented Methodologies,
chapter XII, pp. 341–367.
Idea Group.
Structure of the evaluation framework
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO processes evaluation/2

From:


Arnon Sturm, Dov Dori, Onn Shehory. A Comparative Evaluation
of Agent-Oriented Methodologies, in Methodologies and Software
Engineering for Agent Systems, Federico Bergenti, Marie-Pierre
Gleizes, Franco Zambonelli (eds.)
Evaluation is based on:




65
concepts and properties (autonomy, proactiveness,, …),
notations and modeling techniques (accessibility,
expressiveness),
process (development context, Lifecycle coverage),
pragmatics (required expertise, scalability, …) .
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO processes evaluation/3

From



Khanh Hoa Dam, Michael Winikoff (2003). Comparing Agent-Oriented
Methodologies. In proc. of the Agent-Oriented Information Systems Workshop at
AAMAS03. Melbourne (AUS).
Based on a questionnaire
Reused and
extended in
AL3-AOSE TFG3
(see website1 for
results)
1
http://www.pa.icar.cnr.it/cos
sentino/al3tf3/contributions.
html 66
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO process evaluation/4

The Capability Maturity Model Integration (CMMI)


“The overall goal of CMMI is to provide a framework that can
share consistent process improvement best practices and
approaches, but can be flexible enough to address the rapidly
changing needs of the community.”
SCAMPI (Standard CMMI Assessment Method for Process
Improvement): it is a schema for process evaluation in five
steps: activation, diagnosis, definition, action, learning.
67
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO process evaluation/5
CMMI discrete levels



Levels are used in CMMI to describe an evolutionary path
recommended for an organization that wants to improve
the processes
The maturity level of an organization provides a way to
predict an organization’s performance in a given discipline
or set of disciplines.
A maturity level is a defined evolutionary plateau for
organizational process improvement.
68
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Details on AO process evaluation/6
CMMI discrete levels
Maturity Level
Description
1-Initial
processes are usually ad hoc and chaotic
2-Managed
processes are planned and executed in accordance with policy
3-Defined
processes are well characterized and understood, and are described in
standards, procedures, tools, and methods
4-Quantitatively
managed
the organization and projects establish quantitative objectives for
quality and process performance and use them as criteria in managing
processes
5-Optimizing
an organization continually improves its processes based on a
quantitative understanding of the common causes of variation inherent
in processes
AOSE processes are (at most) at level 3!!
(only a few of them)
69
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Open issues

SME is perceived to be a difficult discipline



This is only partially true. All new design processes creator
performed (usually in a disordered way) the steps proposed and
studied by SME
A greater diffusion of AO-SME can have positive effects on the
development of new AO design processes (specifically in new areas
like self-org)
Major problems with AO-SME


AO processes deals with MAS metamodels and they are an open
issue in the agent community
Lack of standards (ISO specification vs FIPA proposal)



70
Lack of standard repository of fragments
Lack of stable (commercial quality) CAPE/CAME tools
Design process evaluation is still an open issue in both AO and OO
software engineering.
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Fragment Repository
Metameth Tool
V. Seidita
Appendix
More slides on selected topics
The PASSI Process Life-Cycle
73
Five Models
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
PASSI Models Scope
Each Model addresses a specific concern:
 System Requirements Model


Agent Society Model


It defines the agent solution according to the selected
implementation platform
Code Model


It aims at defining agent social features like communications, domain
knowledge, agent roles.
Agent Implementation Model


It aims at defining system functionalities and assigning them to agents
It includes code obtained by pattern reuse and manually created
code
Deployment Configuration Model

74
It defines dependencies among agents and host configurations in
multi-hosts/mobile agents applications
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
PASSI ToolKit (PTK): screenshoots
75
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
PASSI new modelling notation
The New Unified Notation
77
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Example of new notation – Task
Specification Diagram
78
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Example of new notation – Communication
Ontology Description diagram
79
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Example of new notation – Role Description
Diagram
80
M. Cossentino,V. Seidita - Tutorial WOA'08
18 Nov. 2008
Download