tc methodology massimo cossentino (italian national research council) radovan cervenka (whitestein...
TRANSCRIPT
TC Methodology
Massimo Cossentino (Italian National Research Council)
Radovan Cervenka (Whitestein Technologies)
Outline
AOSE (Agent Oriented Software Engineering) today
Our goals The proposed approach What is Method Engineering The TC Modeling work plan
AOSE Today Several methodologies with different advantages:
Gaia Mase Message PASSI Prometheus Tropos …
No standard modeling language Modeling TC activity
Different tools How to make them interact?
Our GoalsLet 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 Using a standard modeling language
In this work we are also contributing to a standardization action within the FIPA Methodology Technical Committee1
1 http://www.fipa.org/activities/methodology.html
The proposed approach
Method Engineering The development methodology is built by the
developer 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
Modeling Language: Modeling TC activity
What is method engineering
The Method Engineer analyzes the problem and the development context/people to
deduce new methodology
features
Method Engineering:people, artifacts and tools
Method Engineer
Uses
Design Methodology
Defines Is adopted by
SystemDesigner
CAMEToolsFragments
Repository
Uses
CASETools
Perceives
Problem
Designs Solve
Agents
Instantiate
System Specifications
Produce
SpecifyThe Method
Engineer uses a CAME tool to
compose the new methodology by
reusing fragments from the repository
The CAME tool is used to instantiate
a methodology specific tool
The System Designer using the
CASE tool specifies and
develops the agent solution
What is a (method) fragment A fragment1 is a portion of the development process, composed as follows:
1. A portion of process (what is to be done, in what order), defined with a SPEM diagram
2. One or more deliverables (artifacts like (A)UML/UML diagrams, text documents and so on).
3. 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)
4. A list of concepts (related to the MAS meta-model) to be defined (designed) or refined during the specified process fragment.
5. Guideline(s) that illustrates how to apply the fragment and best practices related to that
6. 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)
7. Other information (composition guidelines, platform to be used, application area and dependency relationships useful to assemble fragments) complete this definition.
1According to the FIPA Methodology TC definition (see http://www.pa.icar.cnr.it/~cossentino/ FIPAmeth/metamodel.htm)
The new methodology production process
ExistingMethodo-
logies
MethodBase
MethodFragmentsExtraction
NewMethod
Fragments
CAME tool SpecificMethodo-
logy
MASMeta-Model
CASE tool Specificproblem
MAS runningon agent platforms
MASModelDeployment
All methodologies are expressed in a
standard notation (we adopt SPEM - Software Process Engineering
Metamodel – by OMG)
Fragments are identified and described
according to the previous discussed
definition
New fragments are defined if necessaryA method fragments
repository is composed with all existing
fragments
The desired MAS-Meta-Model is
composed according to problem specific needs (for instance including or not self-organizing
agents)
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
A CASE (Computer Aided Software
Engineering) tool is used to effectively
design the multi-agent system
The multi-agent system has been coded, tested
and is ready to be deployed
OO vs AO Method Engineering
Method Engineering has been introduced in the object oriented (OO) context some years ago
It could seem that introducing the method engineering paradigm in the agent oriented (AO) context is a plain operation.
It is not so, because in the OO context the construction of method fragments (pieces of methodology), the assembling of the methodology with them and the execution of the design rely on a common denominator, the universally accepted concept of object and related model of the object oriented system.
In the agent context, there is not an universally accepted definition of agent nor it exists any very diffused model of the multi-agent system.
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 assemblying
Work Plan
Creation of the meta-model. It is necessary to formally represent method fragments in order to store them in the method base.
Identification of the method base architecture. The method base needs of a technological infrastructure for the instantiation of the method meta-model previously described.
the details of this architecture strongly effect the possibility of a CASE/CAME tool support and availability.
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.
Description of techniques for method integration. 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.
Deliverables
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; A glossary of methodology-related terms
Scheduling
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