fragment repository metameth tool
DESCRIPTION
Fragment Repository Metameth Tool. V. Seidita. Existing Fragment Repositories. Two repositories exist in literature: OPF (OPEN Process Framework) - PowerPoint PPT PresentationTRANSCRIPT
Fragment RepositoryMetameth Tool
V. Seidita
Existing Fragment Repositories
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Two repositories exist in literature: OPF (OPEN Process Framework)
Composed of fragments that are instances of meta-model concepts, they are derived from existing processes or created from scratch considering one concept at a time
Fragments are constructed at very low level of granularity. There is not an element of the meta-model which principally
leads to the method fragment construction A very huge repository (each fragment principally is WorkUnit
oriented, the WorkProduct is conceived to be created when a process is applied.
PRODE Constructed on the base of the work a method engineer carries
on Fragments extraction/selection
Level of granularity – each fragment is Work Product oriented.Henderson-Sellers B. (2002) Process metamodelling and process construction: Examples using the OPEN Process Framework (OPF). Annals Software Engin. 14, 341–362.
OPF Fragment Repository
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
4
OPF Method Fragment Main elements of OPF Metamodel
WorkUnit, operations (Activities, Tasks and Techniques) performed by Producers during a development process in order to produce a specific WorkProduct; Activities and Tasks describe what is to be done whereas Techniques describe how to do a portion of work
WorkProduct, the artefact Producers, the stakeholder performing a work unit Stage, provides the organization of process in terms of
phases and lifecycles Guideline, useful to instantiate the metamodel
elements, to create method components and to create the method itself
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Deontic Matrices
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
TasksTechnique 1 2 3 4 5 6Abstract class identification
TasksTechnique 1 2 3 4 5 6Abstract class identificationAgent internal design
Class namingControl architectureContext modellingDelegation analysisEvent modellingIntelligent agent identificationMeans-end analysisRole modellingState modellingTextual analysis3-layer BDI model
.
Key:Key:1. Model dependencies for actors and goals; 2. Construct the agent model;3. Design agent internal structure; 4. Model the agent’s environment;5. Model responsibilities; 6. Model permissions
YY
YY
YY
Y
YY
Y
Y
YYYY
Y
Y
Y
Y
Y Y
TasksTechnique 1 2 3 4 5 6Abstract class identification
TasksTechnique 1 2 3 4 5 6Abstract class identificationAgent internal design AND/OR decompositionClass namingControl architectureContext modellingDelegation analysisEvent modellingIntelligent agent identification
Role modellingState modellingTextual analysis3-layer BDI model
.
Key:Key:1. Model dependencies for actors and goals; 2. Construct the agent model;3. Design agent internal structure; 4. Model the agent’s environment;5. Model responsibilities; 6. Model permissions
Key:Key:1. Model dependencies for actors and goals; 2. Construct the agent model;3. Design agent internal structure; 4. Model the agent’s environment;5. Model responsibilities; 6. Model permissions
YY
YY
YY
Y
YY
Y
Y
YYYY
Y
Y
Y
Y
Y Y
Key:Key:
1. Model dependencies for actors and goals; 2. Construct the agent model;3. Design agent internal structure; 4. Model the agent’s environment;5. Model responsibilities; 6. Model permissions; 7. Code
Tasks
1 2 3 4 5 6 7
Tasks
Work Product 1 2 3 4 5 6 7
Agent Class DescriptorAgent Acquaintance DiagramAgent Overview DiagramCapability DiagramRole ModelRole Schema(Tropos) Goal Diagram(Tropos) Actor Diagram UML Sequence Diagram
.
YY
Y
Y
Y
Y
Y
YY
YY
YY
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
PRODE Fragment Repository
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The PRODE Process Representation
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 The process related aspect of the fragment: workflow, activity and work product
Storing It concerns with the storage of the fragment in the method base and its retrieval
Reuse 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 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.
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Method Fragment – The Implementation View
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Method Fragment – The Reuse View
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Method Fragment – Storing View
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Documenting the PRODE Fragment
A text document – detailing the process and the reuse view SPEM is often used to model process lifecycle aspects of the
fragment
An XPDL file – the workflow implementation of the fragment’s activity
The design rules – generating a set of composition rules for a specific work product
The application - realized in form of Activity Agents
14 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
How to represent a process for introduction in the fragment repository
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Existing design processes adopt different notations and documentation styles.
The process has to be represented in an unified way before fragment extraction
The need for a formal description of a design process (and of a process fragment).
We adopted a precise template and notation that is based on a few SPEM extensions
Creation of guideline for representing design processes. A top-down approach for the description and easy retrieval of
the main elements a process is composed of.V. Seidita, M. Cossentino, S. Gaglio. Using and Extending the SPEM Specifications to Represent Agent Oriented Methodologies. Agent-Oriented Software Engineering Workshop (AOSE-2008) at AAMAS 2008.
Representing PASSI
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Representing PASSI
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Process Fragment extraction and Repository creation Work Product and MMMElement oriented SPEM (Software Process Engineering
Metamodel) for modelling
The repository is a data base where method fragments are stored in terms of text documents
We already introduced in our method base the following design processes: Adelfe PASSI Tropos Gaia (partially)
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The PRODE Repository Creation All existing design processes deal with different design
philosophies Differences in terms and meanings of design process The need for taxonomy Interoperability among different repositories
The repository allows the classification of fragments according to a set of categories based on the most important metamodel elements Phase ProcessRole WorkProduct MMMElementSeidita, V., Cossentino, M., Gaglio, S. A repository of fragments for agent systems design. Proc. of the Workshop on Objects and Agents (WOA06). Catania, Italy. 26-27 September 2006
19 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Repository Content
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Fragments retrieval
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Metameth: a tool for supporting PRODEV. Seidita
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
PRODE divided inthree main areas of research
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
MMM
3) A CAME (Computer Aided
Method Engineering) tool
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 life-cycle and the positioning of the different method fragments in the intended place
a CAME tool: since it allows the definition of different method fragments (work not completed in this direction)
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
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Metameth tool We designed Metameth starting from our previous
experience on PTk and APTk Separating the internal semantic of a methodology from the
graphic notation used to express it Metameth Tool requirements:
– Definition of the design process by reusing method fragments from a repository --> CAME/CAPE capabilities
– Instantiation of the design process (in a distributed collaborative environment)--> CASE capabilities
– Full support for UML diagrams– Syntax/semantic checks of design artefacts– (Total or partial) Automatic composition of artefacts– Production of design documentation (complex documents
composed of text, graphics, tables, …
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Metameth tool architecture
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Supporting design activities The operations that can be supported by a
tool during the design process: GUI Action – the tool interacts with the user
(using a GUI) in order to support him in some operations
WP Composition - the tool creates/updates a work product on the basis of the already introduced design information
Rule Check – semantic and syntactic check of the work product (warning, alerting and suggestions)
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Expert System
30
Metameth is composed of a society of agents interacting with users: A controller agent – responsible for the
execution of process A community of Activity agents – interacting
with designer A ProcessModel agent – is responsible of
managing the design information An editor agent – manages the diagram
editor
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Expert System
31 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The rules
32
The Process Model agent is responsible of the activation of Jess rules
Classification according to five categories: Validation Semantic interpretation
Auto-composition Update Import
Rule Check
WP Composition
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Syntactic validation Alerts the designer if he is using an
incorrect element of the notation
if1. a notation element NE exists2. NE is a notation element of NE-T kind3. NE belongs to the Work Product WP4. WP is of WPK kind5. it does not exist a composition rule MME-NE-Link belonging to WPKthen print a syntax error
(defrule SYNTACTIC-VALIDATION::not-allowed-notation-element "Warn if in a Work Product a not allowed notation element is present"........../* it does not exist a composition rule in WPK specifing that a notation element with NE-T kind is allowed*/(not (MAIN::object(is-a MMM-ElementNotationElementLink) (NE-Type ?NE-T)(MappingRuleOf $? ?WPK $?)))=> /* print an error message standard error */(printout t "<Error>" crlf) (printout t "<![CDATA[")(printout t "Syntax error, ") (printout t "the work product " ?WP-NAME" is of kind "(slot-get (slot-get ?WPK DomainNamespace) Name):: (slot-get ?WPK Name))(printout t " so it can’t contains " ?NE-T:: (slot-get ?NE Name)"]]>" crlf)(printout t "</Error>" crlf))
/* WPK is a PASSI::DRD-Diagram kind*/(test (and(eq ?WPK-Name "DRD-Diagram")(eq ?WPK-DN-Name "PASSI")))
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Expert System• The Metameth expert system is based on JESS; rules are
expressed in first order logic • Ontology is designed using Protegè• Services offered by the expert system:
– Syntax checks: it verifies the abidance to modeling language rules– Semantic checks: it verifies the abidance to the MAS meta-model
(e.g. a role cannot aggregate another one)– Semantic understanding of diagrams: elements of notations are
mapped to their corresponding MAS meta-model element (a use-case is mapped to a requirement)
– Automatic composition of diagrams: some diagrams can be partially composed by accessing information of previous design phases
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The Rules
Significant difference in he number of rules produced: Several rules for
automatic composition only in one fragment
Comparable number of rules for the others kind
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
36 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Conclusions
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
A way to represent a design process coherently with the process definition and guidelines for fragmentation
Extension of SPEM 2.0. The creation of a fragments repository
The production of a CAPE/CAME/CASE tool: Metameth It allows an easy composition of new methodologies (CAPE
functionalities) It supports distributed design process (CASE functionalities)
The tool is able to offer cooperation to the designer through a society of agents
This system is able to perform syntactic validation, semantic validation/interpretation and auto-composition activities
The tool is general enough to be applied to every methodology: generality of the rules produced for the expert system
Future Works
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Improving and completing the “process definition” part of Metameth
Creating a tool for supporting rules generation Improvement of CAPE to CASE tool instantiation Lowering the dependencies from method designer
skills Improving the CAPE tool with the intelligent part
supporting the selection and assembly phase
Start with existing repository of fragments and consolidate
Implement the new standard metamodel
Thanks for your attention,any question?
M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008