Title: The composition of ad-hoc agent-oriented design processes
1The 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 WOA08
- 18 Novembre 2008
2Outline
3Introduction
4Outline
5Introduction
- 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 AOSE
6What 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
- M. Saeki. Software speci?cation 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 1323, 2006.
7(Situational) Method Engineering
8Outline
9Method 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)
10The normal agent development process
11Situational Method Engineering
12Adopting 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?)
13The new process production
CAPE tool
14SME 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
(EISIC02), Kluwer Academic Publishers,
pp.127-152. Ralyté J. and Rolland C. (2001) An
Assembly Process Model for Method Engineering.
CAISE01, 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. 5878. - 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.
15Brinkkemper et als 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
16Method 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)
17Method Chunk Metamodel
18Method 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
19OPF 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
20OPF Metamodel
21Other 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. 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.
CAiSE03, 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, 341362. - 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.
22Agent-Oriented Situational Method Engineering
23MAS 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,
24Software Design the role of system meta-model
- Designing (a software) means instantiating its
meta-model
META-MODEL
MODEL
25The Prode (PROcess DEsign for design processes)
approach for Agent-Oriented Method Engineering
MMM
26Method 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.
27FIPA 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)
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.
28The Process Design for Design ProcessPRODE
29Outline
30PRODE divided inthree main areas of research
MMM
31PRODE Area 1A Collection of Process Fragments
32The fragment collection in PRODE
MMM
33The PRODE Process Representation
34Applying 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.91121.
35Prode Area 2Guidelines for Fragment Assembly
36Fragments Assembling in PRODE
MMM
2) Guidelines for fragment assembling
37Process Analysis and Design in PRODE
38Process Requirements Analysis
39Process Analysis and Design in PRODE
40Core Metamodel Creation
41The 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 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.
42Process Analysis and Design in PRODE
43What is Prioritization ??
- The problem we face is
- What are the first fragments we should introduce
in the new process?
??
44The 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 - 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
45The Prioritization Algorithm (1 of 3)
- 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), p1 - 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 (i1,. . . ,n) that (i) can
be instantiated by fragments of the repository
and (ii) have less relationships with other
elements - Insert Li (i1,. . . ,n) in List elements1
- Remove elements Li (i1,. . . ,n) from the core
MMM - p p1
- While the core MMM is not empty
- Select the leaves Li (i1,. . . ,m) that can not
be instantiated by fragments of the repository - Insert Li (i1,. . . ,m) in List elements2
- Remove Li (i1,. . . ,m) from the core MMM
46The 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)
- If one fragment corresponds to process
requirements and strategies then - insert the fragment in the new process
composition diagram - analyze inputs Ii (i0,. . . ,n) and outputs Oj
(j0,. . . ,m) of the fragment - 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 - remove E1i from List elements1
- For each element E2i in List_elements2 analyze if
there is a similarity with the elements defined
in this fragment - if yes delete E2i from List_elements2 and Ii/Oi
from List_elements3 - else (if no fragment correspond to requirements
and strategies) then - remove E1i from List_elements1 and insert it in
List_elements2
47The Prioritization Algorithm (3 of 3)
- For each E2i (i0..m) in List_elements2
- Define a new fragment for instantiating E2i
- Insert the fragment in the new process
composition diagram - Remove E2i from List_elements2
- For each E3i (i0..m) in List_elements3
- Introduce elements E3i (i0..q) from
List_elements3 in the core MMM - Repeat from 2. (consider only the new elements)
- 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.
48Process Analysis and Design in PRODE
49The first two fragments in Building the ASPECS
Process
Not in the core metamodel
50Process Analysis and Design in PRODE
51The Process Component Diagram
52Process Analysis and Design in PRODE
53Metamodel 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 - overlapping elements have the same definitions
bounded to elements with different namesor on
the contrary - ...overlapping elements have the same name but
different definitions
54Method Engineering Supporting Tools
55Method Engineering Supporting Tools
- 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/
56MetaEdit 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
- 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)
57PRODE Area 3Supporting Tools
58PRODE divided inthree main areas of research
MMM
59What 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
60The Metameth tool architecture
61Results Evaluation
62Results Evaluation an open problem?
MMM
63AO Design Process Evaluation
- Q.N. Tran, G. C. Low (2005). Comparison of Ten
Agent-Oriented Methodologies. In Agent-Oriented
Methodologies, chapter XII, pp. 341367. 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.
64Details on AO processes evaluation
- From
- Q.N. Tran, G. C. Low (2005). Comparison of Ten
Agent-Oriented Methodologies. In Agent-Oriented
Methodologies, chapter XII, pp. 341367. Idea
Group.
Structure of the evaluation framework
65Details 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
- concepts and properties (autonomy,
proactiveness,, ), - notations and modeling techniques (accessibility,
expressiveness), - process (development context, Lifecycle
coverage), - pragmatics (required expertise, scalability, ) .
66Details 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 forresults)
1 http//www.pa.icar.cnr.it/cossentino/al3tf3/cont
ributions.html
67Details 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.
68Details on AO process evaluation/5CMMI 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 organizations performance in a
given discipline or set of disciplines. - A maturity level is a defined evolutionary
plateau for organizational process improvement.
69Details on AO process evaluation/6CMMI 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)
70Open 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) - 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.
71Fragment RepositoryMetameth Tool
72Appendix
- More slides on selected topics
73The PASSI Process Life-Cycle
74PASSI Models Scope
- 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
75PASSI ToolKit (PTK) screenshoots
76PASSI new modelling notation
77The New Unified Notation
78Example of new notation Task Specification
Diagram
79Example of new notation Communication Ontology
Description diagram
80Example of new notation Role Description Diagram
81Classical vs. agent-oriented method engineering
(PRODE approach)
- Other authors work on the field (B.
Henderson-Sellers, J. Ralyte, S Brinkkemper) but
PRODE is specifically agent-oriented and focused
on the importance of the MAS metamodel - A comparison of those approaches with mine can be
found in - Seidita, V., Ralyte, J., Henderson-Sellers, B.,
Cossentino, M., Arni-Bloch, N. A comparison of
deontic matrices, maps and activity diagrams for
the construction of situational methods. The 19th
International Conference on Advanced Information
Systems Engineering (CAiSE'07) Forum. 11-15 June
2007, Trondheim, Norway.