5.5 Goal Annotation Procedure
6.1.3 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 open- source 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 Pro- SEAT. 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 de- fined 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 rela- tionships 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 spec- ify the interrelations between the entities participating in the system. We have adapted the MDD (Model Driven Development) methodology in the design and the implemen- tation 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. Gen- erally, an annotation structure is the annotation link between a model and the annota- tion 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 analo- gous with the model annotation. One distinct difference is that an intermediate granu- larity 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).