260 likes | 315 Views
Experiences from a standardization attempt in AO methodologies. Massimo Cossentino (Italian National Research Council). Reference Scenario for this talk. I don’t like your methodology!!! I’m going to create a new, better one! … how ??. Place of events.
E N D
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)
Reference Scenario for this talk I don’t like your methodology!!! I’m going to create a new, better one! … how ??
Place of events The (ex) FIPA Methodology Technical Committee
AOSE Today (methodological point of view) • Several methodologies exist with different advantages: • Gaia • Ingenias/Message • MaSE • PASSI • Prometheus • Tropos • … e.g.: one size does not fit all !!!
The FIPA Methodology TC Goals Problem: It makes no sense to define one unique methodology and to force everyone to adopt it in order to be “FIPA compliant” (Proposed) Solution: Let the developer of a multi-agent system create his own methodology: • Suited for the specific problem/system to be built • Not conflicting with his (development) environmental constraints • Coherent with his (or his group) knowledge and skills • Supported by a CASE tool • Supported by a FIPA methodology composition framework (specifications, guidelines and construction bricks)
The proposed approach Adopting and customizing for Agent-based systems the well known Method Engineering paradigm: • The development methodology is built by the developer assembling pieces of the process (method fragments) taken from a repository. • The repository is composed of contributions coming from existing methodologies and other novel and specifically conceived fragments
The proposed Method Engineering approach The Method Engineer uses a CAME tool to compose the new methodology by reusing fragments from the repository The Method Engineer analyzes the problem and the development context/people to deduce new methodology features The CAME tool is used to instantiate a methodology specific tool
Key elements • OK sounds interesting, now, I want to create my new methodology with this approach. • 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?)
The new methodology production process Fragments are identified and described according to the previous discussed definition New fragments are defined if necessary All methodologies are expressed in a standard notation (we adopt SPEM - Software Process Engineering Metamodel – by OMG) The methodology design tool is aware of the selected MAS meta-model (this helps in fragments selection and consistency check) A method fragments repository is composed with all existing fragments A CAME (Computer Aided Method Engineering) tool assists in the selection of fragments and composition of design process A new and problem specific methodology is built
What has been done • First release of a glossary of agent-design related terms (one of the TC deliverables) (see http://www.pa.icar.cnr.it/~cossentino/ FIPAmeth/glossary.htm) • Definition of the method fragment structure (meta-model) • In terms of: a portion of process, some deliverables, preconditions, list of concepts addressed in the fragment, guidelines, glossary of terms, composition guidelines, aspects and dependencies. • Study of several MAS meta-model, definition of an unifying proposal • Extensive experimentation of OMG SPEM (Software Process Engineering Metamodel) as a modeling language for representing process aspects of fragments of MAS design processes • Collection of fragments from several methodologies (Adelfe, Gaia, PASSI, Tropos, to be completed: Ingenias) • Experiments of methodologies composition
What is (still) to be done(according to the old plan) • Extraction of more fragments from existing methodologies in order to improve the methods base • Documents to be completed: • Fragments Repository architecture definition • Methodology Composition Guidelines
Our Plans for the future • Starting a debate • With both old TC members and new interested people • Defining the new strategy • From the technical point of view: • Merging with OPF? • Exploring new directions? • Consolidating this position? • From the organizational point of view: • Preparing a proposal for an IEEE FIPA WG/SG? • Collaborating within other contexts? (ISO, Agentlink, research projects, …)
Are you interested? Please, contact me: cossentino@pa.icar.cnr.it
What is a (method) fragment • A fragment1 is a portion of the development process, composed as follows: • 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) complete this definition. 1According to the (old) FIPA Methodology TC definition (see http://www.pa.icar.cnr.it/~cossentino/ FIPAmeth/metamodel.htm)
MAS meta-models • It is the meta-model of the system to be built • It specifies • which elements (agents, roles, behaviors, communications, …) will constitute the agent solution • which relationships exist among these elements • The MAS meta-model (when chosen before of the methodology) provides a guideline for the methodology pieces selection and assembling
Description of a methodology in SPEM (From the PASSI process)
Fragment Fragment Fragment Fragment Description of a methodology in SPEM (From PASSI process: the Agent Society Phase)
Relationship with the MAS meta-model • MAS meta-model elements and work products are directly related • Kinds of relationships: • Define • Refine • Quote • Relate • …
A unifying MAS meta-model (from Adelfe, Gaia, Ingenias, PASSI) C. Bernon, M. Cossentino, M.P. Gleizes, J. Pavon, P. Turci, F. Zambonelli. Towards Unification of Multi-Agent Systems Meta-Models.
Experiments of methodologies compositions • Recently, several papers have been written • Among the others: • Following the Methodology TC approach: • M. Cossentino, V. Seidita. Composition of a New Process to Meet Agile Needs Using Method Engineering. Software Engineering for Large Multi-Agent Systems vol. III. LNCS Series, Elsivier Ed. (2004) • A. Garro, G. Fortino, W. Russo. Using Method Engineering for the Construction of Agent-Oriented Methodologies. In Proc. of WOA 04 - Dagli Oggetti agli Agenti, Sistemi Complessi e Agenti razionali, pages 51–54, Torino, Italy, December 2004. • Following similar approaches: • B. Henderson-Sellers. Method Engineering for OO Systems Development. Communications of the ACM, 46(10), 2003. [29] B. Henderson-Sellers. Creating a comprehensive agent-oriented methodology - using method engineering and the OPEN metamodel. In B. Henderson-Sellers and P. Giorgini, editors, Agent-Oriented Methodologies Idea Group, 2005. • T. Juan, and L. Sterling, and M. Winikoff. Assembling Agent Oriented Software Engineering Methodologies from Features. In Proc. of the Third International Workshop on Agent-Oriented Software Engineering, at AAMAS’02.
Proposals for a new plan • Merging with OPF(Open Process Framework)? • Design tools • A standardization effort could help in enabling the development of this kind of tools • Specific topics of interest for FIPA: • Definition of a MAS meta-model, • Definition of the methodology meta-model • Identification of the basic activities that constitute a MAS design process (?) • Proposals?