370 likes | 461 Views
Fragment Repository Metameth Tool. V. Seidita. Existing Fragment Repositories. Two repositories exist in literature: OPF (OPEN Process Framework)
E N D
Fragment RepositoryMetameth Tool V. Seidita
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 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. 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 • 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 Tasks Tasks Tasks Tasks Technique Technique Technique Technique 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Abstract class identification Abstract class identification Abstract class identification Abstract class identification Agent internal design Agent internal design Y Y AND/OR decomposition Y Y Class naming Class naming Y Y Y Y Control architecture Control architecture Y Y Context modelling Context modelling Y Y Y Y Delegation analysis Delegation analysis Y Y Y Y Event modelling Event modelling Y Y Intelligent agent identification Intelligent agent identification Y Y . . Y Y Means-end analysis Role modelling Role modelling Y Y Y Y Y Y Y Y State modelling State modelling Y Y Textual analysis Textual analysis Y Y Y Y 3 3 - - layer BDI model layer BDI model Y Y Y Y Key: Key: Key: Key: Key: Key: 1. Model dependencies for actors and goals; 2. Construct the age 1. Model dependencies for actors and goals; 2. Construct the age 1. Model dependencies for actors and goals; 2. Construct the age nt model; nt model; nt model; 3. Design agent internal structure; 4. Model the agent’s environ 3. Design agent internal structure; 4. Model the agent’s environ 3. Design agent internal structure; 4. Model the agent’s environ ment; ment; ment; 5. Model responsibilities; 6. Model permissions 5. Model responsibilities; 6. Model permissions 5. Model responsibilities; 6. Model permissions M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
Tasks Tasks Work Product 1 2 3 4 5 6 7 1 2 3 4 5 6 7 Y Y Y Y Y Y Y Y Y Y Y Y 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 . 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 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 methodFragment can beexploredfromfourpointsofview: • Process • The processrelatedaspectof the fragment: workflow, activity and work product • Storing • Itconcernswith the storageof the fragment in the method base and itsretrieval • Reuse • Itconcernswith the reusefeatureof the fragment and lists the elementshelpful in reusing the fragmentduring the compositionof 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 MethodFragment – The ProcessView M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The MethodFragment – The ImplementationView 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
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
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 • MMMElement Seidita, 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 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 PRODE V. Seidita M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
PRODE divided inthreemainareasofresearch MMM 3) A CAME (Computer Aided Method Engineering) tool M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
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 What is Metameth 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 • 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
The rules • 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 (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)) if 1. a notation element NE exists 2. NE is a notation element of NE-T kind 3. NE belongs to the Work Product WP 4. WP is of WPK kind 5. it does not exist a composition rule MME-NE-Link belonging to WPK then print a syntax error /* 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
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 • 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 M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008
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 - 18, Nov. 2008