1 / 37

Fragment Repository Metameth Tool

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

yadid
Télécharger la présentation

Fragment Repository Metameth Tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fragment RepositoryMetameth Tool V. Seidita

  2. 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

  3. 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

  5. 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

  6. 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

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

  8. The PRODE Process Representation M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

  9. 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

  10. The MethodFragment – The ProcessView M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

  11. The MethodFragment – The ImplementationView M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

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

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

  14. 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

  15. 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

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

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

  18. 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

  19. 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

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

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

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

  23. PRODE divided inthreemainareasofresearch MMM 3) A CAME (Computer Aided Method Engineering) tool M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

  24. 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

  25. 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

  26. The Metameth tool architecture M. Cossentino, V. Seidita - Tutorial WOA'08 - 18, Nov. 2008

  27. 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

  28. 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

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

  30. 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

  31. 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

  32. 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

  33. 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

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

  35. 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

  36. 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

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

More Related