<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Ontological Anti-Patterns in Taxonomic Structures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tiago Prince Sales</string-name>
          <email>tiago.princesales@unitn.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giancarlo Guizzardi</string-name>
          <email>giancarlo.guizzardi@unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Conceptual and Cognitive Modelling Research Group (CORE), Free University of Bozen-Bolzano</institution>
          ,
          <addr-line>Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ISTC-CNR Laboratory for Applied Ontology</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>Over the years, there is a growing interest in employing theories from philosophical ontology, cognitive science and linguistics to devise theoretical, methodological and computational tools for conceptual modeling, knowledge representation and domain ontology engineering. In this paper, we discuss one particular kind of such tools, namely, ontological anti-patterns. Ontological anti-patterns are error-problem modeling structures that can create a deviation between the possible and the intended interpretations of an ontology. The contributions of the paper are three-fold. Firstly, we propose some empirically elicited ontological anti-patterns related to the modeling of taxonomic structures. Secondly, we advance a series of rectification plans that can be used to eliminate the occurrence of these anti-patterns in domain ontologies. Finally, we present a model-based computational tool that supports the automated detection, analysis, and elimination of these anti-patterns.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In recent years, there has been an increasing interest in the application of ontologies in
conceptual modeling, knowledge representation and domain engineering. This includes
the use of foundational ontologies to improve the theory and practice of these disciplines
[Almeida et al. 2009,
        <xref ref-type="bibr" rid="ref4">Guizzardi 2014</xref>
        ]. In these scenarios, foundational ontologies play
a key role in improving the conceptual quality of models by supporting communication,
problem-solving, meaning negotiation and, chiefly, semantic interoperability in its various
manifestations (e.g., enterprise and database application integration) [Nardi et al. 2013a].
      </p>
      <p>
        Given the increasing complexity and criticality of domains in which ontologies
are being developed (e.g., finances, life sciences, public safety, convergence networks),
there is an urging need for developing a new generation of complexity management tools
for engineering these artifacts [
        <xref ref-type="bibr" rid="ref4">Guizzardi 2014</xref>
        ]. These include a number of
methodological and computational tools that are grounded on sound theoretical foundations. In
particular, as defended in [
        <xref ref-type="bibr" rid="ref4">Guizzardi 2014</xref>
        ], we should advance in conceptual modeling,
in general, and in ontology engineering, in particular, a well-tested body of knowledge in
terms of Ontology Patterns, Ontology Pattern Languages and Ontological Anti-Patterns.
This article focuses on the latter.
      </p>
      <p>
        An anti-pattern is a recurrent error-prone modeling decision [
        <xref ref-type="bibr" rid="ref6">Koenig 1995</xref>
        ]. In
this paper, we are interested in one specific sort of anti-patterns, namely, model
structures that, albeit producing syntactically valid conceptual models, are prone to result in
unintended domain representations. In other words, we are interested in configurations
Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
that, when used in a model, will typically cause the set of valid (possible) instances of
that model to differ from the set of instances representing intended state of affairs in that
domain [Guizzardi 2005]. Such a difference occurs either because the model allows
unintended model instances or because it forbids intended ones. We name these configurations
Ontological Anti-Patterns.
      </p>
      <p>
        In this article, we focus on the study of Ontological Anti-Patterns in a particular
modeling language named OntoUML [Guizzardi 2005]. 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) [Guizzardi 2005,
        <xref ref-type="bibr" rid="ref5">Guizzardi et al. 2015</xref>
        ]. UFO is an axiomatic formal
theory based on theories from Formal Ontology in Philosophy, Philosophical Logics,
Cognitive Psychology and Linguistics. OntoUML has been successfully employed in
several industrial projects in different domains, such as petroleum and gas, digital
journalism, complex digital media management, off-shore software engineering,
telecommunications, retail product recommendation, and government [
        <xref ref-type="bibr" rid="ref5">Guizzardi et al. 2015</xref>
        ]. A recent
study shows that UFO is the second-most used foundational ontology in conceptual
modeling and the one with the fastest adoption rate [
        <xref ref-type="bibr" rid="ref13">Verdonck and Gailly 2016</xref>
        ]. Moreover,
the study also shows OntoUML is among the most used languages in ontology-driven
conceptual modeling (together with UML, (E)ER, OWL and BPMN).
      </p>
      <p>
        This article can be seen as complementary to our earlier work on
antipatterns. In [Sales and
        <xref ref-type="bibr" rid="ref5">Guizzardi 2015</xref>
        ], we have focused on anti-patterns that are
connected to the modeling of material relations (roughly domain associations), in
[
        <xref ref-type="bibr" rid="ref11">Sales and Guizzardi 2016</xref>
        ], on those connected to the modeling of roles, and in
[
        <xref ref-type="bibr" rid="ref12">Sales and Guizzardi 2017</xref>
        ], on those emerging from modeling part-whole relations. Now
we focus on anti-patterns that emerge when modeling certain taxonomic structures.
      </p>
      <p>The contributions of this paper are three-fold. Firstly, we contribute to the
identification of three new Ontological Anti-Patterns for conceptual modeling, in general, and for
OntoUML, in particular. Secondly, after precisely characterizing these anti-patterns, we
propose a set of refactoring plans that can be adopted to eliminate the possible unintended
consequences induced by the presence of each of these anti-patterns. Finally, we
present an extension for the Menthor Editor, an open-source OntoUML model-based editor
that: (i) automatically detects anti-patterns in their models; (ii) supports users in
exploring whether the presence of an anti-pattern indeed characterizes a modeling error; (iii)
automatically executes refactoring plans to rectify the model.</p>
      <p>The remainder of this article is organized as follows: in Section 2, we briefly
elaborate on the modeling language OntoUML and some of its underlying ontological
categories, with a particular focus on the modeling of taxonomic structures; In Section 3,
we first briefly present the anti-pattern elicitation method employed here and
characterizes the model benchmark used in this research; In Section 4, we present the newly elicited
Ontological Anti-Patterns with their unintended consequences, as well as possible
solutions for their rectification in terms of model refactoring plans; Section 5 elaborates on the
extensions implemented in the OntoUML editor taking into account these anti-patterns;
Finally, Section 6 presents some final considerations.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background: A Brief introduction to UFO and OntoUML</title>
      <p>
        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) [Guizzardi 2005,
        <xref ref-type="bibr" rid="ref5">Guizzardi et al. 2015</xref>
        ]. 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.
      </p>
      <p>Take a domain in reality restricted to endurants [Guizzardi 2005] (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.</p>
      <p>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’.</p>
      <p>
        Object kinds and subkinds represent essential properties of objects
        <xref ref-type="bibr" rid="ref3">(they are also
termed rigid or static types [Guizzardi 2005])</xref>
        . We have, however, types that represent
contingent or accidental properties of objects
        <xref ref-type="bibr" rid="ref3">(termed anti-rigid types [Guizzardi 2005])</xref>
        .
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.
      </p>
      <p>Phases but also typically subkinds appear in OntoUML models forming (disjoint
and complete, i.e., exhaustive) generalization sets (partitions) following a Dividing
Principle. For example, we can 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). Since they are exclusively composed of phases, these are all dynamic
partitions [Guizzardi 2005]. To use a previously mentioned example, we can also have a
(static) subkind partition formed by the subkinds ‘Man’ and ‘Woman’, dividing ‘Person’
according to ‘gender’.</p>
      <p>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 [Guizzardi 2005]. 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
subclassification applied to the entities that “have that same type of essence”.</p>
      <p>In contrast with sortals, types that represent properties shared by entities of
multiple kinds are termed Non-Sortals. In UFO, we have three other types of non-sortals,
namely Categories, Mixins, and RoleMixins. 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,
mixins represent shared properties that are necessary to some of its instances but
accidental to others. For example, suppose we have the mixin ‘Physical Object’ capturing
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’). Finally, RoleMixins are 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). Categories and mixins are, in contrast to rolemixins, considered as
Relationally Independent Non-Sortals.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Methods and Materials</title>
      <p>
        We identified the anti-patterns presented in this paper through an empirical and qualitative
method. First, we started by assembling a repository of domain and core ontologies to
validate. Then, for each ontology, we would select relevant fragments to inspect. For each
fragment, we would search for potential issues using an approach called Visual Model
Simulation [Sales and
        <xref ref-type="bibr" rid="ref5">Guizzardi 2015</xref>
        ]. This approach consists in: (i) converting OntoUML
models into Alloy [Jackson 2012] specifications; (ii) generating possible model instances
and contrasting these instances with the set of intended instances1 of the model. Upon
the identification of a mismatch, we would register it as a potential issue and identify in
the model which structures (i.e., combination of language constructs) caused it. In the
sequence, in order to define whether the identified structure is indeed problematic, we
would either interact with the modelers (when available) or inspect the documentation
accompanying the model. When we confirmed that there was indeed a problem, we would
propose a possible solution to rectify the model and register it as a problem-solution pair.
With the recently rectified model, we go back to step three. This iteration would be
repeated until no more problems could be identified in the fragment and then, we would select
another fragment to inspect. The analysis of a model stops whenever we inspect all of
its relevant fragments. After inspecting each model, we analyze the generated
problemsolution pairs in order to generalize them into pairs of anti-patterns and refactoring plans.
      </p>
      <p>
        We systematically repeated the process we just described for the 54 ontologies
available in the OntoUML model repository2. Out of these 54 models, 11 were
developed as a part of academic research, such as O3 [
        <xref ref-type="bibr" rid="ref9">Pereira and Almeida 2014</xref>
        ], an ontology
about organizational structures; 7 were developed in collaboration with private or public
organizations, e.g. the MGIC Ontology [
        <xref ref-type="bibr" rid="ref2">Bastos et al. 2011</xref>
        ], a model developed for a
regulatory agency responsible for administrating ground transportation services in Brazil.
Moreover, 32 were designed as course assignments in post-graduate courses on ontology
engineering, whilst the remainder 4 were developed in other contexts.
      </p>
      <p>
        The ontologies we analyzed were created for a variety of purposes: 10 were
designed to serve as core ontologies
        <xref ref-type="bibr" rid="ref7 ref8">(e.g. UFO-S [Nardi et al. 2013b] for the domain of
services)</xref>
        ; 10 were developed as means for an ontological analysis of existing
formalizations, databases or modeling languages; 8 were designed to support the development
of knowledge-based applications; 6 to support semantic interoperability between systems
and/or organizations; 2 for enterprise modeling; and 26 of them for other purposes.
      </p>
      <p>1The set of intended instances correspond to those that represent intended state of affairs
[Guizzardi 2005] according the creators of the models.</p>
      <p>2Most of these models are available at http://www.menthor.net/model-repository.
html. The missing cases are due to non-disclosure agreements.</p>
      <p>Moreover, the ontologies we analyzed were developed by modelers with varying
levels of expertise in OntoUML: 22 were developed by beginners, whilst 32 were
developed by experienced modelers. Finally, regarding the number of participants involved in
the ontology construction, 35 models were developed individually, 15 were the product
of a collaboration between 2-4 people, and 4 of them involved 7-10 people.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Ontological Antipatterns</title>
    </sec>
    <sec id="sec-5">
      <title>4.1. Mixin with a Uniform Identity Principle (MixIden)</title>
      <p>The anti-pattern named Mixin with a Uniform Identity Principle (MixIden) is motivated
by the use of a non-sortal metaclass to characterize a type whose instances adhere to a
single identity principle. Structurally, it corresponds to a type characterized as a mixin type
(from now on, simply M ixin), i.e., a type stereotyped as either mixin , category , or
roleMixin ), but whose direct subtypes (T ypei) are all sortals types (i.e., types
stereotyped as subkind , role , phase , kind , collective , or quantity ) that share
a common identity provider (IdP rovider) as an ancestor.</p>
      <p>We say that the subtypes share an identity provider if: (i) there is exactly one
identity provider amongst the subtypes and the remainder specialize it; or (ii) there is no
identity providers amongst the subtypes, but all of them are directly or indirectly
specializations of the same identity provider.</p>
      <p>To unveil whether an MixIden occurrence is indeed an error, one should first
assess if M ixin represents a type can really possibly classify instances of different kinds,
i.e., that obey multiple identity principles. If that is not the case, such type should be
represented as a sortal, which can be achieved by: choosing a suitable sortal metaclass
for for M ixin (e.g. subkind , role or phase ); make it specialize IdP rovider (see
refactoring plan 1 in Table 1).</p>
      <p>Figura 1. Adapted fragment from the MGIC Ontology exemplifying MixIden.</p>
      <p>Conversely, if M ixin indeed allows different identity principles for its instances,
we recommended to make this explicit either by: (i) changing the identity provider of one
of the current subtypes (T ypei); or (ii) specializing M ixin with a new sortal that follows a
different identity principle. These two alternatives are respectively depicted in refactoring
plans 2 and 3 on Table 1.</p>
      <p>
        To exemplify the MixIden anti-pattern, we discuss an example found in the MGIC
ontology [
        <xref ref-type="bibr" rid="ref2">Bastos et al. 2011</xref>
        ], a reference model developed for the Brazilian Ground
Transportation Agency. A fragment of this ontology, related to the domain of highway
concessions, is depicted in Fig. 1. This fragment depicts two relevant types of
organizations, namely concessionaires and public organizations. The former represents
organizations that are created with the exclusive purpose of administrating federal highways, whilst
the latter accounts for a general concept of publicly controlled organizations, such as
regulatory agencies, ministries, and public companies. The focus of the fragment, however,
is on maintenance contractor, a role played by organizations when they are responsible
for maintenance works on any infrastructural components of a highway. According to
Brazilian regulations, this role might only be played by public organizations and
concessionaires, hence, the two ”sub-roles”Public Organization Contractor (P.O. Contractor)
and Concessionaire Contractor (C. Contractor).
      </p>
      <p>Tabela 1. Summary of the MixIden anti-pattern.</p>
      <p>Name (Acronym)
Mixin with a Uniform
Identity Principle (MixIden)
Pattern Roles
Mult. Name
1 M ixin
1..* Sortali
1..* IdP rovider
Generic Example</p>
      <p>Description
A non-sortal class specialized only by sortal types that obey a single
identity principle, i.e. specialize a common identity provider class.</p>
      <p>Allowed Metaclasses
mixin , category , roleMixin
subkind , role , phase , kind , collective , quantity
kind , collective , quantity
Refactoring Plans
1. Mixin to Sortal: change the stereotype of M ixin to either subkind , role or phase and
make it specialize IdP rovider.
2. Different Identity: set the identity provider of at least one of the Sortali types to another class
(IdP rovider2).
3. Missing sortal: specialize M ixin with another sortal (Sortal3) that follows a different identity
principle (from IdP rovider2).</p>
      <p>The reason why this fragment exemplifies a MixIden occurrence is the
representation of Maintenance Contractor as a roleMixin , even though all its subtypes,
namely P.O. Contractor and C. Contractor, inherit their identity principles from the same
supertype, the class Organization. As such, this fragment identifies an ontological
mistake because only organizations can be contractors, and thus, the contractor role should
be represented as a sortal class – following refactoring plan 1.</p>
    </sec>
    <sec id="sec-6">
      <title>4.2. Mixin with Uniform Rigidity (MixRig)</title>
      <p>The Mixin with Uniform Identity (MixRig) anti-pattern warns modelers about a potential
misuse of the semi-rigidity meta-property to characterize a class. It does so by
highlighting a mixin class (which we refer from now on as the M ixin) whose subtypes (T ypei)
are either all rigid ( subkind , kind , collective , quantity , or category ) or all
anti-rigid ( role , phase , roleMixin ).</p>
      <p>To discover whether a MixRig occurrence is indeed a modeling mistakes, one
should start by revisiting the semantics underlying the supposed semi-rigid universal. Is
it truly the case that some of the instances of this universal necessarily instantiate it,
whilst others do so accidentally? If the answer is no, this universal is not semi-rigid,
and thus one should rectify the model by choosing a more suitable metaclass for M ixin
(see refactoring plan 1 in Table 2). If all the subtypes are rigid, this can be achieved
by changing its stereotype to category , and if they are all anti-rigid, by changing its
stereotype to roleMixin .</p>
      <p>Contrarily, if M ixin is indeed a semi-rigid type, the problem lies on its subtypes.
A possibility is that one of these subtypes has been modeled using a metaclass that embeds
an erroneous modal meta-property property (e.g., mistakenly as a subkind something
should be in fact a role ). In this case, the solution is simply identifying which subtype
carries was mistakenly modeled and fix it accordingly. Another possibility is that M ixin
has a subtype that is currently missing in the model, a type which would be characterized
with a different rigidity property (e.g., a model fragment in which the present subtypes are
subkinds, but in which there is non-represented role type). In this case, the modeler should
explicitly include the missing subtype in the model. These two scenarios are described in
the refactoring plans 2 and 3 in Table 2.</p>
      <p>
        We illustrate an occurrence of MixRig in Fig. 2 with another taxonomic fragment
extracted from the MGIC ontology [
        <xref ref-type="bibr" rid="ref2">Bastos et al. 2011</xref>
        ], but now in the domain of railway
concessions. This fragment focuses on two types of assets that compose a railway
infrastructure, namely stations and railway lots. Stations are those well-known buildings where
trains stop for passengers to board and disembark, whilst railway lots are delimited pieces
of land that compose the railway infrastructure, such as the areas alongside train tracks.
      </p>
      <p>Figura 2. Adapted fragment from the MGIC Ontology exemplifying MixRig.</p>
      <p>These fragment fits the MixRig anti-pattern because Railway Asset is represented
as a mixin and its direct subtypes, Station and Railway Lot, are both subkinds, i.e., rigid
types. Interacting with the authors of this model, we discovered that terminals always
compose railway infrastructures, but lots (empty land areas) are accidental parts of this
infrastructure. Thus, Railway Asset was properly characterized as a semi-rigid class,
but Railway Lot was mistakenly represented as subkind , for it should have been a
role played by a lot when composing a Railway infrastructure.</p>
      <p>Name (Acronym)
Mixin with Uniform
Rigidity (MixRig))
Pattern Roles
Mult. Name
1 M ixin
1..*</p>
      <p>T ypei
Generic Example</p>
      <p>Tabela 2. Summary of the MixRig anti-pattern.</p>
      <p>Description
A mixin class specialized by classes with the same rigidity meta-property,
i.e. either all rigid or all anti-rigid.</p>
      <p>Allowed Metaclasses
mixin</p>
      <p>All class stereotypes except mixin
Refactoring Plans
1. Not semi-rigid: change the stereotype of M ixin either to a category , if every T ypei is rigid,
or to a roleMixin , if every T ypei is anti-rigid.
2. Missing subtype: specialize M ixin with a type (T ype3) that has a rigidity meta-property
different from all T ypei.
3. Fix T ypei stereotype: change the stereotype of at least one T ypei (but not all of them) such that
the new stereotype embeds a rigidity meta-property different from the remainder T ypei.</p>
    </sec>
    <sec id="sec-7">
      <title>4.3. Generalization Set with a Heterogeneous Rigidity</title>
      <p>The Generalization Set With Mixed Rigidity (GSRig) anti-pattern aims to identify model
fragments that suggest the use of multiple specialization criteria within the same
generalization set. A GSRig occurrence can be characterized by a generalization set whose
common supertype is rigid (i.e. stereotyped as kind , quantity , collective ,
subkind or category ) and that aggregates generalizations coming from both rigid and
anti-rigid types (stereotyped as phase , role and roleMixin ).</p>
      <p>A GSRig occurrence can even lead to a logical contradiction, when it contains
exactly one anti-rigid type. Such a contradiction arises from the combination of: (i)
the rigidity constraints of the subtypes; (ii) the disjointness constraint of the set, which
forbids instances of the rigid subtypes to simultaneously instantiate the anti-rigid type;
and (iii) the completeness constraint of the set, which requires that every instance of the
general type instantiate one of the subtypes. In this case, the only way for an individual to
instantiate the anti-rigid subtype at hand would be by doing so since its creation. However,
by definition of an anti-rigid type, it is necessary that such an individual possibly ceases
to instantiate that type. This is, however, not possible in this case due to the rigidity
of the complementary subtypes in that complete generalization set. In summary, this
configuration forces the anti-rigid type at hand to classify its instances necessarily, i.e., to
be in fact a rigid type.</p>
      <p>To determine whether a GSRig occurrence indeed characterizes a modeling error,
one should start by double checking the rigidity of the subtypes and fixing them
accordingly if there are any mistakes. If after this step all subtypes are either rigid or anti-rigid, the
model has been rectified. If that is not the case, one should revisit the common supertype’s
intended semantics to assess whether it should be characterized as a mixin , a metaclass
that exactly captures common properties shared by rigid and anti-rigid subtypes.</p>
      <p>In case the aforementioned steps cannot be used to rectify the model, we suggest
modelers to consider the specialization criterion used for each subtype. As we discussed
in Section 2, a specialization criteria identifies the “dimension” considered for creating
a subtype. For instance, the dimension used to differentiate the classes Child, Adult and
Elder is the value of the age quality defined for the class Person. We uncovered throughout
our analysis that when multiple dimensions were used to define subtypes within the same
generalization set, it was likely for the model to have a problem. Thus, if that is the case,
we suggest modelers to: (i) split the generalization set, if the constraints imposed by it are
not accurate; or (ii) add a new rigid type as a sibling of the other rigid subtypes and make
all anti-rigid subtypes in the generalization set specialize it.</p>
      <p>Figura 3. Adapted fragment from the MPOG Ontology exemplifying GSRig.</p>
      <p>We exemplify GSRig by means of a fragment of a conceptual model on
organizational structures published by the Brazilian Ministry of Planning, Budgeting and
Management 3. Fig. 3 depicts the top six types in the model’s taxonomic structure. The root
class, Organization, classifies all social entities according to the Brazilian law. Its first
refinement distinguishes organizations according to their main activities - public
organizations (owned by the government) and companies (owned by the private sector) arise,
the former being further refined in non-empresarial public organizations (Non
Empresarial P.O.), such as a ministry or a regulatory agency, and state-owned companies, such as
3Original name: Ministe´rio do Planejamento, Orc¸amento e Gesta˜o (MPOG)
the “Banco do Brasil” (a government owned bank).</p>
      <p>Tabela 3. Summary of the GSRig anti-pattern.
Refactoring Plans
1. All subtypes are rigid: transform every AntiRigidi into a rigid class by choosing suitable
meta-classes.
2. Missing generalization set: add an extra generalization set (GS2) to group all AntiRigidi
classes.
3. Hidden rigid type: add a rigid type (Rigid2) that specializes P arent and generalizes every
AntiRigidi in the generalization set.</p>
      <p>The generalization set GS2 is the source of this GSRig occurrence. It aggregates
the generalization relations coming from State-Owned Company (an anti-rigid type) and
Non Empresarial P.O. (a rigid type) to Public Organization (also a rigid type). In fact,
this example fits the particular case we previously discussed of a single anti-rigid type
(the phase State-Owned Company) in a complete generalization set where all of its
complementary types (in this case, only Non Empresarial Public Organization) are rigid.
From the description of domain, we can clearly conclude that being a public organization,
in the sense of being owned by the government, is a necessary condition for some
organizations (e.g. the Ministry of Science and Technology will never be private owned) and
contingent condition for others (e.g. a public company that is privatized).</p>
    </sec>
    <sec id="sec-8">
      <title>5. Tool Support</title>
      <p>
        In order to help modelers easily reuse the anti-patterns discussed in this paper to
validate their ontologies, we implemented an anti-pattern management feature in Menthor
Editor 4, an open-source ontology-driven conceptual modeling environment. Following
the strategy adopted in [Sales and
        <xref ref-type="bibr" rid="ref5">Guizzardi 2015</xref>
        ], the anti-pattern management feature
includes: (i) automatic anti-pattern detection based on the structures defined for each
anti-pattern; (ii) a wizard-like component (depicted on Fig. 4) to support modelers in
discovering whether an anti-pattern occurrence is an errors, and if so, what should be done
to rectify it ; and (iii) automatic rectification of the models based on the refactoring plans
presented in the previous section.
      </p>
      <p>Figura 4. Anti-pattern management support in Menthor Editor.</p>
    </sec>
    <sec id="sec-9">
      <title>6. Final Considerations</title>
      <p>In this paper, we extended our work on ontological anti-patterns, proposing three new
error-prone structures in combination with pre-defined rectification solutions. In
particular, the anti-patterns we describe in this paper regard the formalization of taxonomic
structures, the “backbone” of every ontology. Therefore, the identification of these
antipatterns, their associated rectification plans and the model-based computational tool
presented here contribute to the theory and practice of ontology engineering.</p>
      <p>
        In companion publications, we presented anti-patterns (with their
respective rectification plans) identified in in the modeling of material relations
[Sales and
        <xref ref-type="bibr" rid="ref5">Guizzardi 2015</xref>
        ], roles [
        <xref ref-type="bibr" rid="ref11">Sales and Guizzardi 2016</xref>
        ] and part-whole relations
[
        <xref ref-type="bibr" rid="ref12">Sales and Guizzardi 2017</xref>
        ]. So, the three anti-patterns related to the modeling of
taxonomic structures presented in this paper (MixIden, MixRig and GSRig) come to add to
this body of knowledge.In future investigations, we plan to expand this catalog to account
for anti-patterns involving other types of entities, in particular phases, qualities and formal
relations.
      </p>
      <p>4https://github.com/MenthorTools/menthor-editor</p>
      <p>In terms of frequency of occurrence across the analyzed repository, these three
anti-patterns occurred in a frequency much lower than some of the other anti-patterns
present in our catalog. For example, MixIden and GSRig appeared in 13,51% of the
models in which they could possibly occurr, i.e., in which the necessary modeling elements
were present. The MixRig appeared in only one of the models that it could possibly occur
(7 in total). However, we found out that in 100% of their occurrences they actually
represented modeling errors. This is important because, in these cases, one can actually derive
syntactic rules to be encoded in the metamodel of the language such that the occurrence
of these anti-patterns would be proscribed in OntoUML models. In other words, the
occurrence of these anti-patterns would configure a syntactic error rendering the associated
model as a non-valid OntoUML model.</p>
      <p>
        Since anti-patterns signal deviations between intended and valid model instances,
and since intended model instances only exist in the mind of domain experts, anti-pattern
discovery is a human-centric activity. Hence, the anti-patterns currently making our
catalog were discovered in a heavily manual process. To overcome this limitation in our
methodology, we intend to study strategies to automate anti-pattern discovery as much
as possible. For instance, we would like to provide mechanisms that could automatically
learn the recurrent correlation between (a) structures in the unintended model instances,
(b) structures in the conceptual models that cause them, and (b) solutions provided by the
conceptual modelers over (b) in order to rectify the unintended situation identified in (a).
Once these strategies are identified and implemented in our computational support, we
intend to extend this tool support to be able to automatically identify these anti-patterns
across different conceptual models in our model repository. A possibly promising path
for investigation in that respect, in the spirit of [
        <xref ref-type="bibr" rid="ref1">Alrajeh et al. 2015</xref>
        ], is the combination
of inductive logic learning mechanisms with the counter-example generation capabilities
of our model simulation environment (based on Alloy).
      </p>
    </sec>
    <sec id="sec-10">
      <title>Refereˆncias</title>
      <p>Almeida, J. P. A., Guizzardi, G., and Santos Jr, P. S. (2009). Applying and extending
a semantic foundation for role-related concepts in enterprise modelling. Enterprise
Information Systems, 3(3):253–277.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Alrajeh</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kramer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Russo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Uchitel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Automated support for diagnosis and repair</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>58</volume>
          (
          <issue>2</issue>
          ):
          <fpage>65</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Bastos</surname>
          </string-name>
          et al. (
          <year>2011</year>
          ).
          <article-title>Building up a model for management information and knowledge: the case-study for a brazilian regulatory agency</article-title>
          .
          <source>In 2nd International Workshop on Software Knowledge (SKY)</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>Ontological foundations for structural conceptual models</article-title>
          .
          <source>CTIT</source>
          ,
          <article-title>Centre for Telematics and Information Technology</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Ontological patterns, anti-patterns and pattern languages for nextgeneration conceptual modeling</article-title>
          .
          <source>In International Conference on Conceptual Modeling</source>
          , pages
          <fpage>13</fpage>
          -
          <lpage>27</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Almeida</surname>
            ,
            <given-names>J. P. A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R. S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Towards ontological foundations for conceptual modeling: the Unified Foundational Ontology (UFO) story</article-title>
          . Applied ontology,
          <volume>10</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>259</fpage>
          -
          <lpage>271</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Koenig</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>1995</year>
          ).
          <article-title>Patterns and antipatterns</article-title>
          .
          <source>Journal of Object-Oriented Programming</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <fpage>46</fpage>
          -
          <lpage>48</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Almeida</surname>
            <given-names>Falbo</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , and
            <surname>Almeida</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. P. A.</surname>
          </string-name>
          (
          <year>2013a</year>
          ).
          <article-title>Foundational ontologies for semantic integration in eai: a systematic literature review</article-title>
          .
          <source>In Conference on eBusiness, e-Services and e-Society</source>
          , pages
          <fpage>238</fpage>
          -
          <lpage>249</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. D. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Almeida</surname>
            ,
            <given-names>J. P. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pires</surname>
          </string-name>
          , L. F.,
          <string-name>
            <surname>van Sinderen</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Guarino</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>2013b</year>
          ).
          <article-title>Towards a commitment-based reference ontology for services</article-title>
          .
          <source>In 17th IEEE International Enterprise Distributed Object Computing Conference (EDOC)</source>
          , pages
          <fpage>175</fpage>
          -
          <lpage>184</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Pereira</surname>
            ,
            <given-names>D. C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Almeida</surname>
            ,
            <given-names>J. P. A.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Representing organizational structures in an enterprise architecture language</article-title>
          .
          <source>In 6th Workshop on formal ontologies meet industry (FOMI)</source>
          , volume
          <volume>1333</volume>
          , pages
          <fpage>7</fpage>
          -
          <lpage>15</lpage>
          . CEUR-WS.org.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Sales</surname>
            ,
            <given-names>T. P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Ontological anti-patterns: empirically uncovered error-prone structures in ontology-driven conceptual models</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          ,
          <volume>99</volume>
          :
          <fpage>72</fpage>
          -
          <lpage>104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Sales</surname>
            ,
            <given-names>T. P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Anti-patterns in ontology-driven conceptual modeling: the case of role modeling in ontouml</article-title>
          . In Hitzler, P.,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janowicz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krisnadhi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Presutti</surname>
          </string-name>
          , V., editors,
          <source>Ontology Engineering with Ontology Design Patterns: Foundations and Applications</source>
          , volume
          <volume>25</volume>
          , pages
          <fpage>161</fpage>
          -
          <lpage>187</lpage>
          . IOS Press.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Sales</surname>
            ,
            <given-names>T. P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>”Is it a fleet or a collection of ships?”: Ontological anti-patterns in the modeling of part-whole relations</article-title>
          .
          <source>In 21st European Conference on Advances in Databases and Information Systems (ADBIS)</source>
          , pages
          <fpage>28</fpage>
          -
          <lpage>41</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Verdonck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Gailly</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Insights on the use and application of ontology and conceptual modeling languages in ontology-driven conceptual modeling</article-title>
          .
          <source>In 35th International Conference on Conceptual Modeling (ER)</source>
          , pages
          <fpage>83</fpage>
          -
          <lpage>97</lpage>
          . Springer.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>