FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Agent Development Methodology Work Plan
(see authors below)
Date of this status:
Monique Calisti Massimo Cossentino
Software development methodologies (SDM) have demonstrated to be successful in increasing speed to market of software engineering projects, lowering the development cost and providing better quality. These benefits particularly apply for those projects where the system requirements are complex. The agent-based approach is well suited to developing complex and distributed systems. As such, we need an agent development methodology (ADM) that can provide methods, techniques, and tools to solve those problems inherent in developing agent-based systems. It is not appropriate to use standard OO methodologies for developing agent-based applications. This is not to say that OO methodologies should be ignored, however. Rather, the aim of the FIPA Agent Development Methodology is to embrace existing methodologies where it makes sense to do so, and extend into new methodological territory when appropriate.
To this end, this FIPA work plan proposes developing an agent development methodology that supports the analysis and design of agent-based systems. This methodology will consist of guidelines, asset of recommended modeling languages, and a process for analysis and design of agent systems. The modeling notation will be developed in conjunction with the FIPA AUML work plan.
This FIPA work plan will focus on the identification of an agent methodology for development of multi-agent systems.
Existing development methodologies have different advantages when applied to specific problems. It is therefore possible to think that the developer of a MAS would like to use phases or models or elements coming from different methodologies in order to build up a personalized approach for his own problem.
In order to reuse contributions coming from existing methodologies we will adopt the method engineering as the referring paradigm. In this context the development methodology is constructed by the developer assembling pieces of the process (method fragments) from a method base. In this way he could obtain the best process for his specific need/problem.
We will take method fragments (the composing elements of the development methodology) from several existing methodologies like: AOR, Cassiopeia, Gaia, Mase, Message, PASSI, Tropos, and so on, if these fragments are coherent with the FIPA architecture. Other novel and specific contributions will be considered as well.
More in details, the goals of the work are:
1. Creation of the meta-model. It is necessary to formally represent method fragments in order to store them in the method base. A method is essentially composed of two elements: the structure of the product (the artifact resulting from the developer activity) and the procedures necessary to construct the artifact. For object-oriented systems examples exist of entity-relationship descriptions of the structure of the product; as regards the procedures, various documentation approaches can be found in literature, among the others we have formal grammars, programming languages and so on. No experiences exist in the description of agent-oriented methods and therefore we have to establish a specific formalism but useful hints could come from UML (and AUML) diagrams meta-models and the OPEN process framework.
2. Identification of the method base architecture. The method base needs of a technological infrastructure for the instantiation of the method meta-model previously described. It should also be considered that the details of this architecture strongly effect the possibility of a CASE/CAME tool support and availability. In identifying the proper structure and implementation guidelines for the base, XMI and other XML-based languages will be considered.
3. Collection of method fragments. They can origin from the most diffused methodologies and other specific contributions. After the formalization they will be introduced in the method base.
4. Description of techniques for method integration. As already seen, method fragments have a double nature: the structure and the procedure. This has a direct consequence in the possibility of integrating them in a new methodology. Product-oriented integration allows the composition of different fragments emphasizing their inter-relationships, process-oriented integration facilitate the composition of the logical sequence of steps of the methodology.
Existing (object-oriented) experiences with method engineering stress the importance of CASE tools support in order to both construct the methodology (retrieving the method fragment from the method base and integrating methods) and apply it in the real design work. Great attention is therefore needed to the possibility of supporting the future FIPA agent development methodology with automatic tools. In this phase advices could come both from object-oriented CASE tools authors and from agent-oriented ones (agentTool, PTK, Tropos tool, Zeus and others).
Patterns will also be considered for the important role that they can play in lowering the cost of the software development and their favorable impact on the quality of the design. Patterns reuse will be considered as one of the possible fragment methods or as a general paradigm that could influence the procedural aspects of the methodology.
The primary sources of technology are:
· FIPA Abstract Architecture documents
· OMG UML 1.4 (and 2.0 if/when available) specifications
· Relevant papers and documentation on :
· object-oriented and agent-based development methodologies;
· methodology and tool evaluation studies (both in the O-O and A-O contexts);
· software engineering researches in software architecture metrics and evaluations;
· pattern design and reuse (both in the O-O and A-O contexts);
· Extant documents recommending agent-based development methodologies, such as (but not limited to) AOR, Gaia, Mase, MESSAGE, PASSI, and Tropos.
This work plan will create:
· A specification document of fragment methods meta-model;
· A specification document for the architecture of the method base;
· A set of reusable methods obtained from existing agent-based development methodologies;
· A collection of guidelines for method integration;
Plan for Work and Milestones:
This work plan will create:
· 06/2003 Initial specifications of the fragment methods meta-model
· 10/2003 Initial draft of the specifications for the method base architecture
· 02/2004 A set of documents describing reusable methods according to the meta-model specifications
· 06/2004 Initial draft of method integration guidelines
· 10/2004 Final draft of the meta-model and method base architecture specifications
· 12/2004 Final draft of method integration guidelines
It should be noted that we expect that significant work on these specifications will be required between FIPA meetings and possibly at interim meetings of the relevant TC.
We envisage further extensions to this work plan that will address specifications and guidelines about the CASE/CAME tools support for the methodology and patterns reuse.
These will be added to this work plan over time as the need and participation level reaches an appropriate level for a FIPA work plan.
The specification will depend on UML 2.0 specifications. Furthermore, close coordination and alignment between the FIPA methodology and AUML work plan efforts is mandatory.
The design of MAS includes a particular attention for ontologies and therefore an interaction with the ontology working group is necessary.
· Bernhard Bauer, Technische Universität München
· Monique Calisti, Whitestein Technologies
· Massimo Cossentino, ICAR-CNR (considering FIPA membership)
· Renato Levy, Intelligent Automation, Inc.
· James Odell, James Odell Associates
· Radovan Cervenka, Whitestein Technologies
· Paola Turci, University of Parma (considering FIPA membership)
· Gerhard Weiss, Technische Universität München