Academia.eduAcademia.edu

Ontology-Based Model Abstraction

2019, 2019 13th International Conference on Research Challenges in Information Science (RCIS)

In recent years, there has been a growth in the use of reference conceptual models to capture information about complex and critical domains. However, as the complexity of domain increases, so does the size and complexity of the models that represent them. Over the years, different techniques for complexity management in large conceptual models have been developed. In particular, several authors have proposed different techniques for model abstraction. In this paper, we leverage on the ontologically well-founded semantics of the modeling language OntoUML to propose a novel approach for model abstraction in conceptual models. We provide a precise definition for a set of Graph-Rewriting rules that can automatically produce much-reduced versions of OntoUML models that concentrate the models’ information content around the ontologically essential types in that domain, i.e., the so-called Kinds. The approach has been implemented using a model-based editor and tested over a repository of ...

Ontology-Based Model Abstraction Giancarlo Guizzardi∗ , Guylerme Figueiredo† , Maria M. Hedblom∗ and Geert Poels‡ ∗ Conceptual † Ontology and Cognitive Modeling Research Group (CORE), Free University of Bozen-Bolzano, Bolzano, Italy and Conceptual Modeling Research Group (NEMO), Federal University of Espírito Santo, Vitoria, Brazil ‡ Faculty of Applied Economics, Ghent University, Belgium [email protected], [email protected], [email protected], [email protected] Abstract—In recent years, there has been a growth in the use of reference conceptual models to capture information about complex and critical domains. However, as the complexity of domain increases, so does the size and complexity of the models that represent them. Over the years, different techniques for complexity management in large conceptual models have been developed. In particular, several authors have proposed different techniques for model abstraction. In this paper, we leverage on the ontologically well-founded semantics of the modeling language OntoUML to propose a novel approach for model abstraction in conceptual models. We provide a precise definition for a set of Graph-Rewriting rules that can automatically produce much-reduced versions of OntoUML models that concentrate the models’ information content around the ontologically essential types in that domain, i.e., the so-called Kinds. The approach has been implemented using a model-based editor and tested over a repository of OntoUML models. Index Terms—Model Abstraction, Complexity Management in Conceptual Modeling, Ontology-Based Conceptual Modeling I. I NTRODUCTION In recent years, there has been a growth in the use of reference conceptual models to capture information about complex and critical domains. These models play a fundamental role in different types of critical semantic interoperability tasks. Therefore, it is essential that domain experts are able to understand the subtleties of their content and reason with them. In other words, it is important that conceptual models remain cognitively tractable. However, as complexity of the information about the represented domain grows, so does the size and complexity of the artifacts that represent them. Over the years, different techniques for complexity management in large conceptual models have been developed. In particular, a number of authors have proposed different techniques for model abstraction. These techniques aim at systematically producing reduced versions of the original conceptual models omitting details while concentrating on the gist of the semantic content at hand. However, since basically all traditional techniques have been produced for ontologically neutral conceptual modeling languages (e.g., ER, UML), they are constrained to rely solely on syntactical properties of the models and, more specifically, on topological properties of the graph. This happens because these languages treat all types as being the same, semantically overloading one single construct (e.g., Class or Entity Type) by using it to represent different types of ontological categories. In contrast, ontology-driven conceptual modeling (ODCM) languages are systematically designed to conform to an un- derlying ontological theory. In particular, an ODCM language contains exactly the modeling primitives that are necessary to represent the ontological distinctions put forth by its underlying ontology. For example, as different ontological categories of types (e.g., Kinds, Mixins, Roles) play different roles with respect to their instances regarding issues such as classification (e.g., dynamic versus static) and identity, these distinctions should be explicitly represented by the language’s constructs. ODCM approaches have enjoyed an increasing adoption by the Conceptual Modeling community as a number of independent results consistently show their benefits for improving the quality of conceptual models [3], [21], [28]. An example of an ODCM language is OntoUML [12]. It has been successfully employed in academic, industrial and governmental settings to create conceptual models in a number of different domains, including Geology, Biodiversity Management, Organ Donation, Petroleum Reservoir Modeling, Disaster Management, Context Modeling, Datawarehousing, Enterprise Architecture, Data Provenance, Measurement, Logistics, Complex Media Management, Telecommunications, Heart Electrophysiology, among many others [14]. In fact, research shows that it is among the most used ODCM languages in the literature [27]. Moreover, empirical evidence shows that OntoUML significantly contributes to improving the quality of conceptual models without requiring an additional effort to produce them. For instance, the work of [28] reports on a modeling experiment conducted with 100 participants in two countries showing the advantages (in these respects) of OntoUML when compared to a classical conceptual modeling language (EER). In this paper, we leverage on the ontologically well-founded semantics of OntoUML to propose an approach for model abstraction in conceptual models. We provide a precise definition for a set of Graph-Rewriting rules that can automatically produce much-reduced versions of OntoUML models. These reduced models concentrate the models’ information content around the ontologically essential types in that domain, i.e., the so-called Kinds. The approach has been implemented using a model-based editor and tested over a varied set of OntoUML models. The remainder of the paper is organized as follow. Section II discusses related work in the area of complexity management of conceptual models; Section III briefly presents the OntoUML language and its ontological foundations; Section IV presents the main contribution of this paper by defining a set of Graph-Rewriting abstraction rules; Section V presents a plug-in to a model-based editor that implements the proposed abstraction rules. The implementation of this plug-in itself counts as a first validation of the approach (claim to practical realizability). However, in that same section, we also report on a study conducted with a varied set of OntoUML models to assess both the proposed rule set and its implementation; Section VI systematically compares the results presented here with relevant related work; Finally, Section VII concludes the paper with some final considerations. II. C OMPLEXITY M ANAGEMENT OF C ONCEPTUAL M ODELS The discipline of complexity management of large conceptual models (henceforth CM-CM) has been around for quite some time and has been represented in the literature by a series of different approaches and techniques. In fact, [29] claims that “one of the most challenging and long-standing goals in conceptual modeling... is to understand, comprehend and work with very large conceptual schemas”. The challenge and importance of this discipline lies in the following. On one hand, real information systems often have large and extremely complex conceptual models [29]. On the other hand, this complexity poses a serious additional challenge in the comprehension and, consequent, quality assurance of these models. For example, [22] reports on an empirical study conducted with a large and professionally constructed conceptual model.1 In that study, the authors managed to show that the model contained 879 occurrences of error-prone structures (anti-patterns), 52.56% of which really introduced representation errors according to the creators of the model. A more dramatic case (both in size and percentage of occurrences of anti-patterns) is reported in [4], in which the authors show a case of an anti-pattern present in 85% of the relevant relations in Wikidata. According to [29], the methods for CM-CM can be classified in three areas, namely, Clustering Methods, Relevance Methods, and Summarization Methods. Clustering is about classifying the elements of a conceptual model into groups, or clusters, according to some criteria (e.g., a similarity function); Relevance Methods are about the application of ranking functions to the elements of a model in order to obtain ordered lists (i.e., a ranking) of model elements according to their perceived relevance in representing the domain at hand; finally, Model Summarization is about producing from an original model a reduced version consisting only of the elements that are judged to be of more relevance for representing the domain at hand. A variation of Model Summarization is Model Abstraction, which can be described as “a process that transforms lowerlevel elements into higher-level elements containing fewer details on a larger granularity” [7]. The idea here is to allow for the possibility of “zooming out” of models in order to provide the user with the “bigger picture” of the domain at hand, allowing her to focus on the gist of the model by 1 This model consisted of 3800 classes, 61 datatypes, 1918 associations, 3616 subtyping relations, 698 generalization sets and 865 attributes, i.e., navigable association ends [22]. filtering out specific details [7]. In clustering methods, the goal is to break down a model in fragments such that the sum of these fragments should be informationally equivalent to the whole (i.e., to the original model). In contrast, relevance and summarization methods (including model abstraction) aim to produce partial views of the original model at hand. In other words, while clustering methods have lossless model transformations, the latter classes of methods are based on lossy transformations. Given the purpose of this paper, we henceforth focus our discussion in this class of lossy methods and, in particular, in summarization/abstraction methods. First, however, we elaborate on a drawback that is common to the majority of existing methods in all these classes. Namely, as nearly all these methods are based on classic conceptual modeling notations (e.g., UML, ER) [29], they are constrained to rely almost exclusively on syntactic (mainly topological) properties of the addressed models. These properties include closeness (a quantitative evaluation of the links among elements in the model) [10], hierarchical distance (length of the shortest relationship path between entities), structural-connective distance (elements are considered closer if they are neighbors in a hierarchy mereological or subtyping structure), or category distance (elements are considered to be closer if one subtypes the other) [1]. For example, [5] proposes a (relevance) method based on the assumption that the number of attributes and relations characterizing an element in a model can be used as a (heuristic) measure of its relevance for that model. In the same spirit, [25], [26] go as far as proposing PageRankstyle algorithms to infer the relevance of elements in entityrelationship diagrams and RDF schemas (even ignoring the difference between association and subtyping relations). The problem with relying solely on these properties is that there is no guarantee that a model element satisfying some topological requirement (e.g., a node with more edges connected to it) by necessity represents the model’s most important concepts. This is related to the work by [18], [19], that while criticizing existing CM-CM methods, referred to it as lack of cognitive justification. One of the main approaches for Model Abstraction in the literature is the one proposed by Egyed in [6]–[8]. It is a toolsupported approach that provides conceptual model designers with the ability to ‘zoom out’ from a model to investigate and reason about its bigger picture. Like in our case, the proposed approach is based on a set of pattern detection and replacement rules. The approach is built around a classic conceptual modeling technique (UML) and, hence, it heavily relies on structural (topological) properties of the diagram. As a consequence, it is subject to some extent to all the aforementioned drawbacks. In fairness, the author makes a significant effort in defining structural patterns that reflect the intuitive semantics of UML class diagrams, for instances, regarding transitivity of dependence, method calling, inheritance and propagation from parts to wholes. However, the whole approach has a strong focus of the use of these diagrams from the point of view of Object-Oriented Programming and, hence, many fundamental conceptual modeling primitives are simply ignored. These include not only modal aspects of class instantiation, existential dependence relations, but also more basic aspects such as generalization sets and association classes (or reified associations). In contrast with all the aforementioned approaches, our proposal in this paper focuses mainly on the ontological semantics [12] of the elements represented in a conceptual model. In particular, it produces an abstraction of an original model by representing a summarized version of the domain information around the backbone of the ontological kinds of entities represented therein. As supported by a significant body of evidence in cognitive psychology [17], [31], [32], these kinds (also termed substance sortals) represent the most salient category of types in human cognition, being responsible for our most basic operations of object individuation and identity. The approach presented here (and detailed in section IV) is only made possible because it is based on a non-classical CM language, namely, the ODCM language OntoUML (briefly presented in section III). There are two CM-CM methods in the literature that are based on the same language, namely, the approaches of [9] and [15], [16]. However, none of these are methods of model abstraction. The former proposes a method for model clustering by viewpoint extraction. The idea is to divide the model into a number of clusters, each of which represents a well-founded ontological viewpoint. As a clustering method, the approach produces a set of clusters whose sums are informationally equivalent to the original model (lossless transformation). The latter approach, although also being about view extraction, can be considered as a summarization method, since it produces partial versions of the original model (lossy transformation). It is, nonetheless, not a method of model abstraction. The idea there is that, given a set of entities from the original model provided by the model user, the method produces a subset of that model containing the elements that are more relevant for the context of the selected entities. One important point is that the notion of relevance there is not a syntactic but an ontological one, related to notions such as conservation of identity, of existential dependence, of parthood, etc. In any case, different from our proposal, the approach achieves summarization by presenting a model that is identical to a proper part of the original model, not by producing a global view of the entire model in a much higher level of abstraction. III. A B RIEF I NTRODUCTION TO UFO AND O NTO UML OntoUML is a language whose meta-model has been designed to comply with the ontological distinctions and axiomatization of a theoretically well-grounded foundational ontology named UFO (Unified Foundational Ontology) [12], [14]. UFO is an axiomatic formal theory based on contributions from Formal Ontology in Philosophy, Philosophical Logics, Cognitive Psychology, and Linguistics. A recent study shows that UFO is the second-most used foundational ontology in conceptual modeling and the one with the fastest adoption rate [27]. In the remainder of this section, we briefly explain a selected subset of the ontological distinctions put forth by the Unified Foundational Ontology (UFO). We also show how these distinctions are represented by the modeling primitives of OntoUML. In order to do that, we rely on the running example depicted in fig. 1. For an in-depth discussion, philosophical justifications, formal characterization and empirical support for these categories one should refer to [11], [12]. Take a domain in reality restricted to endurants [12] (as opposed to events or occurrents). Central to this domain we will have a number of object Kinds, i.e., the genuine fundamental types of objects that exist in this domain. The term “kind” is meant here in a strong technical sense, i.e., by a kind, we mean a type capturing essential properties of the things it classifies. In other words, the objects classified by that kind could not possibly exist without being of that specific kind. In fig. 1, we have represented three kinds, namely, ‘Person’,‘Car’ and ‘Organization’. These are the fundamental kinds of entities that are deemed to exist in the domain. Kinds tessellate the possible space of objects in that domain, i.e., all objects belong necessarily to exactly one kind. However, we can have other static subdivisions (or subtypes) of a kind. These are naturally termed Subkinds. As an example, the kind ‘Person’ can be specialized in the subkinds ‘Man’ and ‘Woman’; the kind ‘Organization’ also be specialized in subkinds, e.g., ‘Car Agency’ is a static subkind of Organization (fig. 1). Object kinds and subkinds represent essential properties of objects (they are also termed rigid or static types [12]). We have, however, types that represent contingent or accidental properties of objects (termed anti-rigid types [12]). These include Phases and Roles. The difference between the contingent properties represented by a phase and a role is the following: phases represent properties that are intrinsic to entities; roles, in contrast, represent properties that entities have in a relational context, i.e., contingent relational properties. Phases but also typically subkinds appear in OntoUML models forming (disjoint and complete, i.e., exhaustive) partitions following a Dividing Principle [30]. For example, in fig. 1, we have the following phase partitions: the one including ‘Living Person’ and ‘Deceased Person’ (as phases of ‘Person’ and according to a ‘life status’ dividing principle); the one including ‘Child’, ‘Teenager’ and ‘Adult’ (as phases of ‘Living Person’ and according to a ‘developmental phase’); the one including ‘Available Car’ and ‘Under Maintenance Car’(as phases of ‘Car’ and according to a ‘operational status’). Since they are exclusively composed of phases, these are all dynamic partitions [30]. In this model, we also have a (static) subkind partition formed by the subkinds ‘Man’ and ‘Woman’, dividing ‘Person’ according to ‘gender’. Kinds, Subkinds, Phases, and Roles are categories of object Sortals. In the philosophical literature, a sortal is a type that provides a uniform principle of identity, persistence, and individuation for its instances [12]. To put it simply, a sortal is either a kind (e.g., ‘Person’) or a specialization of a kind (e.g., ‘Husband’, ‘Teenager’, ‘Woman’), i.e., it is either a type representing the essence of what things are or a sub- Fig. 1. An Example of an OntoUML Model. classification applied to the entities that “have that same type of essence”. Relators (or relationships in a particular technical sense [11]) represent clusters of relational properties that “hang together” by a nexus. Moreover, relators (e.g.,‘enrollments’, ‘employments’, ‘presidential mandates’, ‘citizenships’, but also ‘marriages’, ‘Car Rentals’, and ‘Ownerships’ (fig. 1)) are full-fledged Endurants. In other words, entities that endure in time bearing their own essential and accidental properties and, hence, first-class entities that can change in a qualitative manner while maintaining their identity. As discussed in depth in [11], [12], relators are fundamental for addressing a number of problems in conceptual modeling, ranging from ambiguity of cardinality constraints, to ambiguity in relation specialization, to transitivity of part-whole relations. As discussed in depth in [11], relators are the truthmakers of relational propositions, and relations (as classes of n-tuples) can be completely derived from relators [12]. For instance, it is the ‘marriage’ (as a complex relator composed of mutual commitments and claims) between ‘John’ and ‘Mary’ that makes true the proposition that “John is the husband of Mary”. In other words, the pair <John,Mary> is an instance of the relation ‘married-with’ because there is a particular instance of the relation ‘Marriage’ connecting John and Mary (fig. 1). In OntoUML, the relation of derivation, connecting relations to the relator types from which they are derived is represented by a dashed line with a black circle in the relator type association end (fig. 1). Technically, Relators bind their relata because they are existentially dependent entities (e.g., the marriage between John and Mary can only exist if John and Mary exist). The formal connection between Relators and their relata is made by the so-called mediation relations, a particular type of existential dependence relation [12]. Objects participate in relationships (relators) playing certain Roles. For instance, people play the role of spouse in a marriage relationship; a person plays the role of president in a presidential mandate. ‘Spouse’ and ‘President’ (but also typically ‘Student’, ‘Teacher’, ‘Pet’, ‘Rented Car’2 ) are examples of what we technically term a role in UFO, i.e., a relational contingent sortal (since these roles can only be played by entities of a unique given kind). There are, however, relational and contingent role-like types that can be played by entities of multiple kinds. An example is the role ‘Customer’ (which can be played by both people and organizations). We call these role-like types that classify entities of multiple kinds RoleMixins. In general, types that represent properties shared by entities of multiple kinds are termed Non-Sortals. In UFO, besides rolemixins, we have two other types of non-sortals, namely Categories and Mixins. Categories represent necessary properties that are shared by entities of multiple kinds (e.g., the category ‘Physical Object’ represent properties of all kinds of entities that have masses, spatial extensions, etc.). In contrast, 2 In order to illustrate different combinations of cardinality constraints, in fig.1, we assume here that a RentedCar can be related to several rentals provided that they do not overlap in time, hence, the cardinality ‘1..*’ on the side of Car Rental as well as the corresponding cardinality constraints on the derived ‘rents’ relation. mixins represent shared properties that are necessary to some of its instances but accidental to others. For example, in fig. 1, we have the mixin ‘Physical Object’, since it represent properties (e.g., having a ‘Weight’) that are necessary to ‘Cars’, while being accidental to instances of ‘Person’ (people are only physical objects when they instantiate the phase ‘Living Person’). Categories and mixins are, in contrast to rolemixins, considered as Relationally Independent Non-Sortals. Finally, as all OntoUML models are valid UML models, the classes in the model can also be connected (via particular types of relations termed navigable association ends) with datatypes. Datatypes, in UML, are classifiers that include the so-called ‘pure values’. As discussed in [12], datatypes are sets of abstract elements. As sets they can be defined by a formula or by extension, in which the total membership of that datatype is explicitly enumerated. In these cases, these datatypes are termed enumerations. Still, in all UML models, association ends of relations can be characterized by so-called rolenames, which are intended to represent the way an instance of a type (connected to that association end) participates in that relation. Examples of enumerations and rolenames are shown later in this article. IV. A BSTRACTION RULES In this section, we present a set of graph-rewriting rules.3 As a system of graph-rewriting, the approach replaces fragments of the original model by reduced fragments that, while filtering out details, maintain essential information. In particular, these rules and their specific order of application (from R1 to R4) have been designed according to the following rationale. As previously explained, in ODCMs, we have that: 1) objects take a precedence over relators, given that the latter are existentially dependent on the former. So, in the reduced model, we focus on the representation of objects as well as the relations derived from these relators without representing the latter explicitly. In other words, instead of explicitly representing the relators that are truthmakers of certain relational properties involving objects, we simply represent these derived properties. R1 was designed to address this abstraction step and should be the first to be applied to a model; 2) the most important object types in an ODCM are the Kinds of entities that exist in that domain, i.e., the rigid identity-supplying types. Once relator types have been abstracted from a model (R1), the goal is to distribute the information in a such a way that it ends up being concentrated around the kinds represented in the model. We do that by: firstly, taking all properties of Non-Sortal types and moving it downwards towards the sortals in the model. These non-sortals are then abstracted away in the resulting fragment (R2); secondly, we move all 3 Due to lack of space for this article, we present these rules without employing a specific formal language. In an extension of this paper, we shall present their formalization using the same tools we used for formalizing OntoUML as a Pattern Grammar [33]. properties of sortals that are not kinds upwards towards the kinds in the model. These (non-kind) sortals are then abstracted away in the resulting fragment (R3); finally, for all subkind and phase partitions, after moving their properties upwards according to (R3), we abstract from these partitions by representing their concrete leaf types in enumeration datatypes (R4). As a result of the application of these rules, the final abstracted model should only contain Kinds and Enumerations, hence, making redundant the use there of the stereotype «kind». Each of these four rules (R1-R4) occupy a row in Table I. Once more, following the aforementioned rationale, the rules should be applied in this specific order. For each of these rules, whenever a graph structure satisfying the pattern in column Matching Graph is found in an OntoUML model, that portion of the model is replaced by the corresponding structure in column Replacing Graph. In the remainder of this section, we elaborate on each of these rules by relying on our running example of fig. 1. A. Abstracting Relators (R1) As previously discussed, relators are fundamental in ODCMs. For instance, by representing the cardinality constraints c1 ..cn , d1 ..dn , a1 ..an and b1 ..bn in table I, we can eliminate instances of the so-called single-tuple/multiple-tuple cardinality ambiguity problem [12] in the model; by representing the the cardinality constraints e1 ..en and f1 ..fn , we can eliminate occurrences of the repeatable instances anti-pattern as discussed in [22]. However, in order to compress our model, and following the previously discussed rationale, we abstract from this relator pattern by replacing each of its occurrences with a structure in which only the derived relations are shown. For example, in the model in fig. 1, there are three occurrences of this pattern (highlighted by oval shadows). By applying R1 to that model, we obtain the model in fig. 2. Hence, for example, instead of having represented there the full relator pattern connecting ‘Marriage’ to ‘Husband’ and ‘Wife’ (as well as the corresponding full set of cardinality constraints and the derivation relation), this pattern is replaced by the graph structure that only represents the ‘married-with’ and associate roles and cardinality constraints (see the oval marked as R1* in fig. 2). B. Abstracting Non-Sortals (R2) As discussed in [12], Non-Sortals capture properties that are shared by individuals of different kinds. As discussed there, they play a significant role in model refactoring. However, for the sake of model compression, R2 reverses this refactoring operation by replicating the information represented in nonsortal types in its concrete concrete sortal subtypes. This rule serves as an intermediate step for the application of rule R3. In summary, as shown by the rewriting scheme of row 2 in table I, this rule consists of: 1) Abstracting from all Non-Sortal types in the diagram; 2) Replicating all properties of these Non-Sortal in the concrete sortal types that specialize them. TABLE I G RAPH -R EWRITING RULES FOR O NTO UML M ODEL A BSTRACTION Rule Matching Graph Replacing Graph R1 R2 R3 R4 More precisely, as demonstrated table I, given a pattern in which we have zero or more occurrences (symbolized there as ‘*’) of a relation R’ connecting a non-sortal type NS to another Endurant type T’ (or to a datatype D’), we replace this pattern by a structure in which a copy of each R’ is created connecting each Endurant Type ST’ (direct specializing NS) to T’ (or D’). The original non-sortal NS is represented in the replacing structure as a rolename connected to the association end attached to each ST’. Although it is true that every T’ or D’ must associate with at least x1 instances of NS, for each of the specific subtypes ST’, it is not the case that T’ or D’ must associate with their instances. For this reason, the cardinality constraint x1 in the original pattern is relaxed to an optional cardinality constraint (i.e., 0..xn ). For example, in the model of fig. 2, we have two occurrences of this pattern (highlighted by oval shadows tagged R2). By applying R2 to that model, we obtain the model of fig. 3. So, for example, in fig. 3, the property of having a ‘weight’ (R’ above) connects ‘Physical Object’ (NS) to the datatype ‘Weight’(D’ above). This property is then now replicated in the specific concrete types of physical objects, namely, instances of ‘Living Person’ (ST1 ) and ‘Car’ (ST2 ) (see oval marked as R2* in fig. 3). Moreover, the rolename ‘Physical Object’ is attached to the association end connected to each of these sortal types.4 Finally, the minimum cardinality constraint for each of these association ends are relaxed to zero. After all, given a particular weight, it is neither necessarily associated with a ‘Living Person’ nor with a ‘Car’. C. Abstracting Sortals (R3) From an ontological point of view, the most important types of any given domain are the so-called Kinds (also called Substance Sortals), given that: these are types that provide a principle for identity, individuation and persistence for their 4 This represents that it is qua-physical-object that cars and living people have weights. Fig. 2. Model produced as a result of the application of R1 on the model in fig. 1. Fig. 3. Model produced as a result of the application of R2 on the model in fig. 2. instances; they classify their instances necessarily, i.e., in all possible situations (in a modal sense) [12]. As previously discussed, the objective of the R3 is to (through one or more iterative application of this rule) abstract from all other sortals in a model (i.e., subkinds, phases and roles), concentrating the information about the domain around these kinds. In summary, as shown by the rewriting scheme of row 3 in table I, this rule consists of: 1) Eliminating all non-substance sortal types from the diagram; 2) Moving the properties of these non-substance sortal types to their sortal supertype, until these properties are eventually used to characterize the kinds in the model. More precisely, as demonstrated in table I, given a pattern in which we have zero or more occurrences (symbolized there as ‘*’) of a relation R’ connecting a sortal type ST to another Endurant type T’ (or to a datatype D’), we replace this pattern by a structure in which a copy of each R’ is created connecting each sortal type ST’ (direct supertyping ST) to T’ (or D’). The original sortal ST is represented in the replacing structure as Fig. 4. Model resulting from the application of R3 on the model in fig. 3. a rolename connected to the association end attached to each ST’. Although it is true that instances of ST must be associated with at least y1 instances of T’ (or D’), it is not the case that instances of ST’ in general must satisfy the same constraint. For this reason, the cardinality constraint y1 in the original pattern is relaxed to an optional cardinality constraint (i.e., 0..yn ). For example, in the model of fig. 3, we have initially three occurrences of this pattern. By applying R3 to that model, we obtain the model of fig. 4. So, for example, in fig. 3, the relation ‘rents’ (R’ above) connects the sortal ‘Personal Customer’ - a role played by an ‘Adult Living Person’ when renting a car (ST1 ) - to another sortal ‘Rental Car’ - a role played by an ’Available Car’ when being rented by a customer (ST2 ). Due to the application of R3, this relation is then now moved to connect a more abstract supertype of ‘Personal Customer’ (‘Adult’ - ST1′ ) and a more abstract supertype of ‘Rental Car’ (‘Available Car’- ST2′ ) (see oval marked as R3* in fig. 4). Moreover, the rolenames ‘Personal Customer’ and ‘Rental Car’ are attached to the association ends connected to ‘Adult’ and ‘Available Car’, respectively.5 Finally, the minimum cardinality constraint for each of these association ends are relaxed to zero. After all, it is neither the case that every ‘Adult’ rents at least one car nor the case that every ‘Available Car’ must be rented. Of course, as illustrated in R3* in fig. 4, an analogous case can be made for the abstraction of ‘Corporate Customer’ into the supertyping sortal ‘Organization’. D. Abstracting Subkind and Phase Partitions (R4) As previously discussed, phases always appear in ODCMs as parts of the so-called phase partitions. This is often the case also with multiple subkinds of a given kind, hence, forming subkind partitions [13]. Both these partitions define disjoint 5 Again, this represents that it is qua-personal customer that an adult person rents a car and, analogously, it is qua-rental car that an available car participates in a renting relation with a person. and complete generalization sets over a common supertype. The difference between these partitions is the following. Since phases are anti-rigid types, the phase partitions are dynamic, i.e., the instances of a phase (e.g., ‘Child’) in a partition (e.g., ‘developmental stage’) can always possibly (in a modal sense) move to another phase in the same partition (e.g., ‘Adult’ or ‘Teenager’). In contrast, since subkinds are rigid, instances of a subkind (e.g., ‘Man’) in a given subkind partition (e.g., ‘gender’) cannot move to other subkinds in the same partition, i.e., subkind partitions are static. Rule 4 is designed to abstract away non-substance sortals in these partitions by: (i) eventually mo all their propvingerties to their unique supertyping kind (through one or more iterated applications of this rule); (ii) represent all leaf types in these partitions as values in a enumeration datatype eponymous to that partition. In summary, as shown by the rewriting scheme of row 4 in table I, this rule consists of: 1) Moving all the properties of a SortalType ST’ participating in a partition to the common sortal supertype K in that partition;6 2) Transforming each leaf sortal type ST’ in a partition into an item in a new enumeration datatype that has the same name as the partition at hand. This enumeration is then related to the common immediate supertype in that partition (K) via a datatype relation DR (navigable association end in (Onto)UML); 3) If a SortalType being abstract by this rule is already related to another existing enumeration E’ then all elements of this enumeration will be included as elements of the new enumeration E created by this rule. More precisely, as demonstrated table I, we start with a pattern in which we have a generalization set GS containing a number of (all rigid or all anti-rigid) sortal types that share a common (sortal) supertype SortalType. Then in GS we have one or more occurrences (symbolized there as ‘+’) of sortal types SortalT ypej as well as zero or more occurrences (symbolized there as ‘*’) of sortal types SortalT ypei and SortalT ypek . We then create an enumeration datatype called GS such that all sortal types SortalT ypej and SortalT ypei appear as elements of the newly created enumeration datatype GS. As for the sortal types SortalT ypek , which are connected to their own enumeration datatypes, a special treatment is reserved as explained below. We also create a datatype relation DR connecting SortalType to GS. Given that the original generalization set is disjoint and complete, the cardinality constrains on the association end connected to GS via DR must be of exactly 1 (minumum cardinality of 1 due to completeness and maxinum cardinality of 1 due to disjointness). Iff the original generalization set GS represents a subkind partition then the association end connected to enumeration GS via DR must be declared immutable (readOnly in (Onto)UML) and, hence, its value must be the same in all possible worlds.7 6 Notice that in, this sense, R4 contains a special variant of R3 for abstracting sortals that are part of a partition. 7 Following OntoUML’s grammatical rules, these sortal type partitions are either exclusively composed of phases or of subkinds. Moreover, suppose that in the generalization set GS we have one or more occurrences of a sortal types SortalT ypei bearing a relation relationi to another endurant type EndurantT ypei . In this case, we replace this pattern by a structure in which a copy of each relationi is created connecting the common (direct) supertype SortalType in that partition to EndurantT ypei . If there are rolenames connected to the original sortal SortalT ypei , these are represented in the replacing structure as rolenames connected to the association end attached to SortalType. Although it is true that instances of SortalT ypei must be associated with at least y1 instances of EndurantT ypei , it is not the case that instances of SortalType in general must satisfy the same constraint. For this reason, the cardinality constraint y1 in the original pattern is relaxed to an optional cardinality constraint (i.e., 0..yn ). Finally, suppose that in the generalization set GS we have one or more occurrences of a a sortal type SortalT ypek connected by datatype relations Di to respective enumerations DTk . In this case, we replace this pattern by a structure in which all elements of each of these DTk are included as elements of the newly created enumeration datatype GS aforementioned. The SortalT ypek itself is not include as an item in the enumeration GS. For example, in the model of fig. 4, we have three occurrences of this pattern. By applying R4 to that model, we obtain the model of fig. 5. So, for example, in fig. 4, we have the phase partition ‘developmental phase’ connecting the phases ‘Child’ (SortalT ypej 1),‘Teenager’ (SortalT ypej 2) and ‘Adult’ (SortalT ypei ) to the sortal (another phase) ’Living Person’ (SortalType). As one can observe, in the model of fig. 5 (see R4* in the lower part of the figure), this configuration is replaced by a structure in which we have, connected to the common supertype ‘Living Person’, an enumeration named ‘Development Phase’ that contains as members the values ‘Child’, ‘Teenager’ and ‘Adult’. Moreover, since the phase ‘Adult’ (SortalT ypei ) was originally connected via a ‘rents’ relation (relationi ) to the type ‘Car’ (EndurantT ypei ) then, in the replacing structure, the relation ‘rents’ is now connected to the common supertype ‘Living Person’ (with the appropriate relaxing of cardinality constraints). As one can observe, the rolename (in this case, ‘Personal Customer’) connected to the abstracted phase ‘Adult’ is now represented in the association end of ‘rents’ connected to ‘Living Person’.8 In fig. 5, we also see another matching graph for the application of R4. In this case, we can apply once more R4 over the ‘life status’ generalization set (phase partition). The result of this is depicted in fig. 6. As one can observe in this figure, a new generalization set termed ‘Life Status’ is produced including items representing the phase ’Deceased Person’ but also all the items that are members of the enumeration ‘Developmental Phase’. Following the aforementioned rules, the latter enumeration is absorbed in the former. Moreover, following the same rules, the phase ‘Living 8 After all, it is as personal customers that living people participate in car renting relations. Fig. 5. Model resulting from the application of R4 on the model in fig. 4. Fig. 6. Model resulting from the application of R4 on the model in fig. 5. Person’ is not included in this latter enumeration. Finally, since ‘Living Person’ participates as a ‘Personal Customer’ in the relation ‘rents’ with ‘Car’, in the fig. 6, this relation (with its corresponding rolenames and relaxed cardinality constraints) is move to the kind ‘Person’ (the direct supertype of ‘Living Person’). The model of fig. 6 is the final result of applying our ruleset R1-R4 to the original model of fig. 19 . In such a final model, besides enumeration and datatypes, all remaining classes represent kinds and, hence, the annotations with the stereotype «kind» can be omitted. Notice that the union of these three kinds amounts to the objects that are really considered to exist in this universe of discourse. In other words, ‘Person’, ‘Organization’ and ‘Car’ tessellate the universe circumscribed by our conceptualization of the domain. As such, the final model can be said to represent the essence of this conceptualization. In fact, we argue that this model does capture the gist of the semantics of this domain while (in this case) achieving a compression rate of more than 70% in relation to the original model of fig.110 . V. C OMPUTATIONAL S UPPORT AND E VALUATION In this section, we describe a tool for Ontology-Based Model Abstraction implemented according to the graphrewriting rules proposed in section IV. This tool was built as a plug-in for the Menthor Editor [20], an open-source ontologydriven conceptual modeling platform which incorporates the theories of the Unified Foundational Ontology (UFO). The tool supports modeling, verification, validation, and implementation of OntoUML models. In this plug-in, by employing the explicitly defined MOF metamodel on which this editor is based, we have manage to implement a set of transformations that automatically generate different abstractions of OntoUML models following our proposed rule set. For instance, as one can observe in fig. 7, the tool can generate model abstractions corresponding to steps of the abstraction process, i.e., models resulting from the application of R1 (equivalent to fig.2), R2 (equivalent to fig.3, R3 (equivalent to fig.4) and R4 (equivalent to fig.5 and fig.6). We have tested the tool against a number of models from the OntoUML model repository. These models vary in terms of size and setting in which they were produced (i.e., whether produced in an industrial or governmental setting, or in an academic environment). Moreover, they cover a variety of domains ranging from Biodiversity (OpenBio) and Heart Electrophysiology (ECG) to Optical Networks (G.805) and Governamental Organizations (MPOG). For a discussion about the OntoUML model repository and these particular models, the reader should refer to [22]. Table II reports on the result of these tests. The table includes a column reporting on the size of the original models 9 In UML, navigable association ends are semantically equivalent to attributes. For this reason, this model is equivalent to a model in which the navigable associations connecting the types (kinds) Person, Car and Organization to the respective datatypes and enumerations are represented as attributes of these kinds. The alternative model consists of these three kinds occupying the center of the diagram while datatypes and enumerations can be left as secondary notational elements represented in the border of the diagram. This alternative visualization can, in principle, improve even further the presentation of the abstracted model. However, it is important to highlight that this move does not constitute a transformation, given that the models are equivalent. We refrain from further entertaining this possibility here. 10 We calculate this compression rate by comparing the sums of all classes and relations present in the original model with the analogous sum in the abstracted one. Fig. 7. Screenshot of the implementation at the rule selection. in terms of the total sum of modeling elements. It also contains the compression rates for each of these models achieved by applying the proposed abstraction rule set. As one can observe, the latter range from 47,22% to 85,48%. Moreover, we also recorded the execution time for the largest of these models, namely, OntoBio (with 274 model elements) and for an even larger syntactically created model (with 777 model elements). In a MacBook Intel Core i5 2.3GHz with 4GB of RAM, the entire rules set was executed for these models in 3.061 seconds and 19.11 seconds, respectively. TABLE II T ESTING THE PLUG - IN ON A DIVERSE SET OF O NTO UML MODELS Model Cloud Vulnerability ECG G.805 MPOG Normative Acts OpenBio Open Provenance OpenFlow PAS 77 Software Requirements #Modeling Elements (Original) Compression Rate of the Abstracted Model 83 72,28% 49 139 15 60% 85,48% 51,35% 64 62,14% 274 75,56% 34 47,22% 20 76 70,83% 61,39% 23 59% VI. C OMPARISON TO R ELATED W ORK The results presented in this paper complement the research in [9] as part of a general program of Ontology-Based Complexity Management of Large and Complex Conceptual Models. Whilst that work addresses the problem of model clustering by viewpoint extraction, here we focus on model abstraction, i.e., on a particular type of model summarization. In that sense, the approaches in the literature that are more similar to the one presented here are the ones of Lozano et al. [15], [16] and Egyed [6], [7]. As previously discussed, the method of Lozano et al. only deals with viewpoint selection, thus, not providing any mechanism for abstraction. Moreover, the selection of views is largely dependent on the selection of focal concepts provided by the user. In particular, given the large degree of propagation of their rules throughout the model, the resulting views themselves might end up having a level of complexity that is similar to the original model. For instance, if for the model in fig.1 the user selects ‘Car Rental’ as a focal type, the resulting summarized model will contain all elements of the original model with the exceptions of the types ‘Physical Object’ and ‘Ownership’ (as well as the mediation and derived relation around it), and the datatype ‘Weight’. The approach of Egyed does provide both viewpoint selection and abstraction, i.e., the produced viewpoints are abstractions of the original fragments of the model. In particular, they are abstractions hiding elements in the paths connecting focal elements of the original model selected by the user. Like in the previous approach, the results produced by Egyed’s method are partial models. In contrast, our method supports views that cover the entire scope of the underlying conceptualization. As such, our abstracted models can support not only the activities that are normally supported by model summarization (e.g., model understanding, consistency checking11 and reverse engineering [7]) but also activities such as high-level appraisal of conceptual models (e.g., domain ontologies) in large model repositories. For example, as discussed by [23], an approach that affords ‘glancing’ over complex models in large repositories can support users in making well-informed decision about which model should be more suitable for reuse. Finally, regarding the abstraction of conceptual models, we believe our approach offers two additional benefits when compared to the one proposed by Egyed: (i) simplicity of the abstraction rule set; (ii) determinism in producing the abstracted model. Regarding (i), our proposal is constituted by 4 graphrewriting rules. In contrast, in [7], Egyed proposes a set of 121 patterns, 92 of which are abstractions-generating rules. The main reason why we manage to rely on such a reduced set of rules is by leveraging on the highly-structured syntax of OntoUML models. Due to the ontological foundations behind the language, its modeling elements combine in very specific ways forming modeling patterns.12 . In constrast, because of its ontological neutrality [12], UML elements can be combined in large variety of ways. 11 For example, OntoUML is supported by an approach of model validation and anti-pattern detection by visual simulation [2], [22]. Two limitations of that approach are: the computational complexity of the simulation process - which relies on constraint satisfaction over a SAT solver; the cognitive tractability of the model instances generated by these simulations. We believe that the approach proposed here can be used to address both of these problems. 12 In fact, as formally demonstrated in [33], OntoUML is a pattern language and its modeling primitives are actually design patterns representing the multiple micro-theories of the UFO foundational ontology Also due to these ontological foundations, our approach can rely on well-demarcated differences between the multiple types of types (e.g., kinds, phases, roles, etc.) that can occur in OntoUML models, as well as on their different levels of ontological significance. This feature of the language has been systematically exploited, for example, in the rationale defining the order of application of our proposed rules R1R4 (see section IV). In Egyed’s approach, instead, there is no predefined order constraining the application of his rules. As a consequence, the user must reason with a multitude of possible sequences of applications, each of which can create rather different results. For instance, if we apply his approach to the model of fig. 1 and select as focus types both ‘Person’ and ‘Car’ we can produce both a model consistuted by ‘Person’, ‘Personal Customer’ and ‘Car’ but also an alternative model constituted by Person’, ‘Car’ and ‘Rental Car’, depending on the selection of rules to be applied and the order in which they are applied.13 In the case of large conceptual models, the number of alternative strategies for the application of these 92 rules explodes. Besides the inherent complexity, this introduces a second drawback in the approach, namely, the non-determinism of the produced models (point ii above). The resulting viewpoints produced by Egyed’s approach depend on a number of factors that are extrinsic to the model itself. As previously discussed, these factors include: the particular selection of focal types provided by the user; the particular selection of rules and their ordering in the process. A third type of factor is what Egyed calls ‘model ambiguities’ and these are related to the defesability of inferences produced by some of his rules. In contrast, our method always produces deterministic results and, for this reason, it can be fully automated. As observed by Egyed himself [7]: “given the large and complex nature of models, semi-automated abstraction can become very costly...[and it is not] computing time but humanintervention [that] constitutes key complexities in dealing with these large models.” VII. F INAL C ONSIDERATIONS In this paper, we propose an approach for model abstraction of conceptual models based on the ontologically well-founded semantics of the modeling language OntoUML. The main contribution of the work is to present a set of graph-rewriting rules and their definitions. These rules can automatically produce abstracted global versions of complex conceptual models, while simultaneously preserving the essential concepts of the model and their semantic relevance. By leveraging on the ontological semantics of OntoUML, the approach produces a version of the original model that is reduced to a small number of elements, in essence, the (ontologically fundamental and cognitively salient) Kinds of things that exist in that domain. 13 Notice that, for example, that by selecting ‘Living Person’ and ‘Car’ as focus types, one can even produce a view including only as types ‘Living Person’,‘Personal Customer’ and ‘Car’, i.e., a model without an identityproviding kind for the instances of ‘Person’. Such a view would be problematic from an ontological point of view [12]. In an extension of this paper, we shall formally implement a specification of this rule set using the approach employed in [33] (a Single-Pushout Graph Transformation system and the GROOVE tool). The idea is to use an automated tool support to prove the consistency and completeness of the rule set. Moreover, we intend to extend this ruleset to address additional OntoUML constructs (e.g., events, part-whole relations, multi-level modeling structures). Although the ones dealt with here amount to the most used constructs in the language,14 in certain domains, specific kinds of constructs can play a fundamental role (e.g., partonomies in biomedical applications, events in historical models, multi-level modeling in product design). As a second contribution, the paper also presents a fully implemented plug-in tool for a Model-Based OntoUML Editor that automates these rules. Despite the encouraging results of the tests performed with this plug-in, we intend to subject it to a more comprehensive and systematic series of tests. Moreover, despite the empirical demonstration of performance scalability with these tests, we shall provide a formal proof of the complexity of the algorithm implemented therein. As an ultimate goal of this project, we intend to develop a version of the tool that supports not only the compression of models but also their ‘unfolding’ back to its original form (i.e., round-trip operations of model abstraction and refinement). The idea is to fully implement a notion of Ontological Zoom that would allow users to interact with models and their parts in different levels of abstraction (each level corresponding to the result of a transformation using each of the rules proposed here). In order to properly evaluate the cognitive effectiveness of these contributions, we are already in the process of designing a series of empirical studies. The core focus concerns speed and accuracy of obtaining information from the model, as well as balancing this (hypothesized) improvement with the model’s information loss. R EFERENCES [1] Akoka, J., Comyn-Wattiau, I.: Entity-relationship and object-oriented model automatic clustering. Data & Knowledge Engineering 20(2), 87– 117 (1996) [2] Benevides, A.B., Guizzardi, G., Braga, B.F.B., Almeida, J.P.A.: Validating modal aspects of ontouml conceptual models using automatically generated visual world structures. J. UCS 16(20), 2904–2933 (2010) [3] Bodart, F., Patel, A., Sim, M., Weber, R.: Should optional properties be used in conceptual modelling? A theory and three empirical tests. Information Systems Research 12(4), 384–405 (2001) [4] Brasileiro et al.: Applying a multi-level modeling theory to assess taxonomic hierarchies in wikidata. In: 25th International Conference on World Wide Web (WWW). pp. 975–980 (2016) [5] Castano, S., De Antonellis, V., Fugini, M.G., Pernici, B.: Conceptual schema analysis: Techniques and applications. ACM Trans. Database Syst. 23(3), 286–333 (Sep 1998) [6] Egyed, A.: Semantic abstraction rules for class diagrams. In: Automated Software Engineering, 2000. Proceedings ASE 2000. The Fifteenth IEEE International Conference on. pp. 301–304. IEEE (2000) [7] Egyed, A.: Automated abstraction of class diagrams. ACM Transactions on Software Engineering and Methodology 11(4), 449–491 (2002) 14 This is demonstrated, for example in [24] by an analysis of an OntoUML model repository with circa 56 models in a variety of domains. [8] Egyed, A.: Compositional and relational reasoning during class abstraction. In: International Conference on the Unified Modeling Language. pp. 121–137. Springer (2003) [9] Figueiredo, G., Duchardt, A., Hedblom, M.M., Guizzardi, G.: Breaking into pieces: An ontological approach to conceptual model complexity management. In: IEEE 12th International Conference on Research Challenges in Information Science. pp. 1–10. IEEE (2018) [10] Francalanci, C., Pernici, B.: Abstraction levels for entity-relationship schemas. In: International Conference on Conceptual Modeling. pp. 456–473. Springer (1994) [11] Guarino, N., Guizzardi, G.: ’We need to discuss the relationship’: Revisiting relationships as modeling constructs. In: Intl. Conf. on Advanced Information Systems Engineering. pp. 279–294. Springer (2015) [12] Guizzardi, G.: Ontological foundations for structural conceptual models. CTIT, Centre for Telematics and Information Technology (2005) [13] Guizzardi, G.: Ontological meta-properties of derived object types. In: 24th International Conference on Advanced Information Systems Engineering (CAiSE). pp. 318–333 (2012) [14] Guizzardi, G., Wagner, G., Almeida, J.P.A., Guizzardi, R.S.S.: Towards ontological foundations for conceptual modeling: The Unified Foundational Ontology (UFO) story. Applied Ontology 10(3-4), 259–271 (2015) [15] Lozano, J., Carbonera, J., Abel, M., Pimenta, M.: Ontology view extraction: an approach based on ontological meta-properties. In: Tools with Artificial Intelligence (ICTAI), 2014 IEEE 26th International Conference on. pp. 122–129. IEEE (2014) [16] Lozano, J., Carbonera, J.L., Abel, M.: A novel approach for extracting well-founded ontology views. In: JOWO@ IJCAI (2015) [17] Macnamara, J.T., Macnamara, J., Reyes, G.E.: The logical foundations of cognition. No. 4 in Vancouver Studies in Cognitive Science, Oxford University Press on Demand (1994) [18] Moody, D.L., Flitman, A.: A methodology for clustering entity relationship models: a human information processing approach. In: International Conference on Conceptual Modeling. pp. 114–130. Springer (1999) [19] Moody, D.L., Flitman, A.R.: A decomposition method for entity relationship models: A systems theoretic approach. In: ICSTM (2000) [20] Moreira, J.L.R., Sales, T.P., Guerson, J., Braga, B.F.B., Brasileiro, F., Sobral, V.: Menthor editor: An ontology-driven conceptual modeling platform. In: JOWO@ FOIS (2016) [21] Recker, J., Rosemann, M., Green, P.F., Indulska, M.: Do ontological deficiencies in modeling grammars matter? MIS Quarterly 35(1), 57–79 (2011) [22] Sales, T.P., Guizzardi, G.: Ontological anti-patterns: Empirically uncovered error-prone structures in ontology-driven conceptual models. Data & Knowledge Engineering 99, 72–104 (2015) [23] Tartir, S., Arpinar, I.B.: Ontology evaluation and ranking using ontoqa. In: Proceedings of the International Conference on Semantic Computing. pp. 185–192. ICSC ’07, IEEE (2007) [24] Teixeira, M.G.: An ontology-based process for domain-specific visual language design. Federal University of Espirito Santo, Brazil/Ghent University, Belgium (Double Degree) (2016) [25] Tzitzikas, Y., Hainaut, J.L.: How to tame a very large er diagram (using link analysis and force-directed drawing algorithms). In: International Conference on Conceptual Modeling. pp. 144–159. Springer (2005) [26] Tzitzikas, Y., Kotzinos, D., Theoharis, Y.: On ranking rdf schema elements (and its application in visualization). J. UCS 13(12), 1854– 1880 (2007) [27] Verdonck, M., Gailly, F.: Insights on the use and application of ontology and conceptual modeling languages in ontology-driven conceptual modeling. In: International Conference on Conceptual Modeling. pp. 83–97. Springer (2016) [28] Verdonck et al.: Comparing traditional conceptual modeling with ontology-driven conceptual modeling: An empirical study. Information Systems (2018) [29] Villegas Niño, A.: A Filtering Engine for Large Conceptual Schemas. PhD Thesis. Universitat Politècnica de Catalunya (2013) [30] Wieringa, R., de Jonge, W., Spruit, P.: Using dynamic classes and role classes to model object migration. TAPOS 1(1), 61–83 (1995) [31] Xu, F.: From lot’s wife to a pillar of salt: Evidence that physical object is a sortal concept. Mind & Language 12(3-4), 365–392 (1997) [32] Xu, F., Carey, S.: Infants metaphysics: The case of numerical identity. Cognitive psychology 30(2), 111–153 (1996) [33] Zambon, E., Guizzardi, G.: Formal definition of a general ontology pattern language using a graph grammar. In: Federated Conference on Computer Science and Information Systems. pp. 1–10 (2017)