4.1 Ontologies and ontology languages for process management
Semantic process modeling assumes that ontologies and ontology languages exist that can be used for representing the semantics of model elements. To construct an ontology for the semantic process modeling, existing ontologies such as the Enterprise Ontology (Uschold et al. 1998) or TOVE (TOronto Virtual Enterprise) (Fox 1992) can be applied. Further ontologies have become available through the translation of established common standards into ontology languages such as, for instance, eClassOWL as a porting of the eCl@ss-standards to OWL (Hepp 2005) or the generation of ontologies from semantic structures already existing in the company such as for example relation models (Gómez-Pérez and Manzano-Macho 2003). If terms from several ontologies are used then the resulting ontology can be further structured by means of a comprehensive upper ontology (cp. the overview provided by Gómez-Pérez et al. 2004, pp. 204 ff). For the ontology construction in this article we have selected SUMO (Suggested Upper Merged Ontology) (Niles and Pease 2001), because it has a comprehensive, hierarchical category system, which in comparison to abstract upper ontologies allows the easier structural classification of the terms to be defined into the existing ontology.
Many ontology languages are available for the explicit and formal representation of an ontology (cp. the overview provided by Gómez-Pérez et al. 2004, pp. 204 ff). The ontology language OWL (Web Ontology Language) is especially relevant for the semantic process modeling approach in this article due to its comprehensive acceptance and tool support as it is widely used outside the AI-research community and as it is standardized by the W3C (Smith et al. 2004). Thus, it has been selected as our ontology language in this article. Because OWL exists in the three variations Light, DL and Full, a suitable sub-language has to be selected. Due to the emphasis on the machine-processibility of semantics by the semantic process modeling, we selected OWL DL which is based on description logics. It is based on the description logic SHOIN(D) and comprises negation, disjunction and a limited form of existential and universal quantifiers. In contrast to OWL Full, powerful inference machines exist for OWL DL, such as for example Pellet (http://pellet.owldl.com), FACT++ (http://owl.man.ac.uk/) and Racer (http://www.racer-systems.com/). In the following, we will use the term “OWL” instead of the term “OWL DL” for reasons of linguistic simplicity. For criteria-based selection of ontology languages we refer to further readings (Gómez-Pérez et al. 2004¸Casely-Hayford 2005).
4.2 Ontology-based process representation
A prerequisite for the ontology-based process representation is the specification of concepts in the ontology which correspond to the language constructs (e. g. EPC-function) which have been used to create a process model. Individual model elements can then be represented by instantiating these concepts (described in this section). This representation makes it possible to add further statements about model elements by connecting them with other terms in the ontology (paragraph 4.3).
Terms and relations are basic elements provided through ontology languages irrespective of underlying formalities. In OWL they are also referred to as classes and properties. The form of the representation is relatively free. Thus for example, one must decide whether relationships between language constructs should be represented in the ontology as properties or as instances of classes. In this article, process models are interpreted graph-theoretically, i. e. a process model is understood as a directed graph with nodes and edges. Types of nodes, such as an EPC-function or a BPMN-activity, are defined as classes in the ontology. Relationships between these types of nodes, for example in the form of an EPC-control or BPMN-sequence flow, are defined as properties in the ontology. This procedure allows the simple and intuitive representation of process models in ontologies whose limitations, however, lie in the fact that the possibilities for defining relationships between language constructs depend heavily on the possibilities of the selected ontology language.
Fig. 2 exemplifies the outlined, ontology-based process representation by depicting a process model fragment created with EPC. The events, function and connector of the EPC-model are represented in the ontology by instances of classes, which – due to the graph-theoretic interpretation – are derived from the class ProcessGraphNode. It should be noted that the prefixes placed in front of the ontology element names indicate namespaces (Bray et al. 2006). Thereby the prefix “ns” represents any namespace in which the classes and instances of the exemplified ontology are located. The prefix “s” references the namespace of the SUMO-ontology, “p” the namespace of the SUMO-extension used here, and “sm” the namespace of the SUMO Mid Level Ontology (Niles and Pease 2001). In the interest of readability we will omit the namespace prefixes in the further continuous text. The ontology classes used for the representation of the EPC-connectors are defined according to studies on the language-independent description of workflow patterns (van der Aalst et al. 2003). The chronological and logical connection existing between these model elements, which is called control flow in the EPC, is represented in the ontology by the property flow_directly.
4.3 The annotation of process models
The connection of the process models and model elements with other elements in the same ontology is called semantic annotation. The attribute “semantic” emphasizes – in contrast to an annotation for example in the form of a freely formulated text – the claim for the machine-processibility of additional information given by the annotation. The following explanation refers to the annotation of model elements which could, however, also be transferred to the annotation of whole models in the same manner.
An important characteristic of the annotation is the cardinality of the connection of represented model elements (in the following also referred to as “model element instances”) with other instances in the ontology (for better understanding referred to as “domain instances” in the following). A 1:n-relationship exists when a model element instance, such as “Check order” is connected via suitable relations with several domain instances such as, for example, “Sales” for the documentation of the executing organizational unit and “Product configurator” for checking the technical feasibility of an order. The multiple connections of model element instances with domain instances leads, however, to redundant annotations when semantically equal model elements occur in several models. Therefore, in this article we suggest a 1:1 relation, i. e. the annotation of a model element instance with only one domain instance that represents it semantically. An example for this is the model element instance “Check order” connected with the domain instance “Order check” in the ontology. This procedure of annotation principally requires more domain instances (if the elements of the process models to be annotated are semantically fully disjunctive, then a maximum of one corresponding domain instance can be necessary for each model element to be annotated). The number of domain instances in the ontology can be reduced by splitting the annotation relation into a relation of semantic equivalence and a relation with a higher semantic specificity following the description of the relations between elements of controlled vocabularies (Miles and Bechhofer 2008).
A relation of semantic equivalence, referred to as equivalentTo, exists between a domain instance and a model element instance when the former exactly reflects the indented semantics of the model element instance (i. e. the semantics of the object which the construction of the semi-formal model was originally based upon). An example for this can be seen in Fig. 3 in the annotation of a model instance f1 (“Check order”) with the representing domain instance order_verification.
A relation with a higher semantic specificity, referred to as narrowerThan, exists between a domain instance and a model element instance when the domain instance contains the model element instance semantically, the model element instance, however, is defined more specifically or narrower in certain aspects. An example for this is the domain instance “Collect data” and the model element instance “Collect customer data”. Through this relation, several model element instances can be annotated with one domain instance, which reduces the number of required domain instances. In addition, an annotation with this relation is even possible when no equivalent domain instance exists for a model element instance at the time of the annotation. In this case, the model element instance can be assigned a more unspecific domain instance through narrowerThan. Thus, in the example in Fig. 3, the two model element instances f2 (“Send order confirmation”) and f3 (“Send order refusal”) are assigned to the domain instance order_feedback via narrowerThan.
All in all, Fig. 3 shows the annotation of an EPC-model using the relations equivalentTo and narrowerThan in an exemplary manner. The ontology classes and their relationships used in the top part of the figure are based on SUMO (cp. Section 4.1).
4.4 Integration of rules
A connection of process models with ontologies is possible with the described representation and annotation. The definitions contained in the ontology can be used for terminological standardization, but also for queries and validation. However, all of the relevant connections in a domain cannot be represented by defining terms and relations. An extension to the use of rules is necessary especially for the representation and conclusion of complex dependencies between several terms.
The rules necessary within the framework of the semantic process modeling are divided into deductive and normative rules based on Boley et al. (2007, pp. 273 ff). Deductive rules, also referred to as derivation rules in the field of business rules, help in deriving new facts on the basis of existing facts through the use of logical implications. Thus for example, the following IF-THEN-rule can be formulated in the ontology during the interpretation of the process from Fig. 3 under the premises that the goals supported by a sub-process also belong to the group of goals supported by the super-process: “If the two activities x and y exist and x is a sub-process of y and supports the goal z, then this means that y also supports the goal z”. With this rule the question “Which goals are supported by the activity order_processing?” can be answered with “customer_satisfaction”. The reason for this is that the relation supportsObjective, which exists between the sub-activity order_feedback and the goal customer_satisfaction, is transferred to the superordinate activity order_processing (Fig. 3). This rule can be formulated in an informal syntax as follows:
Activity(?x)
∧ Activity(?y)
∧ subProcess_directly(?x,?y)
∧ supportsObjective(?x,?z)
⇒ supportsObjective(?y,?z)
The IF-part of the rule is referred to as antecedent and describes a certain situation. The THEN-part is referred to as consequent and states a suitable conclusion, reaction or decision for the situation described in the IF-part.
Normative rules are applied to express conditions for the data used for an application or the logic used by it. They are also referred to as structural rules (Boley et al. 2007, p. 274) and can be further divided into consistency and integrity rules. Consistency rules are rules used to prevent contradictions in the ontology and the facts derived from it. This understanding of the term is related to terminology from the field of logic, where consistency refers to the property of an axiomatic system to not contain logical contradictions. An example for a consistency rule can be given with regard to the semantic annotation of process models. It should not be possible that – through a semantic annotation – a complete process model and a single individual element from that model are annotated with the same domain instance via the relation equivalentTo. In accordance with semantic integrity constraints from the database field, integrity rules are understood as rules used to maintain the semantic correctness of the ontology and the facts derived from it. An example for an integrity rule can be given in regard to the validation of process models represented in the ontology against the background of Fig. 3. Thus for example, in a company a guideline regarding the improvement of customer communication could exist that states that after an order check is made, the customer should be informed about the result of the check.
There are a number of non-web-based ontology languages, such as OCML and Ontolingua, which make it possible to formulate rules without an extension. The ontology language OWL, used in this article, only supports the formulation of rules via extensions (apart from simple property chains in OWL 2.0). Such an extension is the Semantic Web Rule Language (SWRL) (Horrocks et al. 2004) which extends OWL with IF-THEN-rules in the form of a logical implication.
4.5 Generalization of the approach
Our goal in the model construction carried out here is to generalize the previously designed special process modeling, so that the knowledge won can be transferred to other modeling methods and languages, as well as to situations where semantically annotated models are being worked with. In contrast to the representation oriented towards examples in the former sections, we will now study the “building blocks” of semantic business processes and their relationships within the framework of a graph-theoretic interpretation. This applies to statements in which the elements of a standard business process, i. e. one without a special application, are collected. The class diagram from the Unified Modeling Language (UML) was selected as the modeling language.
Due to the graph-based interpretation of the process representations, the information model of the semantic process modeling is not the meta-model of a semantically extended modeling language or an ontology-based EPC, but rather a class model that specifies how business processes can be semantically annotated and represented independently of a certain process modeling language (Fig. 4). The information model for the semantic process modeling is divided into the three levels “Model”, “Metadata” and “Ontology”. The vertical layering of these levels in the data model does not, however, imply an abstraction relation. Instead it expresses the connecting function that the middle level, the metadata, has between the model on the one hand and the ontology on the other. Metadata refers here to data created by the annotation of a model with elements of the ontology.
On the model level, concrete models are represented by the classes Model, Model element and Model element connector. Each Model element (for example: “Create order” for an EPC-function or a BPMN-activity) is categorized by a Node type (for example: an EPC-function or BPMN-activity) and is assigned to at least one Model (for example: “Order entry”), which on its part is categorized by a Model type (For example: “EPC” or “BPMN”). It can also be related to other model elements via a Model element connector (for example the EPC-function “Create order” is followed by the EPC-event “Order has been created”), which is typified by an Edge type (for example an EPC-flow relation). The representation of the models on the metadata-level is conducted by means of transformation rules that state how elements on the model level can be transformed into elements on the metadata-level.
On the metadata-level models are represented by the classes Model representation, Model element representation and Model element connector representation, which are instantiated from the classes Model type representation, Node type representation and Edge type representation using the aforementioned transformation rules. A connection to the ontology level is created via the relationships with the association classes Model annotation and Model element annotation.
The central class at the ontology level is the Ontology class. It represents all classes contained in an ontology. Ontology classes can be related to one another. This circumstance is taken into account by the association class Relation. Because a relation between ontology classes can have a multitude of characteristics, such as for example a domain, range, value, label etc., it is introduced in the form of an association class. Ontology classes are divided into classes that represent constructs from a semi-formal language and those that represent the constructs of a domain. This circumstance is expressed by the specialization relations between the class Ontology class and the corresponding classes Representation class resp. Domain class.
Further rules can be formulated based on the ontology classes and instances. A Rule consists of an Antecedent and a Consequent. Both can not exist meaningfully outside of the rule containing them. This circumstance is made clear by a composition relation between the class Rule and the classes Antecedent and Consequent. In a similar manner, the Antecedent and the Consequent of a rule consist of an Atom or several atoms, which also cannot exist meaningfully outside of their respective part of the rule. An Atom can refer to either a Relation or an Ontology class. This is represented by two alternative associations between which an {xor}-restriction exists. In addition, an Atom can refer to Ontology instances by using variables.
4.6 Transformation to other modeling languages
The shown information model is language neutral and it is possible to use it for other modeling languages. (Fig. 5) shows the idea using a BPMN (OMG 2006) example. The BPMN model, illustrated in the bottom area, is represented in the ontology above. Some parts of the information model from Fig. 4 are on the left side. The directed and dashed edges, which go from the classes of the information model to the single elements on the right side, clarify the instance relations. Thus all classes contained in the ontology, which are used for the representation of process description language constructs, can be instantiated using the class Node type representation of the information model. The relationships between these classes can be instantiated using the class Edge type representation. The representation of model elements and their relations (connectors) in the ontology are instantiated by the classes Model element representation and Model element connector representation. The elements from the BPMN model are instances of the class Model element and Model element connector.
Compared to Fig. 2, only a few ontology extensions for the ontology-based representation of a BPMN model are necessary. Those refer to additional event types, for example the end event type “message”, which is part of the BPMN language. The transformation from the shown approach to other process modeling languages requires only a sub-class extension to reflect these different types of nodes.
As to the application of this approach, IT-support is particular important, referring to the application for this approach, especially for the modeling, annotation and machine processing of semantic, within the query and validation of process models. The following part presents the architecture and then the prototype implementation.