The composition of ad-hoc agent-oriented design processes Miniscuola WOA’08 18 Novembre 2008...

80
The composition of ad-hoc agent-oriented design processes Miniscuola WOA’08 18 Novembre 2008 Massimo Cossentino ICAR- Consiglio Nazionale delle Ricerche – Palermo Valeria Seidita Dipartimento di Ingegneria Informatica – Univ. Palermo

Transcript of The composition of ad-hoc agent-oriented design processes Miniscuola WOA’08 18 Novembre 2008...

The composition of ad-hoc agent-oriented design

processes

Miniscuola WOA’0818 Novembre 2008

Massimo CossentinoICAR- Consiglio Nazionale delle Ricerche – Palermo

Valeria SeiditaDipartimento di Ingegneria Informatica – Univ. Palermo

Outline

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 20082

Introduction

Outline

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 20084

Introduction

M. Cossentino, V. Seidita - Tutorial WOA'08

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? Situational Method Engineering (SME) studies that

from years We propose an extension of classical SME

approaches that is specifically conceived for AOSE18 Nov. 20085

What if my design process is not good?

M. Cossentino, V. Seidita - Tutorial WOA'08

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

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.

18 Nov. 20086

(Situational) Method Engineering

Outline

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 20088

Method Engineering: how it works

M. Cossentino, V. Seidita - Tutorial WOA'08

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)

18 Nov. 20089

The ‘normal’ agent development process

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200810

Situational Method Engineering

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200811

Adopting Method Engineering

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?)

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200812

The new process production

CAPE tool

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200813

SME approaches

M. Cossentino, V. Seidita - Tutorial WOA'08

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 Roadmap-Driven 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, Addison-Wesley, 330pp.

Gonzalez-Perez C. (2005) Tools for an extended object modelling environment. In 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS). IEEE Computer Society. 20-23.

18 Nov. 200814

Brinkkemper et al’s method fragment Method fragment is a coherent piece of information system

development Two kinds of method fragment

Process fragment Describes the stage, activities and tasks

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

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200815

Method Chunk - Ralytè et al. 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. 200816

Method Chunk Metamodel

Atomic

Strategic Guideline

Tactical Guideline

Simple Guideline

Aggregate

Method

GuidelineProcess Model

1..n

1

1..n

1

has

1..n1 1..n1

belong to

Chunk

0..n

1

0..n

1

represented by

Reuse Situation

Reuse Inention

Descriptor1

1

1

1

has

Interface

11 11

has

Product Model

1..n

1

1..n

1is based on

Situation

Product Part1..n1..n

1..n

n

1..n

n

Intention

1..n

n

1..n

n

target of

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200817

Method Chunk Metamodel It is composed of two parts:

The process model 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 The product model

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

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 Each metaclass produces a method fragment

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200819

OPF Metamodel

Stages

Language

Guidelines

WorkUnit

WorkProductProducersare documented

using

produce

create/evaluate/iterate/mantain

perform

Provide macro organization

Process Components

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200820

Other References on SME

M. Cossentino, V. Seidita - Tutorial WOA'08

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

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.

18 Nov. 200821

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, …

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200823

Software Design: the role of system meta-model

Designing (a software) means instantiating its meta-model

META-MODEL MODEL

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200824

The Prode (PROcess DEsign for design processes) approach for Agent-Oriented Method Engineering

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

18 Nov. 200825

Method Fragment structure (result of the FIPA Methodology TC work)

M. Cossentino, V. Seidita - Tutorial WOA'08

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.

18 Nov. 200826

FIPA method fragmentA 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)

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.

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200827

The Process Design for Design ProcessPRODE

Outline

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200829

PRODE divided inthree main areas of research

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

1) A collection of process fragments

3) A CAPE (Computer Aided Process

Engineering) tool

2) Guidelines for fragment assembling

18 Nov. 200830

PRODE Area 1:A Collection of Process Fragments

The fragment collection in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

1) A collection of process fragments 18 Nov. 200832

The PRODE Process Representation

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200833

Applying the Proposed Method Fragment Definition

A method Fragment can be explored from four points of view: Process

The process related aspect of the fragment: workflow, activity and work product

Storing It concerns with the storage of the fragment in the method base

and its retrieval Reuse

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

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200834

Prode Area 2:Guidelines for Fragment Assembly

Fragments Assembling in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

2) Guidelines for fragment

assembling 18 Nov. 200836

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200837

Process Requirements Analysis

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200838

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200839

Core Metamodel Creation

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200840

The ASPECS Core MetaModel

M. Cossentino, V. Seidita - Tutorial WOA'08

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 Agent-Oriented Analysis and Design. 3rd International Conference on Industrial Applications of Holonic and Multi-Agent Systems (HoloMAS'07). September 3 - 5, 2007, Regensburg, Germany.

18 Nov. 200841

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200842

What is Prioritization ??

M. Cossentino, V. Seidita - Tutorial WOA'08

The problem we face is: What are the first fragments we should introduce

in the new process?

??

18 Nov. 200843

The Algorithm

M. Cossentino, V. Seidita - Tutorial WOA'08

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

18 Nov. 200844

The Prioritization Algorithm (1 of 3)

18 Nov. 2008M. Cossentino, V. Seidita - Tutorial WOA'08 45

1. Select a metamodel domain (consider the resulting metamodel as a graph with nodes (MMMEs) and edges (relationships))

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

3. Define List elements2 as a list of MMMEs that cannot be defined by reusing fragments from the repository;

4. Define List elements3 as a list of elements that are not in the core MMM;

5. While the core MMM is not emptya) 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

1. Insert Li (i=1,. . . ,n) in List elements1;2. Remove elements Li (i=1,. . . ,n) from the core MMM;3. p = p+1;

6. While the core MMM is not emptya) Select the leaves Li (i=1,. . . ,m) that can not be instantiated by

fragments of the repository;1. Insert Li (i=1,. . . ,m) in List elements2;2. Remove Li (i=1,. . . ,m) from the core MMM;

The Prioritization Algorithm (2 of 3)

18 Nov. 2008M. Cossentino, V. Seidita - Tutorial WOA'08 46

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

a) If one fragment corresponds to process requirements and strategies then:

I. insert the fragment in the new process composition diagram

II. analyze inputs Ii (i=0,. . . ,n) and outputs Oj (j=0,. . . ,m) of the fragment

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

8. remove E1i from List elements1;

III. For each element E2i in List_elements2 analyze if there is a similarity with the elements defined in this fragment

A. if yes delete E2i from List_elements2 and Ii/Oi from List_elements3

A. else (if no fragment correspond to requirements and strategies) then

7. remove E1i from List_elements1 and insert it in List_elements2

The Prioritization Algorithm (3 of 3)

18 Nov. 2008M. Cossentino, V. Seidita - Tutorial WOA'08 47

8. For each E2i (i=0..m) in List_elements2

a) Define a new fragment for instantiating E2i

b) Insert the fragment in the new process composition diagram

c) Remove E2i from List_elements2

9. For each E3i (i=0..m) in List_elements3

a) Introduce elements E3i (i=0..q) from List_elements3 in the core MMM

b) Repeat from 2. (consider only the new elements)

10. If the process is not completed (i.e. not all design activities from requirements elicitation to coding, testing and deployment have been defined)

8. Repeat from 1.

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200848

The first two fragments in Building the ASPECS Process

M. Cossentino, V. Seidita - Tutorial WOA'08

Not in the core metamodel

18 Nov. 200849

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200850

The Process Component Diagram

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200851

Process Analysis and Design in PRODE

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200852

Metamodel Extension

M. Cossentino, V. Seidita - Tutorial WOA'08

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

18 Nov. 200853

Method Engineering Supporting Tools

Method Engineering Supporting Tools

M. Cossentino, V. Seidita - Tutorial WOA'08

MetaEdit1 is probably the most diffused tool 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 Metameth is a recent research tool developed in Palermo

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/

18 Nov. 200855

MetaEdit+ by MetaCASE

M. Cossentino, V. Seidita - Tutorial WOA'08

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 GOPPRR is powerful but defining a

new process is a very demanding operation

Expansion capabilities (for instance with plug-ins or new behaviour modules) are quite limited

It is quite hard to convert it in a CAPE tool (see experience done with Agile PASSI) 18 Nov. 200856

PRODE Area 3:Supporting Tools

Metameth

PRODE divided inthree main areas of research

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

3) A CAPE (Computer Aided Process

Engineering) tool 18 Nov. 200858

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 life-cycle 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

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200859

The Metameth tool architecture

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200860

Results Evaluation

Results Evaluation: an open problem?

M. Cossentino, V. Seidita - Tutorial WOA'08

MMM

Results Evaluation is crucial also in process improvement/reengin

eering 18 Nov. 200862

AO Design Process Evaluation

M. Cossentino, V. Seidita - Tutorial WOA'08

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 Agent-Based Development. International Journal on Engineering Applications of Artificial Intelligence (EAAI). Elsevier.

18 Nov. 200863

Details on AO processes evaluation

M. Cossentino, V. Seidita - Tutorial WOA'08

From: Q.N. Tran, G. C. Low

(2005). Comparison of Ten Agent-Oriented Methodologies. In Agent-Oriented Methodologies, chapter XII, pp. 341–367. Idea Group.

Structure of the evaluation framework

18 Nov. 200864

Details on AO processes evaluation/2

M. Cossentino, V. Seidita - Tutorial WOA'08

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: concepts and properties (autonomy, proactiveness,,

…), notations and modeling techniques (accessibility,

expressiveness), process (development context, Lifecycle coverage), pragmatics (required expertise, scalability, …) .

18 Nov. 200865

Details on AO processes evaluation/3

M. Cossentino, V. Seidita - Tutorial WOA'08

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 forresults)

1 http://www.pa.icar.cnr.it/cossentino/al3tf3/contributions.html 18 Nov. 200866

Details on AO process evaluation/4

M. Cossentino, V. Seidita - Tutorial WOA'08

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.

18 Nov. 200867

Details on AO process evaluation/5CMMI discrete levels

M. Cossentino, V. Seidita - Tutorial WOA'08

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.

18 Nov. 200868

Details on AO process evaluation/6CMMI discrete levels

M. Cossentino, V. Seidita - Tutorial WOA'08

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)

18 Nov. 200869

Open issues

M. Cossentino, V. Seidita - Tutorial WOA'08

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)

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.

18 Nov. 200870

Fragment RepositoryMetameth Tool

V. Seidita

Appendix

More slides on selected topics

The PASSI Process Life-Cycle

M. Cossentino, V. Seidita - Tutorial WOA'08 Five ModelsFive Models

18 Nov. 200873

PASSI Models Scope

M. Cossentino, V. Seidita - Tutorial WOA'08

Each Model addresses a specific concern: System Requirements Model

It aims at defining system functionalities and assigning them to agents

Agent Society Model It aims at defining agent social features like

communications, domain knowledge, agent roles. Agent Implementation Model

It defines the agent solution according to the selected implementation platform

Code Model It includes code obtained by pattern reuse and manually

created code Deployment Configuration Model

It defines dependencies among agents and host configurations in multi-hosts/mobile agents applications

18 Nov. 200874

PASSI ToolKit (PTK): screenshoots

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200875

PASSI new modelling notation

The New Unified Notation

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200877

Example of new notation – Task Specification Diagram

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200878

Example of new notation – Communication Ontology Description diagram

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200879

Example of new notation – Role Description Diagram

M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 200880