Fragment Repository Metameth Tool V Seidita Existing Fragment

  • Slides: 37
Download presentation
Fragment Repository Metameth Tool V. Seidita

Fragment Repository Metameth Tool V. Seidita

Existing Fragment Repositories Two repositories exist in literature: OPF (OPEN Process Framework) Composed of

Existing Fragment Repositories 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 Work. Unit oriented, the Work. Product 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. M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

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

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

OPF Method Fragment � 4 Main elements of OPF Metamodel � Work. Unit, operations

OPF Method Fragment � 4 Main elements of OPF Metamodel � Work. Unit, operations (Activities, Tasks and Techniques) performed by Producers during a development process in order to produce a specific Work. Product; Activities and Tasks describe what is to be done whereas Techniques describe how to do a portion of work � Work. Product, 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 Technique Abstract class identification Agent internal design AND/OR decomposition Class naming Control

Deontic Matrices Technique Abstract class identification Agent internal design AND/OR decomposition Class naming Control architecture Context modelling Delegation analysis Event modelling Intelligent agent identification. Means-end analysis Role modelling State modelling Textual analysis 3 -layer BDI model 1 2 Tasks 3 4 5 6 Y Y Y Y Y Key: Y Y 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Tasks Work Product 1 2 3 4 5 6 7 Y Agent Class Descriptor

Tasks Work Product 1 2 3 4 5 6 7 Y Agent Class Descriptor Agent Acquaintance Diagram Agent Overview Diagram Capability Diagram Role Model Role Schema (Tropos) Goal Diagram (Tropos) Actor Diagram UML Sequence Diagram Y Y Y Y Y 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. M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008 Y Y

PRODE Fragment Repository 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.

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

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

The Method Fragment – The Process View M. Cossentino, V. Seidita - Tutorial WOA'08

The Method Fragment – The Process View M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

The Method Fragment – The Implementation View M. Cossentino, V. Seidita - Tutorial WOA'08

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

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 -

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

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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 14 Agents 2008

How to represent a process for introduction in the fragment repository Existing design processes

How to represent a process for introduction in the fragment repository 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. M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 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

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

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

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 � Process. Role � Work. Product � MMMElement Gaglio, S. A repository of fragments for agent systems design. 19 Seidita, V. , Cossentino, M. M. , Cossentino, V. Seidita - Tutorial WOA'08 - 18, Proc. Nov. of the Workshop on Objects and Agents (WOA 06). Catania, Italy. 26 -27 September 2006 2008

Repository Content 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

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

Metameth: a tool for supporting PRODE V. Seidita M. Cossentino, V. Seidita - Tutorial

Metameth: a tool for supporting PRODE V. Seidita M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

PRODE divided in three main areas of research MMM 3) A CAME (Computer Aided

PRODE divided in three main areas of research MMM 3) A CAME (Computer Aided Method Engineering) tool M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

What is Metameth is an (open-source) agent-oriented tool we built to support our experiments

What is 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

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.

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

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 Metameth is composed of a society of agents interacting with users:

The Expert System Metameth is composed of a society of agents interacting with users: 30 A controller agent – responsible for the execution of process A community of Activity agents – interacting with designer A Process. Model 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.

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

The rules The Process Model agent is responsible of the activation of Jess rules

The rules The Process Model agent is responsible of the activation of Jess rules Classification according to five categories: 32 Validation Semantic interpretation Rule Check Auto-composition Update Import WP Composition M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Syntactic validation Alerts the designer if he is using an incorrect (defrule SYNTACTIC-VALIDATION: :

Syntactic validation Alerts the designer if he is using an incorrect (defrule SYNTACTIC-VALIDATION: : not-allowed-notation-element "Warn if in a Work Product a not allowed notation element of the notation element is present". . /*if it does not exist a composition rule in WPK specifing that a notation element with 1. a notation element NE exists NE-T kind is allowed*/ /* WPK is a PASSI: : DRD-Diagram 2. NE is a notation element of NE-T kind (not (MAIN: : object (test (and 3. NE belongs to the Work Product WP (NE-Type (is-a MMM-Element. Notation. Element. Link) ? NE-T) (eq ? WPK-Name "DRD-Diagram") 4. WP is of WPK$? kind (Mapping. Rule. Of ? WPK $? ) (eq ? WPK-DN-Name "PASSI") )5. it does not exist a composition rule MME-NE-Link ) )belonging to WPK ) then => /* print an error message standard error */ print a syntax error crlf) (printout t "<![CDATA[") (printout t "<Error>" (printout t "Syntax error, ") (printout t "the work product " ? WP-NAME " is of kind " (slot-get ? WPK Domain. Namespace) Name): : (slot-get ? WPK Name)) (printout t " so it can’t contains " ? NE-T: : (slot-get ? NE Name)"]]>" crlf) (printout t "</Error>"M. crlf)) Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

The Expert System • The Metameth expert system is based on JESS; rules are

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

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

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

Conclusions A way to represent a design process coherently with the process definition and

Conclusions 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 The tool is able to offer cooperation to the designer through a society of agents It allows an easy composition of new methodologies (CAPE functionalities) It supports distributed design process (CASE functionalities) 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Future Works Improving and completing the “process definition” part of Metameth Creating a tool

Future Works 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

Thanks for your attention, any question? M. Cossentino, V. Seidita - Tutorial WOA'08 -

Thanks for your attention, any question? M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008