fragment repository metameth tool

37
Fragment Repository Metameth Tool V. Seidita

Upload: yadid

Post on 12-Feb-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Fragment Repository Metameth Tool. V. Seidita. Existing Fragment Repositories. Two repositories exist in literature: OPF (OPEN Process Framework) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fragment Repository Metameth  Tool

Fragment RepositoryMetameth Tool

V. Seidita

Page 2: Fragment Repository Metameth  Tool

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.

Page 3: Fragment Repository Metameth  Tool

OPF Fragment Repository

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 4: Fragment Repository Metameth  Tool

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

Page 5: Fragment Repository Metameth  Tool

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

Page 6: Fragment Repository Metameth  Tool

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

Page 7: Fragment Repository Metameth  Tool

PRODE Fragment Repository

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 8: Fragment Repository Metameth  Tool

The PRODE Process Representation

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 9: Fragment Repository Metameth  Tool

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

Page 10: Fragment Repository Metameth  Tool

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 11: Fragment Repository Metameth  Tool

The Method Fragment – The Implementation View

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 12: Fragment Repository Metameth  Tool

The Method Fragment – The Reuse View

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 13: Fragment Repository Metameth  Tool

The Method Fragment – Storing View

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 14: Fragment Repository Metameth  Tool

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

Page 15: Fragment Repository Metameth  Tool

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.

Page 16: Fragment Repository Metameth  Tool

Representing PASSI

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 17: Fragment Repository Metameth  Tool

Representing PASSI

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 18: Fragment Repository Metameth  Tool

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

Page 19: Fragment Repository Metameth  Tool

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

Page 20: Fragment Repository Metameth  Tool

Repository Content

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 21: Fragment Repository Metameth  Tool

Fragments retrieval

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 22: Fragment Repository Metameth  Tool

Metameth: a tool for supporting PRODEV. Seidita

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 23: Fragment Repository Metameth  Tool

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

Page 24: Fragment Repository Metameth  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

Page 25: Fragment Repository Metameth  Tool

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

Page 26: Fragment Repository Metameth  Tool

The Metameth tool architecture

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 27: Fragment Repository Metameth  Tool

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

Page 28: Fragment Repository Metameth  Tool

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

Page 29: Fragment Repository Metameth  Tool

The Expert System

31 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 30: Fragment Repository Metameth  Tool

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

Page 31: Fragment Repository Metameth  Tool

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

Page 32: Fragment Repository Metameth  Tool

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

Page 33: Fragment Repository Metameth  Tool

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

Page 34: Fragment Repository Metameth  Tool

36 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Page 35: Fragment Repository Metameth  Tool

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

Page 36: Fragment Repository Metameth  Tool

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

Page 37: Fragment Repository Metameth  Tool

Thanks for your attention,any question?

M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008