Semantic Annotation for Process Models: Facilitating Process
Transcription
Semantic Annotation for Process Models: Facilitating Process
Yun Lin Semantic Annotation for Process Models: Facilitating Process Knowledge Management via Semantic Interoperability Department of Computer and Information Science Norwegian University of Science and Technology N-7491 Trondheim, Norway NTNU Norwegian University of Science and Technology Thesis for the degree of Ph.D. Faculty of Information Technology, Mathematics and Electrical Engineering Department of Computer and Information Science c Yun Lin ISBN 978-82-471-5157-0 (printed version) ISBN 978-82-471-5160-0 (electronic version) ISSN 1503-8181 Doctoral theses at NTNU, 2008:03 Printed by NTNU-trykk iii To MY BELOVED HUSBAND HAO DING AND OUR DAUGHTER SABRINA DING Abstract Business process models representing process knowledge about doing business are necessary for designing Information Systems (IS) solutions in enterprises. Interoperability of business process knowledge in legacy systems is crucial for enterprise systems interoperation and integration due to increased enterprise cooperation and business exchange. Many modern technologies and approaches are deployed to support business process interoperability either at the instance level or the protocol level, such as BPML, WSDL and SOAP. However, we argue that a holistic approach is necessary for semantic interoperability of business process models at the conceptual level when considering the process models as reusable process knowledge for other (new or integrated) IS solutions. This brings requirements to manage semantic heterogeneity of process knowledge in process models which are distributed across different enterprise systems. Semantic annotation is an approach to achieve semantic interoperability of heterogeneous resources. However, such an approach has usually been applied to enhance the semantics of unstructured and structured artifacts (e.g. textual resources [72] [49], and Web services [166] [201]). The aim of the research is to introduce an ontology-based semantic annotation approach to enrich and reconcile semantics of process models — a kind of semi-structured artifact, for managing process knowledge. The approach brings together techniques in process modeling, ontology building, semantic matching, and Description Logic inference in order to provide a comprehensive semantic annotation framework. As an implementation of the framework, a prototype system is developed to support the process of ontology-based semantic annotation of heterogeneous process models. The applicational goal of our approach is to facilitate process knowledge management activities (e.g. discovery, reuse, and integration of process knowledge/models) by enhanced semantic interoperability. A survey has been performed through identifying semantic heterogeneity in process modeling and investigating semantic technology from theoretical and practical views. Based on the results from the survey, a comprehensive semantic annotation framework has been developed, which provides a method to manage semantic heterogeneity of process models from the following perspectives — first, basic descriptions of process models (profile annotation); second, process modeling languages (meta-model annotation); third, contents of process models (model annotation) and finally intentions of process model owners (goal annotation). Applying the semantic annotation framework, an ontology-based annotation method has been elaborated, which results in two categories of research activity — ontology building and semantic mapping. In ontology building, we use Web Ontology Language (OWL), a Semantic Web technology, which can be used to model ontologies. GPO (General Process Ontology) comprising core concepts in most process modeling languages is proposed; domain concepts are classified in the corresponding categories of GPO as a domain ontology; design principles for building a goal ontology are introduced in order to serve the annotation of process models pragmatically. In semantic mapping, a set of mapping strategies are developed to conduct the annotation by considering the semantic relationships between model artifacts and ontology references and as well the semantic inference mechanism supported by OWL DL (Description Logic). The annotation method is finally formalized into a process semantic annotation model - PSAM. ii The proposed approach has been implemented in a prototype annotation tool — ProSEAT to facilitate the annotation process. Procedures of applying the semantic annotation approach with the tool are described through exemplar study. The annotation approach and the prototype tool are evaluated using a quality framework. Furthermore, the applicability of the annotation results is validated by going through a process knowledge management application. The Semantic Web Rule Language (SWRL) is applied in the application demonstration. We argue that the ontology-based annotation approach combined with the Semantic Web technology is a feasible approach to reconcile semantic heterogeneity in the process knowledge management. Limitations and future work are discussed after concluding this research work. The contributions of this thesis are summarized as follows. First, a general process ontology is proposed for unifying process representations at a high level of abstraction. Second, a semantic annotation framework is introduced to describe process knowledge systematically. Third, ontology-based annotation methods are elaborated and formalized. Fourth, an annotation system, utilizing the developed formal methods, is designed and implemented. Fifth, a process knowledge management system is outlined as the platform for manipulating the annotation results. Moreover, applying results of the approach is demonstrated through a process model integration example. Contents Preface I xv Background and Context 1 1 Introduction 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Problem Statement and Research Questions . . . . . . . . 1.3 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Approach and Scope . . . . . . . . . . . . . . . . . . . . . 1.4.1 Semantic reconciliation of business process models 1.4.2 Machine-interpretable process knowledge . . . . . 1.5 Research Method . . . . . . . . . . . . . . . . . . . . . . . 1.6 Major Contributions . . . . . . . . . . . . . . . . . . . . . 1.7 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Problem Setting 2.1 Models in Information System Engineering . . . . . . . . . . . . 2.2 Modeling Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Semiotic triangle . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Modeling language, meta-model and model semantics . . 2.2.3 Ontology-driven and domain-specific . . . . . . . . . . . . 2.3 Information Systems and Semantic Web . . . . . . . . . . . . . . 2.3.1 Ontology in information systems . . . . . . . . . . . . . . 2.3.2 RML and OWL . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Semantic Interoperability . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Semantic heterogeneity . . . . . . . . . . . . . . . . . . . 2.4.2 Semantic annotation . . . . . . . . . . . . . . . . . . . . . 2.5 Business Process Model . . . . . . . . . . . . . . . . . . . . . . . 2.6 Process Knowledge Management . . . . . . . . . . . . . . . . . . 2.6.1 Knowledge and process knowledge . . . . . . . . . . . . . 2.6.2 Knowledge representation . . . . . . . . . . . . . . . . . . 2.6.3 Knowledge management activities associated with process 2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii . . . . . . . . . 3 3 4 6 6 7 7 8 9 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . models . . . . 11 11 12 12 14 15 16 17 20 22 22 23 25 26 26 27 28 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . iv CONTENTS 3 State of the Art 3.1 Process Modeling Languages . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Petri Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 EPC (Event-driven Process Chain) . . . . . . . . . . . . . . . . . 3.1.3 EEML (Extended Enterprise Modeling Language) . . . . . . . . 3.1.4 UML Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 BPMN (Business Process Modeling Notation) . . . . . . . . . . . 3.1.6 Categorizing the modeling constructs of process modeling languages 3.2 Semantic Interoperability and Process Ontologies . . . . . . . . . . . . . 3.2.1 BWW (Bunge-Wand-Weber) ontology . . . . . . . . . . . . . . . 3.2.2 MIT process handbook . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 TOVE (Toronto Virtual Enterprise) ontologies . . . . . . . . . . 3.2.4 PSL (Process Specification Language) . . . . . . . . . . . . . . . 3.2.5 PIF (Process Interchange Format) . . . . . . . . . . . . . . . . . 3.2.6 OWL-S: Semantic Markup for Web Services . . . . . . . . . . . . 3.2.7 WSMO (Web Service Modeling Ontology) . . . . . . . . . . . . . 3.2.8 POP* (Process, Organization, Product and others) . . . . . . . . 3.2.9 UEML2 (Unified Enterprise Modeling Language version 2) . . . 3.2.10 Comparison of process ontology representations . . . . . . . . . . 3.3 Goal Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 KAOS (Knowledge Acquisition in autOmated Specification) . . . 3.3.2 i*/GRL (Goal-oriented Requirement Language) . . . . . . . . . . 3.3.3 GBRAM (Goal-Based Requirements Analysis Method) . . . . . . 3.3.4 Goal modeling in EEML . . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Goal specification in WSMO . . . . . . . . . . . . . . . . . . . . 3.3.6 Goal modeling and process modeling . . . . . . . . . . . . . . . . 3.4 Semantic Annotation Methods and Tools . . . . . . . . . . . . . . . . . 3.4.1 MnM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 KIM (Knowledge & Information Management) . . . . . . . . . . 3.4.3 AeroDAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 OntoMat-Annotizer . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 MWSAF (METEOR-S Web Service Annotation Framework) . . 3.4.6 SAWSDL (Semantic Annotations for WSDL and XML Schema) . 3.4.7 Semantic annotation schema in the INTEROP project . . . . . . 3.4.8 ASTAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.9 Discussion on the survey results of annotation tools and methods 3.5 Requirements for Semantic Annotation Systems . . . . . . . . . . . . . . 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 32 33 34 35 36 38 39 40 40 41 42 43 44 45 45 46 48 49 49 49 50 50 50 51 51 52 52 53 53 53 54 55 56 56 58 58 II 61 Design and Application 4 Semantic Annotation Framework 63 4.1 Theoretical Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.1.1 Semiotic triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.1.2 Semiotic triangle for process modeling . . . . . . . . . . . . . . . 65 CONTENTS 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 66 68 69 69 71 73 74 76 78 81 5 Goal Annotation 5.1 Goal-Driven Process Knowledge Discovery . . . . . . . . 5.2 Goal Ontology for Semantic Annotation . . . . . . . . . 5.2.1 Goal ontology design principles . . . . . . . . . . 5.2.2 Semantic representations of a goal ontology . . . 5.3 Relations between Process Models and a Goal Ontology 5.4 PSAM with Goal Annotation . . . . . . . . . . . . . . . 5.5 Goal Annotation Procedure . . . . . . . . . . . . . . . . 5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 83 84 84 85 86 89 90 91 4.3 4.4 4.5 4.6 4.7 4.8 Overview of the Framework . . . . . . . . . . . . . 4.2.1 Ontology-based annotation . . . . . . . . . 4.2.2 Annotation aspects . . . . . . . . . . . . . . Profile Annotation . . . . . . . . . . . . . . . . . . Meta-model Annotation . . . . . . . . . . . . . . . 4.4.1 GPO (General Process Ontology) . . . . . . 4.4.2 Mapping rules in Meta-model annotation . Model Annotation . . . . . . . . . . . . . . . . . . PSAM (Process Semantic Annotation Model) . . . A Simple Example of Process Semantic Annotation Summary . . . . . . . . . . . . . . . . . . . . . . . v . . . . . . . . . . . . . . . . . . . . . . 6 Pro-SEAT (Process SEmantic Annotation Tool) 6.1 Components of Prototype Environment . . . . . . . . . . . . . . . . . 6.1.1 Process modeling environment — Metis . . . . . . . . . . . . . 6.1.2 Ontology modeling environment — Protégé-OWL editor . . . . 6.1.3 System modules in the semantic annotation tool — Pro-SEAT 6.2 Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Goal Annotation Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Functionality and User Interface . . . . . . . . . . . . . . . . . . . . . 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Exemplar Studies and Application System 7.1 Semantic Annotation Procedure . . . . . . . . . . . . . . . . . . 7.2 Exemplars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Sales logistics process in BPMN . . . . . . . . . . . . . 7.2.2 The TelCo item receiving and delivery process in EEML 7.3 SCOR Reference Ontology . . . . . . . . . . . . . . . . . . . . . 7.4 Annotation of Process Models with Pro-SEAT . . . . . . . . . 7.4.1 Profile annotation . . . . . . . . . . . . . . . . . . . . . 7.4.2 Meta-model annotation . . . . . . . . . . . . . . . . . . 7.4.3 Model annotation . . . . . . . . . . . . . . . . . . . . . 7.4.4 Goal annotation . . . . . . . . . . . . . . . . . . . . . . 7.4.5 Annotation results . . . . . . . . . . . . . . . . . . . . . 7.5 Process Knowledge Management System . . . . . . . . . . . . . 7.5.1 System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 . 93 . 94 . 94 . 95 . 96 . 99 . 100 . 101 . . . . . . . . . . . . . 103 103 104 104 107 110 113 113 114 116 116 116 117 121 vi CONTENTS 7.5.2 Semantic reasoning . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7.5.3 Simple walkthrough examples . . . . . . . . . . . . . . . . . . . . 123 7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 III Evaluation 127 8 Quality Evaluation of the Method 8.1 Evaluation Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Setting for the Quality Evaluation . . . . . . . . . . . . . . . . . . . . . 8.2.1 SEQUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 The facts corresponding to the quality categories from the exemplar studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Quality Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Quality evaluation of GPO and PSAM . . . . . . . . . . . . . . 8.3.2 Quality analysis of the annotation model instances . . . . . . . . 8.3.3 Quality evaluation of Pro-SEAT . . . . . . . . . . . . . . . . . . 8.4 Requirements Satisfaction of the Semantic Annotation System . . . . . 8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 129 129 130 9 Validation of Applicability 9.1 Validation Design . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Application requirements . . . . . . . . . . . . . . . . 9.1.2 SWRL rules and tool . . . . . . . . . . . . . . . . . . . 9.2 SWRL Formulation . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Formalizing RE1 - Navigation requirements . . . . . . 9.2.2 Formalizing RE2 - Search requirements . . . . . . . . 9.2.3 Formalizing RE3 - Semantic check requirements . . . 9.2.4 Formalizing RE4 - Knowledge discovery requirements 9.3 Applicability Validation in an Integration Application . . . . 9.4 Discussion on Results of the Validation . . . . . . . . . . . . . 9.4.1 Automatic vs. manual annotation . . . . . . . . . . . 9.4.2 Model analysis based on semantic relationships . . . . 9.4.3 Detecting missing annotation . . . . . . . . . . . . . . 9.4.4 Semantic validation . . . . . . . . . . . . . . . . . . . 9.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 143 144 145 146 146 146 147 148 151 158 158 159 159 161 162 IV Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 134 134 136 139 140 141 163 10 Conclusions and Future Work 165 10.1 Research Questions and Findings . . . . . . . . . . . . . . . . . . . . . . 165 10.2 Summary of the Contributions . . . . . . . . . . . . . . . . . . . . . . . 168 10.3 Limitations and Future Work . . . . . . . . . . . . . . . . . . . . . . . . 169 CONTENTS V vii Appendices 171 A BPMN A.1 BPMN Elements Categories . . . . . . A.2 Flow Objects . . . . . . . . . . . . . . A.2.1 Events . . . . . . . . . . . . . . A.2.2 Activities . . . . . . . . . . . . A.2.3 Gateways . . . . . . . . . . . . A.3 Connecting Objects . . . . . . . . . . A.3.1 Sequence flow . . . . . . . . . . A.3.2 Message flow . . . . . . . . . . A.3.3 Association . . . . . . . . . . . A.4 Swimlanes . . . . . . . . . . . . . . . . A.4.1 Pool . . . . . . . . . . . . . . . A.4.2 Lane . . . . . . . . . . . . . . . A.5 Artifacts . . . . . . . . . . . . . . . . . A.5.1 Data Object . . . . . . . . . . A.6 BPMN meta-model tree in Metis 5.2.2 B EEML 2005 B.1 Process Modeling Domain . . B.1.1 Task . . . . . . . . . . B.1.2 Decision Point . . . . B.1.3 Milestone . . . . . . . B.1.4 Resource role . . . . . B.2 Recourses Modeling Domain . B.3 EEML modeling relationships B.4 EEML 2005 in Metis 5.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 173 173 173 174 174 174 174 175 175 176 176 176 176 176 177 . . . . . . . . 179 179 179 180 180 180 181 181 182 C SCOR 183 C.1 Level 1 Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 184 C.2 Level 2 Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 C.3 Level 3 Process Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 186 D Algorithm for Goal Annotation 189 E GUI of Pro-SEAT 197 F Analysis of Exemplar Studies 203 F.1 Semantic Annotation with SCOR ontology . . . . . . . . . . . . . . . . . 203 F.2 Integration Application Based On Semantic Annotation . . . . . . . . . 205 G Schema of PSAM and SWRL Rules 209 G.1 PSAM in OWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 G.2 Rule Definitions in SWRL . . . . . . . . . . . . . . . . . . . . . . . . . . 212 viii CONTENTS H PSAM Annotation Results in OWL 217 H.1 Annotation of PM A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 H.2 Annotation of PMB1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 H.3 Annotation of PMB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 List of Figures 2.1 2.2 2.3 2.4 2.5 2.6 Zachman Enterprise Architecture Framework [189] [171] [214] . . . . . . COEUR-SW triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Graphical Notations of RML (limited to the constructs used in this thesis) Embedded annotation and stand-off annotation [81] . . . . . . . . . . . Abstraction levels of processes [155] . . . . . . . . . . . . . . . . . . . . Knowlege Process [174] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 The paradigm of business process management systems . . . . . . . . . An example of EPC model [60] . . . . . . . . . . . . . . . . . . . . . . . Overview of EEML modeling constructs and relationships for process and resource domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 An example of UML activity model [107] . . . . . . . . . . . . . . . . . 3.5 PSL modules for generic classes of activities and their ordering relations [161] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 The PIF classes and relationships [85] . . . . . . . . . . . . . . . . . . . 3.7 The process ontology of OWL-S [198] . . . . . . . . . . . . . . . . . . . . 3.8 The POP* meta model for Process dimension [138] . . . . . . . . . . . . 3.9 Generalization hierarchy of UEML ontology classes [144] . . . . . . . . . 3.10 Schema for semantic annotation of enterprise models [143] . . . . . . . . 4.1 13 16 20 23 25 28 32 34 35 36 42 43 44 46 48 55 4.5 4.6 4.7 Relationships between ontology, model, meta-model and modeling language in the semiotic triangle . . . . . . . . . . . . . . . . . . . . . . . . Relationships between modeling ontology, meta-model and modeling language in the semiotic triangle . . . . . . . . . . . . . . . . . . . . . . . . Relationships between model level, process ontology, process model, process meta-model and process modeling language (adapted from model level ontology in [87]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Semantics reconciliation of process models through ontology-based annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Process Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . EEML process model example: purchase process . . . . . . . . . . . . . Annotated EEML process model example: purchase process . . . . . . . 67 72 79 80 5.1 5.2 Meta-model of the proposed goal ontology . . . . . . . . . . . . . . . . . Goal annotation procedure . . . . . . . . . . . . . . . . . . . . . . . . . 87 90 4.2 4.3 4.4 ix 64 65 66 x LIST OF FIGURES 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 System modules of the prototype . . . . . . . . . . . Structure of entities in the Pro-SEAT prototype . . . Structure of entities in the profile annotation . . . . Structure of entities in the meta-model annotation . Metis meta-model structure . . . . . . . . . . . . . . Structure of entities in the model annotation . . . . Metis model structure . . . . . . . . . . . . . . . . . Structure of entities in the goal annotation . . . . . Structure of process model fragment . . . . . . . . . Main components of the UI in Pro-SEAT . . . . . . The UI of process knowledge navigator in Pro-SEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 . 96 . 96 . 97 . 97 . 98 . 98 . 99 . 100 . 101 . 102 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 Semantic annotation process based on PSAM . . . . . . . . . . . . . . . 104 Sales logistics process of enterprise A in BPMN . . . . . . . . . . . . . . 105 Checking availability of the delivery of enterprise A in BPMN . . . . . . 106 Picking, packing and create delivery of enterprise A in BPMN . . . . . . 107 TelCo item receiving process . . . . . . . . . . . . . . . . . . . . . . . . 108 Decomposition of the check items . . . . . . . . . . . . . . . . . . . . . . 108 The item delivery process of enterprise B in EEML . . . . . . . . . . . . 109 The delivery process to franchisees of enterprise B in EEML . . . . . . . 109 The delivery process to shops of enterprise B in EEML . . . . . . . . . . 110 SCOR S1 process of sourcing stocked product [164] . . . . . . . . . . . . 111 SCOR process element S1.2 Receive Product in Protégé-OWL editor 113 SCOR input/output Sourced Product On Order in Protégé-OWL editor113 SCOR hard goal Sourced Products are Verified in Protégé-OWL editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.14 SCOR soft goal Improve Supplier Delivery Performance in ProtégéOWL editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.15 Architecture of the process knowledge management system based on semantic annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8.1 SEQUAL framework for discussing quality of models [80] . . . . . . . . 131 8.2 Language quality in the quality framework [80] . . . . . . . . . . . . . . 132 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 The The The The The The The The The The The The The SWRL rules in Protege-OWL SWRLTab . . . . . . . . . . . . . . . 151 query result of QRule-Activity-achievesHardGoal on PM A . . 152 query result of QRule-Activity-achievesHardGoal on PMB2 . . 152 query result of QRule-Activity-hasActor on PM A . . . . . . . . 153 query result of QRule-Activity-hasActor on PMB2 . . . . . . . . 154 query result of QRule-Activity-hasActor-sameas on PM A . . . 154 query result of QRule-Activity-hasActor-sameas on PMB2 . . . 155 query result of QRule-Activity-hasActor-kindof on PMB2 . . . 155 query result of QRule-Activity-hasSuccedingActivities on PM A 156 query result of QRule-Activity-hasSuccedingActivities on PMB2 156 query result of QRule-Activity-phaseof on PM A . . . . . . . . . 157 query result of QRule-Activity-phaseof on PMB2 . . . . . . . . 157 query result of QRule-Activity-Input-mappedto on PMB2 . . . 158 LIST OF FIGURES xi 9.14 The query result of QRule-Activity-Output-mappedto on PM A . . 158 A.1 A.2 A.3 A.4 A.5 A.6 A.7 A.8 A.9 BPMN BPMN BPMN BPMN BPMN BPMN BPMN BPMN BPMN Events . . . . . . . . . . . . . . Activities – Sub-Process, Task . Gateways . . . . . . . . . . . . . Sequence Flows . . . . . . . . . Message Flow . . . . . . . . . . Associations . . . . . . . . . . . Swimlanes – Pool and Lane . . . Object Data . . . . . . . . . . . modeling elements and notations B.1 B.2 B.3 B.4 B.5 B.6 EEML EEML EEML EEML EEML EEML Tasks . . . . . . . . . . . . Decision Points . . . . . . . Milestone . . . . . . . . . . Resource role . . . . . . . . Resources . . . . . . . . . . 2005 modeling constructs in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in Metis . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 174 175 175 175 176 176 177 178 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 180 180 181 181 182 C.1 C.2 C.3 C.4 C.5 C.6 C.7 Three levels in the SCOR scope [208] . . . . . . . . . . . . . . Performance Attributes and Level 1 Metrics [164] . . . . . . . Process Categories [164] . . . . . . . . . . . . . . . . . . . . . Level 2 Toolkit [164] . . . . . . . . . . . . . . . . . . . . . . . Level 3 process elements of S1 Source Stocked Product [164] . Level 3 process elements of D1 Deliver Stocked Product [176] Level 3 metrics for S1.1 Schedule Product Deliveries [164] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 185 185 186 187 188 188 E.1 E.2 E.3 E.4 E.5 E.6 Profile annotation UI in Pro-SEAT . . . Meta-model annotation UI in Pro-SEAT Mapping meta-model to GPO . . . . . . Model annotation UI in Pro-SEAT . . . Goal annotation UI in Pro-SEAT . . . . Automatic goal annotation in Pro-SEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 198 199 200 201 201 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metis 5.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii LIST OF FIGURES List of Tables 3.1 3.2 3.3 3.4 Modeling constructs of different business process modeling Ontological representations of different process ontologies EEML goal modeling relations . . . . . . . . . . . . . . . Lossless mismatches and examples . . . . . . . . . . . . . languages . . . . . . . . . . . . . . . . . . . . . . . . . . 37 47 51 57 4.1 4.2 Metadata for profile annotation . . . . . . . . . . . . . . . . . . . . . . . Semantic relationships, corresponding annotation denotations, and OWL constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 76 7.1 7.2 7.3 7.4 7.5 OWL definition of the SCOR ontology . . . . . . . . . . . . . . . . . . . 112 Mapping the EEML and BPMN meta-model elements to the GPO concepts115 Part of semantic annotation results of PM A . . . . . . . . . . . . . . . . 118 Part of semantic annotation results of PMB1 . . . . . . . . . . . . . . . . 119 Part of semantic annotation results of PMB2 . . . . . . . . . . . . . . . . 120 9.1 9.2 9.3 9.4 SWRL queries and rules for RE1 . . . . . . . . SWRL queries and rules for RE2 . . . . . . . . SWRL queries and rules for RE3 . . . . . . . . Query results of the inferred annotation options xiii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 148 149 160 xiv LIST OF TABLES Preface This thesis is submitted to the Norwegian University of Science and Technology (NTNU) for the doctoral degree – Doctor of Philosophy (Ph.D.). The work has been carried out at the Information System Group (IS-group), Department of Computer and Information Science (IDI), under supervision of Professor Arne Sølvberg. Acknowledgments First and foremost, I would like to acknowledge my principle supervisor — Professor Arne Sølvberg. I am grateful that Arne became my supervisor and gave the guidance in conducting my doctoral research work. I thank Arne for his constant encouragement and precise advice all the way through. He helped me a lot to clarify the research issues, especially during the thesis edition phase. His professional working attitudes have also influenced me, from which I gain the benefits for my future carrier. I am thankful to my second supervisor — Professor John Krogstie, especially for advising me on the research topics on process modeling and quality evaluation framework. He also provided me access to the resources such as process modeling languages and tools. I also thank Professor Mihhail Matskin, my third supervisor, who enlightened me with some ideas from the semantic Web services. I would like to thank Professor Arne Jørgen Berre for hosting my visit at SINTEF in Oslo and providing the working environment where I finished the implementation of the prototype. I am lucky to have knowledgeable, friendly and helpful colleagues around during my work in IS-group. I especially acknowledge Darijus Strašunskas for the productive collaboration, inspiring and constructive discussions and the generous and sincere help in reviewing my papers as well as proof reading of the thesis. Thank Jennifer Sampson for exchanging study and life experiences with me when we shared the office for four years. I also thank her very much for the proof reading of the final version of the thesis. I thank Sari Hakkarainen for her constructive advice on the scientific writing. Many thanks go to Xiaomeng Su for the personal communication and encouragement. Thanks to Csaba Veres, Peep Küngas, Raimundas Matulevic̆ius, Lillian Hella, Rune Molden for all the support, talks and discussions. Thanks to the members of the INTEROP project for providing a platform for the development and exchange of research issues on ontology and semantic interoperability. The exemplars in this work were adapted from the INTEROP project. I appreciate all the people, past and present, at IDI for providing the needed working environment and atmosphere. Warm thanks to my friends in Norway and abroad for the joy I shared with them and the help received from them. xv xvi PREFACE My tremendous gratitude goes to my family. I am greatly indebted to my parents for their love, support and help anytime anywhere. I thank my sister and brother-inlaw for sharing cheerful time together in Norway. I also thank my parents-in-low for helping look after Sabrina during the final stage of this work. I am grateful to my husband Hao Ding for his enormous love, support, understanding as well as thoughtful discussions. Thanks to my lovely daughter Sabrina Ding for bringing me happiness and enriching my life. Yun Lin February 25, 2008 Part I Background and Context 1 Chapter 1 Introduction Business process models depict process knowledge of enterprises and they are reusable knowledge assets in building Information System (IS) solutions for the business. When different enterprises collaborate in business by integrating their process for a new IS solution, there is a need for methods and technologies to manage reusable process knowledge in the distributed process models. Semantic interoperability is an important and difficult issue caused by the heterogeneity of various models. This thesis addresses semantic annotation for improving semantic interoperability of heterogeneous process models to manage process knowledge from different enterprises. In this chapter we explain our initial interests of the topic and state the research problem. Then we specify research questions and objectives of the work and describe our approach under a set of research methods. Finally, we present our contributions and outline the structure of the thesis. 1.1 Motivation IS solutions applied in enterprises are usually expressed in certain documents addressing different features on many levels of abstraction. For each feature and level there is a choice of competing languages employing different system specification models (i.e., different modeling concepts). In addition, every IS solution is developed in its own context, and has to satisfy the intentions of the "system’s owner". Yet, similar IS problems may have different solutions, because the contexts differ as do the intentions and goals of the systems’ owners. On the other hand, different solutions for similar systems may have many similarities, so that components of one system solution may be reused (with possible modifications) for another system. In such a case, the reusable solutions can be considered as knowledge addressing the problem of the system. The question is to recognize the candidates for reuse, in spite of the different languages employed, the different contexts and the different goals of the system owners. As one type of IS solution models play essential roles in the modern system development method, such as MDD (Model Driven Development) and MDA (Model Driven Architecture) [123]. With the method of MDD, business process models representing organizational knowledge consist of potentially reusable process model fragments for 3 4 CHAPTER 1. INTRODUCTION other similar business system development; the logical business process models on the conceptual level can be transformed into physical models for implementation (e.g. services). Hence, facilitating reuse and management of business process models becomes critical. Business process models built as solutions for different enterprises are as well various in process modeling languages, process context and intentions of the systems’ owners. Different levels of interoperability can be identified based on different types of information heterogeneity and system heterogeneity. Our research objects are business process models at conceptual level, mainly concerning the representation of process semantics. We therefore focus on semantic interoperability. Semantic interoperability is about how to achieve the mutual understanding of interchanged data [170] in spite of semantic heterogeneity. Ontology-based semantic annotation is usually considered as a technique to achieve semantic interoperability by introducing common understanding and standardization. Semantic annotation has been developed and applied on both unstructured and structured artifacts to improve semantic interoperability (e.g. textual resources and Web services). The main applications based on semantic annotation are semantics-based information retrieval and automatic semantics-based discovery of services. According to our knowledge, few efforts on annotating semi-structured artifact (e.g. enterprise/business process models) were found when we started this work. The importance of semantic interoperability of enterprise process models becomes more and more obvious as pervasive development of applications for business process integration under a SOA (Service Oriented Architecture), where process models are vital assets of system specifications and interoperating objects in integration systems. On the other hand, semantic issues are leveraged and the usage of Semantic Web technology is gradually gaining attention in the enterprise modeling domain due to the advances of machine intelligence on semantics and inference. We follow such a trend and contribute our efforts on the research activities of building a descriptive methodology and implement a tool for the semantic annotation of heterogeneous business process models in order to facilitate managing process knowledge from different organizations. 1.2 Problem Statement and Research Questions The following scenario exemplifies the problem to be solved in this thesis. A travel agency wants to build a new travel booking service. In the travel domain, there are legacy models about business of travel agency made by different organizations, e.g., models for a flight ticket booking system and models for a hotel reservation system. For the new system it is not necessary to build models for the travel booking service from the scratch, but try to reuse available models. In this case, we assume that the business process models from legacy systems are at conceptual level and can be used as business process knowledge. In order to reuse the knowledge, it requires a centralized management system to manipulate those heterogeneous models which were built by different organizations. The following semantic interoperability problems may arise: • Since models are created in different modeling languages, a same business phenomenon is represented variously in different models. For example, a process 1.2. PROBLEM STATEMENT AND RESEARCH QUESTIONS 5 model of flight tickets booking is built in ActionWorkflow [103] and one hotel reservation process is modeled in CPR (Core Plan Representation) [135]. There would be interoperability problem when exchanging information about Agent or Actor between two models because they are using different modeling languages. In this case, Agent in ActionWorkflow models is semantically equal to Actor in CPR models. However, it is difficult for the user and the machine to identify they are the same without the support of the semantic mappings between those two modeling elements. • Terminology is used differently in different models. For instance, "Client" is used in the flight ticket booking model and "Customer" is used in the hotel reservation model, although the two terms represent the same concept in this case. If only keyword based search is applied, the concept Client represented by Agents in ActionWorkflow model and the concept Customer represented by Actors in CPR model can not be recognized as the same concept by machine. • Conceptualization mismatches include different classifications, aggregations, attribute assignments and value types. For example in this case, City is modeled in a class containing city name, graphic location and tourism information. It is used as the resource of a hotel reservation model. City is also one of attributes of Class Airport as input of a flight ticket booking process. Though the same term is used, the ways of representing the semantics are different. When reusing or integrating the models by the third party, incomplete or redundant semantics might be applied without knowing the differences. In order to cope with semantic interoperability problems, agreed semantics should be referenced to annotate the heterogeneous representations in process modeling languages and business process model contents in a human and machine understandable manner. An ontology is considered a kind of agreement on a domain representation. Hence, ontologies of process modeling languages and modeling domains must be developed. The Semantic Web technologies as the emerging technological advances in the manipulation of ontologies, have made several new possibilities and challenges apparent. Hence the main research question that the thesis attempts to answer: How can semantic interoperability of process models be improved by using semantic technologies such as ontologies in the process knowledge management applications? More specifically, • RQ1. What kind of semantic interoperability problems exist in process knowledge management? • RQ2. What kind of ontologies are required for process knowledge management and how to represent them? • RQ3. What metadata are essential for process model interoperability and how are they defined concerning reference ontologies for the reconciliation of the heterogeneous semantics of process models? • RQ4. How can Semantic Web technology to be incorporated in a tool using the proposed approach? 6 CHAPTER 1. INTRODUCTION • RQ5. How can we use the proposed approach to facilitate process knowledge management? 1.3 Objectives Corresponding to the main research question, the overall objective of this thesis is to propose a semantic annotation approach for dealing with semantic heterogeneity of process models in order to facilitate process knowledge management activities (such as recognizing and reusing IS solutions of process models) via semantic interoperability. It is decomposed into the following four sub-objectives which are to be achieved step by step during the development of the work. 1. To investigate semantic heterogeneity issues in business process modeling. 2. To explore a comprehensive annotation approach to deal with heterogeneous semantics of process knowledge with referenced ontology. 3. To develop an annotation tool to implement the approach by applying Semantic Web technologies. 4. To evaluate quality and use feasibility of the proposed approach and tool in supporting process knowledge management activities. 1.4 Approach and Scope We focus on business process models at a conceptual level. They are available process knowledge resources which need to be managed for further reuse. Therefore, heterogeneous process models should be reconciled and process knowledge conveyed by the models should be explicitly expressed. The approach taken is (1) to express the process properties of each business process model in a common annotation system, (2) to express model context in ontologies that may be compared to each other, one ontology for each context, and (3) to map the intentions of the systems’ owners to goal structures that may be compared to each other. These three elements constitute the means to profile a business process model, and provides the basis for building a library of modeling assets, and for recognizing similar model fragments to make them easier available for reuse. Ontologies aid to share knowledge on the basis of the assumption that there is a single reality and the sharing is a matter of aligning the way different people or systems think about it [70]. Annotating models with the agreed ontologies provides a way of reconciling heterogeneity and reaching consensus on the semantics of terms and concepts. To facilitate management and reuse of the reconciled models, the semantics of the process models should be interpretable and inferable by machines as modeling assets. The approach is hereby deployed having the two concerns: 1) reconciling process knowledge representation of heterogeneous models, and 2) explicating process knowledge in a machine-interpretable manner. 1.4. APPROACH AND SCOPE 1.4.1 7 Semantic reconciliation of business process models The central topic of the research is within information system modeling area. Thus, the working basis is modeling theory. We distinguish semantic heterogeneity into two levels: meta-model and model, which correspond to the M2 and M1 layers defined in MOF [124]. Although there is semantic heterogeneity on the M0 layer (instance level models), we do not take instance level models as reusable knowledge in this research. Therefore, ontologies related to meta-model and model levels are required for the annotation in this approach. For meta-model level, an ontology should supply common terminology and conceptualization of process modeling. There is no mature process ontology as we know, though there are many ongoing activities relevant to this topic [12] [139] [140]. Based on the investigation and analysis of numbers of existing process ontologies and process meta-models, we propose a process ontology which consists of most essential concepts for process modeling languages. For model level, an ontology should contain standardized terms and definitions of concepts and relationships about a certain domain. Domain-specific ontologies should be created by domain experts. Such ontologies can be built based on certain domain standards or reference models. Besides, to facilitate process knowledge management, a set of profile metadata is required to describe process models as products. Furthermore, process models can be pragmatically discovered based on intentional knowledge by goals of process. To explicate such knowledge, intentional concepts are represented in a goal ontology. Goal concepts are used to annotate intentional usage of process models. In our approach, all those ontology references and profile information are annotated to the original models through a set of metadata. Metadata can aid in the identification, discovery, assessment, and management of the described information-bearing entities [28]. In this way, annotation does not intervene the original semantic representation and it is stored separately from the original models. One original model can have several versions of annotation serving different purposes. As an outcome of the research work, a semantic annotation framework is developed to systematically organize the above four perspectives, i.e. profile annotation, meta-model annotation, model annotation and goal annotation. Annotating models with ontologies is a procedure to establish certain mapping between objects in models and in ontologies. Two objects from the different sets — ’annotater’ and ’annotatee’ have not only a simply one-to-one correspondence but more comprehensive semantic relationships. We define a set of mapping strategies and rules to guide users to conduct the annotation. An annotation model — PSAM (Process Semantic Annotation Model) is formalized following the proposed framework and the mapping method. The PSAM model provides a basis for the implementation. An annotation system is proposed and implemented as a prototype in order to prove the feasibility of the proposal. 1.4.2 Machine-interpretable process knowledge From a technical aspect, semantics of ontologies and PSAM models should be machineinterpretable. Emerging Semantic Web technology can encode semantics of Web resources in a machine-readable form. The OWL Web Ontology Language is a language for defining and instantiating Web ontologies. An OWL ontology may include descriptions of classes, properties and their instances. Given such an ontology, the OWL formal 8 CHAPTER 1. INTRODUCTION semantics specifies how to derive its logical consequences, i.e. facts not literally present in the ontology, but entailed by the semantics [195]. As a result of this research, the management of distributed process models can be operated through the Web within or across applications and systems. It is reasonable and feasible in that Internet and Intranet are so pervasive in enterprises and the Web provides a good platform to share distributed information. Moreover, the Semantic Web technology is already applied in cooperative business and industries for the interoperability as a technical standard. OWL is consequently chosen in this thesis to define ontologies and annotation models in order to make use of the Semantic Web technology. Semantics of different models are reconciled through annotation. The annotation information is represented in a machine-interpretable way for a common platform – the Semantic Web. Process knowledge is exposed by annotation and it is organized in a semantic annotation model. Then the process knowledge can be inferred based on the definitions of ontologies. Such knowledge will enable applications to better understand process models and to use them more intelligently, which is also the goal of the Semantic Web research [52]. The applicability of the proposal is validated through a walkthrough scenario of a process management application. 1.5 Research Method The research methods applied in this work consist of a descriptive analysis phase, a normative development, an implementation phase and an evaluation phase. All together the phases include the following steps. 1. The survey of the state-of-the-art step includes investigation and analysis of the semantic representations of process models, semantic interoperability and process ontologies, semantic annotation methods, and knowledge management. 2. The analysis of requirements step includes an inventory of the problems about the semantic heterogeneity of process models with regard to process knowledge management and an analysis of raised requirements on semantic annotation tool. 3. The development of the approach step includes the specification of the semantic annotation framework, the design of the annotation approach, the efforts to generalize the ontological specifications for process modeling and goal modeling, and the definitions of mapping rules involved in the annotation process. 4. The prototype application step includes development and implementation of the prototypical environment for the process models and knowledge management based on the results of the previous steps. 5. The quality evaluation and applicability analysis step includes the evaluation of the proposed framework and approach using a quality framework based on the observations from a walkthrough scenario of a process knowledge management application. 1.6. MAJOR CONTRIBUTIONS 1.6 9 Major Contributions Following the above research method and steps, the research has been deployed and it has resulted in the following major contributions of this thesis: 1. A General Process Ontology (GPO) is the result of our investigation and analysis of process ontologies and business process modeling languages, which is an effort towards the unified process ontology for the interoperability of process models. 2. A basic semantic annotation framework is proposed to enrich semantics of process models for process knowledge management. 3. An ontology-based annotation method including a semantic annotation model and rules are elaborated to guide users to apply the framework for the annotation. 4. The extended semantic annotation framework is a goal annotation method with a goal ontology representation and semi-automatic goal annotation algorithms. 5. A prototype of the annotation tool applying the Semantic Web technology is implemented following the proposed framework and method. 6. A process knowledge management system integrating the semantic annotation approach is outlined to validate the applicability of the framework and the method. 1.7 Thesis Outline In this introduction chapter, we has explained the motivation of the work, described the problems, listed the objectives of this work, provided an overview of the approach, and presented the research method and our major contributions. The rest of the thesis is organized following the research phases described in the research method in section 1.5. Chapter 2 and 3 provide a background, context and relevant work survey for this research. Chapter 4 and 5 present our theoretical and methodology contributions, while chapter 6 describes the implementational contributions of the work. Exemplar studies are deployed to demonstrate the proposed approach in chapter 7. Chapter 8 evaluates the quality of the method, and Chapter 9 validates the applicability of the work. Finally, conclusions and further work are discussed in chapter 10. Chapter 2 - Problem Settings provides basic concepts, theory and technology about information modeling, business process modeling, semantic interoperability, Semantic Web and process knowledge management. Those issues compose the context of this research work. Chapter 3 - State of the Art discusses a number of existing business process modeling languages and process ontologies to investigate modeling constructs and ontological concepts corresponding to process modeling perspectives. The survey of semantic annotation methods and tools shows most of work has been done on the semantic annotations of unstructural and structural information, e.g. Web pages or Web services. Comprehensive approaches for the semantic annotation of semi-structured information, e.g. business process models, from meta-model and model levels are also demanded and some efforts have been launched. 10 CHAPTER 1. INTRODUCTION Chapter 4 - Semantic Annotation Framework for Process Models introduces our basic semantic annotation framework consisting of profile annotation, meta-model annotation and model annotation. Metadata are defined for profile annotation. A general process ontology is presented as ontological basis for meta-model annotation to cope with various modeling languages applied in different IS solutions. In model annotation, domain ontologies are referenced by model contents to represent systems’ context. A semantic annotation model formalizes the framework with a set of semantic mapping rules. Chapter 5 - Extension Semantic Annotation — Goal Annotation elaborates a goal ontology representation and goal annotation algorithms. Such extension can be used to compare the IS solutions brought by the process models of systems through specifying the intentions of the systems’ owners. Chapter 6 - Pro-SEAT (Process SEmantic Annotation Tool) presents the implementation of the prototype of a semantic annotation tool. System modules provide an overview of the architecture of the prototype. Data structures depict the logical design of the proposed approach. Goal algorithms are implemented to automate the goal annotation. Functionality and graphical user interfaces are illustrated to elucidate the interactions between users and the tool prototype. Chapter 7 - Exemplar Studies and Application System exemplifies the procedure of the approach and the usage of the prototype through two exemplar cases from different business organizations. A process knowledge management system is also outlined by integrating the semantic annotation approach. Chapter 8 - Quality Evaluation of the Method evaluates the quality of the work using a quality framework. The quality evaluation of our annotation approach is discussed according to the quality categories defined in a quality framework. Chapter 9 - Validation of Applicability validates the applicability of the semantic annotation approach in a walkthrough scenario of an integration application of process models. The integration is deployed based on the semantic annotation results of models in the exemplar studies. Chapter 10 - Conclusions and Future Work summarizes the work, and outlines the future work to point out the possible improvements and the interesting directions of further research on semantic interoperability of business process management. Chapter 2 Problem Setting In this chapter, we establish basic concepts, theoretical and technical background and the context of this research work. Since we work in the information modeling area, we start the study with theories and methodologies in information system engineering discipline. Concepts, standards and relevant issues about semantic interoperability and semantic annotation are then discussed in this chapter. The research target – business process model and its application – business process knowledge management are also discussed concerning the context of the work. 2.1 Models in Information System Engineering A model of a system is defined by OMG1 as a description or specification of that system and its environment for certain purpose. In the conventional system development lifecycle, models are mainly used in system analysis and design phases and they are not reusable resources after a system is developed. In the modern methods of information system development, models play an important role as reusable IS solutions. MDA2 is an approach to system development, which increases the power of models in that work. MDA provides a means for using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification [117]. MDA is initiated with the idea of separating specifications of the operation of a system from details of the way that system uses the capabilities of its platform. The three primary goals of MDA are portability, interoperability and reusability. The objective of MDA is to provide an open, vendor-neutral approach to the challenge of business and technology change [123] by separating different concerns. Three different viewpoint models are distinguished as Computation Independent Model (CIM), Platform Independent Model (PIM) and Platform Specific Model (PSM) [117]. • CIM — A computation independent model is a view of a system from the computation independent viewpoint. A CIM is sometimes called a domain model and a vocabulary that is familiar to the practitioners of the domain in question is used in its specification. 1 Object 2 Model Management Group, http://www.omg.org/ Driven Architecture, http://www.omg.org/mda/ 11 12 CHAPTER 2. PROBLEM SETTING • PIM — A platform independent model is a view of a system from the platform independent viewpoint. A PIM exhibits a specified degree of platform independence so as to be suitable for use with a number of different platforms of similar type. • PSM — A platform specific model is a view of a system from the platform specific viewpoint. A PSM combines the specifications in the PIM with the details that specify how that system uses a particular type of platform. In our research, we adopt the vision of MDA. Model plays an essential role in the information system development lifecycle and it should achieve system products portable, reusable and interoperable. Model itself can be treated as product and representation of knowledge. Therefore, model should also be portable, reusable and interoperable. Model is also found central and important in the Zachman framework [171], where models are classified based on different roles involved in the system development and enterprise’s functionings (see Figure 2.1). In this architecture framework, there are three model categories — enterprise model, system model and technology model, distinguished from different perspectives of the different participants [214]. Each model category contains six basic models regarding different types of descriptions oriented to different aspects of the object being described. The six types of descriptions are entities, functions, locations, people, times and motivations. In the matrix representation of the framework, enterprise model is at the conceptual level and it includes semantic model, business process model, business logistics system, workflow model, master schedule and business plan. In our work, we mainly focus on the business process model, which indicates that our research focus and scope is the functional descriptions of enterprise business at the conceptual level. While, corresponding to the MDA definitions, our research subject is CIM. 2.2 Modeling Basis 2.2.1 Semiotic triangle Modeling at the conceptual level is an activity of representing phenomena of the real world in a model. It complies with the famous semiotic triangle adapted from Ogden and Richards’ triangle of meaning [121], i.e. the relationships between a concept, a referent and a sign. Concepts are mental things, words of mind. A referent is a thing in reality to which a concept refers. Signs are expressions, symbols or labels to signify concepts in some language. Modeling aims to conceptualize referents by employing modeling signs in certain languages. Obviously models could be quite different from each other due to what (referent) to model, how to model (concept) and with what (sign) to model. The three elements interact on each other from a semantic representation perspective. The capability of signs’ expressiveness can determine what semantics of referents can be represented, also how semantics are conceptualized. 2.2. MODELING BASIS 13 Figure 2.1: Zachman Enterprise Architecture Framework [189] [171] [214] 14 CHAPTER 2. PROBLEM SETTING 2.2.2 Modeling language, meta-model and model semantics Any model must be built in a certain modeling language. A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. A modeling language is used to represents concepts and relationships and other phenomena with a set of graphical notations or symbols. Such a modeling language is often called graphical modeling language. ER [15], UML [125], BPMN [12], EPC [160] are examples of graphical modeling languages. A modeling language can also be a set of standardized textual keywords or markup language accompanied by parameters, for instance, OWL [195], BPML [11], BPEL4WS [116], and EPML [105]. Graphical modeling languages usually facilitate readability of models whilst textual modeling languages enable models machine-interpretable and tool-interchangeable. Interpretations of the meaning of modeling components in a modeling language are generally defined in a meta-model. A modeling components such as a graphical notation or a symbol and a textual keyword or a markup label is called a meta-model element or a modeling construct in our work. Meta-model elements defined in a meta-model are the building bricks of a model. A meta-model is also a model of a domain of interest and it is an instance of a meta-meta-model. A model in a certain modeling language is the instance of the meta-model of this modeling language. A model having all the instances of user objects is the instance of model. Instantiated model, model, metamodel and meta-meta-model respectively correspond to the M0, M1, M2 and M3 layers of OMG’s four layer meta-data architectures [124]. In this thesis, meta-meta-model is beyond our research focus. While, instantiated model at the M0 layer is too specific to be reused. We therefore mainly focus on M1 and M2 layers, i.e. model and meta-model. Common uses of meta-models are as follows [207]: • As a schema for semantic data that needs to be exchanged or stored. • As a language that supports a particular method or process. • As a language to express additional semantics of existing information. The three usages of meta-models are all employed in the thesis. The meta-model of a business process model supports process modeling. It is also stored as a schema associated with a model file. Facilitating the exchange of different process models is one of our research goals so that meta-model is one of our research objects. Establishing a semantic annotation method itself is a process of creating a meta-model to specify the additional semantics of an existing model. The term semantics in linguistics means the study or science of meaning in language, or the study of relationships between signs and symbols and what they represent. It also indicates the meaning or the interpretation of a word, sentence, or other language form [3]. Model semantics is hereby the meaning or the interpretation of a model. Model semantics are represented by model elements. Model elements are the components of a model. Interpretation of model elements usually depends on the context of the system which the models represent the solutions for. Besides, model elements are composed of modeling constructs, and the semantics of modeling constructs are defined in a 2.2. MODELING BASIS 15 meta-model of the modeling language. Thus, we conclude that model semantics are interpreted according to the system’s context and the modeling language applied in the solution. 2.2.3 Ontology-driven and domain-specific Modeling at the conceptual level trends to be seemingly independent of the computer world in the development of modeling methodologies. Researchers turn to philosophy and linguistics to try to find the inherent principles in the concepts of real world domains. And the boundary between the conceptual modeling and knowledge modeling becomes gradually fuzzy. For example, Ontology-Driven Conceptual Modeling draws fundamental notions from formal ontology and establishes a minimal top-level ontology to drive conceptual modeling [47]. Thesaurus Conceptual Model uses the Knowledge/Data Model (KDM) [137] that incorporates an object-oriented view of data, together with knowledge regarding its usage [68]. Ontologies are used for the development of conceptual schemas of information systems by pruning irrelevant concepts in the ontologies [18]. On the other hand, domain model framework and meta-model make reuse and flexibility of models possible. A software system can never be finished, new and changed domain concepts will always be appearing, forcing continuous rebuilding, testing and redeployment of systems [8]. The main idea of the approach proposed in [8] is the removal of domain concepts from concrete software and database models, into standardized vocabularies and libraries of domain concept models. Re-engineering software and database is done using a generic reference object model (ROM) system architecture in [8]. Reference models are used in [160] to combine "formal driven" and "content driven" approaches in a new way to develop information systems. The formal driven approach aims to develop and implementing a technical correct running system. The goal of the content driven approach is developing and implementing an organizational correct running system. Goals of content and technology are concerned in reference models, which are regarded as "blue prints" for business engineering and can be used to model and optimize business processes. Domain-specific methods implemented with metaCASE technology [67] use meta-modeling languages to develop a domain metamodel mapped to combinations of components in order to generate a product. All these approaches address the process of modeling, and the ideas can be analogically applied on the results of modeling — models. In an ontology-based semantic annotation method, the utility of an ontology and domain knowledge is applied after modeling. The additional semantic treatment is still necessary for the exchange or reuse of models across different organizations, because a modeling process usually is not centralized and local ontologies and local domain/reference models applied in the modeling are still various from different organizations. In this work, consensual ontologies and domain reference models are therefore needed to be determined in an annotation phase based on the requirements on interoperability and applications. 16 CHAPTER 2. PROBLEM SETTING 2.3 Information Systems and Semantic Web As the development of the Web, more and more Information Systems start to be implemented using Web technology. Some Web technologies, e.g. Semantic Web techologies, are introduced into Information Systems development. On the other hand, the Web applications also benefit from traditional Information Systems theories and practices. COEUR-SW (Concepts On Enhancing, Understanding and Representing the Semantics on the Web) triangle [170] discloses how an Information Systems on the Semantic Web comply with the semiotic triangle [121]. COEUR-SW triangle is developed based on the semiotic triangle in the IS group at IDI3 . In the COEUR-SW triangle (see Figure 2.2), a concept in a Universe of Thought (UoT) is related to an uttered symbol in a Universe of Language (UoL), the symbol is related to a referent in a Universe of Structure (UoS), and the referent is related back to the concept. The concept, the symbol and the referents are related to a context in the Universe of Discourse (UoD). The COEUR-SW program approaches the UoD from three interrelated angles and thus seeks to capture the heart of the Semantic Web. Domain modeling is used in order to capture the knowledge within a UoT into a man/machine understandable theory in a UoS. Ontology Mapping is used in order to capture the utterances in a UoL into man/machine-retrievable knowledge. Metadata analysis is used in order to capture the theories in a UoS into enriched man/machine generative utterances in a UoL. Figure 2.2: COEUR-SW triangle COEUR-SW triangle defines three roles of the Web in Information Systems [170]: • the role of the dominant medium for information dissemination; • the role of the tool for information compilation; • the role of the evolving information repository. 3 Dept. of Computer and Information Science at Norwegian University of Science and Technology 2.3. INFORMATION SYSTEMS AND SEMANTIC WEB 17 In the context of our research, process models as process knowledge resources can be disseminated through the Web. The consequent question is how the Web compiles process models. This issue relates to the knowledge categorization and semantic interpretation issues. The Semantic Web supplies some standards such as RDF [199], OWL [195] to support the semantic interpretation. The knowledge representation of process models needs to be transformed into those Semantic Web standards. The Web can be viewed as a large distributed repository for the process models. However, distributed models are originally from different autonomous systems and stored in various schemas. Technologies facilitating interoperability of heterogeneous models such as ontology and semantic annotation, are required when organizing the knowledge in such a repository. 2.3.1 Ontology in information systems Ontology Ontology is "an explicit representation of conceptualization" [42]. According to the investigation in [13], ontology locates two disjoint literatures with virtually no personnel in common: the world of formal ontology specification e.g. [36] and the world of ontologies for language-related AI (Artificial Intelligence) tasks e.g. [113]. It is consequently found that people use the word "ontology" to mean different things, e.g. glossaries & data dictionaries, thesaurus & taxonomies, schemas & data models, and formal ontologies & inference. Ontologies applied in this work are defined as formal ontologies. A formal ontology defines the basic terms and their relationships comprising the vocabulary of an application domain and the axioms for constraining the relationships among terms [194]. A formal ontology is usually expressed in an ontology representation language, e.g. OWL. A formal ontology consists of a set of specifications of representational vocabularies (concepts) for a shared universe of discourse, which may include definitions of classes, relations, functions, and other objects [43]. In AI applications and research, ontology is often used as a means of achieving consistent communication between agents in multiagent systems [134]. Hence, ontology contains agreed-upon definitions in the form of human readable text and machine-enforceable, declarative constraints (agent readable format) on their well-formed use [41]. Besides, ontologies consist of a set of inference rules from which machines can make logical conclusions [1]. In [45], different kinds of ontologies are classified based on the level of generality as follows: • Top-level ontologies describe very general concepts like space, time, matter, object, event and action. They are independent of a particular problem or domain. Top-level ontologies in some literature are also called upper-level ontologies. • Domain ontologies describe the vocabulary related to a generic domain (like medicine, or automobiles). • Task ontologies describe generic tasks or activities (like diagnosis or selling). • Application ontologies describe concepts depending both on a particular domain and task. 18 CHAPTER 2. PROBLEM SETTING The concepts in domain ontologies and task ontologies are specialized from the ones in the top-level ontology. Application ontologies are often specializations of both domain ontologies and task ontologies. Such classification can be reflected into the four layer meta-data architecture mentioned previously, i.e. top-level ontologies are at M2 and domain and task ontologies are at M1 and application ontologies are at M0. Domain, task and application ontologies about a certain domain usually construct the general context of the systems in that domain. Three main uses of ontology are identified in [45]: 1) For communication between implemented computational systems, between humans, between humans and implemented computational systems; 2) For computational inference, e.g. for internally representing and manipulating plans and planning information, and for analyzing the internal structures, algorithms, inputs and outputs of implemented systems in theoretical and conceptual terms; 3) For reuse (and organization) of knowledge e.g. structuring or organizing libraries or repositories of plans and planning and domain information. The beneficial applications of ontology could locate in the following areas [178]: • Semantic Web. The Semantic Web relies heavily on formal ontologies that structure underlying data for the purpose of comprehensive and transportable machine understanding. Ontologies are used to define the proper meaning of data and metadata for the Semantic Web [173]. • Knowledge Management. The technology of the Semantic Web brings out the knowledge pieces oriented view of knowledge management. Ontologies enable intelligent push service, the integration of knowledge management and business process to support the vision of ubiquitous knowledge. For the applications of knowledge management, ontologies are employed to annotate unstructured information with semantic information, to integrate information and to generate user specific views that make knowledge access easier [180] [25]. • Interoperability. Interoperability is an important issue in the applications of integration and reusing existing systems. As inter-lingua, ontology provides a common and machine-interpretable format for data interchange [177] [188]. • Information Retrieval. Conventional information retrieval approaches suffer from problems of the inconsistency between the query and the vocabulary of the documents, which reduces recall of search. Ontologies help to decouple description and query vocabulary and increase retrieval performance [46]. • Service Retrieval As the development of the research activities and applications of Web services, locating online services is increasingly critical in many domains. Online services include software applications, software components, process models, or service organizations. The approaches of using ontologies in querying those services are exploited and evaluated to improve the retrieval precision [10] [182] [131]. Those areas are usually overlapping in an application. For example, knowledge management is conducted under a Semantic Web environment; information retrieval or services retrieval may be one of required services in knowledge management; the proper knowledge management facilitates interoperability. 2.3. INFORMATION SYSTEMS AND SEMANTIC WEB 19 Conceptual model vs. ontology The term "conceptual model" appears contrastively to "logical model" and "physical model" to differentiate the levels of model abstraction. The enterprise models on the second row of the Zachman framework are conceptual models. A conceptual model is often taken as an abstract model and defined as a theoretical construct that represents phenomena in a certain problem domain, with a set of variables and a set of logical and quantitative relationships between them. Conceptual model, especially conceptual data schema – representing the structure perspective, is comparable with ontology because they share some modeling principles. A comparison of conceptual data schema and ontology is made in [63]. They are similar because both consist of concepts, relations and rules4 . There are two main disparities discussed in [63]: 1. Conceptual data schema is being preserved in off-time model diagrams; while, ontology typically is sharable and exchangeable at run-time, i.e. machine-processable semantics. 2. Unlike conceptual data schema that capture semantics for a given application domain, ontologies are supposed to capture semantics about real-world domains, independent from specific application needs, i.e. "relatively" generic knowledge. Therefore, the generality (application-independency) of knowledge is a fundamental asset in ontology modeling, and that mostly distinguishes ontology from conceptual data schema. The two disparities just characterize the two essential aspects of ontologies as described in [35]: ontologies define formal semantics for information, consequently allowing information processing by a computer; ontologies define real world semantics, which makes it possible to link machine processable content with meaning for humans based on consensual terminologies. Conventional conceptual models are still widely used in information systems engineering and play vital roles in enterprise modeling as we have discussed previously. Meanwhile, ontologies become key enabling technology for the Semantic Web. Moreover, ontology modeling can benefit from the existing conceptual modeling methodologies and tools [5] [19] [38] [104]. Legacy conceptual schema can be also mined and/or "ontologized" [63]. On the other hand, ontology and the Semantic Web technology are also found to be applied in enterprise modeling and applications [139] [140]. We are aware of common grounds and differences between the two disciplines in this work and devote our efforts to build the links between conceptual process models and process ontologies. The work results in a combination of the usage of ontologies and conceptual models. Business process models at the conceptual level created for a given application domain still serve information systems development as Representation of systems and requirements, Vehicle for communication, Basis of design and implementation and Documentation and sense-making [76]. Meanwhile the extensive exchange, integration and reuse of business process models between different organization can benefit from the Semantic Web technology through annotating models using ontologies. 4 Rules in conceptual modeling are called "constraints", and they are axioms in ontology. 20 CHAPTER 2. PROBLEM SETTING 2.3.2 RML and OWL Two modeling languages – RML and OWL – related to ontology modeling in this thesis, are introduced in this sub-section. RML (Referent Model Language) [168] [169] is a concept modeling language representing structural perspective [76]. OWL (Web Ontology Language) is a language for defining and instantiating Web ontologies for creating Semantic Web applications [195]. RML RML is concentrated on describing the static structure of a model. It is targeted towards applications in areas of information management and heterogeneous organization of data. The formal basis of RML is the set theory. The phenomena in RML are modeled as collections (set) or atoms (an individual phenomenon). A set is represented by a list of elements, or by stating property that all elements must have to qualify as a member of the set. Four different types of concepts – individual concepts, class concepts, relation concepts and quantitive concepts, are identified in RML. From the four types, the modeling constructs of RML are derived: class concepts, individual concepts, attributes, binary relationships, cardinality of a relationship, hierarchical abstraction of classification (instance of), aggregation(part of), generalization (is-a), and association (member of). Refined semantics can also be specified in RML: generalization is specified into disjoint generalization (e.g. A person is either a man or a woman.) and overlapping generalization (e.g. A person may both be an artist and an athlete.); relation concepts are distinguished into individual relation concepts, class relation concepts, order concepts and operation concepts; binary relation concepts are depicted as many-to-many, many-to-one or one-to-one mappings; "any" (∀) and "some" (∃) value restrictions are specified as the coverage of a relation concept; properties can be elaborated into reflexivity, symmetry, transitivity and connexity. Part of notations of RML are displayed in Figure 2.3. Detailed specifications of RML are provided in [169]. Figure 2.3: Graphical Notations of RML (limited to the constructs used in this thesis) 2.3. INFORMATION SYSTEMS AND SEMANTIC WEB 21 OWL OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans [197]. Building upon RDF and RDFS, OWL provides more machine-interpretable semantics by defining additional vocabulary along with formal semantics. OWL builds on Description Logics which is a restriction of First Order Logic. OWL provides three increasingly expressive sublanguages: OWL Lite, OWL DL (Description Logics), and OWL Full. Each of these sublanguages is an extension of its simpler predecessor. Compared to the other two sublanguages, OWL DL is often chosen as the ontology modeling language because of its capacity of fair semantics expressiveness and inference. Most available OWL reasoners support OWL DL, such as Pellet [96], RACER [61] and FaCT++ [162]. An OWL ontology usually consists of classes, properties, instances of classes, and relationships between these instances. Instances of classes in OWL are called individuals. OWL classes are described through "class descriptions", which can be combined into "class axioms" [196]. With class axioms, OWL Lite can represent generalization (rdfs:subClassOf), equality (owl:equivalentClass). Besides, OWL DL can specify classes as logical combinations of other classes (owl:intersectionOf, owl:unionOf, owl:complementOf), or as enumerations of specified objects (owl:oneOf) or as distinction of two classes (owl:disjointWith). OWL distinguishes between two main categories of properties — object properties (owl:ObjectProperty) to link individuals to individuals and datatype properties (owl:DatatypeProperty) to link individuals to data values. Properties can be specified through domains (rdfs:domain) and ranges (rdfs:range). More property axioms are supported by OWL are sub-property (rdfs:subPropertyOf), equivalent property (owl:equivalentProperty), inverse property (owl:inverseOf), functional property (owl:FunctionalProperty), transitive property (owl:TransitiveProperty), symmetric property (owl:SymmetricProperty) and etc. An arbitrary number (zero or more) of values for a property is represented by cardinality constraints (owl:maxCardinality, owl:minCardinality, and owl:cardinality). Value constraints (owl:allValuesFrom, owl:someValueFrom and owl:hasValue) specify the quantifier restriction of a property. OWL individuals are specified through the class axiom rdf:subClassOf. The identity of individuals can be stated by referring to the same individual (owl:sameAs), or referring to different individuals (owl:differentFrom), or listing all different individuals (owl:AllDifferent). Use of RML and OWL In our work, RML is used during the descriptive analysis and the normative development phases to analyze concepts and relationships at meta-model level in our research. While, OWL DL is applied during the implementation and the experimental evaluation phases for serving as the three roles of: ontology modeling language, machineinterpretable semantics builder and first order logic inference basis. Meanwhile, RML is also used as a graphical modeling language to model ontologies in this work. Although Protégé-OWL provides a tool to model an ontology in a graph, the graphical notations are not as rich as ones defined in RML. Some axioms and constraints can not be visually displayed in the graphic models. When comparing the semantic expressiv- 22 CHAPTER 2. PROBLEM SETTING ity of RML and OWL, it is not surprising to find a big overlapping of the modeling constructs between the two languages since both of them share a similar logic basis5 . We do not intend to build one-to-one mapping between RML and OWL, but take the advantages of both as our research tools. We mainly use RML to visualize the concepts and relations of ontologies for human comprehension, and employ OWL to formalize ontology models for machine interpretation and reasoning. 2.4 Semantic Interoperability Interoperability is the ability of two or more systems or components to exchange information and to use the information that has been exchanged [119]. Interoperability is a broadly used term, encompassing many of the issues impinging upon the effectiveness with which diverse information resources might fruitfully co-exists. The issues can be defined for different purpose, such as, semantics. Semantic interoperability is the ability of two or more computer systems to exchange information and have the meaning of that information accurately and automatically interpreted by the receiving system. The main obstacle of semantic interoperability is semantic heterogeneity of the information to be exchanged. Common understanding of semantics and standardization of semantic representation are usually concerned as the solutions tackling the semantic heterogeneity to achieve semantic interoperability. 2.4.1 Semantic heterogeneity Semantic heterogeneity is usually distinguished from syntactic heterogeneity and structural heterogeneity in the database community [37] [39] [86] [88] [89]. Syntactic heterogeneity is concerned with the heterogeneity of data formats. Standardizing data formats is taken as an approach to solve syntactic heterogeneity problems. For example, XML is used as a standard format for all forms of Web-accessible data. Structural heterogeneity is associated with different data models, data structures or schemas, e.g. relational and object-oriented database models. An example of the solutions for structural heterogeneity is that RDF based on XML syntax provides a unified way to structure information sources or object models for Web-based information exchange [100]. When two information sources are modeled in a same format by applying a same modeling methodology, there still might be semantic heterogeneity problem. Semantic heterogeneity can be identified according to the different types of conflicts [172]: 1. Semantic conflicts. Different modelers do not perceive exactly the same set of real world objects, but instead they visualize overlapping sets (included or intersecting sets). For example, a "Student" object class may appear in one schema, while a more restrictive "CS-Student" object class (grouping students majoring in computer science) is in another schema. The "CS-Student" class will be integrated as a subclass of the "Student" class in the integration of two schemas. 2. Descriptive conflicts. Descriptive conflicts include naming conflicts due to homonyms and synonyms [7] [111], attribute domain, scale, constraints, operations, etc. [84]. 5 FOL (Fist Order Logic) can formalize the set theory. 2.4. SEMANTIC INTEROPERABILITY 23 3. Structural conflicts. Such structural conflicts are different from structural heterogeneity. Even if two modelers use the same data model, they can choose different constructs to represent common real-world objects. For instance, in object-oriented models when a modeler describes a component of an object type O, he has the modeling choices between creating a new object type or adding an attribute to O. 2.4.2 Semantic annotation The goal of empowering computer systems with semantic interoperability rests on the desirability of computer systems being able to find information and to use it for purposes that the original creator of the information did not anticipate. This goal of flexible information reuse requires some degree of understanding of the information, which in turn requires that the information be encoded in some standard fashion that is interpreted identically by all systems using that information. As a shared model of what the information represent, ontologies are usually used to achieve the level of understanding. Semantic annotation is an approach to link ontologies to the original information sources. Annotation is the extra information associated with a particular point in a document or other piece of information. For semantic annotation, the extra information is meaning definitions of the concepts used in a document. The meaning definitions are in most cases represented in ontologies. Annotation can be in the form of comments, or in the form of metadata. Metadata is data about data and it is used to facilitate the understanding, use and management of data. Machine-manipulable annotations are often organized as metadata, which is also the format of semantic annotations. There are a number of alternative approaches regarding the organization, structuring, and preservation of annotations. For instance, all the markup languages (HTML, SGML, XML, etc.) can be considered schemas for embedded or in-line annotation. On the contrary, open hypermedia systems use stand-off annotation models where annotations are kept detached, i.e. non-embedded in the content. Both annotation approaches can be document-level (annotating the document as a whole) or character-level (referring just a specific part of the text) [81] (see Figure 2.4). Embedded annotation seems easier to maintain. However, non-embedded annotations allow dynamic, user-specific semantic annotations because they can change corresponding to the interest of the user or the context of usage. The embedded annotations might also have negative impact on the volume of the content and complicate the maintenance [70]. Figure 2.4: Embedded annotation and stand-off annotation [81] 24 CHAPTER 2. PROBLEM SETTING In [70], semantic annotation is used to establish links from the entities in the text to their semantic descriptions so that a number of basic prerequisite for representation of semantic annotations are identified: • Ontology (or at least taxonomy) defining the entity classes. It should be possible to refer to those classes; • Entity identifiers which allow those to be distinguished and linked to their semantic descriptions; • Knowledge base with entity descriptions. Semantic annotation of Web services has emerged under the hypothesis that semantics can improve software reuse and discovery, significantly facilitate composition of Web services and enable integrating legacy applications as part of business process integration [203]. Semantic annotation of Web services is also called semantic markup of Web services, for which numbers of semantic markup languages and approaches are proposed such as WSMO [209], METEOR-S [187], OWL-S [198], SWSA/SWSL [181], WSDL-S [203]. They can be categorized into: a) annotating information in WSDL with ontologies (METEOR-S, WSDL-S); b) formalizing ontologies of Web service as a Semantic Web services representation language (WSMO, OWL-S and SWSA/SWSL). In [206], semantic annotation of process models is concerned as a prerequisite of the vision of Semantic Business Process Management, which is very close to our proposal. It will enable (or enhance) additional functionalities, namely the discovery and autocompletion of process fragments, which lead to more effective modeling with respect to the reuse of existing process artifacts at the conceptual level. The executable process models can be partly generated from the conceptual business process models, which indicates there are underlying links between business process models and executable Web services. Semantic annotation of business process models could therefore enable more automation in the implementation phase because the corresponding Semantic Web services can be discovered automatically [206]. Although the work has just initiated and it is still an ongoing project, it shares the same vision with ours, i.e. semantic annotation can be also concerned as an alternative approach to achieve the semantic interoperability of semi-structured sources such as business process models, in spite of semantic annotations of unstructured sources (e.g. textual documents) and structured sources (e.g. WSDL described Web services). Efforts on the semantic enrichment of enterprise models by semantic annotations are also put by TG4 (Task Group 4: Semantic Enrichment of Enterprise Modeling, Architectures and Platforms) in EU project INTEROP (Interopreability Research for Networked Enterprise Applications and Software, FP6 508011) [62], in which the main achievable targets are the semantic interoperability for model exchange, model transformation and model traceability. As the contemporary work, our research shares some similar objectives and available technologies. Since we participated in the INTEROP project, our contributions are also devoted as part of the results in the project. 2.5. BUSINESS PROCESS MODEL 2.5 25 Business Process Model A business process is defined in [23] as a set of coordinated tasks and activities, conducted by both people and equipments, that will lead to accomplishing a specific organizational goal. A process model describes a way of working at the type level according to the abstraction levels for processes in [155], which is corresponding to OMG’s M1 layer. A process is an instantiation of the process model, corresponding to the M0 layer. The same process model is used repeatedly for the development of many applications and thus, has many instantiations. A process meta-model is at the meta-type level with respect to a process (see Figure 2.5). Figure 2.5: Abstraction levels of processes [155] There are four types of coverage where the term process model has been defined differently in [27]: • Activity-oriented: related set of activities conducted for the specific purpose of product definition; a set of partially ordered steps intended to reach a goal [34]. • Product-oriented: series of activities that cause successive product transformations to reach the desired product. • Decision-oriented: set of related decisions conducted for the specific purpose of product definition. • Context-oriented: sequence of contexts causing successive product transformations under the influence of a decision taken in a context. Therefore a business process model defines the details of a business process flow and modeling all the data, resources, and other elements that the flow uses. As described in [9], a business process is usually composed of process steps that are normally connected through control flows, and these control flows connect activities with decision nodes. A decision node holds the business rules (transition conditions) that are evaluated to decide what path in the process should be followed. Modeling includes decomposition of a business process into sub-processes and adding required process elements to the model. A business process model is initially constructed based on certain business requirements. The usage of a process model could be for the analysis of the process (i.e. descriptive, prescriptive and explanatory) or the creation of new process models by 26 CHAPTER 2. PROBLEM SETTING modifying existing models rather than recreating it from scratch [9]. A process model fragment is a part of a business process model which is designed and managed to be reusable. Generally, reuse of pre-existing model fragments can facilitate and speed-up the construction of a new model. As reusable knowledge, process models can be discovered and reused in a goal-driven approach through matching process models to the desired goals. Goals lead to the exploration and consideration of alternatives, decision spaces, tradeoffs and decisions. Goals have been used as an important mechanism for connecting requirements to design and supporting reuse [213]. Goal-driven search of design components [54] and goaldriven discovery of services [90] use such kind of mechanism, where the components or services are selected based on capability to fulfill the desired goals (requirements). A process model represents how to do things not why to do things. Although a process must achieve certain goals, the relationships between goals and processes are not explicitly represented in many process models because few process modeling languages and modeling tools offer such mechanism. With few process modeling languages, goals can be modeled and linked to elements of process models, e.g. EEML process and goal models [77]. Some goal modeling methods for requirement engineering such as KAOS [21], i*/GRL [55], GBRAM [56] need to be adapted for process modeling. However, the representations of the goals and processes are various in different models. 2.6 2.6.1 Process Knowledge Management Knowledge and process knowledge Knowledge is information that comes laden with experience, judgment, intention and values, in short, knowledge is information that is digested and internalized by human beings [169]. However, a simply collection of information is not knowledge. In [185], information and knowledge is distinguished as follows. Information only tells what it is, with great dependence on context for its meaning and with little implication for the future. Pattern [6] has the potential to represent knowledge when one is able to realize and understand the patterns and their implications. For example, the information — interest rate 5% — is the factor used by the bank to compute interest on the principal. Based on the information, there is a pattern that for $100 in a savings account the bank pays 5% interest yearly and then at the end of one year the principal in the account will be $105. Such pattern represents knowledge of the amount of the interest will be earned depends on the interest rate, the amount of the principle in the account and the period of the saving. Therefore, a pattern tends to create its own context rather than being context dependent to the same extent that information is. Pattern also serves as an Archetype [165] with both an implied repeatability and predictability. Understanding the pattern knows one what is knowledge. Process knowledge is also known as process-related knowledge. Taking the pattern view of knowledge, process knowledge is the pattern about processes which are understandable, repeatable and predictable. Another way to specify process knowledge is to ask the question "Where is the knowledge in processes?". The answers are provided in [112] such as: 2.6. PROCESS KNOWLEDGE MANAGEMENT 27 • Inputs and Outputs. One place knowledge comes into play in a process is as a production input, which is to be operated upon and transformed into an output. • Controllers. Another place where knowledge comes into play in a process is in the form of controls. In this case, knowledge can be regarded to be "embedded" in the process. • Processors. The "Processor" performs the actions needed to produce a result from the process. This kind of knowledge is "encoded" in the process. • Design. A lot of knowledge is "embedded" in the processes in the form of specifications for the outputs, the inputs, the routines and the requirements. The knowledge in the process makes itself felt through what is done, when, how, by whom and to what standards. The first three answers concern the process automation and execution. The last one is associated with process models in the analysis and design phases. Our research objects are business process models at the conceptual level. In [122], Olivé visions a goal of automating IS building by a conceptual schema-centric development (CSCD). A conceptual schema provides general knowledge about the IS domain and about the functions the IS has to perform. With such a vision, the main purpose of the activity of business process modeling is to elicit the process knowledge of the corresponding IS. Hence, we take the fourth answer to specify that the process knowledge in our research context is embedded in business process models. This statement is also reflected in [79] with "process models are carriers of process knowledge, knowledge of how to do things". 2.6.2 Knowledge representation Nonaka and Takeuchi [114] argued that a successful knowledge management program needs to, on the one hand, convert internalized tacit knowledge into explicit codified knowledge in order to share it, but also on the other hand for individuals and groups to internalize and make personally meaningful codified knowledge once it is retrieved from the knowledge management system. A crucial fact is knowledge representation. Although process knowledge is embedded in process models, it does not mean all process models are process knowledge, that is, not every process modeling representation is knowledge representation. Knowledge representation can be various in terms of the distinct roles it plays, each crucial to the task at hand [22]: • A knowledge representation (KR) is most fundamentally a surrogate, a substitute for the thing itself, used to enable an entity to determine consequences by thinking rather than acting, i.e., by reasoning about the world rather than taking action in it. • It is a set of ontological commitments, i.e., an answer to the question: In what terms should we think about the world? • It is a fragmentary theory of intelligent reasoning, expressed in terms of three components: (i) the representation’s fundamental conception of intelligent reasoning; (ii) the set of inferences the representation sanctions; and (iii) the set of inferences it recommends. 28 CHAPTER 2. PROBLEM SETTING • It is a medium for pragmatically efficient computation, i.e., the computational environment in which thinking is accomplished. • It is a medium of human expression, i.e., a language in which we say things about the world. The conclusions of the research in [22] are drawn all five roles matter; representation and reasoning are interwinded; different representations are often combined; they have formal equivalence. Various artificial languages and notations have been proposed for representing knowledge, such as CycL [20], IKL [50], KIF [29], Loom [97], OWL [195] and KM [71]. They are typically based on logic and mathematics, and have easily parsable grammars to ease machine processing. 2.6.3 Knowledge management activities associated with process models Knowledge Management (KM) is an approach to discovering, capturing, and reusing both tacit (in people’s heads) and explicit (digital or paper based) knowledge as well as the cultural and technological means of enabling the knowledge management process to be successful. Usually, the knowledge management covers both instance level and type level knowledge — learning from instances and abstracting them to reusable knowledge. In a KM system, knowledge processes essentially revolve around the following steps [174]: Figure 2.6: Knowlege Process [174] 2.7. SUMMARY 29 • Creation or import. The contents need to be created or converted so that they fit the conventions of the company. • Capture. Knowledge items have to be captured in order to determine their importance and how they mesh with the company’s vocabulary conventions. • Retrieval and access. This step satisfies the searches and queries for knowledge by the knowledge worker. • Use. The knowledge worker will not only recall knowledge items, but will process them for further use. The steps are illustrated in Figure 2.6. In this thesis, the scope of the knowledge management is only limited on type level process knowledge – enterprise/business process models. Therefore, in the context of our process knowledge management, process modeling in knowledge representation language is concerned as knowledge creation. Importing knowledge can be the transformation of conventional process models in the knowledge representations. Knowledge capture is to capture the essential contents in process models through annotation techniques by creating metadata conforming to ontologies. Process knowledge retrieval and access can be conducted through a conventional query or search tools, or by applying the ontology and the inference mechanism to derive further views of process knowledge. The possible uses of process knowledge include analysis of existing process models, reusing the legacy models to create new process models, integrating systems based on the process descriptions, etc. 2.7 Summary This chapter has outlined the context of this research work. We have introduced the theoretical and technical setting relevant to our research topic, such as modeling theories and methodologies, the Semantic Web, ontology, semantic annotation, business process model and knowledge management. Main points are summarized as follows. • From the discussion of modeling theory and methodology, we has scoped that our research area is at conceptual modeling level. • Ontology as the key enabling technology for the Semantic Web provides an explicit representation of a shared conceptualization. • Ontology and conceptual model share certain common grounds, which indicates the potential links between them, e.g. usage combination and technology benefits from each other. • In this work, a concept modeling language – RML is used to analyze meta-models and ontologies with graphical notations; while, an ontology modeling language – OWL is applied to enable ontology machine-interpretable. • Semantic annotation is an approach to achieve semantic interoperability of heterogeneous information resources making use of ontology. 30 CHAPTER 2. PROBLEM SETTING • Process knowledge is embedded in process models whose semantics might be represented heterogeneously. • Semantic annotation can be applied in capturing and representing process knowledge to facilitate process knowledge management such as the retrieval and reuse of heterogeneous process models. After having established the key areas of our research in this chapter, we will continue to detail survey of state of the art in the these areas, namely, process modeling languages, process ontologies, goal modeling and annotation approaches. Chapter 3 State of the Art This chapter investigates a number of existing process modeling languages and process ontologies which are often used in industrial business and academic research projects. Such investigation is intended to seize the most essential concepts and relationships describing the semantics of process, which construct the basis of the process ontology. The process ontology is used as the intermediary for the semantic annotation to build the semantic mapping between different process representations. Semantic annotation approaches and tools for different types of information are surveyed to identify requirements of semantic annotation methods and tools. 3.1 Process Modeling Languages Business Process Modeling (BPM) plays a vital role in the lifecycle of enterprise systems development. BPM is sometimes known as Business Process Management. Over the years, the scope of business processes and BPM has broadened. It ranges from process definition, workflow management system, and integration techniques. For the specification aspect, process definition is conducted by modeling activities with certain process modeling language. For the execution aspect, workflow management system is necessary for the automation and control of process execution based on process models. For the system aspect, BPM today is an enterprise integration technology complementing Service-Oriented Architecture (SOA) and other integration APIs. In the history of business process modeling, numbers of process modeling languages were created, evolved and new proposals continue to emerge. Some of them cease to be used because of the evolution of the modeling methodologies, but many of them are still lively applied. Those process modeling languages exist contemporaneously due to their special expressive powers to emphasize different aspects for various applicational purposes. Process modeling languages might be informal, semi-formal or formal. Informal modeling language is just natural language, which is seldom used in modeling discipline. Most visual modeling languages are semi-formal modeling languages, in which there are a set of notations with semantic definitions by meta-models. Formal modeling languages are those whose semantics are rigidly defined by logic or mathematics. A semi-formal modeling language is generally easier to understand than a formal language, while the latter can enable the computation of model semantics. 31 32 CHAPTER 3. STATE OF THE ART Process modeling languages are distinct from each other because they have different meta-model elements/modeling constructs to represent process properties. Process properties are also generally called process perspectives in this thesis. Although the representations of process properties are various from the different modeling languages, the following perspectives of business process are often presented in most process models: structural, operational/functional, control, resources, organizational, data transaction. Structural perspective is a view of the structure of activities or processes, such as the structure of parts (sub-activity, sub-process). Operational/Functional perspective is normally represented through the descriptions about activities or functions with their inputs and outputs. Control is associated with operational/functional perspective and it emphasizes the ordering and constraints of processes. Resources of processes are those consumed or produced along the processes, and they also include tools or other mechanisms required to aid processes. Organizational perspective display the process flows between different organizations and participants involved in processes. Data transaction includes information or message transit and state change, in which data value is often involved. Based on the discussions above, we make a paradigm of BPM (Business Process Management) systems with the focuses on process definitions (Figure 3.1), which is adapted from the Business Process Management Mind Map [14]. Figure 3.1: The paradigm of business process management systems We in this chapter introduce several business process modeling languages. The features of each modeling language are investigated from the process definition perspective according to the paradigm of business process management systems. Being consistent with our research subject and scope, those modeling languages should be able to represent business processes on the conceptual level. That is, the process modeling languages could be used for CIM (Computation Independent Model), but not restricted only to CIM. 3.1.1 Petri Nets Petri net is a formal, graphical, executable language for specifying dynamic behavior. Petri nets were introduced by C.A.Petri in the early 1960s as a mathematical tool for modeling distributed systems. It is widely used in software design, workflow manage- 3.1. PROCESS MODELING LANGUAGES 33 ment, data analysis, concurrent programming, reliability engineering and diagnosis of programming. As a graphical modeling language, Petri nets can visualize dynamic behavior with the nets consisting of place nodes (circles), transition nodes (bars) and arcs connecting places with transitions. Places can contain tokens. Tokens are used in these nets to simulate the dynamic and concurrent activities of systems. In a mathematical form, the state of a Petri nets can be represented as a M vector, algebraic equations, and other mathematical models governing the behavior of systems. Due to such a small number of modeling constructs, Petri nets have the limited expressivity of the structural, resources, organizational, functional or operational perspectives. However, it performs very well on the data transaction and control perspectives. Many execution, simulation and analysis techniques and applications have been developed based on Petri nets. Numbers of extensions have also been made to deal with the drawbacks of Petri nets, such as lacking data and hierarchy concepts, not useroriented and scope limited to process aspects. The development of high-level Petri nets and hierarchical Petri nets targets the data structuring and hierarchical decomposition issues, e.g. coloured Petri nets [64]. User-oriented visualizations and complementary modeling perspectives, e.g. for resources [30], structural [82] [83] [108], and time, have been proposed. 3.1.2 EPC (Event-driven Process Chain) EPC is a semi-formal graphical modeling language for business process workflows. It was developed within the framework of ARIS [160] in the early 1990s. EPC has been applied in ERP system describing workflow, e.g. SAP R/3, and now more widely. Basic EPC notations only include events (hexagon), functions (rounded rectangle) and connectors which can be transformed into Petri nets, but it introduces AND, OR and XOR connectors. An example of the notations in an EPC model is illustrated in Figure 3.2. EPC emphases more on the operational/functional and control perspectives than data transaction perspective as Petri nets do. An extended EPC includes organizational units to represent roles or persons, information or resource object that can be seen as input or output to functions, and process path to describe hierarchies of EPC processes. A major strength of EPC is claimed to be its simplicity and easy-to-understand notation. This makes EPC a widely acceptable technique to denote business processes. Unfortunately, neither the syntax nor the semantics of EPC are well-defined [190]. EPC requires non-local semantics [69], so that the meaning of any portion of the diagram may depend on other portions arbitrarily far away. Recently, an XML-based EPC — EPML (Event-driven Process Chain Markup Language) has been proposed by Jan Mendling [105]. The motivation of EPML is to support data and model interchange in the face of heterogeneous Business Process Modeling tools. Tool orientation deals with the graphical representation of EPCs and EPML is able to store various layout and position information for EPC elements [129]. 34 CHAPTER 3. STATE OF THE ART Figure 3.2: An example of EPC model [60] 3.1.3 EEML (Extended Enterprise Modeling Language) EEML is originally developed in EXTERNAL project [59] to support development and use of interactive models1 . The technological approach in EXTERNAL involves integration of several business process technologies, such as process-centric enterprise modeling, computational simulation models, hypermedia collaboration tools and emergent workflow tools. EEML is the research result of process-centric enterprise modeling. EEML is created to support process modeling across the four layers of process models: • Generic Task Type. Identifying the constituent tasks of generic, repetitive processes and the logical dependencies between these tasks (so-called reference processes). • Specific Task Type. Expanding and elaborating process models to facilitate business solutions. Elaboration includes concretization, decomposition, and specialization. • Manage Task Instances. Detail planning, co-ordination and preparation for resource allocation concerning actual work environment and process instance. • Perform Task Instances. The actual execution of tasks according to the determined granularity of work breakdown, which in practice is coupled to issues of empowerment and decentralization. At this layer resources are utilized or consumed, in an exclusive or shared manner. EEML can be used for process and enterprise modeling on different levels (both type and instance level). Type level related to generic task type and specific task type layers are our interests. The language vocabulary of EEML is grouped into several domains. In this work, we only concern two domains: EEML process domain and EEML 1 Interactive model: prescribed aspects of the model are automatically interpreted and ambiguous parts are left to the users to resolve, with tool support [65]. 3.1. PROCESS MODELING LANGUAGES 35 resource domain. EEML is a semi-formal language and has a set of graphical modeling notations. An illustrated example of EEML process model provides an overview of EEML notations for the process and resource domains in Figure 3.3. In process domain, EEML models the operational/functional perspective by task which is notated as a round rectangle with input and output (two diamonds on the left and right side within the rectangle). A task can be decomposed so that the hierarchy of process can be structured. The control perspective is represented through the flows (lines with arrow) linking tasks, milestones (diamonds along the flow with "start", "milestone" and "finish") and decision point (diamonds along the flow with logic connector like AND, OR, XOR). Organizational and resources perspectives are well supported by specifying different resource types (e.g. person, organization, information object, ... ) associated with resource roles (circles in a task). It is not obvious to model the data transaction perspective in EEML although milestone could be used as "state" sometimes. Details of the EEML modeling language are described in Appendix B. Figure 3.3: Overview of EEML modeling constructs and relationships for process and resource domains 3.1.4 UML Activity Diagram As one of standard proposals in UML [125], UML Activity Diagrams in the behavior category are typically used for business process modeling. An Activity Diagram in UML represents the business and operational step-by-step workflows of components in a system, the overall flow of control. In UML 1.x, an Activity Diagram is a variation of the UML State Diagram2 where the "states" represent actions, and the transitions represent the activities that happen when the operation is complete. The UML 2.0 Activity Diagram, while similar looking to the UML 1.x Activity Diagram, now has semantics based on Petri nets. In UML 2.0, Activity Diagram can represent the interaction overview of e-business. UML Activity Diagram is a semi-formal language with the following basic graphical notations [2]: initial node and activity final node (filled circle with or without border), activity (round rectangle), flow/edge (arrow), fork and join (black bar), decision and 2 UML State Diagrams depict the dynamic behavior of an entity based on its response to events, showing how the entity reacts to various events depending on the current state that it is in [2]. 36 CHAPTER 3. STATE OF THE ART Figure 3.4: An example of UML activity model [107] merge (diamond), partition/swimlane (line without arrow like a border). The notations are exemplified in Figure 3.4. Partition/swimlane is normally used to indicate who/what is performing the activities, which can specify the organizational perspective. The rest notations can represent the operational/functional and control perspectives. No particular notations are provided for the phenomena associated with data in UML Activity Diagram. However, it allows to use texts linked to the flows and activities to indicate condition, object or message passed in the process. UML Activity Diagram is often asked to be combined with other UML diagrams to model multiple process perspectives. For example, UML Use Case Diagram can capture loose collections of related activities at the high level, which might provide a view of the structural perspective of processes. After all, the lack of first class process modeling primitives is a major limitation of UML [26]. 3.1.5 BPMN (Business Process Modeling Notation) BPMN is a new standard of modeling business processes and Web service processes put forth by the Business Process Management Initiative [126], which is merged with OMG organization now. BPMN is a semi-formal modeling language providing notations understandable by business users. Nevertheless, it is also created as visual Petri Net - EPC process path Operational /Functional - functions Control transition node, arc connector, flow Resource - Organizational - extension with information, resource object extension with role, person Data Transaction token Structural event EEML process/task decomposition process/task (with input and output) flow, milestone, decision point resource role, resource type UML Activity UML use case activity BPMN collapsed /expanded sub-processes task, process flow/edge, fork, join, decision and merge - sequence flow, fork, join, decision, merging, looping data object resource role, resource type (organization, person) milestone, flow with resource partition, swimlane pool, (swim)lane UML state diagram message flow data object 3.1. PROCESS MODELING LANGUAGES Table 3.1: Modeling constructs of different business process modeling languages with 37 38 CHAPTER 3. STATE OF THE ART modeling language for execution languages, such as BPEL4WS [58] and BPML [11]. The BPMN specification provides a mapping between the graphics of the notation and the constructs of those formal languages. BPMN intends to provide businesses with the capability of understanding their internal business procedures in graphical notations and give organizations the ability to communicate these procedures in a standard manner. BPMN is initiated as a standard process modeling language for conventional business, B2B and services process modeling. Hence BPMN has the capabilities of handling B2B business process concepts, such as public and private processes and choreograhies, as well as advanced modeling concepts, such as exception handling and transaction compensation in addition to the traditional business process notations [12]. Private business processes are those internal processes to a organization and they are traditional business processes or workflows. Public processes are also called abstract processes or interface processes according to the BPMI terminology. They represents the interactions between a private business process and another process or participant. Choreographies represents collaboration processes. A collaboration process depicts a sequence of activities that represent the messages being sent between the entries involved. According to the BPMI terminology, the modeling constructs are the elements with corresponding notations. The main elements of BPMN Version 1.0 [12] are event, task, process/sub-process, sequence flow, message flow, pool, lanes, data object, fork (ANDsplit), join (AND-join), decision/branching point (OR-split), merging (OR-join), looping, etc. We refer those elements to the perspectives in the BPM systems paradigm. A sub-process is a compound activity included within a process. The collapsed/expanded sub-process can hide and show the details of the sub-process. Hereby, the structural perspective can be represented by BPMN through such a mechanism. Respectively, task, process/sub-process are elements for the operational/functional perspective. Tasks and processes are controlled through event, sequence flow, fork, join, decision, merging and looping. Resource can be represented by data object. Organizations are usually represented by lanes in the pool. The data transaction is specified through message flow together with data object. The details of the BPMN specifications from BPMI can refer Appendix A. The names and the notations of the BPMN elements used in this section are from the standard proposal. When a modeling tool implements a certain modeling language (e.g. BPMN), the names and the notations might be slightly changed to adjust the tool implementation. For example, task, process/subprocess are implemented as "Logical Process" in an enterprise modeling tool Metis [183]. 3.1.6 Categorizing the modeling constructs of process modeling languages The investigation of existing process modeling languages has shown the diversity of modeling constructs. The modeling constructs of the process modeling languages is categorized in Table 3.1 according to the six process perspectives defined in the paradigm of BPM systems. 3.2. SEMANTIC INTEROPERABILITY AND PROCESS ONTOLOGIES 3.2 39 Semantic Interoperability and Process Ontologies Semantic heterogeneity baffles the effective management of distributed knowledge, which relates to semantic interoperability under an extensive system exchange and integration situation. Semantic interoperability issue has been studied in different domains and applications such as schema and data integration of databases, meta-data interoperation among distributed digital libraries , agent-based Web services discovery and composition, enterprise integrations and so on. Research on semantic interoperability generally is categorized as: mapping and intermediary approach. The mapping approach can be sub-classified into point-to-point mapping and global mapping. Pointto-point mapping is the particular mapping built for two participating systems. Such a mapping can maximally preserve the original semantics of each system, but it is costly when a large number of systems need to interchange with each other or new unexpected system needs to participate. Global mapping attempts to construct mappings between participant systems and a global schema [24] [17] [66]. This requires to build a global schema which is designed to be dependent of particular schemas or applications [152]. The problem of this solution is not portable and does not adapt well to the addition of new systems. The intermediary approach is to make use of intermediary mechanisms to coordinate heterogeneous semantics. Domain-specific knowledge, mapping knowledge, or rules are modeled by the intermediary mechanisms such as mediators, agents, ontologies, etc. [132]. Generally, this approach uses a machine understandable definition of concepts and relationships between concepts so that there is a shared common understanding within a community. The knowledge or rules are domain specific, but independent of particular schemas and applications. However, one needs additional tools to actually capture and represent the knowledge (i.e., specifications and mappings) needed in order to resolve semantic conflicts. Semantic Web technology and some research results of ontology have initiated larger amount of research interests on the intermediary approach, especially applied in the applications of collaborative business (such as interoperation of enterprise processes, Web services, etc.). We apply the intermediary approach in this research work. Hence, the top-level ontology — process ontology for business process representation, and domain ontology for a given business domain are used as the intermediaries in our approach. The process ontology is used to reconcile the heterogeneous semantics of process modeling constructs (i.e. meta-model semantics) existing in different process modeling languages. It indicates that a process ontology should include a set of meta-concepts that are able to describe the semantics of process models. In this section we survey a number of process ontologies having different motivations: BWW ontology [204] for building a modeling fundamental of information systems, MIT process handbook [99] for organizing process knowledge, TOVE ontologies [31] for creating a set of ontologies to support enterpise modeling, PSL [120] for serving as an interlingua of all types of manufacturing processes, PIF [85] for exchanging business process models across different formats and schemas, OWL-S [198] for establishing a descriptive language of Web services, WSMO [209] for describing various aspects related to Semantic Web services, POP* [139] for providing a mapping mechanism between enterprise models and modeling tools, and UEML2 [140] for creating an intermediate language of various existing modeling languages. The process perspectives of the paradigm of BPM systems 40 CHAPTER 3. STATE OF THE ART (Figure 3.1) are also applied to study the semantic representations of those process ontologies. 3.2.1 BWW (Bunge-Wand-Weber) ontology BWW (Bunge-Wand-Weber) ontological constructs provide a semantic basis of meta models of conceptual models. The BWW ontology can be used as the top level ontology because the BWW ontology is initially built as a set of core constructs that underlie the computer science and information systems fields, especially for modeling tasks. Although BWW ontology is not specially created as process ontology, it covers the concepts which can be used for process modeling. BWW ontology consists of the following major concepts, namely thing, property, state, law, event, transformation and system. Those concepts are too abstract to specify semantics regarding the process perspectives. Therefore, the BWW ontology is often used as a meta-meta-model and specified further according to the modeling perspectives, e.g. the process perspectives. The BWW ontology has been modeled in different languages, e.g. originally settheoretic definition [204] (a formal representation), a list of textual descriptions [128] (an informal representation), entity relationship model [158] (a semi-formal representation). 3.2.2 MIT process handbook The MIT process handbook project has developed rich online libraries for sharing and managing many kinds of knowledge about business. The essential activity of the MIT process handbook is to organize process knowledge in libraries, which is related to the process representation issue. Two sources of intellectual leverage are exploited for the representation: (1) notions of specialization of processes based on the ideas about inheritance from object-oriented programming, and (2) concepts about managing dependencies from coordination theory [98]. Specialization includes part specialization and type specialization. Dependencies are distinguished as flow dependencies, sharing dependencies and fit dependencies. The representation of a process in the MIT process handbook is modeled as different types of entries of a given activity in the repository [99]: • Description. Descriptions include any useful or interesting information to users such as definitions, comments, figures, sources for further information, links to other entries, or links to other Web pages. • Parts. The point of view embodied in this entry is that these activities constitute one possible representation of the ’deep structure’. • Properties. Any other kind of information related to a given activity: the last modification, time required to do the activity, cost of doing the activity, location of the activity, and so on. • Related Processes. An extensive network of relationships among different entries. • Specializations. Specialization hierarchies listing a number of levels (e.g. 18 levels in some cases) of increasingly specialized activities of the given activity. 3.2. SEMANTIC INTEROPERABILITY AND PROCESS ONTOLOGIES 41 • Bundles. A group of related specializations. In general, they are grouped based on questions of an activity: how? what? who? when? where? and why? For most activities in the handbook, some subset of these questions provides a systematic and logical way of grouping the different specializations that appear. • Uses. A list of activities where the given activity is used as a part. • Generalizations. The set of activities are type processes of the given activity. Other kinds of entries are also used in the process handbook, such as Dependencies (flow, sharing and fit), Resources (inputs, outputs, actors and locations), and Exceptions (exception types and ways of exception detection, anticipation, avoidance and solution). For the process perspectives, the operational/functional perspective of a process is elaborated through the entries of an activity. Parts and Uses provide a structural view of activities. Resources and Bundles can specify resources and organizational perspectives. The control perspective is represented through Dependencies. The data transaction perspective is not specified explicitly through those entries. The MIT process handbook contains generic models of typical business activities (e.g. buying, making, and selling) and specific case examples of business practices. They are classified and represented through the entries. In such a way, process knowledge in the repository looks like business process taxonomy and patterns. The semantics of entries are not formally defined for the repository but they can be represented in PIF [85] to share the process descriptions. 3.2.3 TOVE (Toronto Virtual Enterprise) ontologies TOVE ontologies are stated as a common sense enterprise model covering a set of integrated ontologies for the modeling of both commercial and public enterprises. The TOVE consists of a set of generic core ontologies, including an activity ontology that spans activity, state, time and causality, a generic resource ontology describing the properties of the enterprise resources such as machines, electricity or raw materials, capital, human skill and information, an organization ontology spanning structure, roles, and communication, and a product ontology which includes features, parameters, assemblies, versions, and revisions. It also includes a set of extensions to these generic ontologies to cover concepts such as cost and quality. However, the primary component of the ontology is the terminology for classes of processes and relations for processes and resources, along with definitions of the classes and relations [44]. The KIF (Knowledge Interchange Format) [29] is the language providing the logical lexicon for the TOVE ontologies. The non-logical part of the lexicon consists of expressions (constants, functions, relations) that refer to concepts in some domain. At the heart of the TOVE enterprise model lies the representation of an activity and its corresponding enabling and caused states. Activities and states specify transformations by fluent and actions. Axioms of temporal projection represent how the actions change the status of a state. A set of constants are defined for status (of state and of activities), and a set of actions are defined by functions with parameters of the state and the associated activity [101]. Evidently, the data transaction perspective can be supported by activity ontology. The states related to classes of resources 42 CHAPTER 3. STATE OF THE ART in resource ontology can represent the resources perspective. Organization ontology in TOVE includes organization-role, goal, skill, constraints, organization-membership, communication link, authority link and empowered, which covers the organizational perspective. Logic connections of process are not explicitly specified in TOVE, but the temporal axioms describe the control of the activities at the time dimension. TOVE includes the aggregation of activities by the predicate subactivity(a,a’) to present the structure perspective. 3.2.4 PSL (Process Specification Language) The PSL project at the National Institute of Standards and Technology (NIST) is addressing the interoperability issue by creating a neutral, standard language for process specification to serve as an interlingua to integrate multiple process related applications throughout the manufacturing life cycle [161]. PSL is a formally defined process specification language. The underlying language of PSL is KIF. The model theory of PSL provides a rigorous mathematical characterization of semantics of the terminology of PSL. The proof theory of PSL provides axioms for the interpretation of terms in the ontology. PSL-Core specifies the semantics of the primitives in the PSL ontology corresponding to the fundamental intuitions about activities. In PSL-Core, there are four basic classes: Object, Activity, Activity Occurrence, and Timepoint and four basic relations: Participates-in, Before, BeginOf, and EndOf. Extensions can be made to PSL-Core. Figure 3.5 illustrates the extended modules required to define the terminology for generic classes of activities and their ordering relations. Other extensions are made to PSL-Core, such as Resource Roles, Processor Actions, and Resource Paths. Figure 3.5: PSL modules for generic classes of activities and their ordering relations [161] PSL-Core provides basic expressivity on the operational/functional, data transaction, control, and resources perspectives. The extensions can enrich the semantics of those perspectives. 3.2. SEMANTIC INTEROPERABILITY AND PROCESS ONTOLOGIES 3.2.5 43 PIF (Process Interchange Format) PIF [85] aimed to develop an interchange format to help automatically exchange process descriptions among a wide variety of business process modeling and support systems such as workflow software, flow charting tools, process simulation systems, and process repositories. PIF is a formal process modeling language, whose syntax adopts that of KIF. The main classes and their relationships are displayed in Figure 3.6. The classes and the relationships are notated with rectangle box in the figure, and they are all the modeling constructs of PIF. Figure 3.6: The PIF classes and relationships [85] There are three core classes — Activity, Actor and Resource. Other classes related with the three classes through the relationships are attributes of them. It is obvious that PIF supports the structural perspective by the decomposition relationship of Activity. The operational/functional perspective can not be properly represented by lacking input/output specifications. Relationships among the class Resource provide the expressivity of the resources perspective. The control perspective can be represented through the classes such as Prerequisite, Cannot-be-concurrent, Successor, Decision and the relationships among them and Activity. Actor and their attributes can depict the organizational perspective. No data transaction is supported by PIF. PIF provides formally-defined declarative semantics, the expressive power to represent knowledge required for a typical application knowledge base, and a structure that enables semi-automatic translation into and out of typical representation languages. PIF also adopts the frame syntax, which is an extension of the KIF syntax for representing object-based knowledge [85]. The PIF project has been merged with the PSL project at NIST, so that the PIF has been incorporated into the PSL Core and its extensions. 44 3.2.6 CHAPTER 3. STATE OF THE ART OWL-S: Semantic Markup for Web Services OWL-S is a language for specifying the Web service ontology, based on OWL, which augments current Web services architecture with semantic metadata [186]. The motivations of the applications of OWL-S are automatic Web services discovery, automatic Web services invocation and automatic Web service composition and interoperation [198]. Three essential types of knowledge about a service can be described with OWLS: advertising information for prospective clients by ServiceProfile, process model by ServiceModel, and transport protocols by ServiceGrounding. A process represented by the ServiceModel is a specification of the ways that a client may interact with a service. The process ontology is a set of concepts and relationships which are used to represent a ServiceModel. The process ontology modeled in OWL classes, properties and axioms is shown in Figure 3.7. Figure 3.7: The process ontology of OWL-S [198] In the process ontology of OWL-S, the operational/functional perspective is represented through process classes, parameter classes, their subclasses, and their relations. Distinguished subclasses of process — atomic process, simple process and composite process depict the structural perspective. A set of control constructs connecting processes support the control perspective. The organizational perspective is included by specifying the class participant in a process. The data transaction perspective is implicitly represented through the effect (the class result) of a process. The resources perspective is not specified in the process ontology although it might be inferred by 3.2. SEMANTIC INTEROPERABILITY AND PROCESS ONTOLOGIES 45 linking the parameters to a resource class which is defined separately from the process ontology. The Intelligent Software Agents Lab at Carnegie Mellon University has played a critical role in the development of OWL-S from its very conception. In addition, the Softagent Group has also developed the most complete and integrated set of OWL-S development tools, the OWL-S IDE. However, OWL-S is criticized to suffer conceptual ambiguity, lack concise axiomatization, be designed too loosely and offer an overly narrow view on Web services [106]. 3.2.7 WSMO (Web Service Modeling Ontology) WSMO is a conceptual model for describing various aspects related to Semantic Web services. The objective of WSMO and its accompanying efforts is to solve the application integration problem for Web services by defining a coherent technology for Semantic Web services [210]. WSMO provides ontological specifications for the core elements of Semantic Web services. The representation of WSMO follows the MOF (Meta-Object Facility) [124] specification, and the MOF constructs Class, sub-Class, Attributes and type are used in the definition of WSMO. Every construct of WSMO is called a WSMO element. There are five top-level elements: annotations, ontologies, Web services, goals and mediators. WSMO does not contain the constructs to represent any of the process perspectives, but only provide interface to describe the functionality of the Web service. A twofold view on the operational competence of the Web service is provided: choreography decomposes a capability in terms of interaction within the Web service; orchestration decomposes a capability in terms of functionality required form other Web services. The process of Web services composition is excluded from WSMO. Another important feature of WSMO is that it introduces the elements Goal and Mediator. Goal can represent an objective of the execution of a Web service. Mediator is exploited to overcome interoperability problems between different WSMO elements. For example, a wgMediator (Web service to goal Mediator) links Web services to goals, indicating that the Web service (totally or partially) fulfills the goal to which it is linked. Such a mediator may explicitly state the difference between the two entities and map different vocabularies through the use of ooMediators (ontology to ontology Mediators) [209]. 3.2.8 POP* (Process, Organization, Product and others) POP* methodology is one of the research contributions of the EU project ATHENA [139]. The overall objective of ATHENA is to enable enterprise to seamlessly interoperate with others. The POP* methodology aims to develop a set of core modeling methodology elements for capturing collaborative enterprises design and management. It offers a model exchange device by providing a common format along with a mapping methodology to define the mappings from the various enterprise modeling languages to the common format. The POP* methodology includes a common format as the exchange format — the POP* meta-model containing a set of basic modeling constructs. There are five dimensions included in POP*, namely the Process, Organization, Product, Decision and Infrastructure dimensions [138]. 46 CHAPTER 3. STATE OF THE ART Figure 3.8: The POP* meta model for Process dimension [138] The POP* meta-model is represented in UML class diagram to specify the concepts and their interrelations (including the cardinality). The properties of each concept and relationship are defined by property names and value types. Therefore, POP* can be described in the UML 2.0 Profile as a basis for further implementation of POP* as an enterprise modeling language [138]. Figure 3.8 provides an overview of the modeling constructs in the Process dimension. Process is the central construct and the other constructs associated with it can well support the representations of the operational/functional, structural, control and resources perspectives. Transactions of state and data are implicitly represented through the constructs event and process role carried by flow. Th organizational perspective is not included in the Process dimension in this version of POP*. Some organizational concepts are introduced in the Organizational dimension, but no specific relationships are defined to associate them to process. 3.2.9 UEML2 (Unified Enterprise Modeling Language version 2) UEML was initiated by the UEML project [130] to provide industry with a unified and expandable modeling language. UEML 2.0 and UEML 2.1 are further developed in the INTEROP-NoE project [140]. The work on UEML2 in this project is aimed on characterising correspondences between enterprise modeling languages to enable model interchange. A "UEML template approach" is applied in the development of UEML2.1. This approach requires a detailed (ontological) analysis of the constructs found in enterprise modeling languages and allows to formally define correspondences between constructs in distinct languages and thereby a UEML-based core enterprise modeling MIT process handbook entry TOVE PSL PIF OWL-S POP* UEML sets of core ontology, axiom class, relationship class, attribute, relationship class, property, sub-class class, property Structural extension of thing, property parts, uses subactivity - component of activity Operational /Functional extension of thing, property activity activity, action activity activity process (with input, output) Control law dependency temporal axiom ordering relationship prerequisite, cannot-be, concurrent, successor, decision activeThing, inputThing, outputThing extension Resource extension of thing, property extension of thing, property resource object resource, entity actor, skill, group state, transformation - resource ontology organizational ontology status composite process, simple process, atomic process process (with input, output, local) control construct (sequence, split, split-join, any-Order, choice) - dimension, class, property (name & value type) process decomposition Representation primitives Process Perspectives Organizational Data Transaction who (bundle) - state - event, control, flow, decision point, gateway resource composite, component resource participant organizational extension dimension of resource result - extension of changingAttributedThing 3.2. SEMANTIC INTEROPERABILITY AND PROCESS ONTOLOGIES Table 3.2: Ontological representations of different process ontologies BWW ontology concept set (set theory) 47 48 CHAPTER 3. STATE OF THE ART language [141]. The meta-model level of UEML is based on the BWW ontology but the UEML approach encourages the addition of new ontological classes, properties, states and transformations when describing modeling constructs. The growth of the BWW ontology is referred to as the UEML ontology [142]. Figure 3.9 displays the main UEML ontology classes. Due to the extensibility of the core ontology, the UEML ontology is able to cover all the process perspectives through the proper extensions. Figure 3.9: Generalization hierarchy of UEML ontology classes [144] The UEML ontology are represented using OWL Full with the Protégé as the UEMLBase tool. The UEMLBase tool has been used for experimentally describing the following languages: (Class and Activity diagrams of) UML 2.0, CPN (Coloured Petri Net), GRL (Goal-oriented Requirements Language), KAOS (Knowledge Acquisition in autOmated Specification), IDEF3 (Integrated DEFinition methods – Process Description Capture), and, partially, ISO 19440; the result is the UEMLBase content that can be retrieved, visualized and navigated by using the UEMLBase tool functionality [142]. 3.2.10 Comparison of process ontology representations Table 3.2 displays the comparison of ontology representation primitives, and main concepts and representation mechanisms for the process perspectives. The comparison presents how the semantics of process, i.e. the process perspectives are specified in different ontological representation forms. Some of them are specified like a meta-model of process modeling languages, such as PIF, OWL-S, POP*. Some are very general and need to be extended to represent more specific process semantics, such as BWW and UEML. The MIT process handbook and TOVE provide process templates and standardized taxonomy. WSMO is unique from the other ontologies by the use of interfaces to describe the functionality of Web services, so that there are no particular ontological representations for the process perspectives but mainly for the mediation of services. 3.3. GOAL MODELING 49 From the survey, we also found that the formal representation of the ontologies are usually specified through the primitives such as class (sub-class), property (attribute, relationship), and axiom. Standard taxonomy and process templates are also often included in the process ontologies. 3.3 Goal Modeling Goal is considered as an important concept to represent business strategy and support decision making. Goal models are used to represent business objectives for stakeholders and also to drive the elaboration of business requirements for business analysis and executions. The research on goal-driven methodologies brought out some goal modeling approaches and languages. From the literature, goal modeling is mostly designed as a requirements engineering method, such as KAOS [21], i*/GRL [55], GBRAM [56]. With the development of Web services, goal modeling is associated with Web services modeling for goal-driven services discovery, such as WSMO [210]. 3.3.1 KAOS (Knowledge Acquisition in autOmated Specification) KAOS [21] is a goal-driven methodology which is based on a rich framework for requirements elicitation, analysis and management. Goal modeling in KAOS is based on a goal-oriented process. The process starts with goals which are easy to understand and communicate. They describe the problems instead of the solutions, and can be refined to different levels of abstraction for incremental analysis process. With KAOS, functional and non-functional requirements are formally modeled in terms of goals, constraints, objects, operations, agents, etc. Goals are from available sources and asking why and how questions; objects, relationships and attributes are derived from the goal specifications; agents are identified and are assigned alternative responsibility based on goals; operations and domain pre-/postconditions are also identified from the goal specifications [192]. 3.3.2 i*/GRL (Goal-oriented Requirement Language) GRL is an extended version of i*, a language for supporting actor/role oriented modeling, goal-oriented modeling and reasoning of requirements, especifally for dealing with non-functional requirements [40]. Main concepts associated with goals are represented by intentional elements, intentional relationships and actors. The intentional elements in GRL are goal, task, softgoal, belief and resource. The intentional relationships include means-ends, decompositions, contribution, correlation and dependency. An actor is an active entity that carries out actions to achieve goals. Goals and requirements are analyzed through modeling strategic actor relationships. The relationships are modeled through Strategic Dependency (SD) models and Strategic Rational (SR) models. In a SD model, one actor (the depender) depends on another actor (the dependee) for a dependum. According to different types of dependum, several types of dependencies are distinguished in the Strategic Dependency model, namely goal dependency, task dependency, resource dependency, and softgoal dependency. The SR model provides a more detailed level of modeling by looking "inside" actors to model internal intentional 50 CHAPTER 3. STATE OF THE ART relationships. Intentional elements appear in SR models not only as external dependencies, but also as internal elements arranged into (mostly hierarchical) structures of means-ends, task-decompositions and contribution relationships [212]. The means-ends links provide understanding about why an actor would engage in some tasks, pursue a goal, need a resource, or want a soft goal; the task-decomposition links provide a hierarchical description of intentional elements that make up a routine; the contribution links provide elaboration of the effects from intentional elements to softgoals. 3.3.3 GBRAM (Goal-Based Requirements Analysis Method) GBRAM [56] addresses the critical nature of the discovery process in goal analysis. GBRAM can be used in goal analysis and goal refinement/evolution. It defines a top-down analysis method refining goals and attributing them to agents starting from inputs such as corporate mission statements, policy statements, interview transcripts etc. Therefore operationalization process is provided for defining a goal with enough detail so that its subgoals have an operational definition. GBRAM distinguishes between achievement goals and maintenance goals. Achievement goals are objectives of functional processes. Maintenance goals are those goals that are satisfied while their target condition remains true. They tend to be operationalized as actions or constraints that prevent certain states from being reached. Achievement goals usually map to actions that occur in a system, while maintenance goals map to nonfunctional requirements. In GBRAM, agents are the entities or processes that seek to achieve goals within an organization or system based on the implicit responsibility that must assume for the achievement of certain goals; constraints place conditions on the achievement of a goal; goal obstacles are behaviors or other goals that prevent or block the achievement of a given goal. GBRAM supports goal decomposition to subdividing a set of goals into a logical subgrouping. 3.3.4 Goal modeling in EEML Goals in an EEML model can be decomposed into sub-goals and goal connectors such as "and", "or", or "xor". Those connectors can be used to specify logical relationships between the goal and its sub-goals. Besides, EEML provides more connecting relation types to associate goals with the elements in an EEML process model. The connecting relationships in the EEML goal modeling are listed in Table 3.3. 3.3.5 Goal specification in WSMO Goal models in WSMO [210] are descriptions of Web services that would potentially satisfy the user desires. They provide the user view in the Web service usage process. Goal is represented through the capability of the Web services the user would like to have, and the interface of the Web service the user would like to have and interact with. A set of properties strictly belonging to a goal are defined as non-functional properties of a WSMO goal. A goal may be defined by reusing one or several already-existing goals by using goal mediators. 3.4. SEMANTIC ANNOTATION METHODS AND TOOLS 51 Table 3.3: EEML goal modeling relations Relation type Goal connector Related type Goal Is source of person|organization (origin) Applies to task|resource role (target) Is precondition for input port (target) Is postcondition for output port (target) Is decision rule of decision point (target) Is action rule of task (target) 3.3.6 Explanation Indicate relationships between goals. A goal connector is used when needing to link several goals The person or organization that is the source of the goal The task or resource role which the goal is relevant for A rule to describe more precisely the condition for starting a task A rule to describe more precisely the condition for ending a task A rule to guide the performance of a decision A rule for automation of task Goal modeling and process modeling Although most goal modeling methods do not directly address business process issues, the modeling primitives in those modeling languages are close to process modeling elements, such as actor, task, resource. However, those goal modeling methods do not provide mechanisms to associate goal models to legacy process models. The i*/GRL approach analyzes requirements with strategic dependencies among goals, actors, tasks and resources. In KAOS requirements specification, goals are refined into constraints, objects and operations which are assigned to agents. Actor or agent, resource or object, task or operation and constraint are usually modeling constructs in most process models. That discloses the underlying relationships between goal models and process models. EEML [59] includes goal modeling as one of its four modeling domains. Different types of connecting relationships between goals and process models are defined in EEML goal modeling. WSMO [210] has goals to represent an objective for which fulfillment is sought through the execution of a Web service. The association of a goal and Web services is established through the capability of Web services and a set of ontology mediators. For a business driven SOA, intentional service modeling [157] describes a service in business terms, i.e. goals and to organize their publication, search and composition of the basis of these descriptions. A goal in the intentional service model is described as a state to be reached or maintained by the service. Operation of a business goal is executed through a composition of derived intentional services from MAP [156], a process model expressed in a goal driven perspective. 3.4 Semantic Annotation Methods and Tools Semantic annotation is currently regarded as an approach to enable the Web content machine-understandable in order to achieve the Semantic Web applications. Such a kind of approach usually requires an annotation schema or reference ontologies with explicitly-defined, consensually-agreed, and machine-understandable semantics to annotate the content. Semantic annotation methods have been proposed to be used in giving semantics to unstructured digital resources, such as digital documents, Web pages and images by 52 CHAPTER 3. STATE OF THE ART providing unified structured metadata. Emerging semantic annotation of Web services is relating concepts in Web services to domain specific ontologies, such as MWSAF (METEOR-S Web Service Annotation Framework) [133]. Manual annotation is a tedious work. Semi-automatic and automatic annotation can facilitate this task. Some efforts on automatic and semi-automatic semantic annotation of textual documents have already done in [32] and [70]. Usually, the text extraction using some lexical analysis and grammatical functions is applied to achieve the semi-automatic annotation. AI technologies and semantic mapping are often used in Web services for the semi-automatic semantic annotation. 3.4.1 MnM MnM [184] is an annotation tool to support both automated and semi-automated semantic markup of Web pages. MnM integrates a Web browser with an ontology editor and provides open APIs to link to ontology servers and for integrating information extraction tools [193]. With the browser, users can have an overview of the knowledge models which are stored on the ontology server. A set of tags defined in the ontology are selected to annotate segments of text on web pages. MnM uses SGML/XML format tags and inserts them into the document. A machine learning technique is applied for information extraction in MnM. The manual tagged documents are treated as training corpus over which a learning algorithm is run to learn the extraction rules. Learning can result in a library of induced rules which can be used to extract information from texts. The extracted information is sent to the ontology server and fills predefined slots associated with an extraction template. The slots are the properties of a particular class defined in the ontology. MnM can handle multiple ontologies at the same time and allows inherited definitions to be displayed for ontology editing and browsing. Moreover, MnM can access ontology servers through APIs, and also access ontologies specified in a markup format, such as RDF and DAML+OIL [193]. 3.4.2 KIM (Knowledge & Information Management) KIM [127] is a knowledge and information management platform for automatic semantic annotation, indexing and retrieval of Web documents. The automatic semantic annotation in KIM can be seen as a classical named-entity recognition (NER) and annotation process. The NE (Named-Entity) type is specified through a reference to the KIMO (KIM Ontology) with the focus on named entity classes. KIMO is a lightweight top-level ontology including some basic distinctions between entity types (such as locations, agents, events, situations), real-world entity types of general importance (e.g. mettings, employment positions, commercial, government), and characteristic attributes and relations for featured entity types. The KIM KB (Knowledge Base) aims to provide quasi exhaustive coverage of the most important entities in the world. The entities stored in KB are instances with their proper classes and aliases. The entity descriptions in KB and the KIM ontology are stored in the same RDF(S) repository. Thus, KIM provides for each entity reference in the document (i) a link (URI) to the specific class in the ontology, and (ii) a link to the specific instance in the KB [136]. 3.4. SEMANTIC ANNOTATION METHODS AND TOOLS 53 The dual mapping allows the information extraction process to be improved by providing disambiguation clues based on attributes and relations [153]. KIM uses GATE’s document management functionality and other generic NLP components such as Tokenizer, Part-of-Speech Tagger, and Sentence Splitter [136] in the information extraction processing. 3.4.3 AeroDAML AeroDAML [72] is a knowledge markup tool applying NLP (Natural Language Processing) techniques to automatically generate DAML annotations from Web pages. The natural language information extraction techniques are used to assign words and relationships to ontologies as instances of DAML classes and properties. A commercial information extraction product called AeroText is used in AeroDAML as the NLP component. There is a common knowledge base in AeroDAML which contains domain independent rules for extracting proper nouns and relations. DAML generation components are used to translate the extraction results into a RDF triple model by referencing an ontology. As a result, the RDF model is serialized to a DAML annotation. Two levels of default ontologies can be referenced: the lower level ontology from the common knowledge base and the top level ontology from the WordNet noun synset hierarchy. In addition, a custom ontology can also be input as the reference ontology in the annotation. 3.4.4 OntoMat-Annotizer OntoMat-Annotizer (OntoMat for short) is a component-based, ontology-driven annotation tool for Web documents. It is the implementation of CREAM (CREAting Metadata for the Semantic Web), a framework for an annotation environment. In the CREAM method, an ontology is represented by statements expressing definitions of DAML+OIL classes and properties. Based on those definitions, annotations are a set of instantiations of classes, attributes and relationships that attached to an HTML document. Annotations are described through the metadata which are derived from ontology definitions. Such metadata is stated as relational metadata because it contains relationship instances [49]. OntoMat supports both manual and semi-automatic annotation. The semi-automatic annotation approach is developed in S-CREAM (Semi-automatic CREAM) The semiautomatic metadata creation takes advantage of information extration techniques to propose annotations to metadata creators. A learnable information extraction component – Amilcare [16] is integrated in S-CREAM. 3.4.5 MWSAF (METEOR-S Web Service Annotation Framework) MWSAF [133] is a framework for semi-automatic annotation of Web service descriptions with relevant ontologies. MWSAF is developed under the METEOR-S project [187]. METEOR-S provides a mechanism to add data, functional, execution, and QoS (Quality of Service) semantics to WSDL files and a comprehensive framework for Semantic Web composition is provided in MWSCF [166]. 54 CHAPTER 3. STATE OF THE ART Ontologies referenced in the annotation are modeled in DAML, RDF-S, or OWL. WSDL descriptions use XML Schema to provide the basic structure of the data to be exchanged by Web services. Hence, a SchemaGraph is used as a common representation format to facilitate the match between an ontology model and a XML Schema. Through the SchemaGraph, pairs of comparable concepts from the ontology model and WSDL descriptions are found. The semi-automatic annotation of MWSAF is accomplished through Element Level Match and Schema Level Match between the comparable ontology concepts and WSDL concepts. The element level match is the measure of the linguistic similarity between two concepts based on their names. Some NLP techniques are applied in the element level match, such as NGram, synonym matching, abbreviation expansion, stemming, tokenization, etc. [159]. The schema level match is the measure of structural similarity between two concepts. The structural similarity is calculated by the geometric mean of sub-concept similiary and sub-concept match. Sub-concepts of an ontology concept are the property concepts of the ontology class, while sub-concepts of WSDL descriptions are the elements of a "complexType" entity in the XML Schema. A ranking mechanism to find the best matching is employed after a WSDL concept has been compared against all the concepts from the ontology. 3.4.6 SAWSDL (Semantic Annotations for WSDL and XML Schema) SAWSDL [201] as a W3C recommendation is aimed to provide an annotation mechanism to add semantics to WSDL descriptions and XML Schemas. The annotation mechanism is accomplished through the extension attributes of WSDL and XML Schema elements to reference concepts from semantic models. A semantic model could be any machine-interpretable representations about an area of knowledge or some parts of the world, e.g. ontologies or mapping documents. The extension attributes fit within the WSDL 2.0, WSDL 1.1 and XML Schema, so that the annotations are embedded in WSDL files and XML Schema. The semantic annotation results are supposed to be used in the Web service publishing, discovery and composition. Moreover, the data mapping of XML Schema types to and from an ontology by the annotation can be used for invocation. SAWSDL defines the extension attributes modelReference, liftingSchemaMapping and loweringSchemaMapping. The first one is used to annotate a concept in some semantic model to a WSDL or XML Schema component. The component include XML Schema type definitions, element declarations, attribute declarations as well as WSDL interfaces, operations, and faults. The latter two are added to XML Schema element declarations and type definitions for specifying the URIs that reference mapping definitions. liftingSchemaMapping defines how an XML instance in a schema is transformed to data in a semantic model. Reversely, loweringSchemaMapping denotes how data in a semantic model is transformed to XML instance data [201]. The annotation attributes have prefix "sawsdl", e.g. sawsdl:modelReferece, sawsdl:liftingSchemaMapping. In the SAWSDL specification, multiple semantic annotations are allowed to be associated with WSDL elements. No restriction is made on the ontology expression language and mapping languages. 3.4. SEMANTIC ANNOTATION METHODS AND TOOLS 3.4.7 55 Semantic annotation schema in the INTEROP project Semantic annotation of enterprise models is the research topic of the Task Group 4 (Semantic Enrichment of Enterprise Modeling, Architectures and Platforms) of the INTEROP project. The purpose of the annotation is to enhance the interoperability of enterpise models in the applications of model exchange, model transformation and model traceability. As the research results, a semantic annotation schema is proposed based on a set of semantic annotation concerns. The following elements are defined in the annotation schema: identification of the annotation, annotation types, textual description of the annotation content, identification/location of the annotation target, formal definition of the annotation content (e.g. expression of complementary information) [143]. The annotation schema is displayed in Figure 3.10. Figure 3.10: Schema for semantic annotation of enterprise models [143] The schema is extendible. It is extended in [145] by three complementary annotations, i.e. structural annotation, lexical/terminological annotation, and behavior annotation. Structural annotation concerns the semantic mapping of modeling constructs at the meta-model level; lexical/terminological annotation refers the names associated with the constructed artifacts to a commonly agreed definition of terms; behavior annotation is used to explicit specify the business logic, the procedures, the rules and the policies of the annotated object. No specific tool is developed to implement this approach. The automation of the annotation process is neither concerned in this project. 56 CHAPTER 3. STATE OF THE ART 3.4.8 ASTAR A* is the ATHENA semantic annotation system, which is partially supported by the ATHENA project [57]. A* is a Web application connected with ATHOS tool and with THEMIS tool — two tools are used to model the resources in RDF repositories. Ontology-based semantic annotation in this system is aimed at reconciling semantic heterogeneity among business and technical resources. The following semantic mismatch cases are identified in Table 3.4 [145]. A* allows four increasing levels of annotation, namely terminological, path, simple and full level annotations. • Terminological Annotation. By such annotation, terms are associated with a set of terms from the ontology. Usually naming mismatch, content mismatch and abstraction mismatch can be reconciled by terminology annotation. • Path Annotation. The structure of the schema and the ontology are compared. Complete paths, from the root element to the leaves, of the annotated schema are associated with a set of paths of the ontology. Such annotation can solve the semantic problems such as structural mismatch, subClass-Attribute mismatch, schema instance mismatch and content mismatch. • Simple annotation. At this level it is possible to specify the type of mismatch that each annotation intends to cover. Such information will be re-used for Attribute Granularity mismatch; Encoding mismatch; Precision mismatch, among others. • Full Semantic Annotation. It is a complex annotation including OWL expressions. 3.4.9 Discussion on the survey results of annotation tools and methods Most of annotation tools and methods in the survey are for unstructured Web textual resources, such as MnM, KIM, AeroDAML and OntoMat-Annotizer, because there have been many research activities and development in this area. For those unstructured information, the annotation is to structure and supply semantic descriptions for information. Information extraction is one of the techniques often applied for the automation of the semantic annotation of the textual resources. We have also surveyed the semantic annotation of structured information — WSDL information for the Web services discovery and composition, such as MWSAF and SAWSDL. Since WSDL is already structured, the annotation is to build the mapping between the structured information and the ontological concepts and relations. Some NLP techniques can also be employed to automate the mapping. Very few work has been completed on the semantic annotation of semi-structured information. Having the both characters of the unstructured and the structured, the semantic annotation of semi-structured information should be able to formalize the structure of information and also build the links between information and ontology. We has included the related work in the INTEROP project, which presents some initial ideas and surface results about the semantic annotation of enterprise models. Another related work — A* provides a tool to annotate models in order to develop future model transformations. The limitation of A* is that 3.4. SEMANTIC ANNOTATION METHODS AND TOOLS 57 Table 3.4: Lossless mismatches and examples Name Naming Description different labels for the same concept Attribute the same informaGranulartion is decomposed ity into a different number of attributes (or sub-attributes) Structuring different design structures in organizing the information Document Schema request for quotation indicated as: RFQuote Telephone is represented as a single string SubClassAttribute the type RawMaterial can be represented as an enumeration (’iron’, ’copper’) SchemaInstance Encoding Content Coverage Precision an attribute, with a predefined value set, is represented by a set of subclasses, one for each value data holding schema information. In the DS example, the semantics of the second field (Name) depends on the value of the first field (Role). In the RO, the semantics is fully captured in the attribute names. different formats of data or units of measure (a Weight expressed in different unit of measure) different content denoted by the same concept - typically expressed by enumeration (the concept described by different enumeration items) presence/absence of information (a given information is considered in the RO, but not in DS) the accuracy of information Abstraction level of specialisation/refinement of the information: generic vs detailed representation Buyer is directly linked to PurchaseOrder Reference Ontology request for quotation indicated as: RFQ Telephone is a composition of hasPartCountryCode, hasPartAreaCode, hasPartLocalPhoneNumber Buyer is linked to the Parties concept and Parties is linked to PurchaseOrder ... or as two subclasses: iron subClassOf RawMaterial, copper subClassOf RawMaterial ContacInfo are represented as a pair: Role and Name. While Role is an enumeration = ’Director’, ’Secretary’, Name is a string ContacInfo has one field for each Role, which is indicated in the attribute name: DirectorName, SecretaryName, both strings Weight ounces Weight expressed kilograms expressed in in PaymentTerms=(30days, PaymentTerms=(30days, 60days, 90days) 45days) preferredDeliveryDate is not considered in the DS preferred delivery date is present in the RO Size of a pallet expressed by three integer values: height, length, width DeliveryTerms Size of a pallet expressed by a constant conventional value: (small, medium, large) DeliveryTerms gets specialized into: NationalDeliveryTerms and InternationalDeliveryTerms 58 CHAPTER 3. STATE OF THE ART models must be expressed in RDF format and based on ATHOS metamodel. Moreover, the full semantic annotation in OWL expressions are not supported yet. 3.5 Requirements for Semantic Annotation Systems Based on the above survey, we have identified a list of requirements for a semantic annotation system, some of which we are targeting in our work. 1. The system should be able to present and parse annotation source models which are originally in certain formats and representations. 2. The system should provide an ontology browser for the overview and manipulation of ontological knowledge. 3. Semantic annotation schema or metadata should be supplied (pre-defined) or generated (ontology-based) by the system. 4. The annotation procedure should be easily manipulated by users with the system, i.e. easy to locate "annotatee" (e.g. entity in source model) and "annotater" (e.g. concept in ontology) during the annotation. 5. The system should support the maintenance of annotation results (e.g. embedded vs. stand-off annotation). 6. Multiple-ontology references (e.g. different levels of ontologies) might be supported in the system. 7. Different types of annotations (e.g. instance identification, URI links, and other semantic relationships) might be supported. 8. Semi-automation or automation of annotation might be considered in the system. 9. The system might be able to serialize annotation for reuse of annotation results in different systems. 10. It might be possible to conduct semantic inference among ontology-based semantic annotations. 3.6 Summary In this chapter, we has investigated the diversity of the modeling constructs defined in a number of existing business process modeling languages. The modeling constructs have been categorized according to the process perspectives. The categories illuminates the possibility to map the modeling constructs between different modeling languages in each process perspective. We have also surveyed a number of different process ontologies. Through the survey, we have compared the ontological representations of process perspectives in different process ontologies. The comparison results provide some principles of ontological representations of a process ontology which we can apply in our process ontology proposal for the semantic annotation purpose. 3.6. SUMMARY 59 In the goal modeling survey, we have found some overlapping modeling constructs in goal modeling and process modeling, such as actor or agent, resource or object, task or operation and constraint. That discloses the underlying relationships between goal models and process models. Connecting relationships in EEML goal modeling provide more explicit view of such links between goals and processes. A list of requirements have been identified based on the survey of the annotation tools and methods. Although they are not tailored to the semantic annotation of process models, they provide a good baseline — what a semantic annotation tool should look like and how to develop an ontology-based semantic annotation approach. 60 CHAPTER 3. STATE OF THE ART Part II Design and Application 61 Chapter 4 Semantic Annotation Framework for Process Models As we have discussed previously, process properties of a business process model are represented by meta-model elements/modeling constructs of a modeling language, and model solutions are represented by model elements composed of the modeling constructs. Common expressions of process properties and context references make the heterogeneous process models reconciled and comparable. The enhanced semantic interoperability can facilitate the management and reuse of those process models. In this chapter, a basic semantic annotation framework [94] [92] [93] for process models is presented. The framework provides a common semantic schema to express process properties and reference the heterogeneous solutions of business process models to a consensual representation of systems’ context. Before we present our framework, we discuss the theoretical basis of this work, and then we elaborate the structure and components of the framework. Under such a framework, a general process ontology is introduced and used as the reference ontology to annotate process properties. A set of semantic mapping rules are defined as the annotation method, and a semantic annotation model is introduced as the annotation schema. 4.1 Theoretical Basis The theoretical basis underlying our proposal is Ogden & Richard’s semiotic triangle [121], which has been mentioned in section 2.2.1. We use the semiotic triangle to analyze semantic heterogeneity of process models. Ontology plays a major role in our semantic annotation approach, which is also fitted into the semiotic triangle. Thus, in this section we discuss about the relationship between the process models and ontology in the context of semantic interoperability based on the semiotic triangle. 4.1.1 Semiotic triangle The semiotic triangle is applied in both information modeling and philosophy disciplines. The theory describes relationships between reference, sign and concept (refer to 63 64 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK section 2.2.1). Based on the semiotic triangle we can build the relationships between model, meta-model, modeling language and ontology as shown in Figure 4.1. In the triangle, a model is a conceptualization of referents and it is represented as a set of model denotations in a certain modeling language. Model denotations are signs which signify concepts in the model. The model is an instance of a meta-model, and the meta-model defines a modeling language. A concept is a mental perception which is in a human’s mind. One concept referring to a referent can be represented differently. On the other hand, representations of different concepts may look similar in two models. The differences are results of the way of conceptualization of modeling or representations of model denotations defined in a modeling language. The semantic heterogeneity existing in different models can therefore be distinguished at the model and the modeling language level (we also call it the meta-model level). Figure 4.1: Relationships between ontology, model, meta-model and modeling language in the semiotic triangle In order for a machine to understand the heterogeneous semantics in the models (e.g. various signs of referents referring to the same concepts or synonym signs of referents referring to different concepts), a common understanding of concepts has to be formalized in a machine-interpretable way. An ontology is created for this purpose. In the semiotic triangle, the semantics of concepts are formally in a standard i.e. they are represented as an ontology. Ontologies aid the sharing of knowledge on the basis of the assumption that there is a single reality and the sharing is a matter of aligning the way different people or systems think about it [70]. Therefore, in the semiotic triangle 4.1. THEORETICAL BASIS 65 concepts can be conceptualized as an ontology in a consensual way. A meta-model is also a model – a model of the modeling language. For a metamodel, a modeling referent is a meta-model element or modeling construct, and a modeling sign is the notation of a meta-model element. A modeling sign standing for a meta-model element is used to represent a modeling concept in a certain modeling domain. Semantic heterogeneity problems will still occur on the meta-model level provided that a meta-model is a model. We assume that a modeling ontology can provide the common conceptualization of modeling concepts referring to the same modeling referents. According to Leppänen’s OntoFrame [87], a meta-model can be adapted from a modeling ontology. The semantic heterogeneity of modeling languages can therefore be reconciled through the modeling ontology. Based on this theory, we annotate the meta-model of a modeling language with the modeling ontology in this research. The relationship between modeling language, meta-model and modeling ontology is displayed in Figure 4.2. Figure 4.2: Relationships between modeling ontology, meta-model and modeling language in the semiotic triangle 4.1.2 Semiotic triangle for process modeling In the context of our research, process meta-model, process modeling language, process model, process model denotation and process ontology are specified in the semiotic triangle (Figure 4.3). We also include model levels in the figure to explicate the positions of those modeling concepts. The model levels are adapted from the model level ontology in [87] to show the different levels of process models. Process meta-model and process model are both models. Process meta-models are categorized at the meta level, and process models are at the type level. In this research, we focus on process models at the type level including their meta models at the meta level. Process models at the type level are the resources of process knowledge in our context. 66 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Figure 4.3: Relationships between model level, process ontology, process model, process metamodel and process modeling language (adapted from model level ontology in [87]) 4.2 Overview of the Framework We use ontology-based semantic annotation to deal with the interoperability of heterogeneous process models. The semantic annotation approach is developed and refined in a semantic annotation framework, which contains profile annotation, meta-model annotation and model annotation. 4.2.1 Ontology-based annotation In this approach, ontology provides a standard representation of terminology and conceptualization to reconcile the semantic heterogeneity of different models. Corresponding to the two-level semantic heterogeneity — meta-model and model level, we need two kinds of ontology: an ontology to relate constructs across different process modeling languages, as well as an ontology to reconcile and align domain specific terminology used in process models. A general and global process ontology can be used to annotate 4.2. OVERVIEW OF THE FRAMEWORK 67 Figure 4.4: Semantics reconciliation of process models through ontology-based annotation 68 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK the specific and local process meta-model element. The concepts in a local process modeling language usually have the is_a relationship with the concepts from a global process ontology. If the global process ontology can cover all the semantics of the local modeling language (i.e., the local modeling language is a subset of the global process meta model ontology), the annotation work can keep the complete semantics of the local modeling language. If the local process modeling language is more expressive than the global process ontology (i.e., the set of notations of the local modeling language is larger than the global one), the model will lose some of the semantics which are not annotated by the global process ontology. For those lost semantics, referencing the meta-model of the modeling language is necessary. A domain ontology provides the standardized terminology and conceptualization of a particular domain. We suppose that a certain domain ontology is agreed and used to reconcile the semantics of model contents. The ontological concepts are referenced by model contents through simple URIs or semantic relationships. Figure 4.4 provides a depiction of the basic idea of ontology-based semantic annotation. Process models PM and PN are respectively represented in process modeling languages M and N. The notations used in process models are instances of modeling concepts defined in meta-models. For example, the notation for PM1, PM2 and PM4 is an instance of M A, and PN1, PN2 and PN3 are instances of N A. The semantics of the notations are defined in meta-models. In order to reconcile the semantics of the notations, a process ontology is used to mediate the mapping between meta-models M and N. For instance, M A and N A are annotated with a same ontological concept POx in the process ontology, which means notations of M A in PM (PM1, PM2 and PM4) stand for the same meta-model element as notations of N A in PN (PN1, PN2 and PN3). However, model contents in those notations should also be semantically reconciled to understand both models, i.e. what domain phenomenon the notations represent. A domain ontology is referenced to annotate model content. Usually the model contents represented by the same meta-model element are comparable. For example, the contents of PM1, PM2 and PM4 should be reconciled with PN1, PN2 and PN3. Since PM1 and PN1 are annotated with a same domain ontological concept DOx , they are interpreted as semantically equal concepts when comparing the two models. If the contents of two model constructs with different meta-model elements reference to a same domain ontological concept, they are not considered as semantically equal. Although the contents of PM3 and PN4 have a same ontology reference DOy , they are not same because they do not share a same modeling ontological concept at the meta level (POy for PM3 and POz for PN4). In this way, various representations of process models are aligned and reconciled through the reference ontologies, i.e. the process ontology and domain ontology. 4.2.2 Annotation aspects Annotation in this work is intended to expose the process knowledge carried by heterogeneous process models. In general, the annotation should be able to provide both an overview and a sophisticated comprehension of the process knowledge. We therefore include a profile annotation to profile process models as products. In the profile annotation, a set of metadata is defined to describe the significant characteristics of a 4.3. PROFILE ANNOTATION 69 process model from a general view. Comprehending a process model depends on the understanding of the semantic representations of process modeling languages and model contents. We use meta-model and model annotation to catch and represent the process knowledge in the models through building reference relationships between models and ontologies. Technically, process models to be annotated are serialized into XML representations. During the annotation, the meta-model schema of process models are mapped to a common process ontology in OWL. Model contents in the XML file are transformed into the OWL annotation model. Domain ontologies are referenced by the model contents in the OWL annotation model. 4.3 Profile Annotation Basic and characteristic features of a process model are described by a set of metadata in a profile annotation. A profile contains information about a process model such as the problem domain of the model, the name of the model and the location of the model etc. We categorize metadata elements for the profile annotation according to four types of metadata — administrative, descriptive, preservation, technical and use [4] (see Table 4.1). • Administrative: Metadata used in managing and administering information resources. • Descriptive: Metadata used to describe or identify information resources. • Preservation: Metadata related to the preservation management of information resources. • Technical: Metadata related to how a system functions or Metadata behave. • Use: Metadata related to the level and type of use of information resources. Usually, the profile information is manually input by annotators. In order to prevent the semantic heterogeneity in the input values, a set of categories and taxonomy are chosen to be referenced for profile annotation. For example, a list of standard abbreviations for the natural languages (e.g. "EN" for English) are predefined for the value of dc:language. 4.4 Meta-model Annotation Semantic heterogeneity problems of diverse process modeling languages can be solved through mapping two modeling languages to each other, or mapping languages to one common process modeling language. Meta-model annotation in our framework deals with this problem by mapping different meta-mode elements to ontological concepts in a process ontology. A process ontology is not supposed to be a new process modeling language but provide a way to represent process knowledge. Therefore, compared with certain process modeling languages, the process ontology provides only general semantics for process modeling but essential semantics for process knowledge. 70 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Table 4.1: Metadata for profile annotation Type Administrative Element Label profileAnno:model_version profileAnno:version_date profileAnno:URI profileAnno:URL dc:creator dc:publisher dc:date dc:language dc:title Descriptive dc:description profileAnno:category profileAnno:domain profileAnno:domainOntology_URI profileAnno:domainOntology_URL Preservation profileAnno:documation profileAnno:modeling_language Technical profileAnno:language_version profileAnno:modeling_tool Use profileAnno:used_in profileAnno:examplemodel_URL Cardinality Description {0,1} Version of the process model {0,1} Date when this version of the process model was created {1,1} A Uniform Resource Identifier (URI) is a compact string of characters for identifying the process model {1,1} A Uniform Resource Locator (URL) where the process model can be accessed {1,N} Persons or organizations primarily responsible for making the structure and content of the process model {1,1} A person or an organization responsible for making the process model available {1,1} Date of availability of a process model {1,1} Natural language of contents of a process model {1,1} An name given to the process model {1,1} An account of contents of the process model {1,1} Genre of contents of the process model {1,1} Domain of contents of the process model {1,1} A Uniform Resource Identifier (URI) of the domain ontology used in the model annotation {1,N} A Uniform Resource Locator (URL) where the domain ontology can be accessed {0,N} Different formats of description of the content of the process model (e.g. an abstract, an overview of how the process model has been developed, a graphical representation of the process model, etc.) {1,1} A modeling language the process model was created in {0,1} A version of the modeling language {1,N} Modeling tools (including the version of the tools) which support the process model {0,N} Projects and/or applications in which the process model is used {0,N} Uniform Resource Locator (URL) where examples of the process model can be accessed 4.4. META-MODEL ANNOTATION 4.4.1 71 GPO (General Process Ontology) For meta-model annotation, a process ontology is an explicit and formal specification of concepts which are used to model processes in general. It is supposed to provide common and core semantics of process modeling constructs. We have investigated a number of process modeling languages and process ontologies in Chapter 3. Most of them were not initiated for annotation purposes and are not represented in OWL, except OWL-S. OWL-S is designed to describe processes of Web services in OWL. Although a process model in our approach may be regarded as a service, the difference between a Web service and a process model is that a Web service is executable and uses programming-like control constructs as their basic building blocks which are inadequate for all the modeling issues, especially for the type level of modeling. Therefore, we propose a new ontology for meta-model annotation purpose in our framework. It is difficult to build an ontology to cover all the semantics of various modeling constructs, which would be very complicated. To facilitate the annotation, representations of the ontology should be easily understandable and able to preserve enough semantics of process knowledge. As Musen stated [109]: "Although no simple predicate tells us unambiguously whether a particular specification is an ontology, we can still agree on certain things. We can agree that ontologies enumerate the salient concepts in an application area." A process ontology therefore consists of core concepts which can present the process perspectives specified in Chapter 3. We set a design principle of the process ontology as simple but comprehensive for modeling process knowledge. Based on such principle, we create an ontology for process modeling, namely General Process Ontology (GPO). Main concepts defined in GPO The main concepts in GPO are Activity, Artifact, Actor-role, Input, Output, Precondition, Postcondition, Exception and WorkflowPattern. GPO consisting of those concepts and their relationships are represented using RML [168] in Figure 4.5. • Activity is a central concept which composes a process. Activity is a synonym of process. However, we also found Process is seldom a construct or just a package construct in most process modeling languages because it is obvious that a process model describes processes. Event is used to trigger Activities but it is sometimes used like an Activity. It also sometimes mixed with state. In order to avoid any ambiguity of those concepts, event and state are not included in GPO. We still think event and state are crucial for process models at the execution level but less at the conceptual business process level. We therefore use the concept Activity in our general process ontology. An activity may be an atomic activity or a composed activity represented by the aggregation relation between activities, i.e. one activity is a subActivity of another activity. • Artifact represents something involved in an activity such as product, information, tool and software. • Input and Output of an Activity specify what are consumed and produced by this activity respectively. The way an Artifact is involved in an activity can be 72 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK specified through its relations with inputs or outputs. • Actor-role is the one who interacts with an activity. Although actor and role are two different concepts, we combine these into one to represent that a role is acted by an actor and an actor is a person, or an organization or a system that operates the activity. The role is not acted by any artifact which is distinguished from the definitions of role in some modeling languages, e.g. ResourceRole in UEML. • Precondition and Postcondition represent respectively constraints before an activity starts and after an activity ends. Pre- or Post- conditions may also directly constrain inputs and outputs of activities. • Exception provides additional information about failures of a process or any exceptional cases in a process. The exception can be handled by activities. • WorkflowPatterns represent orderings of different activities. WorkflowPattern can be refined into several specific patterns according to the workflow patterns defined in [191], such as Choice (Exclusive Choice, MultipleChoice, ParallelSpit), Merge (SimpleMerge, MultipleMerge, Synchronization) and Sequence, which are basic control workflow patterns supported by most process modeling languages with logical symbols like AND, OR and XOR. The aim of including workflow patterns in GPO is for the user to navigate preceding, succeeding, synchronizing and exclusive activities, because those workflow patterns denote semantics of process orders. Figure 4.5: General Process Ontology Process perspectives in GPO With regard to the process perspectives from the paradigm of BPM systems (defined in Chapter 3), GPO has following correspondences: GPO uses Activity together with 4.4. META-MODEL ANNOTATION 73 Input and Output to represent the operational/function perspective. Decomposable Activities and their subAcitivities can be applied to specify the structural perspective. The resource and organizational perspectives can be presented through the specifications of Artifact and Actor-role respectively. The control perspective of a process is represented by Precondition, Postcondition of Activities and a set of WorkflowPatterns and Exception to link Activities. No particular concept is identified to represent the data transaction perspective but the links between Artifact and Input or Output can be used to specify changes of data values associated with a certain Artifact. 4.4.2 Mapping rules in Meta-model annotation GPO is a mediator for semantic reconciliation of process modeling concepts and it should not be seen as a new process modeling language, but a means to annotate the process modeling constructs. In a meta-model annotation a process modeling language is annotated manually by annotators. The procedure of meta-model annotation is in fact to set mapping rules between the GPO concepts and process modeling language constructs or meta-model elements. The mapping rules consist of both one-to-one and one-to-many correspondences between the GPO concepts and modeling language constructs or meta-model elements. More complicated cases might occur, such as a correspondence between a GPO concept and a combination of several modeling constructs or meta-model elements. To define mapping rules for different cases, we categorize three types of modeling constructs — AtomicConstruct, EnumeratedConstruct and ComposedConstruct. Each single modeling construct is an AtomicConstruct, an EnumeratedConstuct is a list of several AtomicConstructs, and a ComposedConstruct is composed of several AtomicConstructs. Mapping Rules: • One-to-one mapping: a GPO concept is referred by an AtomicConstruct (e.g. GPO:Activity) is mapped to EEML:Task); • One-to-many mapping: a GPO concept can be referred by several modeling language constructs respectively which are enumerated in an EnumeratedConstruct (e.g. GPO:Artifact) can be mapped to EEML:Information Object or EEML:Material Object); • One-to-combination mapping: a GPO concept is referred by a combination of those modeling language constructs in a ComposedConstruct (e.g. GPO:WorkflowPattern is mapped to a combination of EEML:Flow and EEML:Decision Point). Different technologies can be employed to represent the mapping rules, such as XML, RDF/RDFS or OWL. An OWL representation is exemplified below. A namespace metaAnno is used to encode meta-model annotation in these three mapping cases: <metaAnno:AtomicConstruct rdf:ID=CONSTRUCT_ID> <metaAnno:refers_to rdf:resource=&GPO_ONTOLOGY#MODELING_ONTOLOGY_CONCEPT/> <metaAnno:modeling_language_construct rdf:resource=&MODELNG_LANGUAGE#LANGUAGE_CONSTRUCT/> 74 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK </metaAnno:AtomicConstruct> <metaAnno:EnumeratedConstruct rdf:ID=CONSTRUCT_ID> <metaAnno:refers_to rdf:resource=&GPO_ONTOLOGY#MODELING_ONTOLOGY_CONCEPT/> <metaAnno:has> <metaAnno:AtomicConstruct rdf:resource=#CONSTRUCT_ID/> . . . </metaAnno:has> </metaAnno:EnumeratedConstruct> <metaAnno:ComposedConstruct rdf:ID=CONSTRUCT_ID> <metaAnno:refers_to rdf:resource=&GPO_ONTOLOGY#MODELING_ONTOLOGY_CONCEPT/> <metaAnno:composed_of> <metaAnno:AtomicConstruct rdf:resource=#CONSTRUCT_ID/> . . . </metaAnno:composed_of> </metaAnno:ComposedConstruct> Once the mapping rules are defined for a certain process modeling language, process models in that process modeling language can be described by the GPO concepts, i.e. the GPO concepts are used as metadata to annotate process semantics. We call the process models described by the GPO metadata as GPO-annotated process models. A GPO-annotated process model will be formalized in a process semantic annotation model (PSAM) in section 4.6. 4.5 Model Annotation The purpose of model annotation is to annotate model (contents) with domain ontologies. Models (contents) are instances of the meta-model and those instances usually describe certain domains. The representations of domains are often various due to diverse uses of terminology and conceptualization, resulting in semantic heterogeneity of model contents. Domain ontologies are agreed as standard representations and semantic definitions of domain concepts by annotation users. Semantic heterogeneity of model (contents) can be reconciled by referencing ontological concepts represented in domain ontologies. In model annotation, the annotation method is building semantic mappings or relationships between model contents and domain ontologies. The mapping method for model annotation Different mapping strategies can be used between concepts in the model and the domain specific ontology. They can be simple rules applied in meta-model annotation – by referring specific model contents in modeling constructs to corresponding domain concepts. More complicated mappings can be defined through refined semantic relationships between concepts used in models and concepts defined in a domain ontology. Simple reference. If a simple mapping by reference is applied, it assumes that almost all concepts in the model have equal or approximately equal concepts in the 4.5. MODEL ANNOTATION 75 ontology. The semantic relationship of mapping can be defined as one type – refers_to. We have adopted such a mapping strategy in our method for meta-model annotation to build the correspondences of concepts between modeling languages and GPO. In the model annotation, users can choose this strategy provided the concepts in the models are very close to the concepts in the domain specific ontology. The strategy of simple reference is easy to apply and also makes it relatively simple for the machine to infer the mapping relationships without complicated algorithms. Refined semantic relationships. Concepts used in process models are variously defined initially for different projects. Therefore, it might be difficult to find equally defined concepts in the domain specific ontology for process models. However, since they are still within one domain, there must be some semantic relationships between the concepts in models and in ontologies. In order to represent the semantic relationships precisely, we define some refined semantic relationships to link the concepts between models and ontologies for the model annotation. The model annotation can be accomplished with the help of meta-model annotation, because the models related to domain information are usually artifacts, actor-roles, activities and exceptions. Artifacts and actor-roles are usually static concepts in the domain ontology. Activities and exceptions are usually related to the task concepts in the domain ontology. Semantic relationships and the corresponding annotation denotations generally used for the model annotation are listed in Table 4.2. Both synonym and polysemy relationships are symmetrical. Note that same_as and different_from are not at the individual level like the OWL individuals relationships. Hypernym and hyponym are inverse relationships. Usually concepts in the ontology are more general, while model concepts are relatively concrete for specific projects. Thus, kind_of is more often used than superConcept_of when annotating model concepts with ontology concepts. We provide more human sense expressions of meronymic relationship for artifacts, actor-roles, activities and exceptions respectively. For artifacts, we use part_of, e.g. Engine is a part of Airplane; for actor-roles, we use member_of, e.g. Airline is a member of Air Alliance; for activities, we use phase_of, e.g. Flying is a phase of Traveling; for exceptions, we use partialEffect_of, e.g. Payment is cancelled is a partial effect of Booking has failed. The inverse relationship of meronym is holonymic relationship, which is seldom used in this framework because of the similar reason described for the hyponym relationship. It is possible to represent some of the semantic relationships with OWL expressions, such as owl:equivalentClass for synonym, owl:disjointWith for polysemy, rdfs:subClassOf for hypernym and hyponym. Those OWL expressions can be used to displace the corresponding annotation notations for OWL inference. If an annotation model and a reference ontology are both represented in OWL, the inference can be made on the two OWL files. For example, a concept Cm in the annotation model is specified as same_as an ontology concept O1 , and O1 is defined as rdfs:subClassOf another ontology concept O2 in the ontology. An inference result could be Cm is sub-Class of (kind_of) O2 too. After the meta-model annotation, the model can be described as a GPO-annotated process model. Accordingly, the model annotation can be done directly in the GPOannotated process model instead of the original model. Thereby, the model annotation notations will also be formalized in the process semantic annotation model in section 76 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Table 4.2: Semantic relationships, corresponding annotation denotations, and OWL constructs Semantic Relationship Synonym Polysemy Hypernym Hyponym Meronym Holonym Instance Annotation Denotation alternative_name(terminology level) same_as(concept level) different_from kind_of superConcept_of part_of(Artifact) member_of(Actor-role) phase_of(Activity) partialEffect_of(Exception) compositionConcept_of instance_of OWL expression owl:equivalentClass owl:disjoinWith rdfs:subClassOf rdfs:subClassOf OWL Individual 4.6. 4.6 PSAM (Process Semantic Annotation Model) As described in section 4.4, a process model is represented by the GPO concepts after the meta-model annotation. The model annotation is then applied on the contents of the GPO-annotated model. In this section, we formalize the GPO-annotated model as a process semantic annotation model (PSAM). The domain ontology for a certain domain is built or selected by domain experts for the model annotation. Definition 1. PSAM containing the concepts of GPO and domain specific ontology is defined as follows. PSAM = ( AV, AR, AF, WP, I, O, Θ pre , Θ pos , E, PD ) Where AV is a set of activities composing a process, AR is a set of actor-roles interacting with a process, AF is a set of artifacts participating in a process, W P is a set of workflow patterns, and each workflow pattern denotes an ordering of activities. I is a set of input parameters, O is a set of output parameters, Θ pre is pre-conditions when a process starts, Θ pos is post-conditions when a process ends, E is a set of possible exceptions occurring during a process. PD is a subset of the domain ontology (D) concepts, i.e. PD ⊆ D, including static ontology concepts and task ontology concepts. Definition 2. An activity can be considered as a simple process. Therefore an annotated activity is described as follows. AVi = ( id, model_ f ragment, name, alternative_name, has_Actor − role, has_Arti f act, has_Input, has_Output, is_in_Work f lowPattern_o f , has_Precondition, has_Postcondition, has_Exception, has_subActivity, same_as, di f f erent_f rom, kind_o f , superConcept_o f , phase_o f , compositionConcept_o f , instance_o f ) 4.6. PSAM (PROCESS SEMANTIC ANNOTATION MODEL) 77 Each element in a PSAM model has an id and name to uniquely identify the element. Model_f ragment is the identifier of model fragment in the original process model for keeping the link between the annotated model fragment and its annotation information. Alternative_name provides a synonym of the name at the terminology level. Elements has_Actor − role, has_Arti f act, has_Input, has_Output, is_in_Work f lowPattern_o f , has_ Precondition, has_Postcondition, has_Exception, has_subActivity denote the relationships between the activity and other related elements according to the GPO definition. The ids of the related elements are used in those relationships. We use same_as, di f f erent_f rom, kind_o f , superConcept_o f , phase_o f , compositionConcept_o f to annotate the activities with the domain ontology concepts, i.e. using semantic relationship to map an activity to a concept in the domain ontology. instance_o f is to specify the modeled activity is an instance of the domain ontology class. Definition 3. An actor-role is a person, agent or organization that interacts with an activity. The annotated actor-role is represented as follows. ARi = ( id, model_ f ragment, name, alternative_name, same_as, di f f erent_f rom, kind_o f , superConcept_o f , member_o f , compositionConcept_o f , instance_o f ) Definition 4. An artifact is a thing consumed, used or produced in an activity. AFi = ( id, model_f ragment, name, alternative_name, same_as, di f f erent_f rom, kind_o f , superConcept_o f , part_o f , compositionConcept_o f , instance_o f ) Definition 5. A workflow pattern represents the type of the ordering of activities. W Pi = ( id, model_ f ragment, name, alternative_name) Refined workflow patterns are defined as follows. Choicei = ( id, model_f ragment, name, alternative_name, has_inActivity, has_outActivity, has_logicConnector) Where the cardinality of has_inActivity is 1. The has_logicConnector element of ExclusiveChoicei, MultipleChoicei and ParallelSpliti has value XOR, OR or AND respectively. Mergei = ( id, model_ f ragment, name, alternative_name, has_inActivity, has_outActivity, has_logicConnector) Where the cardinality of has_outActivity is 1. The has_logicConnector element of SimpleMergei, MultipleMergei, and Synchronizationei has value XOR, OR or AND respectively. Sequencei = ( id, model_ f ragment, name, alternative_name, has_inActivity, has_outActivity) 78 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Where the cardinalities of both has_inActivity and has_outActivity are 1. Definition 6. Input and output are defined as parameters of an activity, which include value and data type. They are usually related to artifacts participating in the activity. Ii = ( id, model_f ragment, name, alternative_name, data_type, related_arti f act) Oi = ( id, model_f ragment, name, alternative_name, data_type, related_arti f act) If the same artifact related with both input and output parameters of an activity, the state of the artifact must change through this activity. We call it transformation. Definition 7. Precondition and postcondition are presented by expressions to constrain input and output. The constraints are usually used as contract in services or process composition. Θ pre = ( id, model_f ragment, name, alternative_name, related_input ) Θ post = ( id, model_f ragment, name, alternative_name, related_output ) Definition 8. Exception happens in an activity and it can be handled by an activity. Ei = ( id, model_f ragment, name, alternative_name, handler_Activity, same_as, di f f erent_f rom, kind_o f , superConcept_o f , partialE f f ect_o f , compositionConcept_o f , instance_o f ) Exception will be annotated using predefined exception types in a domain ontology. The activity handling the exception is pointed out by handler_activity. PSAM is modeled in OWL when it is implemented for annotation applications. Appendix G.1 presents the OWL representation of a complete PSAM 1 . 4.7 A Simple Example of Process Semantic Annotation There is a business process model to describe a very simple process of buying merchandise. It can be reused in any specialized and complicated purchase process. We assume it is originally built in EEML [77]. This purchase process contains only a task "purchase". There are two person roles in this task named "Client" and "Seller". The process starts with a milestone "agreed deal" and ends with a milestone "deal finishes". One flow links from "agreed deal" to the input port of the task "purchase" and another flow links from the output port of "purchase" to "deal finishes". A resource role "Order" coming to the input port is and another resource role "Receipt" is out of the output port. The EEML process model of a purchase process is illustrated in Figure 4.6. We applied the semantic annotation approach to annotate the purchase model. The EEML modeling constructs are annotated with GPO concepts in meta-model annotation. In this case, EEML modeling constructs are mapped to the GPO concepts 1 A complete PSAM contains the part of PSAM presented in this chapter and the extension part of PSAM in Chapter 5. 4.7. A SIMPLE EXAMPLE OF PROCESS SEMANTIC ANNOTATION 79 Figure 4.6: EEML process model example: purchase process following the mapping rules for meta-model annotation. For example, the EEML Task is one-to-one mapped to the GPO Activity. Based on the meta model annotation, the GPO concepts will take the place of the corresponding process modeling constructs to describe the process. A domain ontology is employed to annotate the model contents which are described in the process annotation model. For instance, the EEML task "purchases" is a GPO activity, and this activity is annotated as a kind of domain ontology concept "buy" in the PSAM model. Figure 4.7 illustrates the annotation results of the purchase model. We exemplify parts of the PSAM instance of annotation results which are represented in OWL. The example here is only a demo of the OWL representation. In the demo the data type of model_fragment is defaulted as URI and the data types of other properties are not specified, which can be compared with the PSAM instances in OWL from exemplars in Appendix H2 . <GPO:Activity rdf:ID="av1"> <GPO:model_fragment rdf:resource="&eeml_purchase;#oid6"/> <GPO:name>purchases</GPO:name> <GPO:alternative_name>Purchase</GPO:alternative_name> <GPO:has_Actor-role> <GPO:Actor-role rdf:resource="#ar1"> <GPO:has_Actor-role> <GPO:has_Actor-role> <GPO:Actor-role rdf:resource="#ar2"> <GPO:has_Actor-role> <GPO:has_Input> <GPO:Input rdf:resource="#in1"> <GPO:has_Input> 2 The exemplars are introduced in Chapter 7. 80 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Figure 4.7: Annotated EEML process model example: purchase process <GPO:has_output> <GPO:Output rdf:resource="#out1"> <GPO:has_Output> <GPO:kind_of rdf:resource="&domonto;#buy"/> </GPO:Activity> <GPO:Actor-role rdf:ID="ar1"> <GPO:model_fragment rdf:resource="&eeml_purchase;#oid181"/> <GPO:name>Client</GPO:name> <GPO:alternative_name>Buyer</GPO:alternative_name> <GPO:alternative_name>Purchaser</GPO:alternative_name> <GPO:alternative_name>Customer</GPO:alternative_name> <GPO:same_as rdf:resource="&domonto;#customer"/> </GPO:Actor-role> <GPO:Actor-role rdf:ID="ar2"> <GPO:model_fragment rdf:resource="&eeml_purchase;#oid182"/> <GPO:name>Seller</GPO:name> <GPO:alternative_name>Salesperson</GPO:alternative_name> <GPO:alternative_name>Salesman</GPO:alternative_name> <GPO:alternative_name>Vender</GPO:alternative_name> <GPO:same_as rdf:resource="&domonto;#vendor"/> </GPO:Actor-role> <GPO:Input rdf:ID="in1"> <GPO:model_fragment rdf:resource="&eeml_purchase;#oid11"/> <GPO:name>Order</GPO:name> <GPO:alternative_name></GPO:alternative_name> 4.8. SUMMARY 81 <GPO:datatype rdf:resource="&xsd;#anyURI" <GPO:same_as rdf:resource="&domonto;#purchase_order"/> </GPO:Input> <GPO:Artifact rdf:ID="af1"> <GPO:model_fragment rdf:resource="&eeml_purchase;#oid122"/> <GPO:name>Order</GPO:name> <GPO:alternative_name></GPO:alternative_name> <GPO:alternative_name>Salesman</GPO:alternative_name> <GPO:alternative_name>Vender</GPO:alternative_name> <GPO:same_as rdf:resource="&domonto;#vendor"/> </GPO:Artifact> 4.8 Summary In this chapter, we have proposed a semantic annotation framework to manage semantic heterogeneity of process models from the following perspectives: basic description of process models (profile annotation), process modeling languages (meta-model annotation), and process models (model annotation). Two ontologies are used for annotation purposes: General Process Ontology for meta-model annotation, and a domain ontology for model annotation. Furthermore, we have defined a set of mapping strategies for guiding users to annotate models. As a formal result of the proposed framework, the process semantic annotation model (PSAM) provides a common semantic annotation schema for annotating semistructured IS solutions. A PSAM model describes the process properties of a process model fragment in a way of representing process knowledge, and contents in the PSAM model are mapped to context references for domain semantic reconciliation. Process models are therefore transformed into process knowledge of IS solutions which are represented in the PSAM models after annotation. The PSAM models are supposed to be able to help the human and machine to understand heterogeneous process models with reconciled process semantics. An extension of the semantic annotation framework will be elucidated in next chapter. The framework is extended by adding pragmatic metadata, namely providing a method to specify intentions of systems’ owners, which are achieved through process models. 82 CHAPTER 4. SEMANTIC ANNOTATION FRAMEWORK Chapter 5 Extension Semantic Annotation — Goal Annotation In this chapter, we elucidate the annotation of process models and process model fragments with a goal ontology to specify organizational objectives (i.e. intentions of systems’ owners) achieved by processes. The aim of goal annotation is to pragmatically facilitate recognizing process knowledge conveyed by heterogeneous process models based on the enriched intentional semantics of processes [95]. A goal ontology is a set of conceptualized goals and relationships among them. Based on the investigation of several goal modeling methods applied in requirements engineering and process modeling, we propose goal ontology design principles and semantic representations. Goal annotation is a procedure to organize and define the process knowledge with goal ontology, i.e. building relationships between process models and pre-defined goal concepts. Defining those relationships is the major task of goal annotation, which indicates what relationships are supported in annotation and how annotation can be implemented. Consequently, the goal annotated models can be queried and reused in a goal-driven method with the goal ontology. 5.1 Goal-Driven Process Knowledge Discovery As knowledge, business process models are required and reused for achieving business objectives or goals. On the other hand, a process model describes the capability and utility of a process, i.e. how the process achieves certain results. Therefore, goals can be used to describe what a knowledge user desires when searching and applying process models, which is known as goal-driven discovery approach. In such a way, the knowledge user does not need to specify models’ identification such as name or location of the process models, but only specify his/her business objectives or goals to query the models. The search engine finds the process models through mapping the goal request and capability of process models. This approach provides a pragmatic way for users to discover knowledge because goals are obvious for users to specify their request. The discovery process is a black box for users who have no idea of the availability (existence and location) of desired process models. Goal-driven discovery is also transparent for 83 84 CHAPTER 5. GOAL ANNOTATION process models since there is no need for representations of process models but only for process capability specifications. To facilitate the goal-driven discovery, capability of processes should be explicated in process models. However, most process modeling languages do not supply such a mechanism. Even if they are goal-supported modeling, they typically differ in various languages. Moreover, the representations of capability might also differ by terminology and conceptualization, which are common problems in any heterogeneous models. By extending our semantic annotation framework, a goal ontology is adopted to annotate process models for specifications of the process capability. With a goal ontology, the user can specify his/her goal request. The goal-driven discovery process is to match goal requests with goal annotation of process models through the goal ontology definitions. In goal annotation, a goal ontology provides definitions of a set of business objectives or goals. In requirements engineering, business objectives or goals can be described in natural language or specified in goal models. Goal models are usually made for requirements elicitation and then used to derive process models. Goal modeling methods in requirements engineering provide references for building a goal ontology. When implementing a goal annotation, we need to establish the relationships between process models and the goal ontology. Goal annotation becomes one element of the semantic annotation framework which complements the approach from a pragmatic perspective. 5.2 Goal Ontology for Semantic Annotation In this work, business goals are formalized in a goal ontology, which provides semantic representations of goals in a consensual way for different organizations. The focus in this section is goal ontology modeling. Firstly, we start from the discussion about the principles of goal ontology modeling in our approach. Based on the principles, we then define our goal ontology model in OWL. 5.2.1 Goal ontology design principles Since we focus on process models, the first design principle is that the goals to be linked to process models should be process achievable. Thus, the research will not include the goals related to technical factors such as the usage of computing resources or financial aims like reaching a certain amount of gross profit. Furthermore, the process knowledge in our research is at model level not at instance level. Accordingly, goals defined for a certain domain are relatively abstract but not very concrete for an application. We are concerned with for example, the accomplishment of customers ordering of a cell phone but do not interested in the instance goal like satisfying Joan’s ordering of SAMSUNG E568. In order to organize goals at a rational abstraction level, a goal ontology is domain specific and organized into categories. As the second design principle, the corresponding relationships between a goal ontology and a process model should be easily built to facilitate the goal annotation. Many goal modeling languages have modeling constructs which are relevant to process modeling, so that those goal modeling approaches from the literature could be referred to model goal ontology concerning this principle. Distinct from those goal modeling languages, a goal ontology is used to normalize the semantic representation of agents’ 5.2. GOAL ONTOLOGY FOR SEMANTIC ANNOTATION 85 intentions not to analyze goals for requirements elicitation, specification or validation. The goal analysis mechanism can find out from why to how, but a goal ontology just focuses on why. Hereby, we should tailor those goal modeling approaches for our purpose rather than just reuse them. However, in the existing goal modeling methods, goals are represented informally or semi-formally, and they are not machine-understandable. A goal ontology provides references of goal concepts for annotation users to annotate process models, and the annotation results are supposed to be machine-understandable in order to enable machine to manipulate process knowledge discovery and reuse. Therefore, semantics of goal ontology should be both human- and machine-interpretable, which is the third design principle. We use OWL to represent a goal ontology and they are well modeled in classes, properties and relationships. The details of modeling the goal ontology in OWL are further elaborated in next section. 5.2.2 Semantic representations of a goal ontology Following those principles, we make a meta-model of the goal ontology. In this metamodel, the goal ontology is defined based on goal categories and goal targets. A goal is a condition or state of affairs in the world that stakeholders would like to achieve [40]. Soffer et al. [167] defines a goal as a set of stable states. In [205], state of a thing is described as the vector of values for all property functions of a thing. In the context of process modeling, states must be represented as values for properties of process and properties of objects involved in process. That is, a goal can be expressed as states of activities ( e.g. "delivery is processed") or states of artifacts (e.g. "receipt is received"). The goal target could be Activity or Artifact. Usually the ’accomplished’ is regarded as the goal state of an activity, whilst the state of an artifact has to be specified for different goals. Goal is an organizational concept and goals are held by stakeholders. ’Actor’ is defined to represent the goal owner in i*/GRL and ’Agent’ is applied in KAOS when analyzing the potential goal realizer. Actor-role is therefore the goal target in the goal ontology as well. In KAOS, goals are non-operational objectives and constraints are operational objectives. Although constraints are not goals, goals can be operated by constraints [21]. In this sense, Constraint is also the goal target. Some goals may be represented as constraints statements, e.g. the quality constraints (wrt. time, cost, security etc.) to processes according to domains. The relationships between Goal and those targets are simply defined because the purpose of the goal ontology is not to analyze the goal like those existing goal modeling methods. The targets show the different perspectives of viewing a goal. These targets are represented in the same way as the concepts in PSAM, which provides potential links between a goal ontology and process models. In general, goals can be classified into hard goals and soft goals [110]. Hard goals are related to functional requirements and they are obviously supported by process. Soft goals are about global qualities of a system. Most of soft goals are related to non-functional requirements (colloquially "-ilities"). Soft goals do not have clear-cut criterion for their satisfaction, and they are satisfied when there is sufficient positive and little negative evidence for this claim [110]. Relations of goals should be specified in a goal ontology. A goal could be represented 86 CHAPTER 5. GOAL ANNOTATION in a relatively general sense (e.g. security goal) or in a specific way (e.g. safe payment), so the subsumption relationship should be supported. Relations between two goals having the same or different effects can be regarded as semantic equivalence or semantic difference. Decomposition relation – an important characteristic found in most goal analysis should be specified in the goal ontology too. Based on the above analysis, semantics of goals in a goal ontology are specified through categories, expression perspectives and relationships. OWL Classes and Properties provide a way to define the semantics of goal concepts. Standing for goal categories, Hard Goal and Soft Goal are two upper level classes for all goals in general. Hard goals are functional and usually they are domain-dependent, so they are usually specific from different domains. Soft goals can be described generally in a set of "-ilities" (which are regarded as soft goal category), and also specific according to domains. Attributes and relations of a goal class are represented through owl:DatatypeProperty and owl:ObjectProperty respectively. Based on the analysis of expression perspectives, we know that a goal can be represented through specifying the targets such as Activity, Artifact, constraint and Actor-role. If those targets are already defined in domain ontology as classes, a goal can establish relationships with them. Otherwise, the goal uses attributes to represent them. To make the terminology consistent (with GPO), we name the relations/attributes as targetActivity, targetArtifact, targetRole and targetConstraint. State is modeled as an attribute of Artifact, which is associated with the targetArtifact of a goal. The subsumption relationship (owl:subClass) is used to represent goal hierarchy. A simple part-whole relationship represent goal composition. OWL does not provide any built-in primitives for part-whole relations (as it does for the subclass relation). However OWL contains sufficient expressive power to capture most, but not all, of the common cases [200]. We therefore apply a simple part-whole relationship to represent the decomposition of goal concepts. The ’part’ goals contribute the impacts to the ’whole’ goal. The logic connections (OR, AND, XOR) between the parts are not considered in the goal ontology due to two reasons as follows. First, it is the representational capability of OWL. Second, such concrete goal analysis mechanisms are not necessary for a goal ontology. A goal ontology should be general to applications and decomposition of a goal depends on a specific application. A goal ontology is more like a taxonomy of goal concepts serving for semantically-aligned goal representation. Hence, the terminology presenting goal concepts in a goal ontology should be normalized. In addition, some general attributes such as ID, name, description are attached to a goal class to identify a goal concept. Semantic representation of a goal ontology is specified in the meta-model shown in Figure 5.1. 5.3 Relations between Process Models and a Goal Ontology We can see that based on the design principles of a goal ontology modeling, underlying relations between process models and a goal ontology becomes clear. These relations can be used to derive goal annotation relationships of process models. We start by clarifying some concepts involved in the relations. We assume that a 5.3. RELATIONS BETWEEN PROCESS MODELS AND A GOAL ONTOLOGY87 Figure 5.1: Meta-model of the proposed goal ontology process model depicts a process, and a process consists of numbers of activities. As we have defined in GPO, an activity may be an atomic activity or a composite activity. In our semantic annotation framework, we define that a process model comprises a set of activities (AV ) and an activity can be decomposed into sub-activities. If an activity in a process model is not an atomic activity1 which is composed of a set of related activities, it is regarded as a process model fragment in this context. A goal (g) can be linked to a whole process model or to a process model fragment. We assume that process models are already organized into a decomposable hierarchy of activities referencing a domain ontology in the model annotation phase. Each level of activities in the hierarchy can be considered as goal annotation targets. Definition 9. In the semantic annotation framework, a process model (PM) can be partitioned into several process model fragments (PMF). Each PMF comprises a set of hierarchically organized and decomposable AV. N N PM = PMF PMF and PMF = AV AV Definition 10. Any goal concept (g) in a goal ontology (G) is possibly related to an activity (av) in a PM/PMF: ∀( g, av) goalRelated( g, av) (a) • if the property targetActivity (av0) of a g is same or synonymous with av: ∃( av0 ) targetActivity( g, av0) V av0 = av (b) • if the property targetArtifact (a f 0) of a g is related to the output of av and the State (s’) of a f 0 is the value of the Output (o) of the Artifact (a f ): V V ∃( a f 0 , a f , s0 , o ) targetArti f act( g, a f 0) hasState( a f 0, s0 ) V s0 = o ⊃ hasOutput( av, o) a f 0 = a f ⊃ relatedTo (o, a f ) 1 Note: An atomic activity can not be decomposed, but it is not an event either. (c) 88 CHAPTER 5. GOAL ANNOTATION • if the property targetRole (ar0 ) of a g is related to an Actor-role (ar) involved in av: ∃( ar0 ) targeRole( g, ar0 ) V ar0 = ar ⊃ hasActor − role ( av, ar) (d) • if the targetConstraint (c0 ) expressed in a g is involved in (involvedIn) preCondition (pre), postCondition (post) or Exception (e) of av: V ∃( c0 , pre, post, e)targetConstraint( g, c0) ( involvedIn (c0 , pre) ⊃ W hasPrecondition( av, pre) involvedIn( c0, post ) ⊃ W hasPostcondition( av, post) involvedIn( c0, e ) ⊃ hasException( av, e)) (e) Therefore, W W W ( a) ≡ (b ) (c) (d ) (e ) Those definitions denote how an activity might be associated with a goal by specifying the facts of an activity that might affect a goal. Checking above cases through matching algorithms can automatically provide a list of possible goal annotations. The decisions of the desired goal annotations are left to the annotators. We hereby call such a mechanism semi-automatic goal annotation. Definition 11. A goal ontology (G) comprises a set of hard goals G h and a set of soft goals G s . G = { G h, G s } The relations are further specified based on the context of the process models and the goal ontology. We define the relations as follows: Definition 12. Hard goals can be achieved by an activity or activities. I.e. the relation between an activity (av) and a hard goal (gh ) is achieves( av, gh ). Definition 13. Soft goals can be positively or negatively satisfied by an activity or activities. I.e. the relation between an activity (av) and a soft goal (gs) is positively_satisfies( av, gs) or negatively_satisfies( av, gs). Since the activities in the process models are decomposable, the relation between goals and a composite activity could be inferred based on the relations between goals and component activities. Definition 14. If an activity (av) is a component of another activity (av∆) in a process model/model fragment, av is the subactivity of av∆, i.e. subActivityOf( av, av∆). av∆ is a Composite Activity in that model. Usually the effects of hard goals achieved by a subActivity can contribute to its composite activity. That is, Definition 15. If av is the subactivity of av∆ and av achieves gh , av∆ achieves gh : (∀( av, gh)∃ av∆) subActivityO f ( av, av∆) −→ achieves( av∆, gh ) V achieves( av, gh) 5.4. PSAM WITH GOAL ANNOTATION 89 However, the effects of soft goals can not be simply passed in the same way as hard goals. To a composite activity, the contribution of a soft goal from a subactivity might be enhanced or reduced by other subactivities which positively or negatively satisfy the same soft goal. The contribution could be calculated if the effects of soft goals are quantified. This issue is only simply considered in our current work by simple contribution calculation rules. All effects of soft goals are regarded as the same. The contribution of a soft goal to a composite activity is determined by comparing the numbers of subactivities which positively satisfy and negatively satisfy the same soft goal. That is, Definition 16. Let a gs is positively satisfied by N subactivities, and is negatively satisfied by M subactivities in a composite activity av0. Consequently, • positively_satisfies ( av0, gs ), if N > M • the effect of gs is counteracted for av0, if N = M • negatively_satisfies ( av0 , gs ), if N < M The relations between goals and activities defined in this section will be applied to build annotation links between the goal ontology and process models in the goal annotation. That is to say, the metadata schema of the goal annotation for process models is: ActivityID achieves|positively satisfies|negatively satisfies GoalID 5.4 PSAM with Goal Annotation With goal annotation in the semantic annotation framework, the PSAM includes the references of the goal ontology. PSAM = ( AV, AR, AF, WP, I, O, Θ pre , Θ pos E, PD, PG ), where PG is a subset of goal ontology (G). The annotated activity is also updated as follows and the complete PSAM can be represented in OWL (see Appendix G.1). Definition 17. AVi = ( id, model_f ragment, name, alternative_name, has_Actor − role, has_Arti f act, has_Input, has_Output, is_in_Work f lowPattern_o f , has_Precondition, has_Postcondition, has_Exception, has_subActivity, same_as, di f f erent_f rom, kind_o f , superConcept_o f , phase_o f , compositionConcept_o f , instance_o f , achieves| positively_satis f ies| negatively_satis f ies) 90 5.5 CHAPTER 5. GOAL ANNOTATION Goal Annotation Procedure In goal oriented requirements engineering, goal analysis and modeling is usually a topdown procedure — decomposing high level goals down to lower level goals and operational activities. Goal annotation is a bottom-up procedure — first annotating low level sub-activities and then annotating higher level activities and finally the whole process model with goal ontology. Focusing on the activity, we describe the goal annotation procedure accompanied with the meta-model annotation and model annotation in a UML Activity diagram in Figure 5.2. Through meta-model annotation, activities are identi- Figure 5.2: Goal annotation procedure fied by the markup Activity in PSAM. In the model annotation phase, if a domain ontology is available as the activity references, the identified activities are annotated with concepts in domain ontology references via the semantic relations such as same_as, di f f erent_f rom, kind_o f , superConcept_o f , phase_o f , and compositionConcept_o f . If the domain goal ontology is available, the possible links between the activities and the goal ontology can be checked based on the relations described in section 5.3. We 5.6. SUMMARY 91 employ the annotation from the component activities to the composite activities. The contributions of the goals annotated to the low level component activities can be passed to or calculated for their upper level composite activities. In goal annotation, we modify goal annotation relations through achieves_Goal / positively_satis f ies_Goal /negatively_satis f ies_Goal in previously defined PSAM in Chapter 4. An example of goal annotation of an activity that achieves a hard goal is as follows: <psam:Activity rdf:ID="ID"> <psam:model_fragment rdf:resource="&MODEL_NAMESPACE#MODEL_ID"> ... <psam:achieves rdf:resource="&GOAL_ONTOLOGY#GOAL_ONTOLOGY_CONCEPT"/> 5.6 Summary As an extension of the semantic annotation framework, a goal annotation approach has been elaborated in this chapter. The goal annotation has been designed for a goal-driven management of heterogeneous process models on the conceptual level. Since business process models as IS solutions were created for achieving the intentions of systems’ owners, a new problem to achieve similar intentions might reuse those solutions. Goal annotation helps humans and machines to locate the process knowledge by specifying the goals of process models. The approach relies on a goal ontology, which provides common semantic representations of goal concepts. A goal ontology reconciles intentional semantics represented in heterogeneous models. The purpose of the goal annotation is twofold: 1) to enrich the semantics of the objectives of processes; 2) to provide a pragmatic way to find process knowledge based on business goals. Based on a set of goal ontology design principles, we proposed a way to describe the semantics of goals for process model annotation purpose. We have also discussed relations and rules between process models and goal ontologies. The formalization of the relations can be implemented to facilitate an automatic or semi-automatic goal annotation procedure in practice. In our semantic annotation framework for process models, process models are first described by PSAM (process semantic annotation model) after meta-model annotation, and then referenced with domain ontology in model annotation. Goal annotation is therefore employed based on the domain annotated PSAM models. 92 CHAPTER 5. GOAL ANNOTATION Chapter 6 Pro-SEAT (Process SEmantic Annotation Tool) In order to facilitate semantic annotation of process models, we have developed a prototype of the semantic annotation tool — Pro-SEAT (Process SEmantic Annotation Tool). The tool implements the proposed semantic annotation framework. Development of the tool included planning system modules, defining data structure, designing annotation algorithms, and implementing functions and user interfaces. The tool supports all the phases of the semantic annotation procedure. In addition, a query-based model navigator is included in the tool. 6.1 Components of Prototype Environment Pro-SEAT is an isolated application, independent of modeling tools. As an annotation tool, it is used to attach additional information in models. However, we need to import existing process models into the annotation tool. This requires the annotation tool to read models created by certain modeling tools. In this work, we take Metis1, a modeling product from Computas partner Troux Technologies, as our modeling environment. Metis supports different modeling languages, such as UML, EEML and BPMN by its powerful Metamodel Developer. Models created by Metis are formated in XML which is analyzable by XML parsers. The annotation tool therefore contains functions to parse and read Metis models. OWL technology is chosen for modeling ontology in the proposed semantic annotation approach. Therefore, the annotation tool should provide an OWL ontology browser and an ontology selection to support the ontology-based annotation. In the prototype, we integrate the Protégé-OWL API which can parse and manipulate OWL ontologies. An OWL ontology could be edited by any ontology editors, including the Protégé-OWL. The current version of the semantic annotation tool — Pro-SEAT can read original process models created in Metis and OWL ontologies. The main task of the tool is to apply the annotation framework to build relationships between models and ontologies. 1 http://www.computas.com/templates/Page____371.aspx 93 94 CHAPTER 6. PRO-SEAT (PROCESS SEMANTIC ANNOTATION TOOL) As an output of the system, the annotation result is stored in an OWL instance file, separately from the original process model. 6.1.1 Process modeling environment — Metis Metis is an enterprise modeling environment. Metis provides a Metis Architect including: • Model Browser. Provides end-users with ability to view (read-only) models published on the Internet or local area network. • Model Annotator. Model reviewers can offer comments and feedback in "sticky note" style. Annotated models provide an easily accessed audit of proposed model changes and decisions. • Model Editor. Creates visual models from enterprise data and can accommodate change on a detailed, operational level to assure information relevancy. It also allows users to publish models to a web server. • Model Designer. Targets the more advanced modelers responsible for visual display and dynamic behavior of models, objects, and relationships. • Model Developer. Offers a powerful development tool for advanced developers who need to create, adapt, or extend objects, relationships, and search criteria within a meta-model template. • Data Import Facility. Allow users to visually model how external data should be imported into Metis. Metis is a family of integrated products for visual model development and publishing plus a repository. Metis is a XML modeling tool and all models and meta-models are stored in an XML repository. The entire tool is configured by XML Schemas, and can be used to create or extend XML Schemas. The point-and-click publishing capability produces Web-browsable XML graphical models and views [51]. The XML files of models which are created in Metis are the inputs to Pro-SEAT. Therefore, Pro-SEAT should provide support to parse and read Metis generated models. 6.1.2 Ontology modeling environment — Protégé-OWL editor The Protégé-OWL editor is an extension of Protégé [147] that supports the Web Ontology Language(OWL). The Protégé-OWL editor enables users to load and save OWL and RDF ontologies; edit and visualize classes, properties and SWRL rules [202]; define logical class characteristics as OWL expressions; execute reasoners such as description logic classifiers; edit OWL individuals for Semantic Web markup [148]. We make use of the Protégé-OWL editor as the ontology modeling environment to model the GPO, the domain ontology and the goal ontology. Those onologies are then saved in OWL files which will be loaded in the annotation tool. The annotation results — PSAM models generated from the annotation tool are in OWL. The results can be loaded in Protégé-OWL editor so that we can use Protégé-OWL editor to edit, visualize, and reason on the PSAM models independent from the annotation tool. 6.1. COMPONENTS OF PROTOTYPE ENVIRONMENT 6.1.3 95 System modules in the semantic annotation tool — Pro-SEAT Pro-SEAT includes a module to read and display the Metis process models as the source of process knowledge. Because meta-models and models generated by Metis are both in XML format, an XML parser is needed when reading models. There are several XML parsers available. Since it is a prototype, we did not examine the performance of different parsers at this stage. We chose XML DOM Parser from JAXP [179] to parse meta-models and models into DOM tree nodes, so that meta-models and models are displayed in a tree view. Besides, profile and meta-model annotation results are exported in XML format and they will be parsed when being loaded. Figure 6.1: System modules of the prototype In order to keep the Metis model structures and also facilitate the manipulation of models, a module of constructing parsed data into Metis model structures is developed in the system. In the module, a set of Java Classes and Interfaces are defined which follow the data structures of Metis. An ontology management module is required for loading, parsing and manipulating OWL ontologies using the Protégé-OWL API [146]. The Protégé-OWL API is an opensource Java library for the Web Ontology Language and RDF(S). The API provides classes and methods to load and save OWL files, to query and manipulate OWL data models, and to perform reasoning [146]. By applying the Protégé-OWL API, we can have the Protégé ontology browser and the ontology selection panel integrated in ProSEAT. The PSAM model generated from a meta-model annotation file is an OWL file, and the annotation results are stored as instances of this OWL file. We can use the same module of handling the OWL ontology to open and save the annotation results. The central modules of the system are those realizing the annotation phases defined in the semantic annotation framework: profile annotation module, meta-model annotation module, model annotation module, and goal annotation module. The main functions of those modules are connecting models and ontologies through semantic relationships which are defined as annotation properties in PSAM. The annotation results are saved respectively in a profile annotation result file, a meta-model annotation result file and a PSAM file. 96 CHAPTER 6. PRO-SEAT (PROCESS SEMANTIC ANNOTATION TOOL) A process knowledge query application module interacts with the OWL module by loading the ontology and the annotation results for an ontology-based query. The user interface module manages interactions between a user and the system, so that it connects most system modules. Figure 6.1 specifies the interaction relations between those system modules. 6.2 Data Structure In this section, we present the data structures using RML from the logical view to specify the interrelations between the entities participating in the system. We have adapted the MDD (Model Driven Development) methodology in the design and the implementation of the prototype. The structured entities in the design phase correspond to the Java Classes and Interfaces in the implementation. Figure 6.2: Structure of entities in the Pro-SEAT prototype Figure 6.3: Structure of entities in the profile annotation First, we provide an overview of data structures of the entities in Figure 6.2. Generally, an annotation structure is the annotation link between a model and the annotation framework. A model usually consists of meta-model file(s) and model file(s). Both 6.2. DATA STRUCTURE 97 types of model files share same features such as "file name", "file suffix" and "file type". Profile annotation, meta-model annotation, model annotation and goal annotation are four components of the annotation framework. Ontologies (GPO, domain ontology and goal ontology) are the reference ontologies in the different annotation components. A PSAM file is derived from GPO and its content comprises the model annotation and the goal annotation. The schema of PSAM models we defined in section is in fact the extended GPO model in OWL, which is included in section G.1 of Appendix G. Next we describe the data structure of each annotation component. In Figure 6.3, any model is the target of a profile annotation and URIs of reference ontologies are to be specified in the profile annotation. Figure 6.4: Structure of entities in the meta-model annotation Figure 6.5: Metis meta-model structure For a meta-model annotation (Figure 6.4), the meta-model file is the annotation target and the reference ontology is GPO. A meta-model file is composed of meta-model elements. GPO contains a number of the GPO concepts. The meta-model annotation results are composed of semantic mappings between meta-model elements and the GPO concepts. In the current version of the prototype, only Metis models are imported. In Figure 6.5, two specific modeling languages are exemplified in the data structure of the Metis meta-model elements. 98 CHAPTER 6. PRO-SEAT (PROCESS SEMANTIC ANNOTATION TOOL) Figure 6.6: Structure of entities in the model annotation Figure 6.7: Metis model structure Figure 6.6 displays the structure of entities in the model annotation, in which a model file is the annotation target. The model file is composed of model constructs. The ontological concepts defined in a domain ontology are referenced or semantically mapped to model elements in the model annotation. The Metis model element is one kind of model element and its members include ’Object’ and ’Relation’ — two abstract types in the meta-level definitions of the Metis model (Figure 6.7). In Figure 6.8 we can see that the structure of entities in the goal annotation analogous with the model annotation. One distinct difference is that an intermediate granularity of the model — model fragment is between a model file and model elements. The goal annotation can link a goal ontology concept to a model fragment that comprises several model elements. In terms of the process model annotation, the process model fragments are composed of a set of activities (Figure 6.9). 6.3. GOAL ANNOTATION ALGORITHM 99 Figure 6.8: Structure of entities in the goal annotation 6.3 Goal Annotation Algorithm In the current version of Pro-SEAT, there are no particular algorithms to implement the manual procedures of profile, meta-model and model annotations. However, based on the formal definitions of goal annotation (see Chapter 5), we design algorithms to semi-automate the goal annotation procedure. A semi-automatic goal annotation is implemented through the algorithms in the following cases. • A. Match a target activity (av0) of a goal (g) in the goal ontology (G) with the Activity (av) in a PSAM model. • B. Match a target artifact (a f 0) of a goal (g) in the goal ontology (G) with the Artifact (a f ) and Output (o) in a PSAM model. • C. Match a target role (ar0 ) of a goal (g) in the goal ontology (G) with the Act-role (ar) in a PSAM model. • D. Match a target constraint (c0 ) of a goal (g) in the goal ontology (G) with the Precondition (pre), Postcondition (post), and Exception (e) in a PSAM model. To automate the matching, we exploit semantic mappings through both ontology comparison and string match between ontology references and model elements. To rank mapping results, weights are assigned to the different ways of mapping (σ is for a weight of ontology comparison. τ is for a weight of string match). In ontology comparison, three different semantic relationships applied in model annotation are taken into account in the assignment of weights. The synonym ("same_as") relationship is given the highest weight for a complete match (σ = 1), and the hypernym ("kind_of") 100 CHAPTER 6. PRO-SEAT (PROCESS SEMANTIC ANNOTATION TOOL) Figure 6.9: Structure of process model fragment is given a lower weight for a subsumption relationship (σ = 0.8), and the meronym ("phase_of" for activity, "part_of" for artifact, "member_of" for actor-role) is given the lowest weight for a subset relationship (σ = 0.5). In the string match, an exact match gets higher weight than a sub-string match (τ = 1 for exact match, and τ = 0.5 for sub-string match). Weights are also different for each case. We set different weight parameters for four cases matching. Values of parameters can be set by users. For example, α is used as the weight for calculation results of ontology comparison in case A, and ε is for calculation results of ontology comparison in case C. Details of the algorithm are described in Appendix D. When matching a goal concept (g) with an activity (av) in models, all the four cases must be checked on g and av. The result of a match is a total weight by summing the calculation results from four cases. The higher total weight is, the better g matches av. 6.4 Functionality and User Interface The main functionalities of Pro-SEAT in this prototype version are as follows: profile annotation, meta-model annotation, model annotation, goal annotation and querybased model navigation. UI (User Interface) for each annotation phase has a similar layout, which is built as a template and instantiated for different annotation phases. Figure 6.10 shows main user interface components in the Pro-SEAT tool. A meta-model tree and a model tree are listed on the left side of the main frame. The meta-model and the model trees have the same hierarchical structure as the tree structure viewed from the Metis tool. The panel on the right side is for manipulating annotations and displaying results. If it is an ontology-based annotation, such as a meta-model, a model or a goal annotation, a reference ontology browser will be opened and embedded on the right annotation panel. A console is located at the bottom of the frame. Figure 6.10 is an instantiation of the user interface template for a metamodel annotation. Appendix E presents and visualizes the graphical user interfaces of 6.5. SUMMARY 101 Figure 6.10: Main components of the UI in Pro-SEAT Pro-SEAT for each annotation phase. In the current version of Pro-SEAT, a navigator UI provides the function of querybased model navigation (Figure 6.11). The process knowledge user can select a reference ontology concept as the query word and submit the query to the system. During the query, the system can make inference based on the ontology. Therefore, the system would return the model elements annotated with not only the given ontology concept but also the inferred concepts of the given ontology concept. Inferences concerned in a query includes semantic equivalence, subsumption and aggregation relationships between concepts. 6.5 Summary The proposed annotation approach could be realized through different tool implementations by various technologies. The prototype developed in this work shows one possible implementation. This annotation tool provides a way of annotating meta-models and model elements with OWL ontological concepts. The current version of the model annotation tool is mainly designed for interpreting models created by the Metis tool. It can be extended to import other models produced by different modeling tools. Because the tool integrates the Protégé-OWL API, it can load any OWL ontology created by Protégé. 102 CHAPTER 6. PRO-SEAT (PROCESS SEMANTIC ANNOTATION TOOL) Figure 6.11: The UI of process knowledge navigator in Pro-SEAT Annotation results are stored in OWL files which are separated from the original models. Links to the original models are specified in the annotation results. It indicates that one model may have more than one annotation file. Different annotation results might be used for different applications. Annotation results are modeled in an annotation schema which is built on GPO – a process meta-model ontology. Hereby, the annotation schema is defined as ontology properties of GPO. The annotation schema can be extended through extending properties of GPO. The annotation schema is independent of this annotation tool and it can be interpreted by any OWL reader. One of the limitations of the tool is a lack of the visual model explorer. Only a tree view of the model hierarchy is provided. Moreover, when re-generating the PSAM models from a meta-model annotation, the results of the model and the goal annotation will be lost. Most of the annotation work is still manual. Automatic annotation using the mapping algorithm can be considered in the further development of the annotation tool. Chapter 7 Exemplar Studies and Application System Having the methodology guidance and tool support, we can demonstrate the semantic annotation approach in exemplar studies. In the study, we have process models that describe a same business domain (logistics process) but are modeled in different modeling languages and by different enterprises. We need domain and goal ontologies about such a business domain for the annotation. Since there are no formal logistics ontology available, we formalize the SCOR (Supply Chain Operations Reference-model) [163] specifications into logistics domain and goal ontologies using OWL. Following the semantic annotation framework and methods, we deploy the annotation by using ProSEAT. Complete annotation results are used in the evaluation phase to validate the applicability of the semantic annotation approach in a process knowledge management application. Therefore, a system architecture is also depicted in this chapter to exploit a process knowledge management application based on the semantic annotation framework. 7.1 Semantic Annotation Procedure The semantic annotation employed in the exemplar studies consists of four phases: profile annotation, meta-model annotation, model annotation and goal annotation (Figure 7.1). In a profile annotation phase, the annotator inputs basic information following the format of metadata which has been defined in Table 4.1. A general process ontology is employed to map process modeling constructs in a meta-model annotation. Based on the meta-model annotation results, PSAM can be initially generated for a new model annotation. The model content represented by PSAM is then annotated with the domain ontology in the model annotation phase. A goal annotation is employed as a succeeding step of the model annotation, i.e. annotating PSAM with goal ontology. Generally, the meta-model, model and goal annotation phases should be implemented step by step in a sequence, but the profile annotation can be made at any time. For example, the URI of the domain ontology can be inputed when the domain ontology is loaded for the model annotation. After completing all the four phases, process models become the process knowledge represented in PSAM models. 103 104 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Figure 7.1: Semantic annotation process based on PSAM 7.2 Exemplars Three process models have been chosen in order to explicate how the proposed semantic annotation framework and approach are applied in the process knowledge management of heterogeneous process models. The models are from two different enterprises, and they are created in different modeling languages. The business processes described in those models are from logistics domain. PM A is from enterprise A and it is a purchase order process made in BPMN [12], whilst two other models PMB1 (an item receiving process) and PMB2 (an item delivery process) from logistics department in enterprise B are built in EEML [77]. The models depicts different detail of process knowledge, because two enterprises have different ways of dealing with their business. For example, the delivery process models for enterprise B are relatively simple compared with the delivery processing in enterprise A. However, both of them can achieve the same goals. 7.2.1 Sales logistics process in BPMN The case of enterprise A is taken from [48]. PM A is a big model covering most detail processes of sales logistics. The process model includes the following main activities — Client RFQ processing, Client quotation processing, Standard order processing, Delivery processing, Shipping processing and Bill processing. Four actors are involved in PM A — client, sales department, financial department, and logistics department. Client RFQ processing, Client quotation processing, Standard order processing and Bill processing are mainly carried out by sales department and interacted with client. Delivery processing and Shipping processing are the main activities in the logistics department. Both Delivery processing and Standard order processing need the task credit control in the financial department. Client RFQ processing and client quotation processing In PM A, the client RFQ processing can produce the quotation created from the inquiry or the inquiry is rejected if it is invalid. Analogously, after the client quotation processing, the validity of the quotation is checked. The quotation might be rejected if it is invalid, otherwise it can be referred to by an order in the standard order processing. 7.2. EXEMPLARS Figure 7.2: Sales logistics process of enterprise A in BPMN 105 106 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Standard order processing and credit control Standard order processing begins when an order is placed. In this processing, the order must be checked and edited accordingly. The credit control in financial accounting is carried out just following the task – edit order. After credit control, one of three tasks is possible: 1)accept order, 2)block order, or 3)reject order. Delivery processing The delivery will be opened when the delivery date takes place. Once opened, the credit control is carried out to check if the credit requirements are fulfilled. If the credit control is successful, a series of tasks follow, such as determine or transfer delivery route, determine serial numbers of delivery item, check the stock of the delivery items, determine picking place and delivery batch, check the availability of delivery items (fully or partially available). If the partial delivery is not allowed, the delivery quantity can be accordingly corrected or items are rejected. Next, the delivery items are picked completely or partially. The task – pick delivery items, can be iterated if the partially picked occurs and the picking is carried out again. Pack delivery items follows the task of picking delivery items. As a result, a delivery is created at the end of the delivery processing. Figure 7.3: Checking availability of the delivery of enterprise A in BPMN Shipping processing and bill processing The shipping processing starts with the task of transportation planning after the delivery processing. Based on the planning, the transportation processing takes place. The shipping papers and the bill are consequently created and checked. The original models of PM A displayed in Figure 7.2. Some details of the delivering are illustrated in Figure 7.3 and Figure 7.4. The main processing and tasks described in the exemplar are modeled as the BPMN Logical Processes and are allocated into different Swimlanes which represent the four actors in the BPMN model. Sequences of the processing are represented by the control and flow notations. 7.2. EXEMPLARS 107 Figure 7.4: Picking, packing and create delivery of enterprise A in BPMN 7.2.2 The TelCo item receiving and delivery process in EEML The second case is from INTEROP project [145]. Enterprise B is specialized in telecommunications, in production and distribution of batteries, as well as in retail sales of everyday technology products. The company is called TelCo. TelCo does not have its own warehouse but uses the services of logistics company – Orbit Ltd. But TelCo has its logistics department who is responsible for items receiving and delivering. Thus the main functions of logistics department are to make orders and control Orbit Ltd. In PMB1 and PMB2 , the item receiving process and the item delivery process are described as a series of EEML tasks. The actors in the PMB1 are commercial department, logistics department and Orbit warehouse, whilst the actors in the PMB2 are logistics department, IT, sales department, financial department, Orbit warehouse, franchisee and shop. Those actors are modeled as the EEML organization in both models. Item receiving process PMB1 depicts the items receiving process of the TelCo company (Figure 7.5). The logistics department receives orders to suppliers about expected quantities of items, and then starts to receive the items. After receiving the items, the logistics department checks the items. These are sub-tasks included in some tasks in the model because of three types of items receiving — regular orders to local suppliers, consignment and import. In the case of the regular orders to local suppliers, they deliver the items with protocols and issue an invoice. In the case of the import deliveries, sometimes there are differences in quantities received from a foreign supplier. The department issues a protocol for the whole quantity and another protocol for the deficit with minus quantity. The second protocol is followed by an export invoice or an invoice to the insurance company. The process details are described in the decomposition of the task check import items in Figure 7.6. After checking the items, the received items will be transferred to Orbit. 108 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Figure 7.5: TelCo item receiving process Figure 7.6: Decomposition of the check items 7.2. EXEMPLARS 109 Figure 7.7: The item delivery process of enterprise B in EEML Figure 7.8: The delivery process to franchisees of enterprise B in EEML Meanwhile the department sends a report to Orbit in order to inform them what to expect. Item delivering process PMB2 is the item delivery process in the TelCo case. Items are delivered to shops and franchisees. On a certain date (predefined) all orders from one shop are consolidated. The orders are checked against the available stock. The orders are corrected if there is not enough items in the stock. The order correction procedure is set by the sales department and it is processed using an external application in the IT department. After all the orders for a day are approved, items are to be delivered. If it is a franchisee order, it is followed by a delivery protocol and an invoice. The invoice is issued in the Orbit warehouse and is sent to the customer along with the items. If it is an order from a shop, there follows only a delivery protocol. 110 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Figure 7.9: The delivery process to shops of enterprise B in EEML The delivery processing of PMB2 describes only a part of the sales logistics process. PMB2 in EEML is illustrated in Figure 7.7, and some of the process detail is displayed in Figure 7.8 and Figure 7.9. 7.3 SCOR Reference Ontology SCOR is a process reference model that has been developed and endorsed by the SupplyChain Council as the cross-industry standard diagnostic tool for supply-chain management. A SCOR reference model has been developed to describe the standard business activities associated with all phases of satisfying a customer’s demand. As standards, the model can be formalized as a reference ontology for supply-chain management domain. There are three level process details in the reference model. The top level defines the scope and content of SCOR. Five process types — Plan, Source, Make, Deliver and Return are defined at this level. The second level is the configuration level defining the core "process categories". The third level is the process element level, decomposing the process categories into the process elements. The process element level consists of process element definitions, process element information inputs, and outputs, process performance metrics, best practices, system capabilities required to support best practices, and systems/tools. As an example, a logic flow of the SCOR level 3 process elements is depicted in Figure 7.10. The level 3 process elements provide enough details of references for domain activities. In this work, we model domain ontology concepts based on the SCOR process elements at level 3 for model annotation purpose. The SCOR ontology from the INTEROP project [62] is extended. The extended ontologies include SCOR_INPUT_OUTPUT, SCOR_MGM_PROCESS and SCOR_ORGANISATION. SCOR_INPUT_OUTPUT are objects which are needed or produced by SCOR process elements. SCOR_MGM_PROCESS are the SCOR process elements at level 3 which are organized in a hierarchy following the SCOR 7.3. SCOR REFERENCE ONTOLOGY 111 Figure 7.10: SCOR S1 process of sourcing stocked product [164] levels (from level 1 to level 3). SCOR_ORGANISATION are organizations/persons who are involved in the process elements. The goal ontology in this domain is also from SCOR. Usually the hard goals are derived from process elements and also from their inputs and outputs. Performance attributes defined in SCOR can be modeled as a set of General Soft Goal Category such as Reliability, Responsiveness, Flexibility, Cost, and Assets. Domain specific soft goals are derived from the metrics of performance attributes [167]. The SCOR ontology is formalized in OWL. To organize those concepts, we categorize domain concepts with the 3A concepts (Activity, Artifact, Actor-role) defined in GPO. The purpose of the categories is to establish the mapping relationship between a PSAM model and the reference ontology when annotation. The categories and concepts are modelled as OWL Classes, and they are organized by a subsumption hierarchy. The ontology concepts which are organized in "SCOR_MGMT_PROCESS" are sub-classes of Activity, the input/output ontology concepts ("SCOR_INPUT_OUTPUT") are sub-classes of Artifact and the organizational ontology concepts ("SCOR_ORGANIZATIONAL") are sub-classes of Actor-role. 112 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Table 7.1: OWL definition of the SCOR ontology OWL Ontology Class SCOR_MGMT_PROCESS Subsumption Relation owl:subClassOf Activity OWL Properties hasInput hasOutput precedes isPrecededBy SCOR_INPUT_OUTPUT owl:subClassOf Artifact isInputTo isOutputOf has_state SCOR_ORGANIZATIONAL Goal owl:subClassOf Actor-role has sub-Class Hard Goal, Soft Goal Property Range multiple SCOR_INPUT_OUTPUT multiple SCOR_INPUT_OUTPUT multiple SCOR_MGMT_PROCESS multiple SCOR_MGMT_PROCESS multiple SCOR_MGMT_PROCESS multiple SCOR_MGMT_PROCESS (data property inherited from Artifact has_parts multiple Goal part_of targetActivity targetArtifact targetRole targetConstraint multiple Goal multiple Activity multiple Artifact multiple Actor-role (data property) Each SCOR_MGMT_PROCESS has object properties hasInput and hasOutput to specify inputs and outputs of each process element. The object properties precedes and isPrecededBy indicate logic flows between the process elements. Inversely, SCOR_INPUT_OUTPUT has the object properties isInputTo and isOutputOf to relate itself to SCOR_MGMT_PROCESS. A data property has_state is defined as a property of Artifact. This property can be used associated with isInputTo and isOutputOf properties to indicate that a same artifact with different states represents different inputs/outputs. Goal ontology concepts are organized into Hard and Soft Goals. Soft goals are further organized into some general soft goal categories. We integrate the domain ontology and goal ontology into one OWL file, because they are both derived from SCOR descriptions. According to the semantic representation of the goal ontology in Chapter 5, the values of the object properties targetActivity, targetArtifact, and targetRole are from the domain ontology Activity, Artifact and Actor-role respectively. TargetConstraint is modeled as a data property since there is no corresponding ontological definition in the domain ontology. A pair of inverse properties has_parts and part_of are defined for a goal concept to represent the semantics of goal decomposition. An OWL model of the SCOR ontology is presented in Table 7.1. The identified domain and goal concepts from the SCOR specifications are modeled as sub-Classes of the above categories. Values of the properties for a SCOR Class are specified through the OWL restrictions. As examples, Figure 7.11, Figure 7.12, Figure 7.13 and Figure 7.14 illustrate the sub-Classes of the SCOR_MGMT_PROCESS, SCOR_INPUT_OUTPUT, Hard Goal and Soft Goal in the Protégé-OWL editor. 7.4. ANNOTATION OF PROCESS MODELS WITH PRO-SEAT 113 Figure 7.11: SCOR process element S1.2 Receive Product in Protégé-OWL editor Figure 7.12: SCOR input/output Sourced Product On Order in Protégé-OWL editor 7.4 Annotation of Process Models with Pro-SEAT In this section, we will describe the annotation of PM A, PMB1 and PMB2 with the ProSEAT annotation tool. The annotation follows our semantic annotation framework and approach, including profile annotation, meta-model annotation, model annotation and goal annotation. 7.4.1 Profile annotation The descriptive and technical information about models in the profiles are important in this scenario. Title and description of models may help to identify the model content in general. The title of PM A is "sales logistics process" and the main processing is depicted in the description. The titles of PMB1 and PMB2 are "stock logistics process" and "delivery logistics process" respectively. In this scenario, the three models are classified under the same category "Business and Economy" [211] and domain is "SCO 114 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Figure 7.13: SCOR hard goal Sourced Products are Verified in Protégé-OWL editor (Supply Chain Operations)". The SCOR ontology is therefore a domain ontology in the exemplar studies. We assume that the reference domain ontology applied in the annotation is SCOR (Supply Chain Operations Reference-model) [163]. The URI and URL of SCOR ontology are specified in the profile annotation. Technical information about PM A shows that the modeling language is BPMN, the language_version is 1.0, and the modeling tool is Metis 5.2.2. PMB1 and PMB2 are also built with the tool Metis 5.2.2 but the modeling language is EEML and the version of EEML is 2005. Part of profile annotation of PM A is exemplified in a tag language as follows. ... <dc:title>sales logistics process</dc:title> <profileAnno:category>Business and Economy</profileAnno:category> <profileAnno:domain>SCO</profileAnno:domain> ... <profileAnno:modeling_langugage>BPMN</profileAnno:modeling_language> <profileAnno:language_version>1.0</profileAnno:language_version> <profileAnno:modeling_tool>Metis 5.2.2<profileAnno:modeling_tool> ... 7.4.2 Meta-model annotation The annotation of meta-models in this scenario includes annotating BPMN 1.0 and EEML 2005 with GPO. The mapping rules as defined in the semantic annotation framework, meta-model elements can be one-to-one, many-to-one or combined-to-one mapped to a GPO concept. Table 7.2 shows the mapping results for meta-model annotation. During the implementation of the annotation tool, we made practical adjustments to the GPO as follows. WorkflowPattern is simplified by specifying sequences of activ- 7.4. ANNOTATION OF PROCESS MODELS WITH PRO-SEAT 115 Figure 7.14: SCOR soft goal Improve Supplier Delivery Performance in Protégé-OWL editor Table 7.2: Mapping the EEML and BPMN meta-model elements to the GPO concepts GPO concepts Activity Actor-role EEML elements in METIS 5.2.2 Task Organization, Person Artifact Resource, Role, Information Object, Software Tool, Manual Tool, Material Tool, Location Input Port Output Port Combination of Flow, Milestone and Decision Point Input Output WorkflowPattern Precondition Milestone, Decision Point Postcondition Milestone, Decision Point Exception Decision Point BPMN elements in METIS 5.2.2 Logical Process Swimlane including Horizontal Swimlane and Vertical Swimlane Data Object, property ’Data’ in Event Input Output Combination of Event (including Start Event, Intermediate Event, End Event), Sequence Flow, Gateway Event (including Start Event, Intermediate Event), Gateway Event (including End Event, Intermediate Event), Gateway Event (when event type is error) together with Sequence Flow ities with the properties has_precedingActivities and has_succedingActivities of Activity. Moreover, mapping the same meta-model element to two different GPO concepts is not supported, because it produces the identical instances of different OWL Classes ( e.g. a same milestone in the EEML model will be the instance of Precondition and the instance of Postcondition at the same time). This violates the OWL modeling principle that instances of different OWL Classes should be unique. A solution of the implementation of Pro-SEAT is to modify the GPO ontology by inserting an abstract concept Condition as the super-Class of Precondition and Postcondition. The mapping between the modeling elements and Precondition/Postcondition is therefore transferred to the mapping between the modeling elements and Condition. The distinction of Precondition and Postcondition ( i.e. which model element is the instance of Precondition and which model element is the instance of Postcondition) can be specified in the model annotation phase through the properties has_Precondition and has_Postcondition of an Activity. 116 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM After the meta-model annotation, three models can be represented using GPO concepts through the meta-model mapping. The contents in different models are then expressed in a same process knowledge representation language, e.g. an Activity named "check availability of delivery item" has an Actor − role called "logistics department" in enterprise A (originally represented in PM A as a logical process "check availability of delivery item" in a swimlane "logistics department" in BPMN) vs. an Activity named "check stock" has an Actor − role called "logistics department" in enterprise B (originally represented in PMB2 as an organization object "logistics department" participates in the task "check stock" in EEML). 7.4.3 Model annotation In the model annotation phase, model elements as GPO instances will be annotated with reference ontologies. Since PM A and PMB2 are about the delivery process, the reference ontologies for annotating the Activities are mainly from the category DELIVER under SCOR_MGMT_PROCESS. Furthermore, the products are stocked products so that the process elements of D1 Deliver Stocked Product are the corresponding references. For PMB1, most of the Activities refer to the process elements of S1 Source Stocked Product. Artifacts and Actor-roles refer to the SCOR_INPUT_OUTPUT and SCOR_ORGANIZATIONAL for all three models. Relationships between model elements such as has_subActivity, has_Input, has_Output, etc. (defined in GPO) should be instantialized in the model annotation phase. Some of the relationships can be directly transformed from the original process models, and some are specified by the annotation user. Such annotations can enrich the implicit semantics in the original models or compensate for the lost information caused by the transformation from the meta-model annotation. 7.4.4 Goal annotation For the goal annotation, the semi-automatic goal annotation function of Pro-SEAT is run in the exemplar studies. Through the execution of goal annotation algorithms defined in section 6.3, the possible goal annotation results can be deduced automatically based on the model annotation information. Pro-SEAT provides a list of goal options by matching the SCOR goal ontology with the PSAM models. From the list, annotation users then select suitable goals manually to annotate the model fragments. 7.4.5 Annotation results Complete annotation results of three models are presented in Appendix H in OWL. For the sake of representation clarity and limited space, in this section we represent parts of the annotation results of three models in Table 7.3, Table 7.4 and Table 7.5. The first column of the tables lists the PSAM Activity instances which are also the model elements of Logic Process in PM A or Task in PMB1 and PB2 . The second column is the model annotation result: the Activities are annotated with SCOR process elements or categories through the semantic relationships same_as, kind_of and phase_of. The third and fourth columns are the goal annotation results. The SCOR goal ontology is associated with each Activity instance in the case of achieving certain hard goals, 7.5. PROCESS KNOWLEDGE MANAGEMENT SYSTEM 117 positively and/or negatively satisfying soft goals. Details of the annotation analysis are depicted in Appendix F. After annotating all the Activities, Artifact, Actor-role, Input and Output of a PSAM model with domain ontology, the knowledge representation of those process models is aligned with the SCOR ontology. Thus the process knowledge is explicit and open to a third party who is interested in model exchange, system integration and business cooperation in the SCOR domain. Goal-oriented analysis and goal-driven search of process models and model fragments can be deployed based on the SCOR goal ontology which is referenced in the annotation. For instance, the annotation information can help an analyst to find out the processes which are related to the verification costs. 7.5 Process Knowledge Management System Based on Semantic Annotation Generally knowledge management (KM) refers to a range of practices used by organizations to create, codify, and disseminate knowledge for reuse, awareness and learning within or across the organization. In the context of the thesis, process models from different enterprise systems are distributed process knowledge to be managed for the cooperation business. The hypothesis is that process models have been represented in our process annotation models — PSAM models in OWL, which is a way to represent process knowledge. However, enterprises need a service to manage the desired knowledge. Therefore, the management service should provide the query functions to set users’ search conditions and then return search results. The search conditions can be set based on profiles or contents of process models. The query should not only be keyword-based but also ontology-based, so the semantic relationships among queries and models/model fragments should be machine-interpretable during the query. Moreover, users need the system to help them "discover" knowledge, to do this users need only provide the business goals and the system should return the process models/knowledge fulfilling the goals. Since the process knowledge is represented by process models, the search results are models or model fragments. No matter which way to represent the models — the visual display or the textual description, the knowledge management service should allow the users to navigate the knowledge conveniently, such as providing both a complete view and a partial view of models/model fragments. Following our semantic annotation framework, an enterprise can use the semantic annotation client tool to annotate model resources. The client tool sends the annotation models to the server through which the process knowledge is stored into a knowledge repository. Since the annotation models are represented in OWL — XML-based files, the repository is an XML-based repository. The process knowledge query, discovery and navigation functions can also be implemented as user interfaces on client side. Knowledge users can edit the search queries and business goals on the client side and submit the queries and goals to the server. The search and discovery services are executed on the server. The search results are returned from the server to clients. Finally, users can navigate the returned process knowledge/models on the client side. 118 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Table 7.3: Part of semantic annotation results of PMA PSAM Activity Instance Client RFQ processing Client quotation processing Standard order processing Semantic Annotation Credit Control phase_of D1.2 Receive Enter and Validate Order kind_of ED.5 Manage Deliver Capital Assets phase_of D1.1 Process Inquiry and Quote phase_of D1.1 Process Inquiry and Quote same_as D1.2 Receive Enter and Validate Order Monitor date delivery phase_of ED.1 Manage Deliver Business Rules Check items delivery phase_of D1.3 Reserve Inventory and Determine Delivery Date Check availability of delivery items phase_of ED.3 Manage Deliver Information Create delivery kind_of ED.3 Manage Deliver Information Transportation planning same_as D1.7 Select Carriers and Rate Shipments Transportation processing same_as D1.12 Ship Product Goal Annotation Relations achieves achieves achieves achieves SCOR Goal Ontology Inquiry and Quotation is Processed Inquiry and Quotation is Processed Order is Consolidated; Order is Placed; Order is Processed; Order is Validated Order is Validate positively_satisfies Reduce Order Entry and Maintenance Costs; Increase Return on Deliver Capital Assets negatively_satisfies Reduce Order Processing Time positively_satisfies Improve Deliver to Customer Delivery to Date Performance; Improve Deliver to Customer On Time Delivery Performance positively_satisfies Improve Deliver Performance; Raise Order Quantity Fillrate positively_satisfies Ensure Full Delivery; Improve Deliver to Customer On Time Delivery Performance; Improve Delvier to Customer Delivery to Date Performance achieves Delivery is Scheduled; Delivery Terms are Generated positively_satisfies Ensure Full Shipment; Ensure Full Delivery achieves Delivery is Scheduled positively_satisfies Ensure Full Shipment; Reduce Order Shipment Time achieves End Items are Delivered 7.5. PROCESS KNOWLEDGE MANAGEMENT SYSTEM 119 Table 7.4: Part of semantic annotation results of PMB1 PSAM Activity Instance Get the order to suppliers Semantic Annotation phase_of S1.1 Schedule Product Deliveries Goal Annotation Relations achieves positively_satisfies Check items from local suppliers kind_of S1.3 Verify Product achieves positively_satisfies Check consignment items kind_of S1.3 Verify Product achieves positively_satisfies Check items imported kind_of S1.3 Verify Product achieves negatively_satisfies check the item quantities Issue the deficit protocol phase_of S1.3 Verify Product achieves phase_of ES.9 Manage Supplier Agreements achieves negatively_satisfies Issue an export invoice phase_of S1.5 Authorize Supplier Payment achieves negatively_satisfies store items in Orbit kind_of S1.4 Transfer Product achieves SCOR Goal Ontology Sourced Product are On Order; Order is Placed Reduce Order Processing Time; Reduce Order Receipt Time Sourced Product are Verified Reduce Order Receipt Time Sourced Product are Verified; Product Quality is Approved Reduce Order Receipt Time; Reduce Verification Costs Sourced Product are Verified; Procurement Notification to Supplier Reduce Order Processing Time; Improve Supplier On Time Delivery Performance; Process Invoice Without Error; Reduce Order Processing Costs; Reduce Order Receipt Time; Reduce Verification Costs Product Quantity is Approved Procurement Notification to Supplier Reduce Order Processing Time; Improve Supplier On Time Delivery Performance; Reduce Order Processing Costs; Reduce Order Receipt Time Payment is Authorized to Supplier Reduce Order Processing Time; Reduce Order Processing Costs; Reduce Order Receipt Time; Process Invoice Without Error Sourced Products are Transferred; Available Inventory 120 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Table 7.5: Part of semantic annotation results of PMB2 PSAM Activity Instance Consolidate orders Semantic Annotation Check stock phase_of D1.3 Reserve Inventory and Determine Delivery Date same_as D1.4 Consolidate Orders Correct orders phase_of D1.2 Receive Enter and Validate Order Credit control phase_of D1.2 Receive Enter and Validate Order kind_of ED.3 Manage Deliver Information Generate protocol delivery Issue invoice Send items Deliver items franchisees Deliver shops items kind_of ED.3 Manage Deliver Information phase_of D1.15 Invoice to to kind_of D1.12 Ship Product phase_of D1 Deliver Stocked Product phase_of D4 Deliver Retail Product Goal Annotation Relations achieves SCOR Goal Ontology Order is Processed; Order is Consolidated positively_satisfies Reduce Order Processing Costs; Reduce Order Processing Time achieves Order is Validated positively_satisfies Raise Order Quantity Fillrate achieves Order is Validated; Order is Processed positively_satisfies Ensure Full Delivery negatively_satisfies Reduce Order Entry and Maintenance Costs; Reduce Order Processing Time achieves Order is Validate positively_satisfies Reduce Order Entry and Maintenance Costs negatively_satisfies Reduce Order Processing Time achieves Delivery Terms are Generated positively_satisfies Improve Deliver to Customer Delivery to Date Performance; Improve Deliver to Customer On Time Delivery Performance achieves Invoice to Customer is Issued negatively_satisfies Reduce Invoice to Customer Processing Time; Reduce Invoice to Customer Processing Costs; Process Invoice Without Error achieves End Items are Delivered achieves Invoice to Customer is Issued; End Items are Delivered achieves End Items are Delivered positively_satisfies Reduce Order Shipment Time 7.5. PROCESS KNOWLEDGE MANAGEMENT SYSTEM 7.5.1 121 System architecture The architecture of the system for process knowledge management is shown in Figure 7.15. Since the process knowledge management system is based on the semantic annotations, we include the annotation client tool in the system architecture. In the context of this thesis, the annotation client tool is Pro-SEAT. Annotators works with the annotation client too to annotate the original process knowledge resources. Annotators in this scenario should be model experts and domain experts to assure the annotation quality1. The original process knowledge resources — models and meta-models in XML files and XML schema files are stored in the local process model repository. As references, ontologies are essential in our approach. Ontologies are stored on an ontology server. When annotators employ the annotation with the client tool, the selected ontologies must be loaded from the ontology server. The annotator should select appropriate domain ontologies and goal ontologies according to the ontology categories. The GPO ontology is only applied for the meta-model annotation. Completing the annotation, annotators submit the annotated process models and/or the annotated meta-models to process knowledge repository server. It is allowed to modify the annotated models stored on the knowledge repository server but the authorization and the authentication are required (which we do not consider in this approach). Knowledge users might be different from annotators. They do not know about the original process models but the system will assist them to access the desired process models. There are three applications for knowledge users, i.e. process knowledge query, discovery and navigation. Those applications are implemented by client user interfaces and application servers. Through the user interface, users can edit the queries or provide business goals. Queries can be keyword-based or ontology-based. For the ontology-based query, users can browse domain ontologies from the ontology repository and use ontology concepts to form a query. Goal ontologies can be applied by users to set goals for the knowledge discovery. When the application server receives queries or goal requirements from the client, the matchmaker component and the reasoner component co-work with ontologies to find process models. The reasoner uses description logic inference technology on both the ontological query and the ontological annotation, because ontologies and annotations are all in OWL. Based on the inference, the matchmaker matches user’s query/goals with annotated models in the repository. The application server sends the search results to the client and the returned knowledge/models can be explored by the client. Users can navigate process knowledge/models from different views according to the process properties defined in PSAM. 7.5.2 Semantic reasoning The underlying logic basis of OWL is description logic, which can provide the inference services of the knowledge for semantic reasoning (w.r.t. an ontology O ) [53]: • Consistency. Check if the knowledge is meaningful. (Is C is satisfiable w.r.t. O ? i.e. C I 6 = ∅ in some model I of O ?) 1 The quality of annotation affects the quality of knowledge. 122 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Figure 7.15: Architecture of the process knowledge management system based on semantic annotation • Subsumption. Structure knowledge and computer a taxonomy. (Does C subsume D w.r.t. O ? i.e. C I v D I in every model I of O ?) • Equivalence. Check if two classes denote same set of instances. (Is C equivalent to D w.r.t. O ? i.e. C I = D I in every model I of O ?) • Instantiation. Check if individual is an instance of a class. (Is x an instance of C w.r.t. O ? i.e. xI ∈ C I in every model I of O ?) • Retrieval. Retrieve the set of individuals that instantiate a class and a property. – Retrieve the set of i s.t. i ∈ C w.r.t.O . – Retrieve the set of (x, y) s.t. (x, y) ∈ R w.r.t.O . 7.5. PROCESS KNOWLEDGE MANAGEMENT SYSTEM 123 Semantic reasoning can be useful in the ontology-based querying of process knowledge. The reasoning about the classes and properties of an ontology is often called as T-Box inference, whilst A-Box inference is associated with instances of the classes [53]. In the process knowledge management system, the knowledge model PSAM is the instance of the GPO ontology and the contents in PSAM are from domain ontology (e.g. the SCOR ontology in the exemplar studies). Therefore, A-Box inference can be employed when retrieving the process model fragments which are represented as the GPO instances in the PSAM model. Meanwhile, T-Box inference can be applied on reasoning the semantic relationships of the ontological concepts between query and domain ontology. 7.5.3 Simple walkthrough examples We use some annotation results from the exemplar studies to exemplify how the system architecture and semantic reasoning technique are applied in the application of process knowledge management. Three enterprise models have been annotated with GPO and SCOR ontologies. The annotated model fragments represented in PSAM are stored in the repository, which are to be retrieved, discovered and navigated by model users. In one example, the model user needs to look for some model fragments about the process which deal with "Bill" in both enterprise systems. The following steps must be taken (formalized in (i), (ii), and (iii)): 1. The search question must be translated as a query using PSAM "language" derived from GPO ontology and terminologies from SCOR ontology. • The process is defined as Activity and "Bill" is instance of Artifact according to the GPO ontology. • The term "Bill" in the user’s question is same as the concept "Bill" in the SCOR ontology. • The query submitted to the system is then interpreted as "Find the Activities which have Artifact Bill.", which is formalized in (i) with respect to the GPO and SCOR ontology. 2. The system analyzes and executes the query accompanied with reasoner. • The reasoner employs the T-Box inference to get all the equivalent concepts and all the sub-Classes of Bill in the SCOR ontology, which is formalized in (ii). In this case, Invoice is semantically equal to Bill, and Bill of Materials is a sub-Class of Bill. • The query is expanded by the three concepts, i.e. "Find the Activities which have Artifact Bill, Invoice or Bill of Materials". • According to the PSAM annotation, the model instances of Artifact can have the references of Bill, Invoice, and Bill of Materials through the semantic relationships such as same_as, kind_of and part_of. The query is hereby expanded based on the annotation information, which is formalized in (iii). A-Box inference is applied in (iii) to find out the model fragments (x, y) which are annotated as the instances of Activity and Artifact. 124 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM ?x |( x, Bill ) ∈ R: has_artifact, x ∈ Activity w.r.t O gpo , O scor Query: T-Box inference: A-Box inference: (i) ? C |C = Bill w.r.t. SCOR ontology O scor ? C |C v Bill w.r.t. O scor (ii) ?y |( x, y) ∈ R: has_artifact, y ∈ Arti f act w.r.t. O gpo ( y, C) ∈ R: same_as, kind_of, part_of w.r.t. O gpo (iii) After running query and inference tasks, the system finds the following model fragments which are about the process dealing with "Bill": 1. PM A: "Check relevant bills". In the original model of PM A, this Activity has an Artifact "bill" which is annotated with the SCOR ontology concept "Bill". 2. PMB2 "Send items". In the original model of PMB2 , this Activity has an Artifact "invoice" which is annotated with the SCOR ontology concept "Invoice" (an equivalent concept of "Bill" in the SCOR ontology). Another example is about a goal query of process knowledge. The model user would like to search the process model fragments having the impact on the goal of improving delivery performance. Similar steps are undertaken formalized in (j), (jj), and (jjj): 1. The search question is translated as a query using PSAM, GPO and SCOR terminology. • Goal is only used to annotate Activity in PSAM, the search target is hence Activity of PSAM in the repository. • Improve Delivery Performance is a soft goal defined in the SCOR ontology, which is chosen as the keyword for the query. • An Activity in PSAM is annotated with a soft goal through the relationship positively_satisfies and negatively_satisfies. Therefore, the query submitted to the system is then interpreted as "Find any Activity which positively_satisfies or negatively_satisfies the goal Improve Delivery Performance". The query is formalized in (j). 2. The system analyzes and executes the query accompanied with a reasoner. • A reasoner employs the T-Box inference to get all the equivalent concepts, all the sub-Classes and all the composition members (has_parts) of Improve Delivery Performance, which is formalized in (jj): – The sub-Class inference results in Improve Deliver to Customer Performance and Improve Supplier Delivery Performance. – Process Invoice Without Error, Ensure Full Delivery and Decrease Percentage of Defective Supplied are the part-goals of Improve Deliver to Customer Performance. 7.5. PROCESS KNOWLEDGE MANAGEMENT SYSTEM 125 – Furthermore, through the transition of the inference, the composition members of Improve Deliver to Customer Performance (i.e. Improve Deliver to Customer On Time Delivery Performance, Improve Deliver to Customer Delivery to Date Performance) and of Improve Supplier Delivery Performance (i.e. Improve Supplier On Time Delivery Performance, Ensure Supplier Delivery to Date Performance) should also be involved in the query. • The query is expanded by those inferred concepts, i.e. "Find the Activities which positively_satisfies or negatively_satisfies the goals Improve Delivery Performance, Process Invoice Without Error, Ensure Full Delivery, Decrease Percentage of Defective Supplied, Improve Deliver to Customer Performance, Improve Supplier Delivery Performance, Improve Deliver to Customer On Time Delivery Performance, Improve Deliver to Customer Delivery to Date Performance, Improve Supplier On Time Delivery Performance, and Ensure Supplier Delivery to Date Performance." • When executing the query formalized in (jjj), C will be replaced by all the inferred concepts and A-Box inference is applied to locate the instance of Activity (x). Query: ?x |( x, ImproveDeliveryPer f ormance) ∈ R: positively_satisfies, negatively_satisfies, x ∈ Activity w.r.t O gpo , O scor T-Box inference: A-Box inference: ? C |C = ImproveDeliveryPer f ormance w.r.t. O scor ? C |C v ImproveDeliveryPer f ormance w.r.t. O scor ? C | ImproveDeliveryPer f ormance has_parts C w.r.t. O scor (j) (jj) ( x, C ) ∈ R: positively_satisfies, negatively_satisfies w.r.t. O gpo (jjj) After running the query and inference, the system finds the following model fragments which might have an impact on the goal of improving delivery performance: 1. PM A: "Check delivery items" (positively_satisfies Improve Delivery Performance); "Correct the delivery quantity" (positively_satisfies Improve Deliver to Customer Performance); "Check availability of delivery items" (positively_satisfies Ensure Full Delivery); "Monitor delivery date" (positively_satisfies Improve Deliver to Customer On Time Delivery Performance and Improve Deliver to Customer Delivery to Date Performance); "Edit partial delivery information" (negatively_satisfies Ensure Full Delivery). 2. PMB1 : "Receive items from local suppliers" (positively_satisfies Ensure Supplier Delivery to Date Performance and Improve Supplier On Time Delivery Performance); "Issue the deficit protocol" (negatively_satisfies 126 CHAPTER 7. EXEMPLAR STUDIES AND APPLICATION SYSTEM Improve Supplier On Time Delivery Performance); "Issue an export Invoice" (negatively_satisfies Process Invoice Without Error). 3. PMB2 : "Correct orders" (positively_satisfies Ensure Full Delivery); "Issue Invoice" (negatively_satisfies Process Invoice Without Error). 7.6 Summary In this chapter, we have exemplified the semantic annotations— profile annotation, meta-model annotation, model annotation and goal annotation through two exemplar studies. A BPMN model and two EEML models have been selected from two different business organizations in a same business domain about logistics processing. The representations of two models have shown the diversities of modeling notations, conceptualizations, terminologies, and business processing ways. GPO as the semantic mediator for modeling languages, has been mapped to BPMN and EEML in the metamodel annotation phase. Two models have been transformed into the PSAM models with Pro-SEAT. The SCOR reference model provides the process templates and standards of logistics process, and it has been chosen as domain ontology for the model annotation and the goal annotation. The level 3 process elements with inputs and outputs from SCOR have been formalized as SCOR domain ontologies in OWL. In order to facilitate the semantic reference from the PSAM model to the domain ontology, the SCOR concepts have been organized in Activity, Artifact and Actor-role categories. The goal ontology has been derived from the process elements, the inputs and outputs, and the metrics of performance attributes of the SCOR specifications. The semi-automatic goal annotation has been conducted by Pro-SEAT based on the goal annotation algorithms. To illustrate the applicability of the semantic annotation approach, we have outlined a process knowledge management system integrating the semantic annotation components. Making use of the Semantic Web technology, the semantic reasoning such as T-Box and A-Box inference has also been exemplified on the semantic annotation results for the process knowledge management purpose. In next chapters we will conduct more systematic evaluation and applicability validation of our method. Part III Evaluation 127 Chapter 8 Quality Evaluation of the Method Evaluation of the method and prototype implementation consists of two parts: 1) quality analysis of semantic annotation framework and method, and 2) applicability validation based on annotation results. In this chapter, we focus on the quality of our method. We apply a quality framework — SEQUAL to provide a systematic analysis on the quality of GPO (General Process Ontology), PSAM (Process Semantic Annotation Model) and the annotation tool Pro-SEAT. The quality of the work is evaluated based on the use experience of the exemplar studies, which is also related to the applicability validation of the work in Chapter 9. 8.1 Evaluation Design Since the underlying theory of our work is information modeling, we look at the criteria and metrics of the evaluation in the information modeling discipline. GPO and PSAM have been created for the knowledge representation of process models. If the PSAM definition in chapters 4 and 5 is regarded as a modeling language, GPO is the metamodel of it, and an instance of PSAM is a model. In our exemplar studies, the original EEML/BPMN process models are translated into the PSAM models in a common process knowledge modeling language based on GPO. We therefore apply a general quality framework of models and modeling languages in the evaluation. The quality framework is based on the semiotic theory1 , which is also the theoretical basis of our annotation framework. Hence the whole work is built and evaluated under the same theoretical foundation. The quality categories are selected from the quality framework and evaluated through the exemplar studies. The annotation tool is also evaluated according to the quality framework. However, since it is only a prototype, the performance of the system and the user interface is not taken into account in the evaluation. 8.2 Setting for the Quality Evaluation In this section we discuss a general quality framework — SEQUAL [80], which is used for this evaluation work. A set of facts from the annotation approach and exemplar 1 The quality categories in the quality framework correspond to the semiotic ladder [33]. 129 130 CHAPTER 8. QUALITY EVALUATION OF THE METHOD studies are identified and explained to correspond to the quality categories which are defined in the quality framework. 8.2.1 SEQUAL SEQUAL (SEmiotic QUALity framework) is the latest version of the general quality framework of models and modeling languages which was earlier reported in [73], [76], and [78]. This quality framework was developed with the objective of providing a systematic structure for evaluating the desirable properties for conceptual models. It has been useful in wider context of understanding quality in areas such as requirements engineering [74], enterprise modeling [78] [115], interactive modeling [77], and evaluating and comparing modeling languages such as UML [75], OWL [91]. Compared with other approaches and frameworks available for evaluating modeling approaches, SEQUAL provides a systematic evaluation method and it has three unique properties: • It distinguishes between goals and means, i.e. by separating what to achieve from how to achieve it. • It is closely linked to linguistic and semantic concepts, which particularly including the discussion on the terms of the semiotic theory — syntax, semantics, and pragmatics. • It is based on a constructivistic world-view, recognizing that models are usually created as part of a dialogue between the participants involved in modeling, whose knowledge of the modeling domain and potentially the domain itself changes as modeling takes place. Early version distinguished among three quality categories for conceptual models (syntactic, semantic, and pragmatic) according to steps on the semiotic ladder [33]. The quality goals corresponding to the categories are syntactic correctness, semantic validity and completeness, and comprehension (pragmatic). The framework distinguishes between goals and means to reach the goals. In the later extensions, more quality categories have been added so that the entire semiotic ladder is included, that is, physical, empirical, syntactic, semantic, perceived semantic, pragmatic, social and organizational quality. The main concepts of the framework and their relationships for quality of models are illustrated in Figure 8.1. Physical quality is to check how the externalized model M could be persistent and available enabling the audience to make sense of it. Persistence is usually associated with the protection against loss or damage. It also sometime includes previous versions of the model, if these are relevant. Availability is dependent on its externalization and distributability. Empirical quality focuses on model M itself. Empirical quality deals with the variety of elements distinguished, error frequencies, and ergonomics for CHI (ComputerHuman Interaction) for documentation and modeling tools. Syntactic quality is the correspondence between the model M and the language extension L of the modeling language. Syntactical correctness is the goal of this quality 8.2. SETTING FOR THE QUALITY EVALUATION 131 Figure 8.1: SEQUAL framework for discussing quality of models [80] category, which requires that all statements in the model conform to the syntax and vocabulary of the language. Semantic quality is the correspondence between the model M and the modeling domain D. The semantic validity and the semantic completeness are goals for this quality. Perceived semantic quality is the correspondence between the social actors’ interpretation I of a model M and their current knowledge K of the domain D. Pragmatic quality is the correspondence between the model M and the audiences’ interpretation of it I. Usually social pragmatic quality (to what extent people understand the models) and technical pragmatic quality (to what extend tools can be made that can interpret the models) are differentiated. In addition, the pragmatic quality includes to what extent the participants are able to change the domain after interpreting the model or learning from it. The goal for pragmatic quality is comprehension, i.e. the degree to which a model can be understood. Social quality focuses on social actors’ interpretations I. The goal of social quality is agreement among their interpretations. Organizational quality is the correspondence between the model M and the modeling goals G. Organizational goal validity and organizational goal completeness are related to this quality. The quality framework of modeling languages keeps the same concepts used in the quality framework of models. However, the core concept is language extension L but not model externalization M anymore. Six quality categories of language quality are 132 CHAPTER 8. QUALITY EVALUATION OF THE METHOD identified as follows. Figure 8.2: Language quality in the quality framework [80] • Domain appropriateness indicates whether the modeling language addresses the problems of eliciting/representing relevant facts of the problem domain. Domain appropriateness is primarily a means to achieve semantic quality. • Participant appropriateness indicates whether the modeling language corresponds to what the participants perceive as a natural way of working, i.e. the modeling language they have known. This is primarily a means to achieve pragmatic quality. • Modeler appropriateness indicates whether the modeling language assists the modelers in externalizing their knowledge. Modeler appropriateness is primarily a means to achieve semantic quality. • Comprehensibility appropriateness indicates whether the social actors are able to comprehend the models made in the modeling language. Comprehensibility appropriateness is primarily a means to achieve empirical and pragmatic quality. • Tool appropriateness indicates whether the modeling language lends themselves to automated tool support or assists in support for reasoning. Tool appropriateness could be means to achieve syntactic, semantic, and pragmatic quality through formal syntax, mathematical semantics, and operational semantics, respectively. 8.2. SETTING FOR THE QUALITY EVALUATION 133 • Organizational appropriateness indicates whether the model made in the modeling language achieves the organization’s goals. This is the means to support organizational quality. Figure 8.2 indicates how these appropriatenesses are related to the concepts in the quality framework. Those categories are related both to the meta-model and to the notation. 8.2.2 The facts corresponding to the quality categories from the exemplar studies In order to apply the general quality framework, we firstly specify the facts corresponding to the sets in the quality framework. The quality categories relate to the relationships between the following facts. Annotation model In this scenario, the annotation process and the annotation result are evaluation targets. In our approach, the annotation result is an instance of the annotation model. Therefore, the PSAM model is the externalized model in the quality framework. Goals of annotation The annotation (the PSAM modeling in our approach) is to represent the knowledge stored in the existing process models through a set of agreed semantically-defined concepts and formats. Therefore, the goals of annotation depend on the original modeling goals in each case and also depend on the goals of knowledge management. A number of goals are identified from the cases as follows. • G1 - The annotation should improve the readability of the existing process models. • G2 - The annotation should help sharing process knowledge among different organizations within a domain. • G3 - The annotation should help to analyze and validate the existing process models. • G4 - The annotation should be helpful in the semantic reconciliation of models and to facilitate reuse and integration of models. Modeling domain In general, the modeling domain is about processes in the enterprise modeling domain. In this case, it is the SCO (Supply-Chain-Operation) domain. Language extension GPO is the meta-model of PSAM and determines the definitions of PSAM. Thus, GPO defines the syntax of the annotation model. Since GPO is created in OWL, a PSAM model is the instance of the OWL model and it has the syntactical features and constraints of OWL. 134 CHAPTER 8. QUALITY EVALUATION OF THE METHOD Modeler — model annotator In this scenario, model annotators are modelers. They create the annotation by applying their modeling and domain knowledge. In the exemplar studies, we assume that the annotators of PM A know the modeling language BPMN and their BPMN models quite well. The similar assumption for the annotators of PMB1 and PMB2 is the knowledge of the EEML modeling language and EEML models. Moreover, they understand thoroughly their business process and domain definitions. Such a role corresponds to the modeler in the quality framework. Participant actor — annotation user Annotation users are the consumers of the annotation results. In the cases, they make use of the annotation information in the process knowledge management activities, such as querying information, analyzing models, and eliciting/inferring interested knowledge. They correspond to the participant actors in the quality framework. Annotation tool The annotation tool is used to support the annotation procedure. The annotation tool — Pro-SEAT provides the functions for profile annotation, meta-model annotation, model annotation and goal annotation. 8.3 Quality Analysis The quality evaluation includes the quality of GPO, the PSAM definitions, the annotated PSAM model instances and the annotation tool for the cases. GPO is defined as the meta-model of the annotation model, and the PSAM definitions are applied as the notation of the modeling. Thus, the language quality is analyzed on GPO and the PSAM definitions. The model quality is discussed based on the instances in the exemplar studies. The quality categories of SEQUAL are also applied to evaluate to which extent it improves the model quality. 8.3.1 Quality evaluation of GPO and PSAM 1. Domain appropriateness. GPO has been defined by referring most process modeling languages in enterprise modeling, and GPO includes the most vital and frequently used concepts in describing a business process. Compared with those languages, the GPO concepts are more general in the enterprise process domain. Accordingly, specific semantics in the domain can only be abstracted or encapsulated into a set in GPO. Such a quality evaluation can be made through the analysis of the meta-model annotation in the exemplars. For example, in EEML the resources could be the following different concepts — Organization, Person, Information Object, Skill, Software Tool, Manual Tool, and Material Tool. And the resource role is played by those resources. In the meta-model annotation, only two concepts Actor-role and Artifact in GPO are found to correspond 8.3. QUALITY ANALYSIS 135 to those resources. It is obvious that more specified semantics from the organizational perspective will be missing when representing the EEML model by the GPO concepts. When annotating BPMN with GPO, an exact semantic mapping between Data Object and Actor-role, between Swimlane and Artifact could be made without losing the semantics of the original BPMN models. With respect to the concepts of Activity, Input, Output and WorkflowPattern in GPO, it is relatively easy to map to both EEML and BPMN concepts. Thus, GPO is mainly designed from the process and function perspectives. The main concepts defined in SCOR are process elements, inputs and outputs. GPO provides enough concepts to represent such a domain. However, the relationships defined in EEML and BPMN cannot be directly mapped to the GPO concepts. Relationships between the GPO concepts are not applied during the meta-model annotation phase but directly generated in the PSAM model. Moreover, the annotation model is not only a process model but should support the ontology-based annotation. The relations linking the GPO concepts and the ontology concepts are specified in a PSAM model as well. All in all, GPO and PSAM have proper domain appropriateness. 2. Participant appropriateness. As we have discussed previously, GPO is relatively simple compared with most enterprise process modeling languages. Since we assume that the annotators are process modeling specialists, learning GPO should not be a problem. In the profile, model and the goal annotation, we also assume the annotators are domain experts and understand the original models quite well. The only request for them is to have some knowledge about ontology and semantic relationships when employing the ontology-based annotation. 3. Modeler appropriateness. Since the GPO concepts are more general than a particular enterprise process modeling language, some specific semantics in the original models could not be conveyed in the PSAM model. However, as we argued before, GPO is not initially created as a comprehensive process modeling language. The intention of the proposal is to elicit the most important and useful process knowledge and to represent it in annotation models for knowledge management. In the meta-model annotation phase, a possible mapping from GPO to a particular modeling language has only three types — one-to-one, one-to-many, and one-tocombination, which means that the modeling language elements can be mapped to only one GPO concept. In the current prototype implementation many-to-one mappings are not supported. After the transformation based on the meta-model annotation, all the PSAM models have the same structure. Therefore the modeler can not make any other creative structure. 4. Comprehensibility appropriateness. Only 29 concepts are identified in the current version of GPO and the PSAM specification. The concepts and the relationships between them are relatively straightforward for annotation users to interpret just by reading the names. With respect to the relations linking the GPO concepts and the ontology concepts, only three semantic relationship categories (synonym, hypernym, and meronym) from PSAM are chosen for the exemplar studies. Also the name of those semantic relationships are specified according to the GPO 136 CHAPTER 8. QUALITY EVALUATION OF THE METHOD concepts. For example, the meronym is represented by "phase_of" for Activity, "part_of" for Artifact and "member_of" forActor-role. 5. Tool appropriateness. PSAM is defined using a formal syntax and modeled in OWL. OWL is XML-syntactic compilable and it can be parsed by available commercial or non-profit parsers. The semantics of GPO and PSAM are also formally defined according to the OWL semantic definitions. The GPO concepts are modeled as owl:Class and the relations are modeled as owl:ObjectProperty and owl:DatatypeProperty. For our work, OWL DL is the basis of the annotation models. OWL DL was designed to support the existing Description Logic business segment and has desirable computational properties for reasoning systems [195]. The Protégé-OWL API is integrated in the annotation tool so that the syntax and the semantics of GPO and PSAM can be interpreted by the tool. 6. Organizational appropriateness. Due to the fair comprehensibility appropriateness and the application goals of this work, GPO and PSAM are theoretically easy to understand for audiences from different enterprise units. However, further empirical evidence is required to establish this claim. 8.3.2 Quality analysis of the annotation model instances A specific annotation model is an instance of the PSAM model that is transformed from the original process models and annotated with ontological concepts. The quality of GPO and PSAM will impact the quality of the PSAM models. The evaluation of the PSAM models concludes how the model quality relates to the usability of the annotation results. Physical Quality We first look at how the knowledge of the domain has been externalized by the annotation models. Such a goal could be achieved through the means of domain appropriateness, participant language knowledge appropriateness and knowledge externalizability appropriateness. As we have discussed in the quality analysis of those appropriateness above, the PSAM models can present most information about the process and functional perspective. The EEML and BPMN models have presented the logistics processing comprehensively due to their expressiveness. Based on the meta-model annotation results, the original models are transformed into the PSAM models. Ideally, the transformation should keep exactly the same information as the original models. It is obvious that more one-to-one mappings in the meta-model annotation, more knowledge represented in the modeling elements can be preserved after the transformation. In the exemplar studies, five one-to-one mappings are in the annotation of BPMN and three are in the annotation of EEML. In EEML, different resources are specified and they all could be mapped to the GPO concepts Artifact and Actor-role respectively. Thus, the PSAM models of PM A should have better physical quality than the ones of PMB. Fortunately, those specific resources are not much applied in the original EEML models PMB. That is, not much domain knowledge is lost because of the meta-model 8.3. QUALITY ANALYSIS 137 annotation in this case. However, annotating the relationships defined in the modeling languages is not supported by this approach. The relationships between the GPO concepts are defined in GPO so that knowledge in the PSAM models are interpreted according to the GPO definitions. Compared with the original models, the PSAM models have additional knowledge — the ontological knowledge, which is introduced during the model annotation and the goal annotation. In the exemplar studies, the domain ontology is related to the SCOR standard, while the goal ontology provides the knowledge about the objectives of process and also the links to the SCOR process metrics. In chapter 9, we discuss what useful knowledge can be externalized by the PSAM models. The PSAM models are then checked to determine if they are easily available and maintainable. The meta-model annotation result for each modeling language is stored in an XML file. Such results can be reused in generating the PSAM models by different models in the same modeling language. The generated PSAM models are OWL models, so that the PSAM models can be read and edited by any OWL editing tools. Model annotation and goal annotation is then made to the PSAM models. However, if there is any change of the meta-model annotation, the PSAM models based on the meta-model annotation result have to be re-generated. That means all the model and the goal annotation work made on the PSAM models will be lost. Empirical Quality There is no graphic notation for the annotation model. All the generated PSAM models are textual OWL files so that the readability of the model is poor without the tool support. The PSAM models are categories according to the GPO concepts. Since no graphic notation is used for the GPO concepts, the concepts such as "Activity", "Artifact", "Actor-role" are not distinct to the user. There is a limited number of categories since only eight GPO concepts are used in the exemplar studies. However, when the original model is large2 , the list of the instances for each GPO concept is long. For example, 33 instances of Activity are listed for the annotation in PM A and only 14 instances of Activity in PMB2 . From the experience of using Pro-SEAT, it turns out that it is more difficult to find a desired instance in the PSAM model of PM A compared with the one of PMB2 . The instance is named with the model textual title and its model id from the original process models. When two instances have the same model title but different model id, mistakes will be made by picking the wrong instance because of a confusion with the title. Syntactic Quality As an OWL model with classes and instances, the PSAM models should comply the OWL syntax. Since the PSAM models are generated from the meta-model annotation result, the premise is that the syntax of GPO and the mappings have been validated. GPO is created by Protégé and the correctness of the syntax is checked by Protégé. The meta-model mapping rules have also been set to comply with OWL syntax. 2 The size of the model depends on the number of the model elements, i.e. the instances in the PSAM model. 138 CHAPTER 8. QUALITY EVALUATION OF THE METHOD Semantic Quality and Perceived Semantic Quality The semantic quality of the annotation models depends on the semantic quality of both the original models and the annotation. We have assumed that the original process models are semantically correct and complete. The semantics of the generated PSAM models are consequently determined by the transformation from the original models to the PSAM definitions. More semantics are introduced during the model and the goal annotation. The quality of such semantics is categorized into the perceived semantic quality in this approach because it corresponds to annotators’ and annotation users’ interpretations and their knowledge of the domain. Most annotation operations are manual, but Pro-SEAT supports the semi-automatic goal annotation which might help to achieve semantic validity and completeness. In Pro-SEAT, the ontology-based query interface provides the service to perceive the semantics of the annotation. The perceived semantic quality of annotation model is further validated through the applications and analyzed in chapter 9. Pragmatic Quality Since the annotated process models are OWL model instances, it is not difficult for an annotation user to understand the annotation schema and structure. Moreover, ontology is designed in a human understandable way and the annotation user is supposed to know about the domain. There is no problem for the annotation user to read the models, but it is hard for the user to see the whole picture of the models without the support of a visualization tool. However, the OWL models can be interpreted by any tools supporting OWL DL. Since the SCOR ontology provides explicit representation of conceptualization of supply chain domain, the references in the annotation help annotation users learn the domain and adapt processes of PM A, PMB1 and PMB2 , which is evident in the applicability validation in Chapter 9. Besides, the pragmatic quality of PM A, PMB1 and PMB2 represented in Pro-SEAT also depends on the pragmatic quality of Pro-SEAT, which is discussed in the following section. Social Quality One of the goals for the proposed approach is to help process knowledge sharing among different organizations within a domain. The ontologies are assumed to be the domain standards which are agreed by different audience. GPO is the meta-model ontology. The PSAM models are generated from this standard and the model content is annotated with domain standard. In the exemplar studies, SCOR is chosen to be the common standard and modeled as the domain ontology, because SCOR is already well known in many enterprises for the supply-chain management in practice. The original models PM A, PMB1 and PMB2 are all within the supply-chain domain. Organizational Quality For the organizational quality of the PSAM models and the tool, we can check if the modeling goals can be fulfilled and addressed by the proposed approach. 8.3. QUALITY ANALYSIS 139 • G1 - The annotation should improve the readability and comprehensibility of the existing process models. The semantic annotation enriches the model semantics by referencing the ontology concepts using semantic relationships. Thus, with the referenced ontology, the semantics of the model elements can be interpreted more correctly and completely by both human and machine. With respect to the pragmatic quality of Pro-SEAT we find that the annotation functions do not really address this goal. However the ontology-based query in Pro-SEAT provides the functions to navigate the process models. Since the annotation results are in OWL, the machine can read and reason the semantics in the annotation model. This goal is further analyzed in Chapter 9. • G2 - The annotation should help process knowledge sharing among different organizations within a domain. From the discussion on the social quality, we find that this goal has been addressed by the annotation models. The applicability of the approach in Chapter 9 proves that the annotation models can fulfill this goal. • G3 - The annotation should help to analyze and validate the existing process models. Satisfaction of this goal is checked and discussed in Chapter 9. • G4 - The annotation should be helpful in model reuse and model integration. Such goal is related to G2. The annotation models have not been applied in any real applications of model transformation and model integration. The applicability of the annotation results are only described in the application scenario under the exemplar studies. This goal is further analyzed in Chapter 9. 8.3.3 Quality evaluation of Pro-SEAT The annotation tool is also the means to achieve quality annotation results. Thus the tool evaluation is to validate the performance of Pro-SEAT on achieving model quality. • Physical Quality - Pro-SEAT provides the functions of importing the original process models, loading the ontology, editing and saving the meta-model annotation, the model and the goal annotation results. The current version of the tool is mainly designed for interpreting the models in XML created by Metis tool. The tool can only load the ontology in OWL format and the integrated ontology API is the Protégé 3.2.1 OWL API. There is no database repository deployed for the annotated process knowledge, but only the XML or OWL files and folders are used to manage the knowledge. Therefore, the benefit is that the knowledge is easy to distribute and could be published on the Web, while the disadvantage is the lack of a systematic way to manage the files and their inherent links. This might be compensated by integrating the CO2 SY system which is developed by Strašunskas [175] for managing the interrelationships between product fragments. 140 CHAPTER 8. QUALITY EVALUATION OF THE METHOD • Empirical Quality - The details of model annotation and goal annotation are displayed in the property fields for each instance in Pro-SEAT. The layout of those properties are not well organized in groups and the sequence of the properties is displayed variously each time when running the tool. Thus, it is hard to navigate the properties when manipulating the annotation. Nevertheless, the operation of the annotation is simple — just select the reference concept from the ontology tree by clicking or entering the reference value. • Syntactic Quality - The prototype of the annotation tool does not provide the functions for performing a syntax check from the user interface, but invalid OWL models can not be parsed by the OWL API in Pro-SEAT. • Semantic Quality and Perceived Semantic Quality. The current annotation tool does not support any semantic consistency or completeness checking during the annotation. • Pragmatic Quality - Pro-SEAT does not provide a visualization of process models, annotation models and ontologies. The imported original process model from Metis is listed in the tree-view. The tree-view of the model keeps the same structure as in the Metis tool. It is not difficult for the Metis user to interpret the model in Pro-SEAT. The Protégé’s tree-view of ontology is also integrated in Pro-SEAT so that the subsumption relationship between ontology concepts can be viewed in Pro-SEAT. The other relationships represented in OWL properties and constraints can not be displayed in Pro-SEAT, which would hide the complexity and help the annotator to identify the concepts easily. The annotation models are listed and navigated according to the GPO concepts. In Pro-SEAT, it is difficult to establish an overall view of the annotation model or check the interrelationships between annotations. A model search interface is integrated in ProSEAT. Based on the annotation results, it facilitates the navigation of the process models and the annotation information by focusing on the GPO categories. 8.4 Requirements Satisfaction of the Semantic Annotation System Recall the requirements we identified for the semantic annotation system in section 3.5. Next, we examine what and how the requirements for Pro-SEAT have been met in this section. 1. The system should be able to present and parse annotation source models which are originally in certain formats and representations. Pro-SEAT can present and parse the process models in XML format which is generated from Metis modeling tool. 2. The system should provide an ontology browser for the overview and manipulation of ontological knowledge. The integrated Protégé-OWL API provides the functionality to browse ontologies. 8.5. SUMMARY 141 3. Semantic annotation schema or metadata should be supplied (pre-defined) or generated (ontology-based) by the system. OWL formated GPO ontology can be loaded in Pro-SEAT. After the meta-model annotation, the PSAM schema for model and goal annotation can be generated in Pro-SEAT. 4. The annotation procedure should be easily manipulated by users with the system, i.e. easy to locate "annotatee" (e.g. entity in source model) and "annotater" (e.g. concept in ontology) during the annotation. This requirement has been discussed through the analysis of empirical quality and pragmatic quality in section 8.3. Stronger evidence should be collected from more usability studies involving end-users. 5. The system should support the maintenance of annotation results (e.g. embedded vs. stand-off annotation). The annotation is stand-off annotation in this work so that it allows the dynamic changes of the user-specific annotations. 6. Multiple-ontology references (e.g. different levels of ontologies) might be supported in the system. So far, a top-level ontology for meta-model annotation and domain ontology for model and goal annotation are supported in this work. 7. Different types of annotations (e.g. instance identification, URI links, and other semantic relationships) might be supported. The main supported annotation types supported by Pro-SEAT are URI links and the semantic relationships such as synonym, hypernym and meronym. 8. Semi-automatic or automatic annotation might be considered in the system. The implementation of the goal-annotation algorithms contribute the semiautomation of the tool, which partially meets the requirement. 9. The system might be able to serialize the annotation results for reuse in different systems. The annotation result from Pro-SEAT is in OWL and it is serialized. Thus, this requirement is met through the test that the annotation result can be represented in Protégé-OWL Editor. 10. It might be possible to conduct semantic inference among ontology-based semantic annotations. The satisfaction of the requirement of semantic inference will be exemplified in next chapter. 8.5 Summary As evaluation method for ontology-based semantic annotation is a new research topic as the emerging semantic annotation approaches applying the Semantic Web techniques. According to the author’s knowledge, there is no systematic evaluation methodology for 142 CHAPTER 8. QUALITY EVALUATION OF THE METHOD semantic annotation approaches and tools. Maynard in [102] identified some requirements for ontology-based annotation tools such as expected functionality, interoperability, usability, accessibility, scalability and reusability. Usually, criteria and metrics for performance evaluation, such as precision, recall and F-measure [154], are defined for the evaluation of semi-automatic or automatic semantic annotations by using information extraction techniques. However, the evaluation is mainly for the semantic annotation of textual contents. The model features are certainly not concerned, but they are very important in our case of the semantic annotation of business process models. Moreover, those metrics are not sufficient for ontology-based information extraction, because the distinction between right and wrong is less obvious [102]. We do not apply any information extraction techniques in our system and the current prototype of the annotation tool mainly supports manual annotation. We have chosen SEQUAL that has been widely and successfully applied in the information modeling area, to evaluate the proposed approach. Also SEQUAL shares the same theoretical foundation with our semantic annotation framework. According to the semiotic quality categories, the quality analysis has been made at both the metamodel level (GPO and the PSAM specifications) and model level (the PSAM model instances and Pro-SEAT), which make up our semantic annotation method. Chapter 9 Validation of Applicability In this chapter, we validate the applicability of annotation results derived from the proposed method. The validation is undertaken through an application scenario, where a new IS solution is modeled through selecting and reusing annotated process model fragments. The validation is supposed to check if the annotation method can facilitate process knowledge management, which is the general application objective of this work. Quality evaluation for Chapter 8 is further analyzed based on the discussion of the application results. 9.1 Validation Design A walkthrough scenario of a process knowledge management application is deployed in this chapter based on the semantic annotation results from the exemplar studies of Chapter 7. In the scenario, the annotated process models (PM A, PMB1 and PMB2 ) are IS solutions presenting logistics process knowledge of different organizations, and a new IS problem (an integrated sales delivery solution for their cooperative business) is supposed to be dealt with by reusing and integrating some of the solutions which can achieve goals of the new system. The annotation results which we got from the exemplar studies are the source data consumed by the application scenario. The annotation goals set in section 8.2.2 concretize a general application objective of our annotation method – to facilitate process knowledge management. The validation is therefore to measure the goals. Based on the goals, a set of requirements are derived. The requirements are implemented through a set of SWRL (Semantic Web Rule Language Combining OWL and RuleML) [202] rules and queries. The rules and queries are executed on the annotation results. The validation is thus to check how the returned query results fulfill those requirements in the context of the application scenario. In addition, semantic validity and semantic completeness of the annotation models are analyzed in the validation. The implementation tool of the application is Protégé-OWL with the SWRL editor and the Jess rule engine 1 . Accuracy of mapping between ontologies and models may affect the validation results. Therefore, we assume that the ontology-based annotation is accomplished by 1 http://herzberg.ca.sandia.gov/jess/ 143 144 CHAPTER 9. VALIDATION OF APPLICABILITY modeling experts and domain specialists, who provide reliable mappings. Accuracy of the annotation is hereby not taken into account in the evaluation. 9.1.1 Application requirements In this applicational scenario, users need to navigate models for browsing the process knowledge of the legacy IS solutions, search interesting knowledge candidates for building a new solution, select suitable model fragments from the candidates, and reuse the selected model fragments in a knowledge-based integration. We therefore elicit the following requirements to implement the application. The requirements are associated with the annotation goals (G1-G4) identified in section 8.2.2. If the annotation method fulfills the requirements of the application, it satisfies the annotation goals too. • RE1 - Navigation requirements. For the purpose of browsing knowledge, navigate process models (PM A, PMB1 and PMB2 ) (related to G1). Such a requirement can be decomposed into following sub-requirements by specifying the interests of process properties. – RE1.1 - List Activities and their sub-Activities. – RE1.2 - List Activities and their preceding or succeeding Activities. – RE1.3 - List Activities and their Artifacts. – RE1.4 - List Activities and their Actor-roles. – RE1.5 - List Activities and their Preconditions or Postconditions. • RE2 - Search requirements. For the purpose of locating interesting knowledge candidates, search the corresponding process model fragments across different business models by using the SCOR domain ontology (related to G2). Such a requirement can be decomposed into following sub-requirements by specifying the interests of ontological concepts. – RE2.1 - Find the model fragments of process models that reference to SCOR Management Process. – RE2.2 - Find the model fragments of process models that reference to SCOR Input/Output. – RE2.3 - Find the model fragments of process models that reference to SCOR Organizational. – RE2.4 - Find the model fragments of process models that reference to SCOR Goal. • RE3 - Semantics checking requirements. For the purpose of selecting suitable model fragments, check the semantics of the process models and the annotation results (related to G3). Such a requirement can be decomposed into following subrequirements by specifying the interests of process semantics defined in PSAM. – RE3.1 - Check the Artifacts related to the Input/Output of Activities. – RE3.2 - Check the Activity sequences. 9.1. VALIDATION DESIGN 145 – RE3.3 - Check the Artifacts in sub-Activities. – RE3.4 - Check the Actor-roles in sub-Activities. – RE3.5 - Check the goal annotations in sub-Activities. – RE3.6 - Check the Precondition/Postcondition of Activities. – RE3.7 - Check the information flow from Outputs to Inputs. • RE4 - Knowledge discovery requirements. For the purpose of reusing and integrating model fragments, acquire the implicit knowledge across different models through reasoning on ontological relationships (related to G4). Such a requirement can be decomposed into following sub-requirements by specifying the interests of potential relationships between process properties of different models. – RE4.1 - Find out semantic relationships between the Activities of different process models. – RE4.2 - Find out semantic relationships between the Artifacts of different process models. – RE4.3 - Find out semantic relationships between the Actor-roles of different process models. – RE4.4 - Find out goal relations between the Activities of different process models. – RE4.5 - Find out possible integration points among different process models. 9.1.2 SWRL rules and tool SWRL is an acronym for Semantic Web Rule Language. As stated in [149]: It is intended to be the rule language of the Semantic Web. SWRL is based on a combination of the OWL DL and OWL Lite sub-languages of the OWL Web Ontology Language. It allows users to write Horn-like rules to reason about OWL individuals and to infer new knowledge about those individuals. These rules are expressed in terms of OWL concepts. SWRL is more expressive that OWL DL alone yet retains its formal semantics. It does so, however, at the expense of decidability. We use SWRL to formalize the application requirements for each annotation model – a PSAM instance model in OWL. Running the SWRL rules shows the computational capability of the annotation models, which is one of the benefits of the proposed approach. Analyzing the rule-execution results helps check what knowledge can be derived from the annotation results and how the results fulfill the application requirements. SWRL SWRL rules are of the form of an implication between an antecedent (body) and consequent (head). The intended meaning can be read as: whenever the conditions specified in the antecedent hold, then the conditions specified in the consequent must also hold. SWRL rules are written in terms of OWL classes, properties and individuals. 146 CHAPTER 9. VALIDATION OF APPLICABILITY Both the antecedent and consequent consist of zero or more atoms. Atoms in these rules can be of the form C(x), P(x,y), sameAs(x,y) or differentFrom(x,y), where C is an OWL description, P is an OWL property, and x,y are either variables, OWL individuals or OWL data values. A "human readable" form of a SWRL rule is: antecedent → consequent where both antecedent and consequent are conjunctions of atoms written a1 ∧ ... ∧ an . Variables are indicated using the standard convention of prefixing them with a question mark (e.g. ?x) [202]. SWRLTab and SQWRLQueryTab The SWRLTab [151] is a development environment for working with SWRL rules in Protégé-OWL. It supports the editing and execution of SWRL rules. It also provides the mechanism to turn SWRL into a query language – SQWRL (Semantic Query-Enhanded Web Rule Language). The SQWRLQueryTab [150] is a plug-in to the Protégé-OWL SWRLTab and it provides a convenient way to visualize the results of queries on an OWL ontology. In the evaluation, we employ SWRLTab to formalize the requirements from section 9.1.1 into SWRL rules in order to validate the annotation results. Most of the rules are queries which can return the query results in SQWRLQueryTab. The SQWRL provides SQL-like operations to retrieve knowledge from an OWL ontology. 9.2 Application Requirements in SWRL Formulation In the exemplar studies, the BPMN model (PM A) and the EEML models (PMB1 and PMB2 ) are annotated by the proposed approaches. Those three models are to be shared with each other and integrated in a process knowledge management application. The application requirements are formalized into a set of SWRL queries and rules which are executed on those annotated models. The queries and rules are generally defined for all models, but they can be also specified by replacing the variables with certain values for specific models. 9.2.1 Formalizing RE1 - Navigation requirements RE1 is related to G1 (The annotation should improve the readability and comprehensibility of the existing process models). The sub-requirements identify what knowledge of the process models should be read directly from the annotation results. The requirements in RE1 are formalized in Table 9.1. 9.2.2 Formalizing RE2 - Search requirements RE2 is related to G2 (The annotation should help sharing process knowledge among different organizations within a domain). The search should look up all the three models without problems associated with semantic heterogeneity. A domain ontology which acts as the common understanding of the domain is essential in supporting the machine 9.2. SWRL FORMULATION 147 Table 9.1: SWRL queries and rules for RE1 RE1 RE1.1 RE1.2 RE1.3 RE1.4 RE1.5 Rule Name QRule-ActivitysubActivity QRule-ActivityhasPrecedingActivities QRule-ActivityhasSucceedingActivities QRule-ActivityhasArtifact QRule-Activity-hasActor QRule-ActivityhasPrecondition QRule-ActivityhasPostcondition SWRL formulation Activity (?x) ∧ has_subActivity( ?x, ?y) → query : select( ?x, ?y) ∧ query : orderBy( ?x) Activity (?x) ∧ has_ precedingActivities (?x, ?y) → query : select(?x, ?y) ∧ query : orderBy( ?x) Activity (?x) ∧ has_succeedingActivities (?x, ?y) → qurey : select(?x, ?y) ∧ query : orderBy( ?x) Activity (?x) ∧ has_ Arti f act( ?x, ?y) → query : select(?x, ?y) ∧ query : orderBy( ?x) Activity (?x) ∧ has_ Actor − role (?x, ?y) → query : select(?x, ?y) ∧ query : orderBy( ?x) Activity (?x) ∧ has_ Precondition(?x, ?y) → query : select(?x, ?y) ∧ query : orderBy( ?y) Activity (?x) ∧ has_Postcondition(?x, ?y) → query : select(?x, ?y) ∧ query : orderBy( ?y) to understand the semantically-reconciled process knowledge from different organizations. In the PSAM models, an ontology is referenced by models through annotation relationships which are represented using OWL properties such as same_as, kind_of, part_of, mapped_to, achieves, positively_satisfies and negatively_satisfies. Therefore, those properties should be specified in the SWRL queries or rules (see Table 9.2). 9.2.3 Formalizing RE3 - Semantic check requirements RE3 is related to G3 (The annotation should help to analyze and validate the existing process models). It is used to infer the underlying process knowledge according to the annotation and to check the semantic completeness and semantic validity of annotation models. The SWRL formulations of RE3 are listed in Table 9.3. The queries for inferences are usually built through correlations to OWL properties. For example, besides the Object Property has_Artifact of Activity, the relationship between Activity and Artifact can also be inferred through connecting relations among Activity, Input, Output, and Artifact. RE3.1 (Check the Artifacts related to the Input/Output of Activities) is therefore formalized as IRule-Activity-Input-hasArtifact, IRule-ActivityOutput-hasArtifact and QRule-Activity-hasArtifact. They can be used to infer the fact that if an Artifact is related to the Input or Output of an Activity, the Activity might have such an Artifact. Such inference tasks can be used to find possible missing annotations of has_Artifact. RE3.2 (Check the Activity sequences) needs to figure out the ordinary sequence of activities, sequence of decomposable activities, iterative and inverse sequence. Sequences of decomposable activities sometimes are not easy to navigate directly from the model specifications. Therefore, QRuleActivity-hasPrecedingActivities-hasSubActivity and QRule-ActivityhasSucceedingActivities-hasSubActivity are formalized to infer such implicit semantics. The properties of sub-Activities could be passed to their super-Activities, which are validated in RE3.3 (Check the Artifacts in sub-Activities), RE3.4 (Check the Actor-roles in sub-Activities) and RE3.5 (Check the goal annotations in sub-Activities). IRule- 148 CHAPTER 9. VALIDATION OF APPLICABILITY Table 9.2: SWRL queries and rules for RE2 RE2 RE2.1 RE2.2 RE2.3 RE2.4 Rule Name QRule-Activity-sameas SWRL formulation Activity( ?x) ∧ same_as(?x, ?y) → query : select?x, ?y ∧ query : orderBy(?y ) QRule-Activity-kindof Activity( ?x) ∧ kind_o f (?x, ?y) → query : select(?x, ?y) ∧ query : orderBy(?x) QRule-Activity-phaseof Activity( ?x) ∧ phase_ o f (?x, ?y) → qurey : select(?x, ?y) ∧ query : orderBy(?x) QRule-Activity-InputActivity( ?x) ∧ has_ Input(?x, ?y) ∧ mapped_to(?y, ?z) → query : mappedto select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-Activity-OutputActivity( ?x) ∧ has_Output(?x, ?y) ∧ mapped_ to(?y, ?z) → query : mappedto select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Arti f act(?x, ?y) ∧ same_as(?y, ?z) → query : hasArtifact-sameas select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Arti f act( ?x, ?y) ∧ kind_o f (?y, ?z) → query : hasArtifact-kindof select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Arti f act(?x, ?y) ∧ part_o f (?y, ?z) → query : hasArtifact-partof select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Actor − role( ?x, ?y) ∧ same_ as(?y, ?z) → query : hasActor-sameas select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Actor − role(?x, ?y) ∧ kind_ o f (?y, ?z) → query : hasActor-kindof select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ has_ Actor − role (?x, ?y) ∧ member_ o f (?y, ?z) → query : hasActor-memberof select(?x, ?y, ?z) ∧ query : orderBy(?z) QRule-ActivityActivity( ?x) ∧ achieves( ?x, ?y) → query : select(?x, ?y) ∧ query : achievesHardGoal orderBy(?y ) QRule-ActivityActivity( ?x) ∧ positivel y_satis f ies(?x, ?y) → query : select(?x, ?y) ∧ positivelysatisfiesSoftGoal query : orderBy(?y ) QRule-ActivityActivity( ?x) ∧ negativel y_satis f ies (?x, ?y) → query : select( ?x, ?y) ∧ negativelysatisfiesSoftGoal query : orderBy(?y ) Activity-subActivity-hasArtifact and IRule-Activity-subActivity-hasActor are used to introduce the implicit annotation of has_Artifact and has_hasActor-role for the super-Activity. The effects of goals from the sub-Activities could be transferred to the super-Activities but it is not necessary for all cases. RE3.5 is therefore formalized as SWRL queries not inference rules by only listing the possible goal annotations transferred from the sub-Activities. RE3.6 (Check the Precondition/Postcondition of Activities) is formalized into QRule-Activity-hassamePrecondition and QRule-ActivityhassamePostcondition. It attempts to find out the redundant Activities with the same conditions or the workflow patterns with the branches divided from the conditions. Besides, for RE3.7 (Check the information flow from the Output to the Input) the information flow (/output-input flow) can be identified through comparing the annotated Input and Output in QRule-Activity-hasOuput-mappedtosameonto-Activity-hasInput. If an output has an ontology reference which is also referenced by an input, there might be an information flow between the output and the input. 9.2.4 Formalizing RE4 - Knowledge discovery requirements RE4 is related to G4 (The annotation should be helpful in the semantic reconciliation of models to facilitate reuse and integration of models.). This requirement is for analyzing the potential semantic relations between different models. However, SWRL rules can only be applied in one ontology file, such as the SWRL formulations of RE1, RE2 and 9.2. SWRL FORMULATION 149 Table 9.3: SWRL queries and rules for RE3 RE3 RE3.1 RE3.2 RE3.3 RE3.4 RE3.5 RE3.6 Rule Name QRule-ActivityhasInput-relatedArtifact QRule-ActivityhasOutputrelatedArtifact IRule-Activity-InputhasArtifact IRule-Activity-OutputhasArtifact QRule-ActivityhasPrecedingActivitieshasSubActivity QRule-ActivityhasSucceedingActivitieshasSubActivity QRule-Activity-iterativepreceding QRule-Activity-iterativesucceeding IRule-Activitypreceding-inversesucceeding IRule-Activitysucceeding-inversepreceding IRule-ActivitysubActivity-hasArtifact IRule-ActivitysubActivity-hasActor QRule-ActivitysubActivity-transitiveachievesHG QRule-ActivitysubActivity-transitivepositivelysatisfiesSG QRule-ActivitysubActivity-transitivenegativelysatisfiesSG QRule-ActivityhassamePrecondition QRule-ActivityhassamePostcondition RE3.7 QRule-ActivityhasOutput-mappedtosameonto-ActivityhasInput SWRL formulation Activity (?x) ∧ has_ Input(?x, ?y) ∧ related_ Arti f act(?y, ?z) → query : select( ?x, ?y, ?z) ∧ query : orderBy (?x) Activity (?x) ∧ has_Output(?x, ?y) ∧ related_ Arti f act(?y, ?z) → query : select( ?x, ?y, ?z) ∧ query : orderBy (?x) Activity (?x) ∧ has_ Input( ?x, ?y) ∧ related_ Arti f act(?y, ?z) Activity (?x) ∧ has_ Arti f act(?x, ?z) Activity (?x) ∧ has_Output(?x, ?y) ∧ related_ Arti f act(?y, ?z) Activity (?x) ∧ has_ Arti f act(?x, ?z) Activity (?x) ∧ has_ precedingActivities(?x, ?y) has_subActivity (?x, ?z) → query : select?y, ?z ∧ query : orderBy (?y) → Activity (?x) ∧ has_succeedingActivities( ?x, ?y) has_subActivity (?x, ?z) → query : select?z, ?y ∧ query : orderBy (?y ) ∧ → ∧ Activity (?x) ∧ has_ precedingActivities (?x, ?x) → qurey : select(?x) Activity (?x) ∧ has_succeedingActivities( ?x, ?x) → qurey : select(?x) Activity (?x) ∧ has_ precedingActivities (?x, ?y) has_succeeding Activities (?y, ?x) → Activity(?y ) ∧ Activity (?x) ∧ has_succeedingActivities (?x, ?y) has_ precedingActivities (?y, ?x) → Activity(?y ) ∧ Activity (?x) ∧ has_subActivity (?x, ?y) ∧ has_ Arti f act(?y, ?z) → Activity (?x) ∧ has_ Arti f act(?x, ?z) Activity (?x) ∧ has_subActivity( ?x, ?y) ∧ has_ Actor − role (?y, ?z) → Activity (?x) ∧ has_ Actor − role( ?x, ?z) Activity (?x) ∧ has_subActivity (?x, ?y) ∧ achieves (?y, ?z) → query : select( ?x, ?y, ?z) ∧ query : orderBy (?z) Activity (?x) ∧ has_subActivity(?x, ?y) ∧ positivel y_satis f ies( ?y, ?z) → query : select( ?x, ?y, ?z) ∧ query : orderBy( ?z) Activity (?x) ∧ has_subActivity(?x, ?y) ∧ negativel y_satis f ies (?y, ?z) → query : select( ?x, ?y, ?z) ∧ query : orderBy( ?z) Activity (?x) ∧ Activity(?y ) ∧ name(?x, ?n) ∧ name (?y, ?m) ∧ swrlb : notEqual (?n, ?m) ∧ has_ Precondition(?x, ?z) ∧ has_Precondition(?y, ?z) → query : select( ?x, ?y, ?z) Activity (?x) ∧ Activity(?y ) ∧ name(?x, ?n) ∧ name (?y, ?m) ∧ swrlb : notEqual (?n, ?m) ∧ has_ Postcondition(?x, ?z) ∧ has_Postcondition(?y, ?z) → query : select(?x, ?y, ?z) Activity (?x) ∧ has_Output(?x?p ) ∧ mapped_to(?p, ?o) ∧ Activity(?y ) ∧ has_ Input(?y, ?q) ∧ mapped_ to(?q, ?n) ∧ swrlb : equal ( ?o, ?n) → query : select( ?x, ?y, ?o) 150 CHAPTER 9. VALIDATION OF APPLICABILITY RE3. For RE4, we have to run the SWRL rules of RE1, RE2 and RE3 on different models respectively and analyze all query results manually. For example, implementing RE4.1 (Find out semantic relationships between the Activities of different process models) needs the SWRL rules QRule-Activity-sameas, QRule-Activity-kindof and QRule-Activity-phaseof for RE2.1 (Find the model fragments of process models that reference to SCOR Management Process). In this application, those rules are run on all the three models, and SCOR Management Processes in the domain ontology are used as the common references (which are specified in the variables in the SWRL rule formulations) to analyze the relationships between the query results of three models. The relationships usually applied in the analysis are ontological relations such as OWL Class subsumption, OWL Class equivalent, ObjectProperty part-whole relationship and etc. To implement RE4.5 (Find out possible integration points among different process models), we consider the following integration cases by running related SWRL queries and rules for the above requirements. • Case 1. Output and input. If the outputs in one model can be mapped to the inputs in another model, then it is possible to integrate the two models through the outputs and the inputs. QRule-Activity-Output-mappedto and QRuleActivity-Input-mappedto are run on three models respectively. The variable of ontology concept ?z can be replaced by a specific domain concept. • Case 2. Sequence of activities. If the Activities from the three annotation models that have references of the SCOR process elements, then a possible integration of those Activities from different models can be checked according to the sequence definition in SCOR ontology. SWRL queries for RE2.1 (Find the model fragments of process models that reference to SCOR Management Process) can be run in this case, and the variable ?y is specified with a SCOR process element in each query. • Case 3. Semantic relationship of activities. If two Activities from different models have certain semantic relationships with each other according to the domain annotation, then there is a possibility for two Activities to be integrated through the relationships. The SWRL queries for RE2.1 (Find the model fragments of process models that reference to SCOR Management Process) can also be used in this case, and the annotation relationships such as same_as, kind_of and phase_of should be concerned in the integration analysis. • Case 4. Ontological relationship of goals. If two Activities from different models are annotated with the goals and the goals are same or have certain ontological relationships, the possible integration of two models can be analyzed based on the goal annotation. Goal concept is specified to replace the ontology concept variable ?y in the queries QRuleActivity-achievesHardGoal, QRule-Activity-positivelysatisfiesSoftGoal and QRule-Activity-negativelysatisfiesSoftGoal. Through the ontological relationship has_parts or rdfs:subClassOf, the parts or the sub-class of this goal are also specified to replace ?y respectively in the queries. The SWRL queries and rules above are edited in Protégé-OWL SWRLTab (see Figure 9.1). They are attached to all the OWL files of the annotation models and will 9.3. APPLICABILITY VALIDATION IN AN INTEGRATION APPLICATION 151 be executed on those OWL instances for the evaluation. Section G.2 of Appendix G presents a SWRL file of above queries and rules . Figure 9.1: The SWRL rules in Protege-OWL SWRLTab 9.3 Applicability Validation in an Integration Application The SWRL formulations for requirements are applied in the exemplar studies to validate the applicability of the proposed annotation approach. The validation is described by an application for integrating delivery process from enterprise A and B. The procedure of the implementation of this application is also the procedure of the validation. The following steps have been undertaken for the integration application. In each step, some query questions are described by the application user, and the query questions are then inferred and answered by executing corresponding SWRL rules of the formalized requirements. Results are then analyzed and adjusted based on the semantic relationships of ontologies and models: • Step 1. Set application goals and get goal-relevant model fragments. Running QRule-Activity-achievesHardGoal for RE2.4 (Find the model fragments of process models that reference to SCOR Goal) to find process model fragments achieving the integration goals. Query Question: Find model fragments from the PM A, PMB1 and PMB2 which have impact on the goals "Delivery_is_Processed" and "Invoice_to_Customer_is_Processed". Query Inference: Sub-goals of "Delivery_is_Processed" and "Invoice_to_Customer_is_Processed" are inferred to expand the query, such as "Delivery_is_Scheduled", "Delivery_Terms_are_Generated", 152 CHAPTER 9. VALIDATION OF APPLICABILITY "End_Items_are_Delivered", "Invoice_to_Customer_is_Issued" "Invoice_to_Customer_is_Paid". and Query Answer: As a result from executing the SWRL query, we have process model fragments (sub-processes) of "Delivering_Processing" in PM A and "Deliver_items_to_franchisee" and "Deliver_items_to_shops" in PMB2 which are relevant to achieve those goals. The screen shot of the exemplified results in Protégé-OWL SWRL Query Tab are illustrated in Figure 9.2 and Figure 9.3. Figure 9.2: The query result of QRule-Activity-achievesHardGoal on PMA Figure 9.3: The query result of QRule-Activity-achievesHardGoal on PMB2 • Step 2. Reconcile and align model semantics by using ontology as semantic mediator. SWRL queries and rules are executed for RE4 (Knowledge discovery requirements) to find semantic relationships between Activity, Artifact and Actor-role in those model fragments resulted from step 1. For example, we check the relationships between the Actor-roles involved in PM A and PMB2 . We need to first find out what Actor-roles are involved in each process. 9.3. APPLICABILITY VALIDATION IN AN INTEGRATION APPLICATION 153 Query Question: Navigate Actor-roles in the processes of "Delivering_Processing" in PM A and "Deliver_items_to_franchisee" and "Deliver_items_to_shops" in PMB2 . Query Inference: In order to later find out the relationships between the Actorroles of different models based on domain ontology, we need the query results including the model annotations by specifying which domain ontology concepts are referenced by the Actor-roles. Hence, QRule-Activity-hasActor, QRuleActivity-hasActor-sameas, QRule-Activity-hasActor-kindof and QRuleActivity-hasActor-memberof are used to query PM A and PMB2 . Query Answer: As results of QRule-Activity-hasActor, an Actor-role "logistics_department" is associated with the model fragments of "Delivering_Processing" in PM A (Figure 9.4), and for PMB2 the Actor-roles "logistics_department", "financial_department", "Orbit_warehouse", "shop" and "franchisee" are queried out with respect to those process model fragments of "Deliver_items_to_franchisee" and "Deliver_items_to_shops" (Figure 9.5). The Actor-role "logistics_department" in PM A is annotated with the SCOR ontology "Logistics" by the annotation relationship "same_as" (Figure 9.6). The Actor-role "logistics_department" in PMB2 is also "same_as" the SCOR ontology "Logistics" (Figure 9.7), while the Actor-roles "shop" and "franchisee" are both annotated with the SCOR ontology "Customer" by the annotation relationship "kind_of" (Figure 9.8). Besides, "financial_department" is "same_as" the SCOR ontology "Finance" and "Orbit_warehouse" is "kind_of" the SCOR ontology "Warehouse". Figure 9.4: The query result of QRule-Activity-hasActor on PMA Result Analysis and Adjustment: There are no semantic relationships between "Logistics" and "Customer" in the SCOR ontology. A further step is hereby taken to search the corresponding Actor-roles for each other model. For example, search PM A for the Actor-roles that have the annotation reference of "Customer", and search PMB2 for the Actor-roles that have the annotation reference of "Logistics". By taking an example of "Customer", Query Question: Find the processes which have Actor-roles with the ontological reference of the SCOR ontology "Customer". 154 CHAPTER 9. VALIDATION OF APPLICABILITY Figure 9.5: The query result of QRule-Activity-hasActor on PMB2 Figure 9.6: The query result of QRule-Activity-hasActor-sameas on PMA Query Answer: The "client" in PM A is same_as "Customer", and the Actorroles "shop" and "franchisee" are kind_of "Customer" in PMB2 . Query Analysis and Adjustment: "Shop" and "franchisee" in PMB1 (represented by the EEML modeling element Organization) are hence semantically aligned as sub-classes of "client" in PM A (represented by the BPMN modeling element Swimlane). Similar analysis of semantic relationships between the Activities is made by running QRule-Activity-subActivity to check their sub-activities and super-activities, and also running QRule-Activity-phaseof, QRule-Activitykindof and QRule-Activity-sameas to find out how those Activities are interpreted according to the SCOR ontology. "Deliver_items_to_franchisee" and "Deliver_items_to_shops" in PMB2 , and "Delivering_Processing" in PM A are all phase_of "D1-Deliver_Stocked_Product". Since the Actor-roles "shop" and "franchisee" in PMB2 are sub-classes of "client" in PM A, a corresponding adjustment of the semantic relationship between two models can be consequently made as "Deliver_items_to_franchisee" and "Deliver_items_to_shops" in PMB2 can be sub-activities of "Delivering_Processing" in PM A. A possible integration path could be expressed as follows ("→" represents sequence flow, and "{}" represents sub-activities in the expression): 9.3. APPLICABILITY VALIDATION IN AN INTEGRATION APPLICATION 155 Figure 9.7: The query result of QRule-Activity-hasActor-sameas on PMB2 Figure 9.8: The query result of QRule-Activity-hasActor-kindof on PMB2 ”Send_inquiry” ( PM A) → ”Send_quotation”( PM A) → ”Credit_control”( PMB2) → ”Delivering_Processing”( PM A) { ”Deliver_items_to_ f ranchisee”( PMB2 )} ; ”Deliver_items_to_shops”( PMB2)} → ”Ship_items”( PMB2 ) → ”Receive_delivery”( PM A) → ”Issue_invoice”( PMB2). • Step 3. Re-order the sequence of integrating activities. In Step 2, we are able to figure out the ontological relationships between the activities, but we need sequential relationship to integrate them as a process. For instance, the sequence of activities in the integration can be further refined through checking the sequential Activity and sub-Activities of "Send_quotation" in PM A and the preceding Activities and sub-Activities of "Credit_control" in PMB2 . Applying SWRL queries and rules QRule-Activity-hasSucceedingActivities and QRule-Activity-hasPrecedingActivities for RE1 and QRule-ActivityhasPrecedingActivities-hasSubActivity for RE3.2 to rearrange the sequence of integrated process model fragments. Activity sequences are further checked with the SCOR domain ontology, and adjustment of the sequence and hierarchy of activities is made according to the integration context. Query Question: Navigate the succeeding Activities of "Send_quotation" in PM A and the preceding Activities of "Credit_control" in PMB2 . Query Answer: "Client_quotation_processing" is found as the succeeding Activity of "Send_quotation" in PM A (Figure 9.9), and "Check_stock" and "Correct_orders" are retrieved as the preceding Activities of "Credit_control" in PMB2 156 CHAPTER 9. VALIDATION OF APPLICABILITY (Figure 9.10). Figure 9.9: The query result of QRule-Activity-hasSuccedingActivities on PMA Figure 9.10: The query result of QRule-Activity-hasSuccedingActivities on PMB2 Query Analysis and Adjustment: The integrated sequence depends on i) the activity sequence definitions in original process models, ii) the reference sequence defined in the SCOR ontology, and also iii) the new integration requirements which might need different activity sequence from the former two. Adjustment includes mergence and decomposition of integrating activities. For instance, "Client_quotation_processing" in PM A is annotated with the SCOR ontology concept of "D1.1-Process_Inquiry_and_Quote" (Figure 9.11), whilst "Correct_orders" in PMB2 is annotated as phase_of "D1.2-Receive_Enter_and_Validate_Order" (Figure 9.12). Therefore, "Correct_orders" in PMB2 can be succeeding activity of "Client_quotation_processing" in PM A and then be adapted as a subActivity of "Standard_order_processing" in PM A. While, the two Activities "Credit_control" in PM A and in PMB2 can be merged into one Activity. The result of the integration after this step is following ("/" is used to represent mergence): ”Send_inquiry” ( PMA) → ”Send_quotation”( PMA) → ”Client_quotation_processing”( PM A) → ”Standard_order_processing”( PMA) { ...; ”Correct_orders”( PMB2) ... } → ”Credit_control”( PMA/ PMB2) → ”Delivering_Processing”( PM A){ ...; ”Check_stock”( PMB2 ) ; ...} → ”Transportation_processing”( PM A)/ ”Ship_items”( PMB2) → ”Receive_delivery”( PMA) → ”Issue_invoice”( PMB2). 9.3. APPLICABILITY VALIDATION IN AN INTEGRATION APPLICATION 157 Figure 9.11: The query result of QRule-Activity-phaseof on PMA Figure 9.12: The query result of QRule-Activity-phaseof on PMB2 • Step 4. Build output-input flow. The step can be used to find the missing activities and also re-arrange the sequence of activities based on the output-input flow. For example, we can find an output of "Create_delivery" in in PM A that matches an input of "Issue_invoice" in PMB2 . Query Question: Find out which Activity in PM A produces the input of "Issue_invoice" in PMB2 . Query Inference: Such output-input mapping between different models need to be checked with the SCOR ontology as the mapping mediator, because the input/output parameters might be defined quite differently in two models. Input and Output of activities are checked through running QRule-ActivityInput-mappedto and QRule-Activity-Output-mappedto for RE2.2 (Find the model fragments of process models that reference to SCOR Input/Output). Query Answer: QRule-Activity-Input-mappedto is executed on Activity of "Issue_invoice" in PMB2 and the input is mapped to "Customer_Delivery_Terms" (Figure 9.13). From the result of QRuleActivity-Output-mappedto in PM A (Figure 9.14), Activity "Create_delivery" has an output "delivery" which is mapped to "Customer_Delivery_Terms" too. Query Analysis and Adjustment: Because the input of Activity "Issue_invoice" and the output of "Create_delivery" are both mapped to "Customer_Delivery_Terms", it is possible for the two Activities to be integrated with each other through the output-input flow. Not all the integrating points have strict integration sequences. For those non-strict integrating model fragments, more analysis have to be done manually based on the application 158 CHAPTER 9. VALIDATION OF APPLICABILITY Figure 9.13: The query result of QRule-Activity-Input-mappedto on PMB2 Figure 9.14: The query result of QRule-Activity-Output-mappedto on PMA context. The final result of the integration application after above steps is presented ("|" is used to represent non-strict sequence): ”Send_inquiry” ( PMA) → ”Send_quotation”( PMA) → ”Client_quotation_processing”( PM A) → ”Standard_order_processing”( PMA) { ”Correct_orders”( PMB2)} → ”Credit_control”( PMB2) → ”Delivering_Processing”( PM A){ ...; ”Check_stock”( PMB2 ) ; ...; ”Create_delivery”} → ”Issue_invoice”( PMB2)|( ”Transportation_processing”( PMA)/ ”Ship_items” ( PMB2 ) → ”Receive_delivery”( PM A)). More details of the integration process are provided in Appendix F. By running the above SWRL queries and rules, the integration application has been implemented. The realized implementation validated the applicability of the proposed annotation approach through showing the capability of the annotation results to fulfill the requirements listed in section 9.1.1. 9.4 9.4.1 Discussion on Results of the Validation Automatic vs. manual annotation During the validation, we found that the results of the SWRL queries for RE1 (Navigation requirements) can display the most information of the models through the annotation, but still some semantics of original models are found missing or incomplete in the annotation models. The results of QRule-ActivitysubActivity are the same as the original models, i.e. it is semantic completeness of the Activity composition for the annotation. Such completeness is guaranteed by Pro-SEAT’s automatic transformation from Metis models to PSAM models 9.4. DISCUSSION ON RESULTS OF THE VALIDATION 159 based on the meta-model annotation. However, the results of QRule-ActivityhasPrecedingActivities, QRule-Activity-hasSucceedingActivities, QRuleActivity-hasPrecondition and QRule-Activity-hasPostcondition are not complete because current Pro-SEAT does not support the automatic annotation of the sequence of Activities. We have to manually annotate such information. When checking the results of QRule-Activity-hasArtifact and QRuleActivity-hasActor, it turns out that the automatic annotation of associating Artifact or Actor-role with Activity performs better on EEML models than on BPMN models. The reason is that EEML Resource Role (GPO:Artifact/Actor-role) is encapsulated in EEML Task (GPO:Activity) in Metis which behaves in the same way as GPO. However, the BPMN Logic Process (GPO:Activity) is encapsulated in BPMN Swimlane (GPO:Actor-role) but not in the reverse way. The relations can not be automatically transformed as has_Actor-role properties in PSAM models. Based on the above analysis, we can conclude that the function of automatic transformation should be improved in Pro-SEAT. RE1 (Navigation requirements) is almost fulfilled in spite of the missing annotation caused by the manual annotation. 9.4.2 Model analysis based on semantic relationships The reference ontology is introduced in the SWRL queries for RE2 (Search requirements). The links between the model fragments and the ontology concepts are built through the semantic annotation. When executing the SWRL queries for RE2 (Search requirements) on the three model instances respectively, we found that the synonym (same_as) (i.e. semantic equivalent) relationship is mostly used in annotating Artifacts and Actor-roles, while the hypernym (kind_of) and meronym (part_of, member_of) relationships are rarely used. Nevertheless, for ontology-based annotations of Activities the case is just reverse: more meronym (phase_of) relationships and hypernym than synonym are applied. Such phenomena is observed in all the three models. It shows that Artifacts and Actor-roles in the three models are not very specialized but relatively general and close to the SCOR standard. On the contrary, Activities in different models are quite various and meanwhile the modeling granularity of the Activity is smaller than the SCOR process elements. 9.4.3 Detecting missing annotation In order to detect missing annotations, we run the query rules 2 together with corresponding inference rules 3 . For instance, when only running QRule-ActivityhasArtifact on PMB1 , 19 records are returned. If the query is run together with IRule-Activity-subActivity-hasArtifact, the results set consists of 30 records. By running IRule-Activity-Input-hasArtifact and IRule-ActivityOutput-hasArtifact with QRule-Activity-hasArtifact the query returns 40 records. The results of the execution of those inference rules and queries on three models are listed in Table 9.4. We comparing record numbers of the query results, we can see that there are more missing annotation on Arifacts in PMB1 than in PM A and in 2 starting 3 starting with "Q" in the formulation name (see Table 9.4) with "I" in the formulation name (see Table 9.4) 160 CHAPTER 9. VALIDATION OF APPLICABILITY Table 9.4: Query results of the inferred annotation options PM A 26 27 PMB1 19 30 PMB2 9 12 26 32 32 28 33 40 12 11 12 33 47 15 31 32 28 28 16 23 QRule-Activity-hasPrecedingActivities QRule-Activity-hasPrecedingActivities + IRule-Activitysucceeding-inverse-preceding QRule-Activity-hasPrecedingActivities + IRule-Activitysucceeding-inverse-preceding + IRule-Activity-preceding-inversesucceeding 30 37 20 31 12 14 37 31 14 QRule-Activity-hasSucceedingActivities QRule-Activity-hasSucceedingActivities + IRule-Activitypreceding-inverse-succeeding QRule-Activity-hasSucceedingActivities + IRule-Activitypreceding-inverse-succeeding + IRule-Activity-succeeding-inversepreceding 35 37 21 31 10 14 37 31 14 SWRL inference rules and queries QRule-Activity-hasArtifact QRule-Activity-hasArtifact + IRule-Activity-subActivityhasArtifact QRule-Activity-hasArtifact + IRule-Activity-Input-hasArtifact QRule-Activity-hasArtifact + IRule-Activity-Output-hasArtifact QRule-Activity-hasArtifact + IRule-Activity-Input-hasArtifact + IRule-Activity-Output-hasArtifact QRule-Activity-hasArtifact + IRule-Activity-Input-hasArtifact + IRule-Activity-Output-hasArtifact + IRule-Activity-subActivityhasArtifact QRule-Activity-hasActor QRule-Activity-hasActor + IRule-Activity-subActivity-hasActor PMB2 . The big discrepancy is between running QRule-Activity-hasArtifact alone and running QRule-Activity-hasArtifact together with IRule-Activity-InputhasArtifact. It indicates that many Artifacts are allocated in the sub-Activities in PMB1 . Such knowledge is not explicitly represented in the original model so that it is difficult for an annotator to be aware of it when manually annotating. A similar case is observed when running QRule-Activity-hasActor and IRule-ActivitysubActivity-hasActor on PMB2 . When comparing the three models we notice the following: most Actor-roles are modeled in the sub-Activities of PMB2; no Actor-role is attached to the sub-Activities in PMB1 ; since the way of modeling Actor-role in BPMN is different from EEML(see the previous paragraph), the annotation about has_Actor-role for each Activity is made manually but carefully (Only one annotation is missed by mistake). With respect to the annotation about the sequence of Activities, again the most missing annotations are found in PMB1 . The reason is still the hierarchy of the sub-Activities. Three levels of sub-Activities hierarchy prevents an annotator from picking all the preceding and succeeding Activities inherited from the super-Activities. Not all of the inferred results should be considered as missing annotations. They are just optional annotations to disclose more implicit knowledge carried by the models. Some results of those queries also produce noise to the evaluation because they should not be the correct annotation. For example, the Activity vn is the sub-Activity of V1 and the Activity V2 precedes V1 , but vn is not the direct preceding Activity of V2 because vn is not the last sub-Activity of V1 . The query results of QRule-Activity-subActivity-transitive-achievesHG, QRuleActivity-subActivity-transitive-positivelysatisfiesSG and QRule-Activity- 9.4. DISCUSSION ON RESULTS OF THE VALIDATION 161 subActivity-transitive-negativelysatisfiesSG can be used in the automatic goal annotation. In our method of "calculate the possible goal annotation from the subActivities" in the goal annotation, we synthesize the three inferences in the algorithms. Anyway, inference mechanisms should be taken into account in the development of the annotation tool for the sake of semi-automatic annotation. 9.4.4 Semantic validation Some SWRL rules can be applied to validate semantic representations in both annotated and original process models. Two examples are provided here: • When QRule-Activity-hassamePostcondition or QRule-ActivityhassamePrecondition is executed, the results list a set of Activities with same pre/postcondition. Through the observation, we can conclude two situations: 1. The results are caused by the way of modeling WorkflowPattern: in an EEML model, the logic connection "join" or "choice" is modeled by an EEML Milestone, and the annotated workflow branches from this connection share a same GPO Condition ("eeml:milestone" is mapped to "gpo:condition" in the meta-model annotation). Two evaluation results are therefore brought out: a) The EEML model should be improved by changing the way of modeling to specify the semantics of different conditions. b) In the annotation model, conditions for different branches should be separate. 2. Wrong model or redundant Activities with the same Conditions in the original models. • QRule-Activity-hasOutput-mappedto-sameonto-Activity-hasInput is usually used to navigate the information flow between Activities, which also can be used for the semantic validation. For instance, two different Activities from PMB2 have a same local name "Generate_delivery_protocol", and the outputs of these two Activities are mapped to the same concept "Customer_Delivery_Terms" in the annotation model. According to the query results from QRule-Activity-hasOutput-mappedto-sameontoActivity-hasInput, the outputs are supposed to be passed to the Activity "Issue_invoice" as the input. When we check the original model, one of the two Activities (named with "Generate_delivery_protocol") is a subActivity of "Deliver_items_to_franchisees", and it is indeed followed by the Activity "Issue_invoice" in the original model. However, the other "Generate_delivery_protocol" which is a sub-Activity of "Deliver_items_to_shops" has no link to "Issue_invoice" in the original model. Such observations can be concluded as follows: 1. Two Activities "Generate_delivery_protocol" could be functionally implemented by one component. 2. The annotation of the outputs of the two Activities should be specified distinctively. 162 9.5 CHAPTER 9. VALIDATION OF APPLICABILITY Summary Applicability of the proposed annotation method has been validated through a process knowledge management application based on annotated models. A set of requirements have been elicited for implementing the application. The validation has therefore been undertaken by checking the fulfillment of those requirements with the annotation results. A set of annotation goals in Chapter 8 has been associated with those requirements and measured during the implementation of the application. Analyzing the validation results also supplement the quality evaluation of Chapter 8. Moreover, the application has demonstrated how this work can gain the benefits from Semantic Web technology such as SWRL rules and Description Logic inferences through the validation. Part IV Synopsis 163 Chapter 10 Conclusions and Future Work We conclude our work in this chapter. First, answers to the research questions and the achievements of the objectives are discussed. Then, the contributions are emphasized. Finally, limitations of current work and directions of future work are outlined. 10.1 Research Questions and Findings The main research question presented in Chapter 1 is: How can semantic interoperability of process models be improved by using semantic technologies such as ontologies in the process knowledge management applications? Generally, this question has been answered by an ontology-based semantic annotation method, i.e. building the theory of a semantic annotation framework and a semantic annotation model based on a set of ontologies, and the design and implementation of an ontology-based semantic annotation tool, and as well as the applicability validation in business process knowledge management applications. Furthermore, we elaborate the answers to more specific sub-questions. • RQ1. What kind of semantic interoperability problems exist in business process knowledge management? This question is related to semantic heterogeneity of business process models. We first studied modeling basis of business process management and identified two levels semantic heterogeneity in process models — meta-model level and model level. In general, two cases of semantic discrepancies on both levels can be interpreted according to the relationships between sign, referent, and concept in the semiotic triangle: 1) various signs of referents refer to the same concepts; 2) synonymic signs of referents refer to different concepts. The discussion about modeling basis and semantic discrepancies is provided in Chapter 2, Chapter 3 and Chapter 4. We surveyed semantic heterogeneity of a number of process modeling languages by examining modeling constructs corresponding to the business process modeling perspectives in Chapter 3. Semantics of model contents are dependent on business domains, and only the general semantic discrepancies are considered in this work. The research scope is narrowed down to a study of models in one business domain which is exemplified in the exemplar studies in Chapter 7 and a walkthrough scenario in Chapter 9. 165 166 CHAPTER 10. CONCLUSIONS AND FUTURE WORK • RQ2. What kind of ontologies are required for process knowledge management and how to represent them? Ontologies can provides a standard and formal representation of a conceptualization, which can be used for semantic reconciliation. Through the analysis of semantic discrepancies at both levels, meta-model and model levels, we have determined that a process modeling ontology is needed for the meta-model level and a business domain ontology is necessary for the model level. A general process ontology — GPO has been proposed and the concepts and their relationships have been defined in a meta-model of process models in Chapter 4. A business domain is determined by the use cases so that the domain ontology is driven from the SCOR reference models. The ontological representations of SCOR have been exemplified in Chapter 7. Besides, a goal ontology representing the process objectives have been regarded as an additional requirement for managing process knowledge. The goal ontology is associated with the contextual semantics of process models, and moreover goal specifications can be used in the goal-driven process knowledge management. A general goal ontology representation has been defined in Chapter 5. In order to facilitate associating goals with processes, some concepts in GPO are reused in the goal ontology representation. A specific goal ontology is domain dependent and an example of the specific goal ontology of SCOR domain has been used in exemplar studies in Chapter 7. All the ontologies have been modeled in OWL with Protégé in order to make use of Semantic Web technologies in applications. • RQ3. What metadata are essential for process model interoperability and how are they defined concerning reference ontologies for reconciliation of the heterogeneous semantics of process models? In Chapter 4 and Chapter 5, we have presented our semantic annotation framework, consisting of profile annotation, meta-model annotation, model annotation and goal annotation. The annotation metadata is also referred as annotation schema in this thesis. A set of metadata including Dublin Core has been categorized into the types of administrative, descriptive, preservation, technical and use to describe the profile information of process models in Table 4.1. In the metamodel annotation, different process modeling languages are mapped to GPO to reconcile the different modeling constructs with the common definitions in GPO. There are three cases of mapping: one-one, many-one and combination-one, which need to be specified in the meta-model annotation schema. GPO is the basis of the semantic annotation framework and it constructs the semantic annotation model for model annotation and goal annotation after the meta-model annotation. In the semantic annotation model, process knowledge in original models is represented in a common knowledge representation format. Model annotation is to refer model contents to domain ontology concepts. Simple reference is not sufficient for specifying the semantic discrepancies. We refined the reference through semantic relationships (such as synonym, polysemy, hypernym, hyponym, meronym, holonym and instance) which are usually used in ontology specifications, so that the model annotation looks like to build "intermediate ontologies" between the domain ontology concepts and the local model contents. 10.1. RESEARCH QUESTIONS AND FINDINGS 167 During the process knowledge management, the "intermediate ontologies" can be used to rank and infer the knowledge query results (see Chapter 8). Those semantic relationships are defined in the semantic annotation model together with the relationships defined in GPO. The semantic annotation model is the model annotation schema. Such model annotation schema is extended by goal annotation metadata achieves, positively_satisfies and negatively_satisfies, which are used to associate goal ontology concept with process model fragments. The semantic annotation schema is defined in OWL and a semantic annotation model is instantiated when it is generated as a result of meta-model annotation. • RQ4. How can Semantic Web technology to be incorporated in a tool using the proposed approach? We have integrated the Protégé Java API into the prototype of our annotation tool — ProSEAT to manipulate the ontologies edited in Protégé (see Chapter 6). With the tool, users can browse the ontologies and select reference concepts from the ontology for the annotation. The tool supports manual mapping between GPO and process modeling languages, automatic generation of an OWL instances of a semantic annotation model for the model and goal annotation, manual model annotation and semi-automatic goal annotation. Annotation results are saved in the OWL instance model, which can be read by any OWL supported system. Semantic inference can be made on the annotation results using OWL DL reasoners such as Racer [61], FaCT++ [162], KAON2 [118], Pellet [96]. • RQ5. How can we use the proposed approach to facilitate process knowledge management? The annotation procedure with the annotation tool in exemplar studies has been elaborated in Chapter 7. Based on the annotation results, a process knowledge management application has been demonstrated in Chapter 9. We have validated the applicability of semantic annotation approach and results. The process knowledge management activities — process knowledge query and process model integration — have been analyzed through checking the satisfactions of a set of identified application requirements. Semantic Web technologies — OWL DL inference with SWRL rules has been applied in the applications and evaluations. The positive evaluation results proved the quality and applicability of the semantic annotation approach in the exemplified process knowledge management application. From the answers to the research questions, we can associate them with the objectives specified in Chapter 1. We therefore conclude: the solutions to RQ1 achieve the objective "to investigate semantic heterogeneity issues in business process modeling"; the solutions to RQ2 and RQ3 achieve the objective "to explore a comprehensive annotation approach to deal with heterogeneous semantics of process knowledge with referenced ontology"; the solutions to RQ4 achieve the objective "to develop an annotation tool to implement the approach by applying Semantic Web technologies"; the solutions to RQ5 achieve the objective "to evaluate quality and use feasibility of the proposed approach and tool in supporting process knowledge management activities". 168 10.2 CHAPTER 10. CONCLUSIONS AND FUTURE WORK Summary of the Contributions Based on the answers to the research questions and the achieved objectives, the work contributes to theoretical, methodological and practical body of knowledge. • Theoretical contribution: – Applying semiotic theory as the theoretical basis of the work. Since our semantic annotation targets are process models at conceptual level, conceptual modeling theories have been adapted for this research. The meaning triangle based on the semiotic theory has been used to identify the semantic heterogeneity existing at meta-model and model levels. The relationships between ontology, model, meta-model and modeling language have been also analyzed through the semiotic framework in section 4.1.1. – Survey and comparison of business process modeling languages and process ontologies according to the process perspectives defined in a Business Process Management Systems Paradigm (Figure 3.1). The semantic heterogeneity of various business process modeling languages has been investigated through the language survey. Existing process ontologies have been surveyed and compared in order to grasp the common and core concepts for process semantics, which are the basis of our GPO. – General Process Ontology (GPO). Based on the investigation and analysis of process ontologies and business process modeling languages, a process ontology has been created for reconciling various process modeling constructs. GPO is a sep forward to the unified process ontology for the interoperability of process models. • Methodological contribution: – A semantic annotation framework for enriching the semantics of process models when treating them as knowledge. A fundamental semantic annotation structure and annotation components (profile annotation, meta-model annotation and model annotation) depict how the process knowledge is organized through such annotation framework. – An ontology-based annotation method. A semantic annotation model has been formalized and a set of semantic mapping rules have been elaborated to guide users to apply the framework and conduct the annotation. – A goal annotation method. As the way of specifying the objective of processes, a goal ontology representation method has been proposed. Based on the underlying relationships between goal ontology and process models, semi-automatic goal annotation algorithms have been introduced to facilitate the annotation. • Practical contribution: – OWL representation of domain and goal ontologies driven from SCOR specifications. Since domain and goal ontologies are domain dependent, SCOR 10.3. LIMITATIONS AND FUTURE WORK 169 was chosen as the domain references for the annotation in the exemplar studies. SCOR specifications have not been originally represented in OWL ontologies. As the ontology engineering contributions, the SCOR ontologies in OWL representations in this work can be reused in other applications. – A prototype of the annotation tool. The development of the annotation tool has provided the technical contribution to the system implementation by integrating Semantic Web technology. Also the prototype serves as a testbed in the evaluation of our approach . – Quality evaluation and applicability validation. The quality evaluation has presented how an evaluation procedure was conducted applying SEQUAL [80]. Through the applicability validation, a possible process knowledge management application has been demonstrated based on the annotation results. The ways of applying the relevant Semantic Web technologies such as DL reasoning and SWRL have also been presented in the application. 10.3 Limitations and Future Work Semantic annotation enabling e-business and B2B is still an interesting topic in academic and industrial research. On one hand, the needs of semantic annotation for reconciling heterogeneous informations are obviously crucial for the cooperative business nowadays. On the other hand, there exist few comprehensive academic or industrial standards and mature off-the-shelf products for semantic annotation. Moreover, the related methodology and technology such as development and application of ontologies and Semantic Web, are still open issues for the ontology-based semantic annotation. Some limitations of the work and possible extensions are discussed in this section. • Further automatic enhancement is needed to facilitate the annotation procedure. NLP techniques such as information extraction from model contents and AI techniques like machine learning might be considered in the annotation of semistructured information too. Furthermore, model abstraction mechanism can be applied to categorize models. • The work should be evaluated in various domains and applications. The approach has been evaluated on two models for one business domain. The exemplars are from literature sources, and the process models and domain ontologies are experimental design. The usability and applicability should be further validated through real cases studies. • Evolution of ontologies and model changes have not been taken into account in the annotation. This issue is associated with the flexibility of the approach. Since no gold standard ontology is available and changes are impossible to avoid, the ontology will certainly evolve with the evolution of the domain knowledge, and process models might change too. When that happens, the annotation results will be inconsistent with models and ontologies. It should be possible to provide a mechanism to keep the annotation results for the unchanged parts of model and to evolve the ontology references when the ontology is modified. 170 CHAPTER 10. CONCLUSIONS AND FUTURE WORK • Semantics of relationships in original models have not been taken into account in this approach. Most of the annotation targets in our approach are entities/classes. Semantics conveyed by the relationships between the modeling entities/classes have not been preserved but transformed into the relationships between the GPO concepts, which might cause some loss of model semantics. However, the annotation of relationships is difficult due to the complexity and flexibility of the relationship representations in most semi-structured models. • Relationship between the semantic annotations of process models at the conceptual level and at the execution level could be developed. Although process models in our application may be regarded as a service, the difference between a Web service and a process model is that a Web Service is executable. A Web service uses programming-like control constructs as their basic building blocks which are inadequate for all the modeling issues. Our approach can compensate for the inadequacy from a different modeling perspective, but more work needs to be completed. Part V Appendices 171 Appendix A BPMN This chapter presents the BPMN Version 1.0 modeling elements and notations. The BPMN modeling elements consist of a set of core elements from which an entire set of the BPMN modeling elements are extended. The core elements support the requirement of a simple notation and define the basic look-and-feel of BPMN. The entire list of elements, including the core elements, help support requirement of a powerful notation to handle more advanced modeling situations [12]. The definition of the BPMN elements are standards from [12]. The complete notations are illustrated in [12], but this chapter illustrates the modeling notations implemented in Metis 5.2.2, which we have applied in our work. A.1 BPMN Elements Categories There are four basic categories of elements — Flow Objects, Connecting Objects, Swimlanes, and Artifacts. The elements classified into the four categories as follow. • Flow Objects are the main graphical elements to define the behavior of a Business Process: Events, Activities, and Gateways. • Connecting Objects provide ways of connecting the Flow Objects to each other or other information: Sequence Flow, Message Flow, and Association. • Swimlanes are used to group the primary modeling elements: Pool and Lane. • Artifacts model additional information about the Process: Data Objects, Group, and Annotation. A.2 A.2.1 Flow Objects Events An Event is something that "happens" during the course of a business process. These events affect the flow of the process and usually have a cause (trigger) or an impact (result). Events are circles with open centers to allow internal markers to differentiate different triggers or results. There are three types of Events, based on when they affect the flow: Start, Intermediate, and End. 173 174 APPENDIX A. BPMN Figure A.1: BPMN Events A.2.2 Activities An Activity is a generic term for work that company performs. An activity can be atomic or non-atomic (compound). The types of activities that a part of a Process Model are: Process, Sub-Process, and Task. Tasks and Sub-Processes are either unbounded or a contained within a Pool. In Metis, notations of Tasks and Sub-Processes look same – round rectangles. Besides for those Activities, Input and Output can be attached. The notations of Activities are listed in Figure A.2. Figure A.2: BPMN Activities – Sub-Process, Task A.2.3 Gateways A Gateway is used to control the divergence and convergence of multiple Sequence Flow. Thus, it will determine branching, forking, merging, and joining of paths. Gateways are represented with diamonds and they can be specified with Gateway Control Types which are icons within the diamond shape (Figure A.3). A.3 A.3.1 Connecting Objects Sequence flow A Sequence Flow is used to show the order that activities will be performed in a Process. A Sequence Flow can be further elaborated as Normal Flow and Exception Flow. A Normal Sequence Flow is usually notated by a line with an arrow connecting activities or gateways. Exception Flow occurs outside the Normal Flow of the Process and is based upon an Intermediate Event that occurs during the performance of the Process. Figure A.4 provides the graphical notation of a Normal Sequence Flow and an Exception Flow. A.3. CONNECTING OBJECTS 175 Figure A.3: BPMN Gateways Figure A.4: BPMN Sequence Flows A.3.2 Message flow A Message Flow is used to show the flow of messages between two participants that are prepared to send and receive them. In BPMN, two separate Pools in the Diagram will represent the two participants (e.g., business entities or business roles). The notation for a Message Flow is illustrated in Figure A.5. Figure A.5: BPMN Message Flow A.3.3 Association An Association is used to associate information with Flow Objects. Text and graphical non-Flow Objects can be associated with the Flow Objects. A dash line with an arrow is used to associate between Data Objects and Activities. A dash line without arrows is to link between Data Objects to a Sequence Flow or a Message Flow (Figure A.6). 176 APPENDIX A. BPMN Figure A.6: BPMN Associations A.4 A.4.1 Swimlanes Pool A Pool represents a Participant in a Process. It is also acts as a "swimlane" and a graphical container for partitioning a set of activities from other Pools, usually in the context of B2B situations. A.4.2 Lane A Lane is a sub-partition within a Pool and will extend the entire length of the Pool, either vertically or horizontally. Lanes are used to organize and categorize activities. The Pool is notated as Swimlane Diagram and the Lane can be notated with Horizontal Swimlane or Vertical Swimlane, which are illustrated as Figure A.7. Figure A.7: BPMN Swimlanes – Pool and Lane A.5 A.5.1 Artifacts Data Object Data Objects are considered Artifacts because they do not have any direct effect on the Sequence Flow or Message Flow of the Process, but they do provide information about what activities require to be performed and/or what they produce. The notation of Data Object is displayed in Figure A.8. Grouping and Annotation are not supported by Metis 5.2.2 currently. A.6. BPMN META-MODEL TREE IN METIS 5.2.2 177 Figure A.8: BPMN Object Data A.6 BPMN meta-model tree in Metis 5.2.2 The modeling elements are grouped into two categories in Metis, which are BPM Modeling Domain and Swimlane Diagram. In the Swimlane Diagram category, a Swimlane Diagram Object can group several Swimlanes and Swimlane can be either horizontal or vertical. Other modeling elements are in BPM Modeling Domain. Some additional modeling elements such as Input, Output, Control, Mechanism, Internal Flow are extended and categorized in the BPM Modeling Domain. The screen shot of the BPMN modeling elements and notations in Metis 5.2.2 is illustrated in Figure A.9. 178 APPENDIX A. BPMN Figure A.9: BPMN modeling elements and notations in Metis 5.2.2 Appendix B EEML 2005 The language vocabulary of EEML 2005 is presented in this chapter. EEML can be used for process and enterprise modeling on different levels (both type and instance level). The language vocabulary is grouped into several domains focusing on different modeling perspectives. Currently EEML includes four modeling domains — Process modeling, Resources modeling, Goal modeling and Data modeling (UML Class Diagram). In this research, we mainly concern the Process modeling and Resource modeling necessary for describing a business process. B.1 B.1.1 Process Modeling Domain Task The Task concept should be used to represent a limited piece of work within a process. A task can be decomposed into smaller tasks, and, likewise, be a part of a larger task. The notation of a task is a round rectangle. Each task can have an Input Port and an Output Port which are the small diamonds attached to the left and right side within the round rectangle. A task-subtask-structure is shown in an onion-style notation as illustrated below (Figure B.1): Figure B.1: EEML Tasks 179 180 B.1.2 APPENDIX B. EEML 2005 Decision Point A decision point models a (normally manual) decision performed as part of the overall process. The behavior of the decision point is largely defined by Logical Relation specified in a decision point, which describes how to handle multiple flows in or out from the decision point. A default icon for the decision point is a diamond. And the logical relations can be specified within a diamond. Figure B.2 presents three types of decision points – OR, AND and XOR. Figure B.2: EEML Decision Points Figure B.3: EEML Milestone B.1.3 Milestone The Milestone concept is used to denote a decision point that is regarded to be of specific importance in the process it is a part of. Examples: When ready to issue a contract, When ready to start a project. The behavior of Milestone is largely defined by the property Logical Relation, which has similar semantics as described on decision-point above. The default icon for a Milestone is in Figure B.3. B.1.4 Resource role The term "role" designates some part played by some resource. A role should always be specified within a context. Typical examples of a role context are i) the organization as a whole, ii) organizational units within an organization iii) a task within the extended enterprise. Roles can be modeled in the context of Task, or externally, meaning the given (implicit) organizational context of the model. In addition, roles may be connected to flows, which is particularly relevant for the Roles of the objecttype. Connecting object roles to flows is a convenient way to model document flow, for instance. Roles may be considered as placeholders for resources, and are introduced to make it possible to talk about the use of resources without being concrete. In principal the B.2. RECOURSES MODELING DOMAIN 181 role types as such do not imply anything in terms of being active or passive. A role can be filled by any type of Resource. The default icon for Role is a circle (Figure B.4). Figure B.4: EEML Resource role B.2 Recourses Modeling Domain Resources are things that play specific roles during the process execution or in the organization in general. The resource roles may vary greatly, - some resources are typically viewed as enablers, whereas others comprise the result (or part thereof) of the process. EEML distinguishes between 6 types of resources, namely Person, Organization, Software Tool, Manual Tool, Material Object, and Information Object. The typical way of connecting resources to processes is to assign them to resource roles included in the process, or attaching them to flows between tasks e.g. document flow. The notations of those resources are illustrated in Figure B.5. Figure B.5: EEML Resources B.3 EEML modeling relationships Besides the above object types, EEML defines a set of relationships to link those object types. The relationships are: flows into (between two Decision Points), has part (between a Task and its components, or between a Resource and its component Resources), has input port (between a Task and its Input Port), has output port (between a Task and its Output Port), has resource role (between a Task and its components of type Role), collaborates with (collaborations between two Tasks), is filled by (between Roles and its assignment of Resources), is candidate for (the possible filling of a Role 182 APPENDIX B. EEML 2005 by a Resource), describe flow (linking a Resource role to a Flows Into), has member (between Organization and its components of Person). B.4 EEML 2005 in Metis 5.2.2 The EEML 2005 modeling constructs are organized in different domains in Metis 5.2.2. Each domain consists of a set of object types and relationships. The metamodel tree structure of EEML in Metis 5.2.2 is displayed in Figure B.6. Figure B.6: EEML 2005 modeling constructs in Metis 5.2.2 Appendix C SCOR SCOR — Supply Chain Operations Reference model [163] is a process reference model that has been developed and endorsed by the Supply Chain Council (SCC) as the crossindustry de facto standard diagnostic tool for supply chain management. The SCOR process reference model provides standard descriptions of management processes, a framework of relationships among the standard processes, standard metrics to measure process performance, management practices that produce best-in-class performance, standard alignment to features and functionality. By applying process modeling building blocks, the model hereby can be used to describe supply chains that are very simple or very complex using a common set of definitions. SCOR provides three-levels of process detail, namely top level (Level 1), configuration level (Level 2), and process element level (Level 3). The three levels are illustrated in Figure C.1 [208]. Figure C.1: Three levels in the SCOR scope [208] 183 184 APPENDIX C. SCOR • Level 1 defines the scope and content for the Supply Chain Opertations Referencemodel. Here basis of competition performance targets are set. • A company’s supply chain can be "configured-to-order" at Level 2 from 30 core "process categories". Companies implement their operations strategy through the configuration they choose for their supply chain. Level 3 defines a company’s ability to compete successfully in its chosen markets, and consists of: • Process element definitions • Process element information inputs, and outputs • Process performance metrics • Best practices, where applicable • System capabilities required to support best practices • Systems/terms The metrics are used in conjunction with performance attributes. The Performance Attributes are characteristics of the supply chain that permit it to be analyzed and evaluated against other supply chains with competing strategies. Most metrics in the Model are hierarchical just as the process elements are hierarchical. Level 1 Metrics are created from lower level calculations and are primary, high level measures that may cross multiple SCOR processes. Lower level calculations (Level 2 and metrics) are generally associated with a narrower subset of processes. C.1 Level 1 Process Definitions SCOR is based on five distinct management processes: Plan, Source, Make, Deliver, and Return. • Plan - Processes that balance aggregate demand and supply to develop a course of action which best meets sourcing, production, and delivery requirements. • Source - Processes that procure goods and services to meet planned or actual demand. • Make - Processes that transform product to a finished state to meet planned or actual demand. • Deliver - Processes that provide finished goods and services to meet planned or actual demand, typically including order management, transportation management, and distribution management. • Return - Processes associated with returning or receiving returned products for any reason. These processes extend into post-delivery customer support. C.2. LEVEL 2 TOOLKIT 185 Level 1 Metrics do not necessarily related to a SCOR Level 1 process. The Level 1 Metrics are the calculations by which an implementing organization can measure how successful they are in achieving their desired positioning within the competitive market space. Figure C.2 list a set of Level 1 Metrics defined in SCOR version 7.0. Figure C.2: Performance Attributes and Level 1 Metrics [164] C.2 Level 2 Toolkit At Level 2, each process can be further described by type. The SCOR process types are Planning, Execution and Enable. The SCOR configuration toolkit defines process categories by the relationship between a SCOR process and a process type. Practitioners select appropriate process categories from the SCOR configuration toolkit to represent their supply-chain configuration(s). The relationship of SCOR process, process type and process category are presented in Figure C.3. The overview of Level 2 process categories are outlined in Figure C.4. Figure C.3: Process Categories [164] 186 APPENDIX C. SCOR Figure C.4: Level 2 Toolkit [164] C.3 Level 3 Process Elements Level 3 presents detailed process element information, including process model, process element definition, performance attributes and accompanying metrics, for each Level 2 Process Category. Process details of S1 Source Stocked Product and D1 Deliver Stocked Product are exemplified in models in Figure C.5 and C.6. In the models, the process elements are ordered in sequence and specified with inputs and outputs. Figure C.7 provides some examples of metrics associated with the performance attributes for the process element Schedule Product Deliveries. C.3. LEVEL 3 PROCESS ELEMENTS Figure C.5: Level 3 process elements of S1 Source Stocked Product [164] 187 188 APPENDIX C. SCOR Figure C.6: Level 3 process elements of D1 Deliver Stocked Product [176] Figure C.7: Level 3 metrics for S1.1 Schedule Product Deliveries [164] Appendix D Algorithm for Semi-Automatic Goal Annotation The semi-automatic goal annotation is implemented through the algorithms in the following cases. • A. Match a target activity (av0) of a goal (g) in the goal ontology (G) with the Activity in a PSAM model(av). • B. Match a target artifact (a f 0) of a goal (g) in the goal ontology (G) with the Artifact and Output in a PSAM model (a f , o). – B.I Match a f 0 with the annotation of o. – B.II Match a f 0 with the annotation of a f which is directly associated with av through has_Activity relationship. – B.III Match a f 0 with the annotation of a f which is indirectly associated with av through has_Output and related_Artifact relationships. • C. Match a target role (ar0 ) of a goal (g) in the goal ontology (G) with the Act-role in a PSAM model (ar). • D. Match a target constraint (c0 ) of a goal (g) in the goal ontology (G) with the Precondition, Postcondition, and Exception in a PSAM model (pre, post, e). For the automatic match, we exploit the semantic mapping through both ontology comparison and string match between ontology references and models. To rank the mapping results, weights are assigned to the different ways of mapping (σ is for a weight of ontology comparison. τ is for a weight of string match). In ontology comparison, three different semantic relationships applied in model annotation are taken into account in the assignment of weights. The synonym ("same_as") relationship is given the highest weight for complete match (σ = 1), and the hypernym ("kind_of") is given a lower weight for a subsumption relationship (σ = 0.8), and the meronym ("phase_of" for activity, "part_of" for artifact, "member_of" for actor-role) is given the lowest weight for a subset relationship (σ = 0.5). In the string match, the exact match 189 190 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION gets higher weight than the sub-string match (τ = 1 for exact match, and τ = 0.5 for sub-string match). Weights are also different for each case. We set different parameters for weighing each case. The values of parameters can be set by users. In the algorithm, α stands for the weight of case A with ontology comparison and β for case A with string match. The case B is relatively complex. Sub-cases are distinguished for case B: case B.I – the target artifact a f 0 of the goal concept is mapped to the annotation of the Output; case B.II – the target artifact a f 0 of the goal concept is mapped to the annotation of an Artifact which is directly associated with the activity; case B.III – the target artifact a f 0 of the goal concept is mapped to the annotation of an Artifact which is indirectly related with the activity. An Artifact can be associated with an Activity through direct relation "has_Artifact" or through the indirect relation "related_Artifact" of the Output. If the association is built through the indirect relation, the state of the target artifact a f 0 should be checked to match the Output too. Parameter θ is used for weight of case B.I, γ is for case B.II with ontology comparison, and δ is for case B.II with string match. and µ are for case B.III. That the models are mapped to the goals by case C (matching the target role) is regarded less important than by the other cases, because the actor role is seldom considered as the stand alone target of a goal. Two parameters ε and ζ are applied in case C for ontology comparison and string match respectively. The values for the two parameters should be set lower than other parameters. No ontology comparison is employed in case D, so one parameter η is assigned in such case. When matching a goal concept (g) with an activity (av) in models, all the four cases must be checked on g and av. The result of a match is a total weight by summing the weights from four cases. The higher total weight is, the better g matches av. 191 Algorithm 1 Goal Annotation Algorithm for Case A Require: weight parameters α and β initialize values of weight f oractivityonto, weight f oractivityname, σ , τ as 0 onto = OD ( av) {av is the activity to be annotated in goal annotation, and OD ( av) gets the domain ontological concept which was annotated to av in model annotation} r = SR ( av, onto ) {SR ( av, onto) gets the semantic relationship between av and onto} for each target activity av0 of a g in goal ontology do if o equals av0 then if r is "same_as" then σ=1 else if r is "kind_of" then σ = 0.8 else if r is "phase_of" then σ = 0.5 end if end if weight f orativityonto = weight f oractivityonto + σ if av.name equals av0 .name by string match then τ =1 else if av.name partly equals av0 .name by string match then τ = 0.5 end if weight f oractivityname = weight f oractivityname + τ end for return α ∗ weight f oractivityonto + β ∗ weight f oractivityname Algorithm 2 Goal Annotation Algorithm for Case B.I Require: weight parameters θ initialize value of weight f oroutput as 0 Arrayout [] is a set of output associated with av {av is the activity to be annotated in goal annotation. out [] is got from has_Output relationship} for each output in out [] do onto = OD ( out) {OD ( out) gets the domain ontological concept which was annotated to output through mapped_to relationship} for each target artifact a f 0 of a g in goal ontology do if onto equals a f then weight f oroutput = weight f oroutput + 1 end if end for end for return θ ∗ weight f oroutput 192 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION Algorithm 3 Goal Annotation Algorithm for Case B.II Require: weight parameters γ , δ initialize value of weight f orarti f actonto, weight f orarti f actname as 0 Arraya f [] is a set of artifacts associated with av through has_Artifact for each a f in a f [] do onto = OD ( a f ) {OD ( a f ) gets the domain ontological concept annotated to a f } for each target artifact a f 0 of a g in goal ontology do r = SR ( a f , onto) {SR ( ar, onto) gets the semantic relationship between a f and onto} initialize σ , τ as 0 if onto equals a f 0 then if r is "same_as" then σ=1 else if r is "kind_of" then σ = 0.8 else if r is "phase_of" then σ = 0.5 end if end if weight f orarti f actonto = weight f orarti f actonto + σ if a f .name equals a f 0 .name by string match then τ =1 else if a f .name partly equals a f 0 .name by string match then τ = 0.5 end if weight f orarti f actname = weight f orarti f actname + τ end for end for return γ ∗ weight f orarti f actonto + δ ∗ weight f orarti f actname 193 Algorithm 4 Goal Annotation Algorithm for Case B.III Require: weight parameters , µ initialize value of weight f oroutarti f actonto, weight f oroutarti f actname as 0 {Case B.III} Array oa f [] is a set of artifacts indirectly related to av through has_Output and related_Artifact for each a f in oa f [] do onto = OD ( a f ) {OD ( a f ) gets the domain ontological concept annotated to a f } for each target artifact a f 0 of a g in goal ontology do r = SR ( a f , onto) {SR ( av, onto) gets the semantic relationship between a f and onto} initialize σ , τ as 0 if onto equals a f 0 then if r is "same_as" then σ =1 else if r is "kind_of" then σ = 0.8 else if r is "phase_of" then σ = 0.5 end if end if if state s0 of a f 0 equals output o of av then weight f oroutarti f actonto = weight f oroutarti f actonto + σ + 1 else weight f oroutarti f actonto = weight f oroutarti f actonto + σ end if if a f .name equals a f 0 .name by string match then τ=1 else if a f .name partly equals a f 0 .name by string match then τ = 0.5 end if if state s0 of a f 0 equals output o of av then weight f oroutarti f actname = weight f oroutarti f actname + τ + 1 else weight f oroutarti f actname = weight f oroutarti f actname + τ end if end for end for return ∗ weight f oroutarti f actonto + µ ∗ weight f oroutarti f actname 194 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION Algorithm 5 Goal Annotation Algorithm for Case C Require: weight parameters ε, ζ initialize value of weight f oractoronto, weight f oractorname as 0 Arrayar[] is a set of actor-roles associated with av through has_Actor-role for each ar in ar[] do onto = OD ( ar) {OD ( ar) gets the domain ontological concept annotated to ar} for each target role ar0 of a g in goal ontology do r = SR ( ar, onto ) {SR ( ar, onto) gets the semantic relationship between ar and onto} initialize σ , τ as 0 if onto equals ar0 then if r is "same_as" then σ=1 else if r is "kind_of" then σ = 0.8 else if r is "phase_of" then σ = 0.5 end if end if weight f oractoronto = weight f oractoronto + σ if ar.name equals ar0 .name by string match then τ =1 else if ar.name partly equals ar0 .name by string match then τ = 0.5 end if weight f oractorname = weight f orartorname + τ end for end for return ε ∗ weight f orarti f actonto + ζ ∗ weight f orarti f actname 195 Algorithm 6 Goal Annotation Algorithm for Case D Require: weight parameters ε, ζ initialize value of weight f orprecondition, weight f orpostcondition, weight f orexception as 0 Arraypre[] is a set of preconditions associated with av through has_Precondition initialize σ , τ as 0 for each precon in pre [] do for each target constraint c0 of a g in goal ontology do if precon.name equals c0 .name by string match then τ=1 else if precon.name partly equals c0 .name by string match then τ = 0.5 end if weight f orprecondition = weight f orprecondition + τ end for end for Arraypost[] is a set of postconditions associated with av through has_Postcondition initialize σ , τ as 0 for each postcon in post[] do for each target constraint c0 of a g in goal ontology do if postcon.name equals c0 .name by string match then τ=1 else if postcon.name partly equals c0 .name by string match then τ = 0.5 end if weight f orpostcondition = weight f orpostcondition + τ end for end for Arrayexc [] is a set of exceptions associated with av through has_Exception initialize σ , τ as 0 for each exception in exc [] do for each target constraint c0 of a g in goal ontology do if exception.name equals c0 .name by string match then τ=1 else if exception.name partly equals c0 .name by string match then τ = 0.5 end if weight f orexception = weight f orexception + τ end for end for return η ∗ ( weight f orprecondition + weight f orpostcondition + weight f orexception ) 196 APPENDIX D. ALGORITHM FOR GOAL ANNOTATION Appendix E GUI of Pro-SEAT The properties defined for annotating the profile are edit-able in the profile annotation UI (Figure E.1). Figure E.1: Profile annotation UI in Pro-SEAT Figure E.2 displays the main frame layout of the meta-model annotation UI. The tree view of the original process model is on the left, and on the right side of the annotation panel is the reference ontology browser (In this case, it displays the GPO 197 198 APPENDIX E. GUI OF PRO-SEAT ontology). The meta-model annotation results are listed in the center of the frame. The manipulation of the meta-model annotation can be activated through the buttons beside the panel of the annotation result list. Figure E.2: Meta-model annotation UI in Pro-SEAT Figure E.3 shows the activated dialogs in mapping the meta-model elements to the GPO ontology concepts. In the model annotation UI (Figure E.4), a PSAM model can be generated for the model annotation from one meta-model annotation result. In a PSAM, the classes are GPO concepts and the model contents transformed from the original models are OWL instances of those GPO concepts. The model and the goal annotations are made to the instances of the generated PSAM models. The user can browse those instances by selecting a GPO concept in the annotation panel. For each model element/instance, there are a set of properties for editing the model annotation. Those properties are displayed between the panels of the model elements and the reference ontology. Some of the properties are the relationships defined in the GPO ontology (e.g. has_subActivities), and some are for linking the reference ontology (e.g. same_as). For those relationships of GPO, the values of the properties are still the model constructs/instances that can partly transferred from the original process model by the generation of PSAM. New values can be inserted or the values can be deleted by "New" and "Delete" buttons 199 Figure E.3: Mapping meta-model to GPO for those properties. Since the value is also the annotatable model element/instance, "Annotate" button provides a short-path to browse this instance. For those links to the reference ontology, "Add" button can activate the ontology selection dialog and "Remove" button is for deleting the values of the property. The goal annotation requires the generated PSAM model from the model annotation. Having the similar UI with the model annotation, the goal annotation properties are listed in the middle between the model elements and the reference ontology (Figure E.5). The target of the goal annotation is Activity and the sub-activity hierarchy is important for the automatic annotation, so that the model elements are listed as not the GPO instances but the model tree in the goal annotation UI. The manual annotation is to select the goal concept from the ontology selection dialog. When automating the goal annotation, a list of the goal options for the annotation is generated from the automatic goal annotation algorithm. The weights of the match are also displayed to indicate which goals have the higher priority for this annotation. Figure E.6 illustrates the results of the automatic goal annotation. 200 APPENDIX E. GUI OF PRO-SEAT Figure E.4: Model annotation UI in Pro-SEAT 201 Figure E.5: Goal annotation UI in Pro-SEAT Figure E.6: Automatic goal annotation in Pro-SEAT 202 APPENDIX E. GUI OF PRO-SEAT Appendix F Analysis of the Annotation and the Integration Application in Exemplar Studies In this chapter, we provide analysis details of exemplar studies. Section F.1 describes how SCOR ontology is annotated to PM A, PMB1 and PMB2 with our semantic annotation approach. Based on the annotation results, an analysis of the integration application for the applicability of the semantic annotation approach is depicted in section F.2. F.1 Semantic Annotation with SCOR ontology Parts of the annotation results of the exemplar studies are displayed in Table 7.3, Table 7.4 and Table 7.5. Ten representive Activities out of 33 instances in PM A are listed in Table 7.4. For the model annotation, same_as is applied when the Activity instance undertakes the same task as the SCOR process element. "Transportation planning" in PM A does actually accomplish the carriers selection and shipments rating (D1.7), no more and no less work than that. When one Activity instance specifies the way of doing of a certain SCOR process element, kind_of can be used. "Credit control" is one way of managing the deliver capital assets (ED.5) in the context of PM A. Usually the granularity of the Activity instances is smaller than the SCOR level 3 process element, i.e. they are decomposed parts of SCOR process elements. Those Activities are therefore phase_of the reference ontology concepts. Both "Client RFQ processing" and "Client quotation processing" are two phases of D1.1 Process Inquiry and Quote. As the goal annotation results, they are not obvious to see the inherent link between the Activity instance and the goal ontology in the table. The automatic goal annotation algorithm deduces the optional goal ontology concepts which have the features relevant to the model fragment of the Activity instance. But it does not mean that all the deduced goals are fulfilled by the Activity, the options are returned with the weights. Generally the higher weight indicates that the returned goal is more relevant to the Activity instance. Besides, the annotator will make the choices based on the context of process models and manual annotation is also necessary in 203 204 APPENDIX F. ANALYSIS OF EXEMPLAR STUDIES some cases. For the example of "Create delivery", the goal algorithm deduces two hard goals Delivery Date is Determined with weight ’1.0’ and Delivery Date is Determined with weight ’0.06’. Delivery Date is Determined is not selected because of low weight. Delivery is Processed is further checked in the goal ontology and its parts Delivery is Scheduled and Delivery Terms are Generated are considered more precise than Delivery is Processed in the goal annotation of "Create delivery". Nine soft goals are also returned but only two goals with weight ’1.8’ (Ensure Full Delivery and Ensure Full Shipment) are selected by an annotator. In PMB1 , "get the order to supplier" can be regarded as a phase of the activity ontology Schedule Product Deliveries from SCOR. Because there are three kinds of items receiving, they are respectively checked in sub-Activities of the activity "check items". Therefore, three sub-Activities all achieves Sourced Product are Verified. The procedure of "check imported items" is a little more complicated compared with the other two kinds of items receiving because it includes issuing deficit protocols and an invoice to insurance company. "Check imported items" are depicted with a serial of sub-Activities such as "issue the deficit protocol", "issue an invoice to insurance company", etc. Those negatively satisfy the soft goal Reduce Verification Costs. The consignment can simplify the check and item receiving procedure, so it positively satisfies Reduce Verification Costs. Issuing invoices are steps of "Authorize Supplier Payment", and "issue an export invoice" are to authorize payment to suppliers. The soft goal of Process Invoice Without Error will be risked by the invoice issue procedures. In the context of the TelCo use case, "store items to Orbit" is the way of Transfer Product and the result of the procedure is an Available Inventory. PM A starts the process from the order inquiry from the client, whilst PMB2 begins with the existing orders but the orders are managed and edited during the delivery process. It is hereby observed that the sequence of the Activities of PMB2 does not comply with the sequence of the SCOR DELIVER. The first Activity "Consolidate orders" accomplishes the same task as D1.4 Consolidate Orders. As the descriptions of the TelCo case, the "Consolidate orders" is executed by a computational software SEN which can Reduce Order Processing Costs and Reduce Order Processing Time. "Check stock" in PMB2 is more general compared with "Check delivery items" and "Check availability of delivery items" in PM A so that no specific goals are annotated to "Check stock". Although both PM A and PMB2 have the Activity "Credit control" and they are both phase_of D1.2 Receive Enter and Validate Order, they are not exactly same. "Credit control" in PM A deals with the capital assets but in PMB2 it is just kind_of ED.3 Manage Deliver Information. Delivery protocol is treated as Delivery Terms and "Generate delivery protocol" of PMB2 is similar to "Create delivery" of PM A. They are also the way of ED.3 Manage Deliver Information. However, the delivery protocol in PMB2 is mainly focus on the agreed delivery date so that Improve Deliver to Customer Delivery to Date Performance and Improve Deliver to Customer On Time Delivery Performance are selected as the goal annotation for "Generate delivery protocol". "Send items" serves in both "Deliver items to franchisees" and "Deliver items to shops" and should be specified as kind_of D1.12 Ship Product if they are using different ways to ship product. The items delivered to shops are retail product so "Deliver items to shops" is phase_of D4 Deliver Retail Product not D1 Deliver Stocked Productas "Deliver items to franchisees". Since F.2. INTEGRATION APPLICATION BASED ON SEMANTIC ANNOTATION 205 the shops are local shops, it usually takes less time to ship the products so that it positively_satisfies Reduce Order Shipment Time. After annotating the low level activity elements, the goal contributions can be calculated to the upper level activities. Taking the example of the composite activity "Check items", we have annotated its component activities with hard goals and soft goals. "Check imported items" negatively satisfies Reduce Verification Costs and "check consignment items" positively satisfies Reduce Verification Costs, so the effects are counteracted for the composite activity "check items" if we apply the simple contribution calculation rules. The hard goals "Sourced Products are Verified", "Procurement Notification to Supplier" and "Product Quantity is Approved" which are annotated to "check imported items", "check consignment items" and "check items from local suppliers" are simply passed to "check items". Applying the same rules, the goals related to the whole process model are specified through the goal annotation. F.2 Integration Application Based On Semantic Annotation An integration application in the exemplar studies is to integrate delivery processes of Enterprise A and B. We deploy this application based on semantic annotation results of process models. The following steps have been undertaken for the integration application: 1. Running QRule-Activity-achievesHardGoal for RE2.4 to find process model fragments achieving the integration goals. 2. Using ontology as semantic mediator, SWRL queries and rules are executed for RE4 to find semantic relationships between Activity, Artifact and Actor-role in those model fragments resulted from step 1. 3. Based on semantic relationships between model fragments, listing some possible integration paths. 4. Applying SWRL queries and rules QRule-Activity-hasSucceedingActivities and QRule-Activity-hasPrecedingActivities for RE1 and QRule-ActivityhasPrecedingActivities-hasSubActivity for RE3.2 to rearrange the sequence of integrating process model fragments. 5. Checking the results from step 4 with activity sequences in the SCOR domain ontology. 6. Adjusting the sequence and hierarchy of integrating activities according to the integration context. 7. Build output-input flow by checking Input and Output of activities through running QRule-Activity-Input-mappedto and QRule-Activity-Outputmappedto for RE2.2. The step can be used to find the missing activities and also re-arrange the sequence of activities based on the output-input flow. 206 APPENDIX F. ANALYSIS OF EXEMPLAR STUDIES Firstly, the goals "Delivery_is_Processed" and "Invoice_to_Customer_is_Processed" are chosen from the goal ontology as the integration goal. Running QRule-Activity-achievesHardGoal for RE2.4 on annotated models from both enterprises. There is no result from PM A, PMB1 and PMB2 which is directly related to the two goals. However, reasoning from the goal ontology, "Delivery_is_Processed" has sub-goals (has_parts) "Delivery_is_Scheduled", "Delivery_Terms_are_Generated", and "End_Items_are_Delivered". "Invoice_to_Customer_is_Processed" has subgoals "Invoice_to_Customer_is_Issued" and "Invoice_to_Customer_is_Paid". By running the queries about these sub-goals, we are aware that such knowledge is distributed in PM A and PMB2 and mostly related to "Delivering_Processing" in PM A and "Deliver_items_to_franchisee" and "Deliver_items_to_shops" in PMB2 . Another integration concern in this application is the integration of "Customer" of two enterprises. In PM A the BPMN Swimlane "client" is same_as the ontology concept "Customer" whilst in PMB2 the EEML Organization "shop" and "franchisee" are both kind_of "Customer". When transforming or integrating two models, "shop" and "franchisee" can be modeled as sub-class of "client" in PM A. The identical and the unique parts of "Deliver_items_to_franchisee" and "Deliver_items_to_shops" can be modeled as sub-Activities of "Delivering_Processing" in PM A respectively. Moreover, we should check all the Activities relevant to "shop" or "franchisee" in PMB2 and the Activities relevant to "client" in PM A. In the exemplar studies, the Activity "Send_inquiry", "Send_quotation", "Receive_delivery" in PM A and the Activity "Deliver_items_to_shops" and "Deliver_items_to_franchisees" in PMB2 are returned in the query results. To check the underlying semantic relationships between those Activities, we can run QRule-Activity-phaseof, QRule-Activity-kindof and QRule-Activity-sameas to find out how those Activities mapped to the SCOR ontology. Both "Deliver_items_to_shops" and "Deliver_items_to_franchisees" in PMB2 are phase_of D1-Deliver_Stocked_Product, while in PM A "Send_quotation" and "Send_inquiry" are phase_of D1.1-Process_Inquiry_and_Quote and "Receive_delivery" is kind_of D1.13-Receive_and_Verify_Product. It is obvious that the two Activities in PMB2 are too general (mapped to a process category of the SCOR level 2), so that we can check if they have sub-Activities by running QRule-ActivitysubActivity. If there is no sub-Activities, the Activities in PM A can be considered as the refined sub-Activities for PMB2 because D1.1 and D1.13 are sub-Activities of D1 according to the SCOR ontology. If there are any sub-Activities, further check of those sub-Activities is to be deployed. Four sub-Activities are returned for "Deliver_items_to_franchisees": "Generate_delivery_protocol", "Credit_control", "Issue_invoice" and "Send_items". When checking the semantic mapping between those sub-Activities and the SCOR ontology, "Send_items" is kind_of D1.12-Ship_Product, "Credit_control" is phase_of "D1.2-Receive_Enter_and_Validate_Order" and "Issue_invoice" is phase_of "D1.15-Invoice". By filling RE4.5, a possible integration path could be ”Send_inquiry” ( PMA) → ”Send_quotation”( PMA) → ”Credit_control”( PMB2 ) → ”Delivering_Processing”( PMA){ ”Deliver_items_to_ f ranchisee”( PMB2} ; ”Deliver_items_to_shops”( PMB2 )} → ”Ship_items”( PMB2 ) → F.2. INTEGRATION APPLICATION BASED ON SEMANTIC ANNOTATION 207 ”Receive_delivery”( PM A) → ”Issue_invoice”( PMB2 ). Certainly that is not a complete and fine integration. The succeeding Activities of "Send_quotation" in PM A and the preceding Activities of "Credit_control" in PMB2 should be checked by QRule-Activity-hasSucceedingActivities and QRuleActivity-hasPrecedingActivities for RE1. Because "Credit_control" is a subActivity in PMB2 , the QRule-Activity-hasPrecedingActivities-hasSubActivity for RE3.2 should be executed as well. The returned succeeding and preceding Activities are then checked with the reference ontology based on the annotation. "Client_quotation_processing" and "Standard_order_processing" (succeeding Activities of "Send_quotation") in PM A are mapped to "D1.1" and "D1.2" respectively. The sequence of "Check_stock" and "Correct_orders" (preceding Activities of "Send_quotation") in PMB2 are found not consistent to the SCOR ontology because "Check_stock" is phase_of "D1.3-Reserve_Inventory_and_Determine_Date" and "Correct_orders" is phase_of "D1.2". The decision of adapting PMB2 to SCOR sequence in the integration model is made. Compared with "Standard_order_processing" in PM A, "Correct_orders" has the same ontology reference "D1.2" and the same Actor-role "Sales". Therefore, "Correct_orders" can be adapted as a subActivity of "Standard_order_processing". Searching the Activities referencing D1.3 in PM A, the Activity "Check_delivery_items" is found so that it is considered to be merged with "Check_stock" in PMB2 . Analogously, the two Activities "Credit_control" in PM A and in PMB2 are merged into one, and "Ship_items" in PMB2 is merged into "Transportation_processing" in PM A just because they share the same ontology references. ”Send_inquiry” ( PM A) → ”Send_quotation”( PMA) → ”Client_quotation_processing”( PMA) → ”Standard_order_processing”( PMA) { ...; ”Correct_orders”( PMB2) ... } → ”Credit_control”( PMA/ PMB2) → ”Delivering_Processing”( PM A){ ...; ”Check_stock”( PMB2 ) ; ...} → ”Transportation_processing”( PM A)/ ”Ship_items”( PMB2) → ”Receive_delivery”( PMA) → ”Issue_invoice”( PMB2). Checking the succeeding Activities of "Credit_control" in PM A, a serials of delivery checking takes place before the Activity "Create_delivery" produces an output "delivery" which is mapped to "Customer_Delivery_Terms". However, in PMB2 only one Activity "Generate_delivery_protocol" following "Credit_control" and has the output of "delivery_protocol". "Delivery_protocol" is annotated with "Customer_Delivery_Terms". Such knowledge is got from running QRule-ActivityOutput-mappedto. Hence the integration model can take the functions defined in PM A to specify "Generate_delivery_protocol" in PMB2 . Besides, the input of Activity "Issue_invoice" is checked through QRule-Activity-Input-mappedto and it is also mapped to "Customer_Delivery_Terms". According to Case 1 of RE4.5, "Create delivery" in PM A can be followed by "Issue_invoice" of PMB2 in the integration model. Since there is no strict sequence requirement between "Transportation_processing" and "Issue_invoice", the two Activities can proceed parallely. 208 APPENDIX F. ANALYSIS OF EXEMPLAR STUDIES ”Send_inquiry” ( PMA) → ”Send_quotation”( PMA) → ”Client_quotation_processing”( PMA) → ”Standard_order_processing”( PM A) { ”Correct_orders”( PMB2)} → ”Credit_control”( PMB2) → ”Delivering_Processing”( PMA){ ...; ”Check_stock”( PMB2 ) ; ...; ”Create_delivery”} → ”Issue_invoice”( PMB2)|( ”Transportation_processing”( PM A)/ ”Ship_items”( PMB2) → ”Receive_delivery”( PMA)). Appendix G Schema of PSAM and SWRL Rules G.1 PSAM in OWL Parts of the PSAM model are exemplified as follows. The complete model is available at http://www.idi.ntnu.no/~yunl/schema/GPOmetaOnto.owl <?xml version="1.0"?> <rdf:RDF xmlns="http://www.owl-ontologies.com/GPO.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.owl-ontologies.com/GPO.owl"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/> </owl:Ontology> <owl:Class rdf:ID="Actor-role"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="same_as"/> </owl:onProperty> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> <owl:onProperty> <owl:DatatypeProperty rdf:ID="kind_of"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="member_of"/> </owl:onProperty> 209 210 APPENDIX G. SCHEMA OF PSAM AND SWRL RULES <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> <owl:onProperty> <owl:DatatypeProperty rdf:about="#name"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> </owl:Class> <owl:Class rdf:ID="Activity"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:about="#name"/> </owl:onProperty> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> <owl:onProperty> <owl:DatatypeProperty rdf:about="#same_as"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> <owl:onProperty> <owl:DatatypeProperty rdf:about="#kind_of"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="phase_of"/> </owl:onProperty> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Artifact"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:about="#name"/> </owl:onProperty> <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:cardinality> G.1. PSAM IN OWL </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="has_Artifact"> <rdfs:range rdf:resource="#Artifact"/> <rdfs:domain rdf:resource="#Activity"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="has_Postcondition"> <rdfs:range rdf:resource="#Postcondition"/> <rdfs:domain rdf:resource="#Activity"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="way_of"> <rdfs:range rdf:resource="#Activity"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="has_Input"> <rdfs:domain rdf:resource="#Activity"/> <rdfs:range rdf:resource="#Input"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="related_Parameter"> <rdfs:domain rdf:resource="#Condition"/> <rdfs:range rdf:resource="#Parameter"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="related_Actor"> <rdfs:range rdf:resource="#Actor-role"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="has_succeedingActivities"> <rdfs:domain rdf:resource="#Activity"/> <rdfs:range rdf:resource="#Activity"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="alternative_name"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Activity"/> <owl:Class rdf:about="#Actor-role"/> <owl:Class rdf:about="#Artifact"/> <owl:Class rdf:about="#Exception"/> <owl:Class rdf:about="#Parameter"/> <owl:Class rdf:about="#Condition"/> <owl:Class rdf:about="#WorkflowPattern"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#kind_of"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Activity"/> <owl:Class rdf:about="#Actor-role"/> <owl:Class rdf:about="#Artifact"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="filename"> <rdfs:domain rdf:resource="#ProcessModel"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:FunctionalProperty rdf:ID="id"> 211 212 APPENDIX G. SCHEMA OF PSAM AND SWRL RULES <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Activity"/> <owl:Class rdf:about="#Actor-role"/> <owl:Class rdf:about="#Artifact"/> <owl:Class rdf:about="#Exception"/> <owl:Class rdf:about="#Parameter"/> <owl:Class rdf:about="#Condition"/> <owl:Class rdf:about="#WorkflowPattern"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#ID"/> </owl:FunctionalProperty> </rdf:RDF> G.2 Rule Definitions in SWRL Some rules defined in SWRL are exemplified as follows. The complete definition of the SWRL rules is available at http://www.idi.ntnu.no/~yunl/schema/swrl.txt <?xml version="1.0"?> <rdf:RDF xmlns="http://www.owl-ontologies.com/GPO.owl#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:swrlx="http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl#" xmlns:swrlb="http://www.w3.org/2003/11/swrlb#" xmlns:query="http://swrl.stanford.edu/ontologies/built-ins/3.3/query.owl#" xmlns:temporal="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl#" xmlns:tbox="http://swrl.stanford.edu/ontologies/built-ins/3.3/tbox.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:abox="http://swrl.stanford.edu/ontologies/built-ins/3.3/abox.owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:swrl="http://www.w3.org/2003/11/swrl#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:swrla="http://swrl.stanford.edu/ontologies/3.3/swrla.owl#" xml:base="http://www.owl-ontologies.com/GPO.owl"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/tbox.owl"/> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/3.3/swrla.owl"/> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/abox.owl"/> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/query.owl"/> <owl:imports rdf:resource="http://www.w3.org/2003/11/swrlb"/> <owl:imports rdf:resource="http://www.w3.org/2003/11/swrl"/> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/swrlx.owl"/> <owl:imports rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/temporal.owl"/> </owl:Ontology> <swrl:Imp rdf:ID="QRule-Activity-Input-mappedto"> <swrl:body> <swrl:AtomList> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:IndividualPropertyAtom> <swrl:argument2> <swrl:Variable rdf:ID="y"/> </swrl:argument2> <swrl:propertyPredicate rdf:resource="#has_Input"/> G.2. RULE DEFINITIONS IN SWRL 213 <swrl:argument1> <swrl:Variable rdf:ID="x"/> </swrl:argument1> </swrl:IndividualPropertyAtom> </rdf:first> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:DatavaluedPropertyAtom> <swrl:argument1 rdf:resource="#y"/> <swrl:propertyPredicate rdf:resource="#mapped_to"/> <swrl:argument2> <swrl:Variable rdf:ID="z"/> </swrl:argument2> </swrl:DatavaluedPropertyAtom> </rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </swrl:AtomList> </rdf:rest> </swrl:AtomList> </rdf:rest> <rdf:first> <swrl:ClassAtom> <swrl:argument1 rdf:resource="#x"/> <swrl:classPredicate rdf:resource="#Activity"/> </swrl:ClassAtom> </rdf:first> </swrl:AtomList> </swrl:body> <swrl:head> <swrl:AtomList> <rdf:first> <swrl:BuiltinAtom> <swrl:arguments> <rdf:List> <rdf:first rdf:resource="#x"/> <rdf:rest> <rdf:List> <rdf:first rdf:resource="#y"/> <rdf:rest> <rdf:List> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> <rdf:first rdf:resource="#z"/> </rdf:List> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </swrl:arguments> <swrl:builtin rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/ query.owl#select"/> </swrl:BuiltinAtom> </rdf:first> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:BuiltinAtom> <swrl:arguments> <rdf:List> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> <rdf:first rdf:resource="#z"/> </rdf:List> </swrl:arguments> <swrl:builtin rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/ query.owl#orderBy"/> 214 APPENDIX G. SCHEMA OF PSAM AND SWRL RULES </swrl:BuiltinAtom> </rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </swrl:AtomList> </rdf:rest> </swrl:AtomList> </swrl:head> </swrl:Imp> <swrl:Imp rdf:ID="QRule-Activity-achievesHardGoal"> <swrl:body> <swrl:AtomList> <rdf:first> <swrl:ClassAtom> <swrl:classPredicate rdf:resource="#Activity"/> <swrl:argument1 rdf:resource="#x"/> </swrl:ClassAtom> </rdf:first> <rdf:rest> <swrl:AtomList> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> <rdf:first> <swrl:DatavaluedPropertyAtom> <swrl:propertyPredicate rdf:resource="#achieves"/> <swrl:argument1 rdf:resource="#x"/> <swrl:argument2 rdf:resource="#y"/> </swrl:DatavaluedPropertyAtom> </rdf:first> </swrl:AtomList> </rdf:rest> </swrl:AtomList> </swrl:body> <swrl:head> <swrl:AtomList> <rdf:first> <swrl:BuiltinAtom> <swrl:arguments> <rdf:List> <rdf:first rdf:resource="#x"/> <rdf:rest> <rdf:List> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> <rdf:first rdf:resource="#y"/> </rdf:List> </rdf:rest> </rdf:List> </swrl:arguments> <swrl:builtin rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/ query.owl#select"/> </swrl:BuiltinAtom> </rdf:first> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:BuiltinAtom> <swrl:arguments> <rdf:List> <rdf:first rdf:resource="#y"/> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </rdf:List> </swrl:arguments> <swrl:builtin rdf:resource="http://swrl.stanford.edu/ontologies/built-ins/3.3/ query.owl#orderBy"/> </swrl:BuiltinAtom> </rdf:first> G.2. RULE DEFINITIONS IN SWRL <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </swrl:AtomList> </rdf:rest> </swrl:AtomList> </swrl:head> </swrl:Imp> <swrl:Imp rdf:ID="IRule-Activity-subActivity-hasActor"> <swrl:body> <swrl:AtomList> <rdf:first> <swrl:ClassAtom> <swrl:classPredicate rdf:resource="#Activity"/> <swrl:argument1 rdf:resource="#x"/> </swrl:ClassAtom> </rdf:first> <rdf:rest> <swrl:AtomList> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:IndividualPropertyAtom> <swrl:argument2 rdf:resource="#z"/> <swrl:argument1 rdf:resource="#y"/> <swrl:propertyPredicate rdf:resource="#has_Actor-role"/> </swrl:IndividualPropertyAtom> </rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </swrl:AtomList> </rdf:rest> <rdf:first> <swrl:IndividualPropertyAtom> <swrl:argument1 rdf:resource="#x"/> <swrl:propertyPredicate rdf:resource="#has_subActivity"/> <swrl:argument2 rdf:resource="#y"/> </swrl:IndividualPropertyAtom> </rdf:first> </swrl:AtomList> </rdf:rest> </swrl:AtomList> </swrl:body> <swrla:isEnabled rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean" >true</swrla:isEnabled> <swrl:head> <swrl:AtomList> <rdf:rest> <swrl:AtomList> <rdf:first> <swrl:IndividualPropertyAtom> <swrl:propertyPredicate rdf:resource="#has_Actor-role"/> <swrl:argument1 rdf:resource="#x"/> <swrl:argument2 rdf:resource="#z"/> </swrl:IndividualPropertyAtom> </rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </swrl:AtomList> </rdf:rest> <rdf:first> <swrl:ClassAtom> <swrl:argument1 rdf:resource="#x"/> <swrl:classPredicate rdf:resource="#Activity"/> </swrl:ClassAtom> </rdf:first> </swrl:AtomList> </swrl:head> 215 216 APPENDIX G. SCHEMA OF PSAM AND SWRL RULES </swrl:Imp> </rdf:RDF> Appendix H Annotation Results in Exemplar Studies — PSAM Instances in OWL H.1 Annotation of PMA Parts of the annotation results of PM A are illustrated as follows. The whole OWL file is available at http://www.idi.ntnu.no/~yunl/schema/PMA_bmp_modelAnno.owl <?xml version="1.0"?> <rdf:RDF xmlns="http://www.owl-ontologies.com/GPO.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.owl-ontologies.com/GPO.owl"> ... <Activity rdf:ID="Check_delivery_items__Logical_Process___ID____ 002asmm019p9am10kf6g__"> <has_Output> <Output rdf:ID="item_availability__Output___ID____ 002asmm01aig8619d5uc__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >item availability</name> <mapped_to rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Inventory_Availability</mapped_to> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asmm01aig8619d5uc</model_fragment> <related_Artifact> <Artifact rdf:ID="stock__Data_Object___ID____002asmm01e1g3iu6rr7q__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asmm01e1g3iu6rr7q</model_fragment> <same_as rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Stock</same_as> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >stock</name> </Artifact> </related_Artifact> <related_Artifact> <Artifact rdf:ID="delivery_items__Data_Object___ID____ 217 218 APPENDIX H. PSAM ANNOTATION RESULTS IN OWL 002asmm01dkqc62v0gnf__"> <kind_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Goods</kind_of> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >delivery items</name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asmm01dkqc62v0gnf</model_fragment> </Artifact> </related_Artifact> </Output> </has_Output> <positively_satisfies rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Improve_Delivery_Performance</positively_satisfies> <positively_satisfies rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Raise_Order_Quantity_Fillrate</positively_satisfies> <phase_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >D1.3-Reserve_Inventory_and_Determine_Delivery_Date</phase_of> <has_Postcondition> <Condition rdf:ID="Is_items_in_stock___Gateway___ID____ 002asmm019tqpgr5teji__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asmm019tqpgr5teji</model_fragment> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Is items in stock?</name> <alternative_name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >items are stored in the inventory</alternative_name> </Condition> </has_Postcondition> <has_Artifact rdf:resource="#stock__Data_Object___ID____ 002asmm01e1g3iu6rr7q__"/> <has_succeedingActivities rdf:resource="#Reject_the_delivery_items__Logical_Process ___ID____002asmm01b7291tj043o__"/> <has_Actor-role rdf:resource="#logistics_department__Horizontal_Swimlane___ID____ 002asmm00p3r9tn7e6c4__"/> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Check delivery items</name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asmm019p9am10kf6g</model_fragment> <has_precedingActivities rdf:resource="#Determine_or_transfer_delivery_route __Logical_Process___ID____002asmm019imrma0mdf5__"/> </Activity> ... <ProcessModel rdf:ID="D__Project_models_sales_logistics_bpm.kmv"> <filename rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >D:\Project\models\sales_logistics_bpm.kmv</filename> </ProcessModel> </rdf:RDF> <!-- Created with Protege (with OWL Plugin 3.2.1, Build 365) H.2 http://protege.stanford.edu --> Annotation of PMB1 Parts of the annotation results of PMB1 are illustrated as follows. The whole OWL file is available at http://www.idi.ntnu.no/~yunl/schema/PMB1_eeml_modelAnno.owl <?xml version="1.0"?> <rdf:RDF xmlns="http://www.owl-ontologies.com/GPO.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" H.2. ANNOTATION OF PMB1 219 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.owl-ontologies.com/GPO.owl"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/> </owl:Ontology> ... <Activity rdf:ID="make_a_report_on_expected_quantities__Task___ID____ 002ashn00tq5gtqi5ps3__"> <has_Input> <Input rdf:ID="__Input_Port___ID____002ashn00tq5hh6820mc__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></name> <related_Artifact> <Artifact rdf:ID="order__Resource_role___ID____002ashm029nhieleknj3__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >order</name> <same_as rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Order</same_as> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002ashm029nhieleknj3</model_fragment> </Artifact> </related_Artifact> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002ashn00tq5hh6820mc</model_fragment> <mapped_to rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Receipt_Verification</mapped_to> </Input> </has_Input> <has_Output> <Output rdf:ID="__Output_Port___ID____002ashn00tq5gthg1l9t__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002ashn00tq5gthg1l9t</model_fragment> </Output> </has_Output> ... <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002ashn00tq5gtqi5ps3</model_fragment> <has_succeedingActivities rdf:resource="#transfer_items_to_Orbit__Task___ID____ 002ashm02257o1b2mk88__"/> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >make a report on expected quantities</name> <has_precedingActivities rdf:resource="#check_imported_items__Task___ID____ 002ashn00svtm1opmcfb__"/> <has_precedingActivities rdf:resource="#check_consignment_items__Task___ID____ 002ashn00ti8hhhhnmv7__"/> <phase_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >ES.4-Manage_Product_Inventory</phase_of> <has_Actor-role rdf:resource="#logistics_department__Organization___ID____ 002asiu01firmt85i7ok__"/> </Activity> ... <ProcessModel rdf:ID="D__Project_models_sales_logistics_bpm.kmv"> <filename rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >D:\Project\models\item_receiving.kmv</filename> </ProcessModel> </rdf:RDF> <!-- Created with Protege (with OWL Plugin 3.2.1, Build 365) http://protege.stanford.edu --> 220 H.3 APPENDIX H. PSAM ANNOTATION RESULTS IN OWL Annotation of PMB2 Parts of the annotation results of PMB2 are illustrated as follows. The whole OWL file is available at http://www.idi.ntnu.no/~yunl/schema/PMB2_eeml_modelAnno.owl <!-- Created with Protege (with OWL Plugin 3.3, Build 399) http://protege.stanford.edu --> <?xml version="1.0"?> <rdf:RDF xmlns="http://www.owl-ontologies.com/GPO.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.owl-ontologies.com/GPO.owl"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/> </owl:Ontology> ... <Output rdf:ID="delivery_protocol__Output_Port___ID____002asiu0004l3j1u57o3__"> <mapped_to rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Customer_Delivery_Terms</mapped_to> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >delivery protocol</name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu0004l3j1u57o3</model_fragment> </Output> <Actor-role rdf:ID="shops__Organization___ID____002asiu012fh51i4fosm__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu012fh51i4fosm</model_fragment> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >shops</name> </Actor-role> <Condition rdf:ID="every_morning__Milestone___ID____002asiu012aqkekt00mj__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu012aqkekt00mj</model_fragment> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >every morning</name> </Condition> ... <Activity rdf:ID="Make_inventory_report__Task___ID____002asiu0014lfhvqb4cc__"> <has_Artifact> <Artifact rdf:ID="inventory__Resource_role___ID____002asiu01gctup01d1qn__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu01gctup01d1qn</model_fragment> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >inventory</name> </Artifact> </has_Artifact> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu0014lfhvqb4cc</model_fragment> <has_subActivity rdf:resource="#report_stock_availability__Task___ID____ 002asiu012cl46vpmgon__"/> <has_Artifact> <Artifact rdf:ID="available_stock__Resource_role___ID____002asiu01gbuangfov0s__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >available stock</name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu01gbuangfov0s</model_fragment> </Artifact> </has_Artifact> <achieves rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Available_Inventory</achieves> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Make inventory report</name> H.3. ANNOTATION OF PMB2 <has_Output rdf:resource="#__Output_Port___ID____002asiu0014lfhclk3h2__"/> <has_Input rdf:resource="#__Input_Port___ID____002asiu0014lfrq31hu2__"/> <has_subActivity> <Activity rdf:ID="Make_inventory__Task___ID____002asiu012hb1nj4m9hn__"> <achieves rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Available_Inventory</achieves> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu012hb1nj4m9hn</model_fragment> <has_Output> <Output rdf:ID="__Output_Port___ID____002asiu012hb1nf120lp__"> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu012hb1nf120lp</model_fragment> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></name> </Output> </has_Output> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Make inventory</name> <has_Actor-role> <Actor-role rdf:ID="logistics_department__Organization___ID____ 002asiu012kuuptiee45__"> <name rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >logistics department</name> <model_fragment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >_002asiu012kuuptiee45</model_fragment> </Actor-role> </has_Actor-role> <has_Input rdf:resource="#__Input_Port___ID____002asiu012hb210krl92__"/> </Activity> </has_subActivity> </Activity> ... <ProcessModel rdf:ID="D__Project_models_sales_logistics_bpm.kmv"> <filename rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >D:\Project\models\delivery.kmv</filename> </ProcessModel> </rdf:RDF> 221 222 APPENDIX H. PSAM ANNOTATION RESULTS IN OWL Bibliography [1] ALTOVA. What is the Semantic Web? http://www.altova.com/semantic_web. html, Last Visited: 2007.5.20. [2] Scott W. Ambler. The Object Primer: Agile Model Driven Development with UML 2, 3rd Edition. Cambridge University Press, 2004. [3] Answers.com. Answers definition of "semantics". http://www.answers.com/topic/ semantics?cat=health, Last Visited: 2007.2.1. [4] Murtha Baca. Introduction to Metadata: Pathways to Digital Information. Getty Information Institute, 2000. [5] Kenneth Baclawski, Mieczyslaw M. Kokar, Paul A. Kogut, Lewis Hart, Jeffrey E. Smith, III William S. Holmes, Jerzy Letkowski, and Michael L. Aronson. Extending UML to support ontology engineering for the semantic web. In Proc. of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pages 342–360, London, UK. LNCS 2185, Springer-Verlag, 2001. [6] Gregory Bateson. Mind and Nature: A Necessary Unity. Bantam, 1988. [7] Carlo Batini and Maurizio Lenzerini. A methodology for data schema integration in the entity-relationship model. In Proc. of the 3rd International Conference on Entity-Relationship Approach (ER 1983), pages 413–420. North-Holland, 1983. [8] Thomas Beale. Archetypes: Constraint-based domain models for future-proof information systems. In Kenneth Baclawski and Haim Kilov (Eds.) 11th Workshop on Behavioral Semantics: Serving the Customer at OOPSLA2002, 2002 [9] Ken Beck, Joshy Joseph, and German Goldszmide. Learn business process modeling basics for the analyst. http://www.ibm.com/developerworks/webservices/ library/ws-bpm4analyst/, 2005. [10] Abraham Bernstein and Mark Klein. Towards high-precision service retrieval. In Proc. of the 1st International Semantic Web Conference (ISWC 2002), volume 2342, pages 84–101. Lecture Notes in Computer Science, 2002. [11] BPMI. Business process modeling language. BPML-2002.pdf, Last Visited: 2005.2.22. 223 http://xml.coverpages.org/ 224 BIBLIOGRAPHY [12] BPMI. Business process modeling notation Version 1.0 May 3, 2004. http:// www.bpmn.org/Documents/BPMN%20V1-0%20May%203%202004.pdf, Last Visited: 2005.2.22. [13] Christopher Brewster, Kieron O’Hara, Steve Fuller, Yorick Wilks, Enrico Franconi, Mark A. Musen, Jeremy Ellman, and Simon Buckingham Shum. Knowledge representation with ontologies: The present and future. IEEE Intelligent Systems, 19(1):72–81, 2004. [14] Ang Chen. Business process management mind map. http://smv.unige.ch/~chen/ ?attachment_id=13, Last Visited: 2007.6.22. [15] Peter P. Chen. The Entity-Relationship Model – Toward a Unified View of Data. ACM Transactions on Database Systems, 1(1):9–36, 1976. [16] Fabio Ciravegna, Alexiei Dingli, Yorick Wilks, and Daniela Petrelli. Adaptive information extraction for document annotation in amilcare. In Proc. of the 25th annual international ACM SIGIR conference on Research and development in information retrieval (SIGIR 2002), pages 451–451, New York, NY, USA, 2002. ACM Press. [17] Christine Collet, Michael N. Huhns, and Wei-Min Shen. Resource integration using a large knowledge base in Carnot. IEEE Computer, 24(12):55–62, 1991. [18] Jordi Conesa and Antoni Olivé. A method for pruning ontologies in the development of conceptual schemas of information systems. Journal on Data Semantics, Vol.5, 64–90, 2006. [19] Stephen Cranefield, Stefan Haustein, and Martin Purvis. UML-based ontology modeling for software agents. In Proc. of Workshop on Ontologies in Agent Systems, 5th International Conference on Autonomous Agents, pages 21–28, 2001. [20] Cycorp. The syntax of CycL. http://www.cyc.com/cycdoc/ref/cycl-syntax.html, Last Visited: 2005.3.11. [21] Anne Dardenne, Axel van Lamsweerde, and Stephen Fickas. Goal-directed requirements acquisition. Science of Computer Programming, 20(1-2):3–50, 1993. [22] Randall Davis, Howard Shrobe, and Peter Szolovits. What is a knowledge representation? AI Magazine, (1):17–33, 1993. [23] SearchCIO Definitions. Business process management. http://searchcio. techtarget.com/sDefinition/0,,sid182_gci1088467,00.html, Last Visited: 2007.9.15. [24] Linda G. DeMichiel. Resolving database incompatibility: An approach to performing relational operations over mismatched domains. IEEE Transactions on Knowledge and Data Engineering, 1(4):485–493, 1989. [25] Rose Dieng-Kuntz. Corporate semantic webs. ERCIM News Special Theme: Semantic Web, (51), 2002. BIBLIOGRAPHY 225 [26] Dov Dori. Why significant UML change is unlikely. Communications of the ACM, 45(11):82–85, 2002. [27] Mark Dowson. Iteration in the software process; review of the 3rd international software process workshop. In Proc. of the 9th International Conference on Software Engineering (ICSE 1987), pages 36–41, Los Alamitos, CA, USA, 1987. [28] William R. Durrell. A Practical Guide to Data Administration. McGraw-Hill, 1985. [29] ARPA Knowledge Sharing Effort. Knowledge interchange format (KIF). http: //www-ksl.stanford.edu/knowledge-sharing/kif/, Last Visited: 2007.7.20. [30] Clarence A. Ellis and Gary J. Nutt. Workflow: The process spectrum. In Proc. of NSF Workshop on Workflow and Process Automation in Information Systems, 1996. [31] University of Toronto Enterprise Integration Laboratory. Tove ontology project. http://www.eil.utoronto.ca/enterprise-modelling/tove/index.html, 2002. [32] Michael Erdmann, Alexander Maedche, Hans-Peter Schnurr, and Steffen Staab. From manual to semi-automatic semantic annotation: About ontology-based text annotation tools. In Proc. of the COLING 2000 Workshop on Semantic Annotation and Intelligent Content, 2000. [33] Eckhard D. Falkenberg, Wolfgang Hesse, Paul Lindgreen, Björn E. Nilsson, J.L.Han Oei, Colette Rolland, Ronald K. Stamper, Frans J.M. Van Assche, Alexander A. Verrijn-Stuart, Klaus Voss. FRISCO — A framework of information system concepts — The FRISCO Report. IFIP WG 8.1 Task Group FRISCO, 1998. [34] Peter H. Feiler and Watts S. Humphrey. Software process development and enactment: Concepts and definitions. Technical report, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1991. [35] Dieter Fensel. Ontologies: Dynamic networks of formally represented meaning. http://sw-portal.deri.at/papers/publications/network.pdf, Last Visited: 2004.3.2. [36] Dieter Fensel, Ian Horrocks, Frank van Harmelen, Stefan Decker, Michael Erdmann and Michel C.A. Klein Oil in a nutshell. In Knowledge Acquisition, Modeling and Management, Proc. of 12th International Conference on (EKAW 2000), pages 1–16. LNCS 1937, Springer, 2000. [37] Daniela Florescu, Ioana Manolescu, and Donald Kossmann. Answering XML queries over heterogeneous data sources. In Proc. of the 27th International Conference on Very Large Data Bases (VLDB 2001), pages 241–250. Morgan Kaufmann, 2001. [38] Enrico Franconi. Tutorial on description logics for conceptual design, information access, and ontology integration: Research trends. In 1st International Semantic Web Conference (ISWC 2002), 2002. 226 BIBLIOGRAPHY [39] Leonidas Galanis, Yuan Wang, Shawn R. Jeffery, and David J. DeWitt. Locating data sources in large distributed systems. In Proc. of the 29th International Conference on Very Large Data Bases (VLDB 2003), pages 874–885. Morgan Kaufmann, 2003. [40] GRL. GRL ontology. 2007.8.12. http://www.cs.toronto.edu/km/GRL/, Last Visited: [41] Thomas R. Gruber. The role of common ontology in achieving sharable, reusable knowledge bases. In James F. Allen, Richard Fikes, and Erik Sandewall (Eds.) Proc. of 2nd International Conference on Principles of Knowledge Representation and Reasoning, pages 601–602, San Mateo, California, 1991. Morgan Kaufmann. [42] Thomas. R. Gruber. Towards Principles for the Design of Ontologies Used for Knowledge Sharing. In N. Guarino and R. Poli (Eds.) Formal Ontology in Conceptual Analysis and Knowledge Representation, Deventer, The Netherlands. Kluwer Academic Publishers, 1993. [43] Thomas R. Gruber. A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2):199–220, 1993. [44] Michael Grüninger, Katy Atefi, and Mark S. Fox. Ontologies to support process integration in enterprise engineering. Computational & Mathematical Organization Theory, 6(4):381–394, 2000. [45] Nicola Guarino. Formal ontology and information systems. In N. Guarino (Eds.) Proc. of the 1st International Conference on Formal Ontologies in Information Systems (FOIS 1998), pages 3–15. IOS Press, 1998. [46] Nicola Guarino, Claudio Masolo, and Guido Vetere. OntoSeek: Content-based access to the Web. IEEE Intelligent Systems, (3):70–80, 1999. [47] Nicola Guarino and Luc Schneider. Ontology-driven conceptual modeling. In Proc. of the 21st International Conference on Conceptual Modeling (ER 2002), page 10, London, UK. LNCS 2503, Springer-Verlag, 2002. [48] Prentice Hall. Chapter 5 sales logistics. http://www.phptr.com/content/images/ 0130853402/samplechapter/0130853402.pdf, Last Visited: 2006.11.15. [49] Siegfried Handschuh, Steffen Staab, and Rudi Studer. Leveraging metadata creation for the semantic web with CREAM. In Proc. of the Annual German Conference on Advances in Artificial Intelligence (KI 2003), pages 19–33, Berlin. LNCS 2821, Springer, 2003. [50] Pat Hayes and Chris Menzel. IKL specification document. http://nrrc.mitre.org/ NRRC/Docs_Data/ikris/IKLspec.pdf, Last Visited: 2007.4.19. [51] Bob Hendry. Metis 3.3 by Computas. Wireless Business & Technology http: //wbt.sys-con.com/read/41291.htm, Last Visited: 2007.10.25. BIBLIOGRAPHY 227 [52] Ian Horrocks. Ontology reasoning: Why and How. Invited talk on the Workshop of Reasoning on the Web at WWW2006. http://www.aifb.uni-karlsruhe.de/WBS/ phi/RoW06/procs/horrocks.txt/, Last Visted: 2007.5.10. [53] Ian Horrocks. Reasoning with expressive description logics: Theory and practice. In Automated Deduction - CADE-18, 18th International Conference on Automated Deduction, Copenhagen, Denmark, July 27-30, 2002, Proceedings, Lecture Notes in Computer Science, pages 1–15. LNCS 2392, Springer Berlin/Heidelberg, 2002. [54] Karin Anna Hummel, Wolfgang Jochum, Stefan Leitich, and Bernhard Schandl. Supporting meetings with a goal-driven service-oriented multimedia environment. In Proc. of the 1st ACM International Workshop on Multimedia Service Composition (MSC 2005), pages 55–65, New York, NY, USA, 2005. ACM Press. [55] i*. An agent-oriented modelling framework. http://www.cs.toronto.edu/km/istar/, Last Visited: 2007.6.11. [56] Annie I.Anton. Goal based requirements analysis. In Proc. of the 2nd International Conference on Requirements Engineering (ICRE 1996), pages 136–144, 1996. [57] LEKS IASI-CNR. AStar. http://leks-pub.iasi.cnr.it/Astar, Last Visited: 2007.2.1. [58] IBM. Business process execution language for web services Version 1.1. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ ws-bpel.pdf, Last Visited: 2007.5.12. [59] EXTERNAL Project in EU’s IST programme. Extended enterprise resources, network architectures and learning (ist-1999-10091). http://research.dnv.com/ external/default.htm, Last Visited: 2007.9.1. [60] Inicio. EPC and eEPC. http://paginas.terra.com.br/negocios/processos2002/epc_ e_eepc.htm, Last Visited: 2007.5.11. [61] Technische Universität Hamburg-Harburg (TUHH) Institut für Softwaresysteme. Racer/racerpro: The first OWL reasoner in the market. http://www. sts.tu-harburg.de/~r.f.moeller/racer/, Last Visited: 2007.9.1. [62] INTEROP. Interoperability research for networked enterprises applications and software. http://interop-noe.org/, Last Visited: 2007.4.8. [63] Mustafa Jarrar, Jan Demey, and Robert Meersman. On using conceptual data modeling for ontology engineering. Journal on Data Semantics (Special issue on Best papers from the ER, ODBASE and COOPIS 2002 Conferences), 2800:185– 207, October 2003. [64] Kurt Jensen. Coloured Petri Nets – Basic Concepts, Analysis Methods and Practical Use. Springer-Verlag, 1997. 228 BIBLIOGRAPHY [65] Håvard D. Jørgensen. Interactive process models. PhD thesis, Norwegian University of Science and Technology, 2004. [66] Vipul Kashyap and Amit P. Sheth. Semantic and schematic similarities between database objects: A context-based approach. VLDB Journal: Very Large Data Bases, 5(4):276–304, 1996. [67] Steven Kelly and Juha-Pekka Tolvanen. Visual domain-specific modeling: Benefits and experiences of using metacase tools. In J. Bezivin, J. Ernst(Eds.) Proc. of the International workshop on Modeling Engineering, ECOOP, 2000. [68] Larry Kerschberg and Doyle Weishar. Conceptual models and architectures for advanced information systems. Applied Intelligence, 13(2):149–164, 2000. [69] Ekkart Kindler. On the semantics of EPCs: A framework for resolving the vicious circle. Technical report, Institue fur Informatk, Universitat Paderborn, 2003. [70] Atanas Kiryakov, Borislav Popov, Ivan Terziev, Dimitar Manov, and Damyan Ognynoff. Semantic annotation, indexing, and retrieval. Journal of Web Semantics, 2(1), 2005. [71] KM. The knowledge machine. http://www.cs.utexas.edu/users/mfkb/RKF/km. html, Last Visited: 2007.6.12. [72] Paul Kogut and William Holmes. AeroDAML: Applying information extraction to generate DAML annotations from web pages. In Proc. of the 1st International Conference on Knowledge Capture (K-CAP 2001), 2001. [73] John Krogstie, Odd Ivar Lindland, and Guttorm Sindre. Defining quality aspects for conceptual models. In Proc. of the IFIP international Working Conference on Information System Concepts, pages 216–231, London, UK. Chapman & Hall, Ltd., 1995. [74] John Krogstie. Using quality function development in software requirements specification. In Proc. of the 5th International Workshop on Requirements Engineering: Foundations for Software Quality (REFSQ 1999), pages 171–185, 1999. [75] John Krogstie. Using a semiotic framework to evaluate UML for the development of models of high quality. Unified Modeling Language: Systems Analysis, Design and Development Issues, pages 89–106. IGI Publishing, 2001. [76] John Krogstie and Arne Sølvberg. Information Systems Engineering: Conceptual Modeling in a Quality Perspective. Norwegian University of Science and Technology, Trondheim (NTNU). Unpublished book, 2003. [77] John Krogstie and Håvard D. Jørgensen. Interactive models for supporting networked organisations. In Proc. of the 16th International Conference on Advanced Information Systems Engineering, pages 550–562. LNCS 3084, Springer-Verlag, 2004. BIBLIOGRAPHY 229 [78] John Krogstie and Sofie de Flon Arnesen. Assessing enterprise modeling languages using a generic quality framework. Information Modeling Methods and Methodologies, pages 63–79. Idea Group Publishing, 2005. [79] John Krogstie, Csaba Veres, and Guttorm Sindre. Integrating semantic web technology, web services, and workflow modeling achieving system and business interoperability. In International Journal of Enterprise Information Systems, 3(1):22–41, 2007. [80] John Krogstie. Integrated goal, data and process modeling: from TEMPORA to model-generated work-places. In Paul Johannesson and Eva Soderstrom (Eds.) Information Systems Engineering: From Data Analysis to Process Networks, IGI publishing, in print, 2008. [81] Ontotext Lab. The KIM platform: Semantic annotation. http://www.ontotext. com/kim/semanticannotation.html, Last Visited: 2007.5.12. [82] Charles Lakos. From Coloured Petri Nets to Object Petri Nets. In Proc. of the Application and Theory of Petri Nets, pages 278–297.LNCS 935, Springer-Verlag, Berlin, Germany, 1995. [83] Charles Lakos. Pragmatic inheritance issues for object Petri Nets. In Proc. of TOOLS Pacific Conference, 1995. [84] James A. Larson, Shamkant B. Navathe, and Ramez Elmasri. A theory of attributed equivalence in databases with application to schema integration. IEEE Transactions on Software Engineering, 15(4):449–463, 1989. [85] Jintae Lee, Gregg Yost, and the PIF Working Group. The PIF process interchange format and framework. Technical report, MIT Center for Coordination Science, 1994. [86] Maurizio Lenzerini. Data integration: a theoretical perspective. In Proc. of the 21st ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS 2002), pages 233–246, New York, NY, USA. ACM Press, 2002. [87] Mauri Leppänen. An ontological framework and a methodical skeleton for method engineering — a contextual approach. PhD thesis, University of Jyväskylä, Jyväskylä, Finland, 2005. [88] Alon Y. Levy. Combining artificial intelligence and database for data integration. In Artificial Intelligence Today: Recent Trends and Developments, pages 249–268, Berlin/Heidelberg, LNCS 1600, Springer. 1999. [89] Alon Y. Levy, Anand Rajaraman, and Joann J. Ordille. Querying heterogeneous information sources using source descriptions. In Proc. of the 22nd International Conference on Very Large Databases, pages 251–262, Bombay, India. VLDB Endowment, Saratoga, California. 1996. 230 BIBLIOGRAPHY [90] Manshan Lin, Heqing Guo, and Jianfei Yin. Goal description language for semantic Web service automatic composition. In Proc. of IEEE/IPSJ International Symposium on Applications and the Internet (SAINT 2005), 31 January 4 February 2005, pages 190–196, Trento, Italy, 2005. [91] Yun Lin, Jennifer Sampson, Sari Hakkarainen, and Hao Ding. An evaluation of UML and OWL using a semiotic quality framework. Advanced Topics in Database Research Volume 4, pages 178–200, Idea Group Publishing. Hershey, PA, USA, 2004. [92] Yun Lin and Darijus Strašunskas. Ontology-based semantic annotation of process models. In Proc. of 10th CAiSE/IFIP8.1/EUNO International Workshop on Evaluation of Modeling Methods in System Analysis and Design (EMMSAD05) Porto, Portugal. 2005 [93] Yun Lin and Hao Ding. Ontology-based semantic annotation for semantic ineroperability of process models. In Proc. of International Conference on Computational Intelligence for Modelling, Control and Automation (CIMCA 2005) IEEE USA, 2005. [94] Yun Lin, Darijus Strašunskas, Sari Hakkarainen, John Krogstie and Arne Sølvberg. Semantic annotation framework to manage semantic heterogeneity of process models. In Proc. of the 18th International Conference on Advanced Information Systems Engineering (CAiSE 2006) pages 433–446, Luxembourg, Luxembourg. LNCS 4001, Springer-Verlag, 2006. [95] Yun Lin and Arne Sølvberg. Goal annotation of process models for semantic enrichment of process knowledge. In Proc. of the 19th International Conference on Advanced Information Systems Engineering (CAiSE 2007) pages 355–369, Trondheim, Norway. LNCS 4495, Springer-Verlag, 2007. [96] Clark & Parsia LLC. Pellet. http://pellet.owldl.com/, Last Visited: 2007.11.1. [97] LOOM. Loom knowledge representation systems. http://www.isi.edu/isd/LOOM/ LOOM-HOME.html#OVERVIEW, Last Visited: 2007.8.19. [98] Thomas W. Malone and Kevin Crownston. The interdisciplinary study of coordination. ACM Computing Surveys, 26(1):87–119, 1994. [99] Thomas W. Malone, Kevin Crownston, and George A. Herman. Organizing Business Knowledge — The MIT Process Handbook. The MIT Press, Cambridge, Massachusetts, London, England, 2003. [100] Frank Manola. Towards a web object model. http://www.objs.com/OSA/wom. htm, Last Visited: 2007.6.18. [101] TOVE Manual. Chapter 3 an activity ontology for enterprise modeling. http: //www.eil.utoronto.ca/tove/active/active32.html, Last Visited: 2007.6.22. BIBLIOGRAPHY 231 [102] Diana Maynard. Benchmarking ontology-based annotation tools for the semantic web. In Workshop of Text Mining, e-Research and Grid-enabled Language Technology at UK e-Science Programme All Hands Meeting (AHM 2005) Nottingham, UK, 2005. [103] Raul Medina-Mora, Terry Winograd, Rodrigo Flores, and Fernando Flores. The action workflow approach to workflow management technology. In Proc. of the 1992 ACM conference on Computer-supported cooperative work (CSCW 1992), pages 281–288, New York, NY, USA. ACM Press, 1992. [104] Robert Meersman. Ontologies and databases: More than a fleeting resemblance. In Proc. of OES/SEO Workshop, 2001. [105] Jan Mendling and Markus Nüttgens. EPC Markup Language (EPML) — an XML-based interchange format for Event-driven Process Chains (EPC). International Journal of Information Systems and e-Business Management (ISeB), 4(3):245–263, 2006. [106] Peter Mika, Daniel Oberle, Aldo Gangemi, and Marta Sabou. Foundations for service ontologies: Aligning OWL-S to DOLCE. In Proc. of the 13th International Conference on World Wide Web (WWW2004), pages 563–572, New York, NY, USA. ACM Press, 2004. [107] Randy Miller. Practical UML: A hands-on introduction for developers. Borland Software Corporation, Inc. 2003. http://dn.codegear.com/article/31863, Last Visited: 2007.5.12. [108] Daniel Moldt and Rüdiger Valk. Object oriented petri nets in business process modeling. In Business Process Management, Models, Techniques, and Empirical Studies, pages 254–273, London, UK. LNCS 1806, Springer-Verlag, 2000. [109] Mark A. Musen. Ontologies: Necessary — indeed essential — but not sufficient. IEEE Intelligent Systems, 19(1):77–79, 2004. [110] John Mylopoulos, Lawrence Chung, and Eric Yu. From object-oriented to goaloriented requirements analysis. Communications of the ACM, 42(1):31–37, 1999. [111] Shamkant B. Navathe and Suresh G. Gadgil. A methodology for view integration in logical database design. In Proc. of the 8th International Conference on Very Large Data Bases (VLDB 1982), pages 142–164, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc., 1982. [112] Fred Nickols. Knowledge Management (KM) and process performance — implications for action. http://home.att.net/~nickols/KM_and_Processes.htm, Last Visited: 2007.6.17. [113] Sergei Nirenburg and Yorick Wilks. What’s in a symbol: Ontology, representation, and language. Experimental and Theoretical Artificial Intelligence, 13(1):9– 23, 2001. 232 BIBLIOGRAPHY [114] Ikujiro Nonaka and Hirotaka Takeuchi. The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. Oxford University Press, 1995. [115] Anna Gunhild Nysetvold and John Krogstie. Assessing business process modeling languages using a generic quality framework. Advanced Topics in Database Research Volume 5 pages 84–101, Idea Group Publishing. Hershey, PA, USA, 2006. [116] OASIS. Business Process Execution Language for Web Services (BPEL4WS). http://xml.coverpages.org/bpm.html#bpel4ws, Last Visited: 2007.4.5. [117] OMG. MDA guide version 1.0.1. http://www.omg.org/docs/omg/03-06-01.pdf, Last Visited: 2004.1.10. [118] AIFB (Institute of Applied Informatics and University of Karlsruhe Formal Description Methods). KAON2. http://kaon2.semanticweb.org/, Last Visited: 2007.7.17. [119] IEEE. IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries Institute of Electrical and Electronics Engineers, 1991. [120] National Institute of Standards and Technology. Process Specification Language (PSL) core. http://www.mel.nist.gov/psl/psl-ontology/pslcore_page.html, 2004. [121] Charles Kay Ogden and Ivor Armstrong Richards. The Meaning of Meaning. London: Kegan Paul, 1923. [122] Antoni Olivé. Conceptual schema-centric development: A grand challenge for information systems research. In Proc. of the 17th International Conference on Advanced Information Systems Engineering (CAiSE 2005) pages 1–15, Porto, Portugal. LNCS 3520, Springer-Verlag, 2005. [123] OMG. Model driven architecture. 2007.6.7. http://www.omg.org/mda/, Last Visited: [124] OMG. Meta Object Facility (MOF) specification version 1.4.1 formal/05-05-05. http://www.omg.org/docs/formal/05-05-05.pdf, Last Visited: 2007.6.7. [125] OMG. Unified modeling language. http://www.uml.org/, Last Visited: 2007.6.7. [126] BPMI & OMG. Business process management initiative. http://www.bmpi.org/, Last Visited: 2007.6.7. [127] Ontotext.com. KIM platform. http://www.ontotext.com/kim/introduction.html, Last Visited: 2007.6.7. [128] Andreas L. Opdahl and Brian Henderson-Sellers. Ontological evaluation of the UML using the Bunge-Wand-Weber model. Software and Systems Modeling, 1(1):43–67, 2002. BIBLIOGRAPHY 233 [129] OASIS Cover Pages. Event-driven Process Chain Markup Language (EPML) for business process modeling. http://xml.coverpages.org/ni2003-11-21-a.html, Last Visited: 2007.7.17. [130] Hervé Panetto, Giuseppe Berio, Khalid Benali, Nacer Boudjlida, and Michae̋l Petit. A unified enterprise modeling language for enhanced interoperability of enterprise models. In Proc. of the 11th IFAC INCOM2004 Symposium,, 2004. [131] Massimo Paolucci, Naveen Srinivasan, Katia Sycara, and Takuya Nishimura. Towards a semantic choreography of web. In Proc. of the 1st International Conference on Web Services (ICWS 2003), pages 22–26, 2003. [132] Jinsoo Park and Sudha Ram. Information systems interoperability: What lies beneath? ACM Transactions on Information System, 22(4):595–632, 2004. [133] Abhijit A. Patil, Swapna A. Oundhakar, Amit P. Sheth, and Kunal Verma. METERO-S Web service annotation framework. In Proc. of the 13th International Conference on World Wide Web (WWW 2004), pages 553–562, New York, NY, USA. ACM Press, 2004. [134] Jean-Christophe R. Pazzaglia and Suzanne M. Embury. Bottom-up integration of ontologies in a database context. In Alexander Borgida, Vinay K. Chaudhri, Martin Staudt (Eds.): Proc. of the 5th INternational Workshop on Knowledge Represenation Meets Databases (KRDB 1998): Innovative Application Programming and Query Interfaces, pages 7.1–7.7. Seattle, Washington, USA, 1998. [135] Adam Pease. Object Model Working Group (OMWG) Core Plan Representation, version 4. Technical report, Defense Advanced Research Projects Agency, 1998. [136] Borislav Popov, Atanas Kiryakov, Angel Kirilov, Dimitar Manov, Damyan Ognyanoff, and Mirosla Goranov. KIM - semantic annotation platfrom. In Proc. of the 2nd International Semantic Web Conference (ISWC2003), pages 834–849, 2003. [137] Walter D. Potter and Larry Kerschberg. A unified approach to modeling knowledge and data. Data and Knowledge (DS-2), pages 265 – 292, 1988. [138] ATHENA Project. Deliverable DA1.3.1 report on methodology description and guidelines definition. http://www.athena-ip.org/, Last Visited: 2005.12.17. [139] European Project. Athena (advanced technologies for interoperability of heterogeneous enterprise networks and their applications) project (ist-2003-2004). http://www.athena-ip.org, Last Visited: 2007.12.17. [140] European Project. Interop (interoperability research for networked enterprises applications and software) project (ist-508011). http://www.athena-ip.org, Last Visited: 2007.7.27. [141] INTEROP Project. Deliverable DEM 1 UEML2.1. http://www.interop-noe.org/, Last Visited: 2005.7.17. 234 BIBLIOGRAPHY [142] INTEROP Project. Deliverable DEM 2 roadmap for UEML and UEML2.1. http: //www.interop-noe.org/, Last Visited: 2006.12.1. [143] INTEROP Project. Deliverable DTG4.1 a practical experiment on semantic enrichment of enterprise models in a homogeneous environment. http://interop-noe. org/, Last Visited: 2006.12.1. [144] INTEROP Project. UEML ontology overview. http://www.interop-noe.org/, Last Visited: 2006.12.1. [145] INTEROP Project. Deliverable DTG4.2 experimental semantic enrichment of enterprise models for interoperability and its practical impacts. http://interop-noe. org/, Last Visited: 2007.8.6. [146] Protégé. Protégé-OWL API. http://protege.stanford.edu/plugins/owl/api/, Last Visited: 2007.5.26. [147] Protégé. What is Protégé? http://protege.stanford.edu/overview/index.html, Last Visited: 2007.5.26. [148] Protégé. What is Protégé-OWL? http://protege.stanford.edu/overview/ protege-owl.html, Last Visited: 2007.5.26. [149] ProtegeWiki. SWRL Language FAQ. http://protege.cim3.net/cgi-bin/wiki.pl? SWRLLanguageFAQ, Last Visited: 2007.5.26. [150] ProtegeWiki. SQWRLQueryTab. http://protege.cim3.net/cgi-bin/wiki.pl? SQWRLQueryTab, Last Visited: 2007.11.30. [151] ProtegeWiki. SWRL Tab. http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab, Last Visited: 2007.5.26. [152] Sudha Ram and Venkataraman Ramesh. Schema integration: Past, current and furture. A. Elmagarmid,. M. Rusinkiewicz, A. Sheth, (ed.) Management of Heterogeneous and Autonomous Database Systems, pages 119–155, 1999. [153] Lawrence Reeve and Hyoil Han. Survey of semantic annotation platforms. In Proc. of the 2005 ACM symposium on Applied computing, pages 1634–1638, New York, NY, USA. ACM Press, 2005. [154] Cornelis Joost van Rijsbergen. Information Retrieval (2nd edition). Butterworths, 1979. [155] Colette Rolland. Modeling the requirements engineering process. In Proc. of the 3rd European-Japanese Seminar on Information Modeling and Knowledge Bases, 1993. [156] Colette Rolland and Naveen Prakash. Bridging the gap between organizational needs and ERP funtionality. Requirements Engineering, 5(3):180–193. Springer London, 2000. BIBLIOGRAPHY 235 [157] Colette Rolland and Rim-Samia Kaabi. An intentional perspective to service modeling and discovery. In Proc. of the 31st Annual International Computer Software and Applications Conference - Vol. 2- (COMPSAC 2007), pages 455– 460, Washington, DC, USA. IEEE Computer Society, 2007. [158] Michael Rosemann and Peter Green. Developing a meta model for the BungeWand-Weber ontological constructs. Information Systems, 27(2):75–91, 2002. [159] Gerard Salton. Automatic Text Processing: The Transformation Analysis and Retrieval of Information by Computer. Addison-Wesley, 1988. [160] August-Wilhelm Scheer and Markus Nüttgens. ARIS architecture and reference models for business process management. Business Process Management, Models, Techniques, and Empirical Studies, Volume 1806/2000 pages 376–389, SpringerVerlag. London, UK, 2000. [161] Craig Schlenoff, Michael Gruninger, Mihai Ciocoiu, and Jintae Lee. The essence of the process specification language. Transactions of the Society for Computer Simulation International, 16(4):204–216, 1999. [162] The University of Manchester School of Computer Science. FaCT++. http: //owl.man.ac.uk/factplusplus/, Last Visited: 2007.5.1. [163] SCOR. SCOR model. http://www.supply-chain.org/page.ww?section=SCOR+ Model\&name=SCOR+Model, Last Visited: 2007.5.10. [164] SCOR. SCOR version 7.0 overview. http://www.supply-chain.org/cs/root/scor_ tools_resources/scor_model/scor_model, Last Visited: 2006.3.22. [165] Peter Senge. The Fifth Discipline: The Art & Practice of the Learning Organization. Doubleday-Currency, 1990. [166] Kaarthik Sivashanmugam, John A. Miller, Amit P. Sheth, and Kunal Verma. Framework for semantic web process composition. Special Issue of the International Journal of Electronic Commerce (IJEC), 9(2), 2004. [167] Pnina Soffer and Yair Wand. On the notion of soft-goals in business process modeling. Business Process Management Journal, 11(6):663–679, May-June 2005. [168] Arne Sølvberg. Data and what they refer to. In Conceptual Modeling: Current Issues and Future Trends., pages 211–226. LNCS 1565, Springer-Verlag, 1999. [169] Arne Sølvberg. Introdution to concept modeling for information systems. Norwegian University of Science and Technology, Trondheim, Norway, 2002. [170] Arne Sølvberg, Sari Hakkarainen, Terje Brasethvik, Xiaomeng Su, Mihhail Matskin, and Darijus Strašunskas. Concepts on enriching, understanding and retrieving the semantics on the Web. ERCIM News. Special Theme: Semantic Web, (51), 2002. 236 BIBLIOGRAPHY [171] John.F. Sowa and John A. Zachman. Extending and formalizing the framework for information systems architecture. IBM System Journal, 31(3):590–616, 1992. [172] Stefano Spaccapietra, Christine Parent, and Yann Dupont. Model indepentent assertions for integration of heterogeneous schemas. VLDB Journal, 1(1):81–126, 1992. [173] Steffen Staab, Jurgen Angele, Stefan Decker, Michael Erdmann, Andreas Hotho, Alexander Maedche, Hans-Peter Schnurr, Rudi Studer, and York Sure. Semantic community web portals. In Proc. of the 9th International World Wide Web Conference on Computer Networks : the International Journal of Computer and Telecommunications Netowrking, pages 473–491, Amsterdam, The Netherlands. North-Holland Publishing Co., 2000. [174] Steffen Staab, Rudi Studer, Hans-Peter Schnurr, and York Sure. Knowledge processes and ontologies. IEEE Intelligent Systems, 16(1):26–34, 2001. [175] Darijus Strašunskas. Domain Model-Centric Distributed Development — An Approach to Semantics-based Change Impact Management. PhD thesis, Norwegian University of Science and Technology, 2006. [176] Scott Stephens. Supply Chain Operations (SCOR) reference model and the integrated business reference framework. Speech on the Supply Chain International Conference, 2006. [177] Heiner Stuckenschmidt. Ontology-based Information Sharing in Weakly Structured Environments. PhD thesis, Vrije University Amsterdam, 2003. [178] Xiaomeng Su. Semantic Enrichment for Ontology Mapping. PhD thesis, Norwegian University of Science and Technology, 2004. [179] SUN. JAXP java API for XML processing. http://java.sun.com/webservices/ jaxp/, Last Visited: 2007.2.10. [180] York Sure, Alexander Maedche, and Steffen Staab. Leveraging corporate skill knowledge — from ProPer to OntoProPer. In Proc. of the 3th international Conference on Practical Aspects of Knowledge Management, 2000. [181] Semantic Web Services Language (SWSL) Committee. Semantic Web Services Framework (SWSF). http://www.daml.org/services/swsf/1.0, Last Visited: 2007.5.3. [182] Katia Sycara, Massimo Paolucci, Anupriya Ankolekar, and Naveen Srinivasan. Automated discovery, interaction and composition of semantic web services. Journal of Web Semantics, 1(1):2–27, 2003. [183] Troux Technologies. Metis. http://www.troux.com/, Last Visited: 2007.7.10. [184] Advanced Knolwedge Technology. MnM. http://kmi.open.ac.uk/projects/akt/ MnM/, Last Visited: 2007.6.22. BIBLIOGRAPHY 237 [185] Systems Thinking. Knowledge management — emerging perspective. http:// www.systems-thinking.org/kmgmt/kmgmt.htm#anex, Last Visited: 2007.6.22. [186] Eran Toch, Avigdor Gal, and Dov Dori. Automatically grounding semanticallyenriched conceptual models to concrete web services. In Proc. of 24th International Conference on Conceptual Modeling (ER 2005), pages 304–319. LNCS 3716, Springer, 2005. [187] Computer Science Department University of Georgia. METEOR-S: Semantic web services and processes. http://lsdis.cs.uga.edu/projects/meteor-s/, Last Visited: 2007.6.22. [188] Mike Uschold and Michael Grüninger. Ontologies: Principles, methods, and applications. Knowledge Engineering Review, 11(2):93–155, 1996. [189] VA. A tutorial on the zachman framework for enterprise architecture. http: //www.va.gov/oirm/architecture/EA/theory/tutorial.ppt, Last Visited: 2007.3.5. [190] Wil M.P. van der Aalst. Formalization and verification of event-driven process chains. Information and Software Technology, 41(10):639–650, 1999. [191] Wil M.P. van der Aalst, Ana P. Barros, Arthur H.M. ter Hofstede, and Bartek Kiepuszewski. Advanced workflow patterns. In O. Etzion en P. Scheuermann, editor, Proc. of 7th International Conference on Cooperative Information Systems (CoopIS 2000), pages 18–29. LNCS 1905, Springer-Verlag. Berlin, 2000. [192] Axel van Lamsweerde. Building formal requirements models for reliable software. In Proc. of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies, pages 1–20, London, UK. Springer-Verlag, 2001. [193] Maria Vargas-Vera, Enrico Motta, John Domingue, Mattia Lanzoni, Arthur Stutt, and Fabio Ciravegna. MnM: Ontology driven semi-automatic and automatic support for semantic markup. In Proc. of the 13th International Conference on Knowledge Engineering and Knowledge Management (EKAW 2002), pages 379–391, London, UK. LNCS 2473, Springer-Verlag, 2002. [194] Olegas Vasilecas and Diana Bugaite. Ontology-based elicitation of business rules. In Proc. of Information Systems Development (ISD 2005), pages 795–806, Sweden. Springer-Verlag, 2006. [195] W3C. OWL web ontology language guide. http://www.w3.org/TR/2004/ REC-owl-guide-20040210/, Last Visited: 2007.5.2. [196] W3C. OWL web ontology language reference. http://www.w3.org/TR/2004/ REC-owl-ref-20040210/, Last Visited: 2007.5.2. [197] W3C. OWL web ontology language overview. owl-features/, Last Visited: 2007.5.2. http://www.w3.org/TR/ [198] W3C. OWL-S: Semantic markup for web services. Submission/OWL-S/, Last Visited: 2004.10.24. http://www.w3.org/ 238 BIBLIOGRAPHY [199] W3C. RDF vocabulary description language 1.0: RDF schema. http://www.w3. org/TR/rdf-schema/, Last Visited: 2006.12.1. [200] W3C. Simple part-whole relations in OWL ontologies. http://www.w3.org/2001/ sw/BestPractices/OEP/SimplePartWhole/index.html, Last visited: 2006.3.17. [201] W3C. Semantic annotations for WSDL and XML schema. http://www.w3.org/ TR/sawsdl/, Last Visited: 2007.9.20. [202] W3C. SWRL: A semantic web rule language combining OWL and RuleML. http://www.w3.org/Submission/SWRL, Last Visited: 2007.8.19. [203] W3C. Web service semantics — WSDL-S. http://lsdis.cs.uga.edu/library/ download/WSDL-S-V1.html, Last Visited: 2005.10.5. [204] Yair Wand and Ron Weber. An ontology model for an information system. IEEE Transactions on Software Engineering, 16(11):1282–1292, 1990. [205] Yair Wand and Ron Weber. On the deep structure of information systems. Information System Journal, 5:203–223, 1995. [206] Branimir Wetzstein, Zhilei Ma, Agata Filipowska, Monika Kaczmarek, Sami Bhiri, Silvestre Losada, Jose-Manuel Lopez-Cobo, and Laurent Cicurel. Semantic business process management: A lifecycle based requirements analysis. In Proc. of Workshops on Semantic Business Process and Product Lifecycle Management (SBPM 2007) at the 4th European Semantic Web Conference (ESWC 2007), pages 1–11. CEUR WS, 2007. [207] Wikipedia. Metamodeling. http://en.wikipedia.org/wiki/Meta-modeling, Last Visited: 2007.12.12. [208] Wikipedia. Supply-chain operations reference. SCOR-model, Last Visited: 2007.11.10. http://en.wikipedia.org/wiki/ [209] WSMO.org. Web Service Modeling Ontology (wsmo). http://www.wsmo.org/, Last Visited: 2007.11.10. [210] WSMO.org. D3.1 v0.1 WSMO primer. http://www.wsmo.org/TR/d3/d3.1/v0.1/, Last Visited: 2007.8.16. [211] Yahoo! Yahoo!directory. http://dir.yahoo.com/, Last Visited: 2007.7.12. [212] Eric Yu, Lin Liu, and Ying Li. Modeling strategic actor relationships to support intellectual property management. In Proc. of the 20th International Conference on Conceptual Modeling (ER 2001), pages 164–178, London, UK. LNCS 2224, Springer-Verlag, 2001. [213] Eric Yu and John Mylopoulos. Why goal-oriented requirements engineering. In Proc. of the 4th of International Workshop on Requirements Egnineering: Foundations of Software Quality, 1998. BIBLIOGRAPHY 239 [214] John.A. Zachman. A framework for information systems architecture. IBM System Journal, 26(3):454–470, 1987.