DEFINING SPEM 2 PROCESS CONSTRAINTS WITH SEMANTIC RULES USING SWRL Daniel Rodríguez and Miguel Á. Sicilia Contents Introduction SPEM2, OWL and SWRL Representing SPEM 2 with OWL Ontologies Modelling process constraints with SWRL Conclusions and Future Work Introduction Process modelling and evaluation is composed of a wide range of: Process Standards MIL-STD498, RUP, Open UP, XP, ISO12207, etc. Quality Standards: ISO9000, SCAMPI, etc. Capability standards CMMI, SPICE, etc. Guidelines PSP, TSP, Six Sigma, etc. SPEM is the first step towards formalising and providing tool support for the engineering of processes. Semantic Web technologies can further improve such automation. SPEM2 SPEM (SW & Systems Process Engineering meta-model) SPEM is an open OMG specification that allows us to use a standardised way of expressing software engineering process. SPEM is both a meta-model and a UML profile As a profile can be used with any UML tool but… … it cannot add any semantics (e.g.: there is no way to add that the relationship between a task and roles there must exist at least a worker (and more optionally). As a meta-model: It is possible to include semantics and specific tools (e.g. Eclipse Process Framework Composer). SPEM 2: Method Content & Processes SPEM 2: Method Content and Process With RUP: SPEM 2 Metamodel Basic Elements: External Description, Guidance, … Dependencies: Categorizes, Impacts, Import, Precedes, RefersTo, Trace, … Process Structure: WorkProduct, WorkDefinition, Activity, Step, ProcessRole, … Process Components: Package, ProcessComponent, Process, Discipline, … Process Lifecycle: Lifecycle, Phase, Iteration, Precondition, Goal, … SPEM 2 Packages Core: Common classes and abstractions. Process structure: Static concepts of processes with nesting activities and their dependencies (Tasks, Roles, and Work Products). Process behaviour: Extends the Process Structure with behavioural models Managed Content: Concepts for managing textual description (natural language) and documentation capabilities for processes. Method Content: Concepts for defining lifecycle and process-independent reusable method content elements Process With-Methods: Structures for integrating Process Structure concepts with instances of Method Content concepts into the context of a lifecycle model Method Plug-in: Introduces the concept of variability in processes (method configuration). OWL & WSRL Ontology Web Language (OWL) OWL has become the de-facto standard as ontology representation language. Good tool support: Protégé, Jena, etc. Semantic Web Rule Language (SWRL) SWRL is the rule language of the Semantic Web. SWRL is based on OWL all rules are expressed in terms of OWL concepts. Good tool support within Protégé and third-part reasoning engines such as Jess. Representing SPEM 2 with OWL Most SPEM terms can be directly translated into OWL However, the translation does not aim at substituting the original model It serves as a complement for adding reasoning and inference support to SPEM based models. In addition, ontologies in general allow us to reuse common software engineering related knowledge and lessons learned. SPEM2 Method Content Hierarchy SPEM 2 Process Hierarchy Executing Processes Constrains in SWRL OWL Protégé + Jess + other SE Knowledge EPF Composer OWL MS Project What type of constrains? Static rules at the same level or between different levels in the ontological hierarchy SPEM definitions, process definitions or actual processes WorkProductUse(?x) ^ isInputParameter(?x, ?a) ^ Activity(?a) → isInOutParameter(?x, ?a) During the course of a project, constraint-checking behaviour can detect mismatches between process definitions and the actual process performed WorkProductUse(?x) ^ WorkProductUse(URD) ^ isInputParameter(?x, Review) reviewed(URD) ^ signed(URD) → reviewed(?x, true) → modifiable(URD, false) Conclusios and Future Work Ontologies can complement SPEM 2 models to include reasoning capabilities Translation of SPEM 2 into OWL is feasible although not straightforward Reasoning capabilities through SWRL and inference engines Hard to build a knowledge base of SE rules Future (current) work Further implementation of the current prototype Automatically translate SPEM 2 and OCL into OWL Capture “common” rules from specific processes (SCRUM,…) OntoSWEBOK: Ontological representation of the Guide to the Software Engineering Body of Knowledge SPEM 2 WBS Hierarchy Delivery Process: represents a complex processes needed to carry out processes. Capability Pattern: fragment of a process that can be reused multiple times in a delivery process. Activity: main element to define processos. It allows the organisation basic element processes (Tasks, Roles, and Work Products). Task: smallest element unit in SPEM processes.
Pages to are hidden for
"ONTOSE09.Slides.ppt"Please download to view full document