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