Скачать презентацию The composition of ad-hoc agent-oriented design processes Massimo Скачать презентацию The composition of ad-hoc agent-oriented design processes Massimo

2b7a62cba4320158003294486247bec4.ppt

  • Количество слайдов: 80

The composition of ad-hoc agent-oriented design processes Massimo Cossentino ICAR- Consiglio Nazionale delle Ricerche 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 Outline 2 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

Introduction Introduction

Outline 4 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008 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 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 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 (Situational) Method Engineering

Outline 8 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008 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 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 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 Situational Method Engineering 11 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

Adopting Method Engineering What do I need? Some guidelines about how to assemble fragments Adopting Method Engineering What do I need? Some guidelines about how to assemble fragments A CAME (Computer Aided Method Engineering) tool 12 A collection of method fragments … 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 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 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, CAi. SE'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. (2001 b) An approach for method re-engineering, Proceedings Int. Conf. ER 2001, LNCS 2224, Springer-Verlag, Berlin, 471 -484 Ralyté J. (2002). Requirements Definition for the Situational Method Engineering. Proceedings of the IFIP WG 8. 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. 7 th 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, 330 pp. 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 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 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 17 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008 Method Chunk Metamodel 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 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 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 20 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008 OPF Metamodel 20 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

Other References on SME Kumar K. and R. J. Welke (1992) Methodology Engineering: a 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. 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. CAi. SE’ 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. 5 th 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 Agent-Oriented Situational Method Engineering

MAS Meta-model MAS meta-models play a fundamental role in the design of agents. Different 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 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 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, 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: 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 M. Cossentino, V. Seidita - Tutorial from standardization to research. International Journal on 18 Nov. 2008 M. Cossentino, S. Gaglio, A. Garro, V. Seidita. Method Fragments for agent design methodologies: WOA'08 Agent Oriented Software Engineering (IJAOSE). 1(1). 2007.

The Process Design for Design Process PRODE The Process Design for Design Process PRODE

Outline 29 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008 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 PRODE divided in three main areas of research MMM 30 1) A collection of process fragments 3) A CAPE (Computer Aided Process Engineering) tool 2008 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2) Guidelines for fragment assembling

PRODE Area 1: A Collection of Process Fragments PRODE Area 1: A Collection of Process Fragments

The fragment collection in PRODE MMM 32 1) A collection of process fragments M. 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. 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 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 Prode Area 2: Guidelines for Fragment Assembly

Fragments Assembling in PRODE MMM 36 2) Guidelines for fragment assembling M. Cossentino, V. 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 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 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 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 Core Metamodel Creation 40 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

The ASPECS Core Meta. Model ASPECS is a design process for building holonic multi-agent The ASPECS Core Meta. Model 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. 3 rd International Conference on Industrial Applications of Holonic and Multi-Agent Systems (Holo. MAS'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 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 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 The Algorithm Main issues: We assume each process fragment instantiates, relates or quotes MAS Meta. Model 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 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 elements 1 as a list of MMMEs that can be defined by reusing fragments from the repository, and the associated priority p: List elements 1 (MMME, p), p=1; Define List elements 2 as a list of MMMEs that cannot be defined by reusing fragments from the repository; Define List elements 3 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 elements 1; Remove elements Li (i=1, . . . , n) from the core MMM; p = p+1; Insert Li (i=1, . . . , m) in List elements 2; 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 E 1 i of List_elements The Prioritization Algorithm (2 of 3) For each element E 1 i of List_elements 1 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_elements 3; mark the fragment as “To be modified” 7. remove E 1 i from List elements 1; For each element E 2 i in List_elements 2 analyze if there is a similarity with the elements defined in this fragment 7. I. else (if no fragment correspond to requirements and strategies) then A. A. 46 if yes delete E 2 i from List_elements 2 and Ii/Oi from List_elements 3 remove E 1 i from List_elements 1 and insert it in List_elements 2 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

The Prioritization Algorithm (3 of 3) For each E 2 i (i=0. . m) The Prioritization Algorithm (3 of 3) For each E 2 i (i=0. . m) in List_elements 2 8. a) Define a new fragment for instantiating E 2 i b) Insert the fragment in the new process composition diagram c) Remove E 2 i from List_elements 2 For each E 3 i (i=0. . m) in List_elements 3 9. a) Introduce elements E 3 i (i=0. . q) from List_elements 3 in the core MMM b) Repeat from 2. (consider only the new elements) 10. 8. 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 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 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 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. 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 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 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

Method Engineering Supporting Tools Meta. Edit 1 is probably the most diffused tool Metameth Method Engineering Supporting Tools Meta. Edit 1 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

Meta. Edit+ by Meta. CASE Meta. Edit is composed of two main components: The Meta. Edit+ by Meta. CASE Meta. Edit 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 Meta. Edit The Modeler for actually designing the system. This is the CASE part of Meta. Edit 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 Area 3: Supporting Tools Metameth

PRODE divided in three main areas of research MMM 58 3) A CAPE (Computer PRODE divided in three main areas of research MMM 58 3) A CAPE (Computer Aided Process Engineering) tool 2008 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov.

What is metameth Metameth is an (open-source) agent-oriented tool we built to support our 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. The Metameth tool architecture 60 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

Results Evaluation Results Evaluation

Results Evaluation: an open problem? MMM 62 Results Evaluation is crucial also in process 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 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 AAMAS 03. 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. 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). Details on AO processes evaluation From: 64 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 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 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 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 AAMAS 03. Melbourne (AUS). Based on a questionnaire Reused and extended in AL 3 -AOSE TFG 3 (see website 1 for results) 1 http: //www. pa. icar. cnr. it/cos sentino/al 3 tf 3/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 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 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 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 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 Fragment Repository Metameth Tool V. Seidita

Appendix More slides on selected topics Appendix More slides on selected topics

The PASSI Process Life-Cycle 73 Five Models M. Cossentino, V. Seidita - Tutorial WOA'08 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 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 Tool. Kit (PTK): screenshoots 75 M. Cossentino, V. Seidita - Tutorial WOA'08 18 PASSI Tool. Kit (PTK): screenshoots 75 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008

PASSI new modelling notation PASSI new modelling notation

The New Unified Notation 77 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 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 - 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 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 - Example of new notation – Role Description Diagram 80 M. Cossentino, V. Seidita - Tutorial WOA'08 18 Nov. 2008