<!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>CM-OPL: An Ontology Pattern Language for the Configuration Management Task</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ana Carolina Almeida</string-name>
          <email>ana.almeida@ime.uerj.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Schwabe</string-name>
          <email>dschwabe@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sérgio Lifschitz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maria Luiza M. Campos</string-name>
          <email>mluiza@ppgi.ufrj.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Comp. Science - Federal University of Rio de Janeiro (UFRJ) Rio de Janeiro - RJ -</institution>
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. of Comp. Science - Pontifical Catholic University of Rio de Janeiro</institution>
          ,
          <addr-line>Puc-Rio</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dept. of Comp. Science - State University of Rio de Janeiro</institution>
          ,
          <addr-line>UERJ</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Although most methodologies for ontology development emphasize reuse of existing ontologies, it is still often too complicated for people to understand the available ontologies to minimize redundancies via ontological analysis. In this context, this paper presents an Ontology Pattern Language to facilitate the construction of a well-founded ontology in the configuration management domain. As there are few studies of OPL for this domain, we present an initial version of the Configuration Management OPL (CM-OPL) and how it was used to build a configuration ontology for the vehicles domain.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Ontologies can be used as an inter-lingua to map concepts and services used by
different tools [
        <xref ref-type="bibr" rid="ref8">Guizzardi 2007</xref>
        ]. Most existing methods for building ontologies suggest
reuse as the first step
        <xref ref-type="bibr" rid="ref9">(e.g., Noy et al. 2001)</xref>
        . Although there are many ontologies
available, it is not always easy to discover, understand and use ontologies developed by
others for a particular domain. As a result of this difficulty in reusing ontologies, the
concept of Ontology Pattern Languages (OPL) emerged. An OPL [
        <xref ref-type="bibr" rid="ref3 ref4">Falbo et al. 2013</xref>
        a] is
a network of interconnected domain-related ontology patterns that provides holistic
support for solving ontology development problems for a specific domain. There are
many efforts related to OPL construction [
        <xref ref-type="bibr" rid="ref3 ref4">Falbo et al. 2013</xref>
        b][
        <xref ref-type="bibr" rid="ref5">Falbo et al. 2014</xref>
        ][
        <xref ref-type="bibr" rid="ref6">Falbo
et al. 2016</xref>
        ] to expedite the process of building ontologies. In addition to facilitate reuse,
an OPL also defines a reasoning order to be followed in a well-grounded systematic
way.
      </p>
      <p>Configuration is a critical and fundamental task, so it would be beneficial to
create and make available an OPL that facilitates the development of new ontologies for
any product for which configuration management information is crucial to its
development, versioning or final characterization.</p>
      <p>
        We call our proposed OPL CM-OPL. Its purpose is to encourage and facilitate
the development of CM ontologies or subontologies modules in specific domains. The
expected result of this work is that the construction of ontologies involving CM
becomes more agile, precise and with fewer ambiguities. We have developed a set of
patterns and created CM-OPL based on a well-founded task ontology, called CMTO,
that has already been analyzed and extended for two configuration scenarios [
        <xref ref-type="bibr" rid="ref2">Calhau et
al. 2012</xref>
        ]. These patterns were then used to build an ontology for the car configuration
task to exemplify its application.
      </p>
      <p>This paper is organized as follows. Section 2 discusses the need to define an
OPL for the CM task and describes related work. Section 3 presents CM-OPL and its
design. Section 4 illustrates how CM-OPL was applied to develop a car configuration
ontology. Section 5 concludes this paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Unified Foundational Ontology and Ontology Pattern Language</title>
      <p>
        The Unified Foundational Ontology (UFO) is an upper-level reference ontology
[
        <xref ref-type="bibr" rid="ref7">Guizzardi 2005</xref>
        ]. It is strongly recommended that any ontology is built with the support
of a foundation ontology to remove ambiguity and improve understanding of the
defined concepts. We chose to consider a well-founded ontology as a basis to extract
patterns, more specifically the already mentioned CMTO.
      </p>
      <p>
        Ontology Patterns (OPs) are modeling solutions to solve recurrent ontology
development problems [
        <xref ref-type="bibr" rid="ref12">Ruy et al. 2017</xref>
        ]. OPs can be of different types. In our CM
domain, we chose the Domain-Related Ontology Pattern (DROP) type. DROPs are
reusable fragments extracted from reference ontologies that should capture the core
knowledge related to a domain. Thus, they can be seen as fragments of a core ontology
of that domain [
        <xref ref-type="bibr" rid="ref3 ref4">Falbo et al. 2013</xref>
        a].
      </p>
      <p>
        An OPL complements the patterns solution providing explicit guidance to the
user. It highlights the recurring problems in the domain and suggests an order to address
these problems, recommending one or more patterns to solve them [
        <xref ref-type="bibr" rid="ref5">Falbo et al. 2014</xref>
        ].
      </p>
      <p>
        OPLs are still a new topic, but some works have already been published in
different application areas. The Service Ontology Pattern Language (S-OPL) provides a
network of interconnected ontology modeling patterns covering the core
conceptualization of services [
        <xref ref-type="bibr" rid="ref6">Falbo et al. 2016</xref>
        ], and it has been applied in a real case
study to model an email service in a big Italian company. The Enterprise Ontology
Pattern Language (E-OPL) [
        <xref ref-type="bibr" rid="ref5">Falbo et al. 2014</xref>
        ] organizes aspects common to several
enterprises, and it has been used for building an enterprise ontology on Brazilian
Governmental Universities. Also, an Ontology Pattern Language for the Software
Process Domain (SP-OPL) was used for creating a domain ontology about the software
process [
        <xref ref-type="bibr" rid="ref3 ref4">Falbo et al. 2013</xref>
        b]. ISO Software Process OPL (ISP-OPL) is a specialization
of SP-OPL focusing on the ISO standards devoted to software processes [
        <xref ref-type="bibr" rid="ref11">Ruy et al.
2015</xref>
        ]. Finally, the Measure OPL (M-OPL) addresses the core conceptualization of
measurement [
        <xref ref-type="bibr" rid="ref1">Barcellos et al. 2014</xref>
        ].
      </p>
      <p>
        There are presently ontologies for the CM domain, but to the best of our
knowledge none of them yet used an OPL approach. Although ISP-OPL has been
applied to the software CM domain, it is specific to software. Our proposal tries to
generically address any CM task. CM applies technical and administrative procedures
for developing, producing and supporting the lifecycle and the evolution of a product
[
        <xref ref-type="bibr" rid="ref2">Calhau et al. 2012</xref>
        ]. CM helps in the control and organizational changes made to the
product throughout its life cycle, preventing significant losses to the project.
        <xref ref-type="bibr" rid="ref2">Calhau et
al. 2012</xref>
        proposed a well-founded CM Task Ontology as a reference model supporting
semantic integration in service and process layers.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. CM-OPL: A Configuration Management Ontology Pattern Language</title>
      <p>
        CM-OPL includes two parts: a set of ontology patterns and a process describing how to
combine them to build new configuration ontologies to be applied to different
situations. The CM-OPL patterns are represented in OPL-ML [
        <xref ref-type="bibr" rid="ref10">Quirino et al. 2017</xref>
        ], a
modeling language for representing Ontology Pattern Languages. As already
mentioned, we have extracted the patterns based on the CMTO, a well-founded
ontology [
        <xref ref-type="bibr" rid="ref2">Calhau et al., 2012</xref>
        ]. The CM-OPL patterns are organized into three groups
according to the process presented in [
        <xref ref-type="bibr" rid="ref2">Calhau et al., 2012</xref>
        ]: Configuration Identification,
Version Control and Change Control.
      </p>
      <p>CM-OPL has only one entry point (EP1). The ontology engineer (OE) must start
the new ontology by selecting the configuration that s/he needs to do (ISelection). Next,
s/he decides who will manage the configuration (Configuration Manager). Also, it is
necessary to define which item that will be configured (IComposite). After, the patterns
of the version control and the change control groups should be used.</p>
      <p>
        We have used the approach proposed by [
        <xref ref-type="bibr" rid="ref12">Ruy et al. 2017</xref>
        ] to derive the DROPs
from the CMTO core ontology. The steps are: (i) modularize the core ontology
according to the three main activities of CM; (ii) fragment each sub-ontology model
into smaller pieces still meaningful for the domain based on competency questions; (iii)
review the model fragments and select the DROPs supported by Foundational Ontology
Patterns (FOPs2); and (iv) pack the DROP with its associated useful information.
      </p>
      <p>
        1 available at ftp://ftp.inf.puc-rio.br/pub/docs/techreports/18_06_almeida.pdf
2 FOPs are reusable fragments derived from foundational ontologies [
        <xref ref-type="bibr" rid="ref3 ref4">Falbo et al 2013</xref>
        a].
      </p>
      <p>We present some Competency Questions (CQs) referring to the Configuration
Identification (subontology) in Table 1.
CQ01: Which items should have their configuration CQ03: How is a configuration item decomposed?
managed?
CQ02: Who is the Configuration Manager that selects CQ04: Who can play the role of configuration
each configuration item? manager?</p>
      <p>
        In the first group, the OE should address problems related to Configuration Item
Definition (Figure 2). The first pattern ISelection defines the selection of a
configuration item, that is an Item, considering the relator Configuration Selection
which relates Configuration Manager and Configuration Item. This pattern answers
CQ01 and CQ02. The stereotype of the Configuration Manager class is given by the
pattern selected from the Configuration Manager sub-group. For instance, if A-Manager
pattern is selected, then Configuration Manager is a &lt;&lt;role&gt;&gt; corresponding to Agent
Configuration Manager; if the PA-Manager pattern is selected, then Configuration
Manager is a &lt;&lt;rolemixin&gt;&gt;. The next pattern refers to the configuration item
decomposition. A configuration item can be atomic or composite (IComposite). In this
case, a composite configuration item has more than one configuration item, and it is
classified as rolemixin which represents an anti-rigid and externally dependent
nonsortal [
        <xref ref-type="bibr" rid="ref7">Guizzardi 2005</xref>
        ]. This pattern answers the CQ03 and applies Category Pattern
FOP – variant 1 with Mixin expression [
        <xref ref-type="bibr" rid="ref12">Ruy et al 2017</xref>
        ].
      </p>
      <p>
        We extended the original elements of the CMTO to allow people, computational
agents or both at the same time to assume all roles. Industries are increasingly
automated, allowing configurations to be made by machines/agents or people. Roles can
be Configuration Manager, Verifier, Requester, Evaluator, and Executor. The patterns
contemplate all these roles. In Figure 3, we show an example pattern for the
Configuration Manager. Thus, the Configuration Manager may be a person (pattern
PManager), or it may be automated by an agent (pattern A-Manager), or it may be
carried out by both (pattern PA-Manager). This last pattern applies the Rolemixin
Pattern FOP – Variant 2 [
        <xref ref-type="bibr" rid="ref12">Ruy et al 2017</xref>
        ], where we define a RoleMixin as a partition
of two or more Roles, each of which is connected to a Kind via a Sortal Expression.
The patterns in Figure 3 correspond to the CQ04. Analogously, a similar set of patterns
and competency questions exist for the other types of roles.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Applying CM-OPL to Vehicle Configuration Management</title>
      <p>CM-OPL could be applied to many domains. In this work, we present a simple
application example of the CM-OPL in the configuration of a vehicle.</p>
      <p>
        [
        <xref ref-type="bibr" rid="ref12">Ruy et al. 2017</xref>
        ] describe two main ways of reusing ontology patterns: by
analogy and by extension. We have chosen reuse by extension. In this case, the DROPs
are incorporated in the vehicle configuration ontology being developed, using
specialization of the original concepts and relations. In our example of reuse presented
in Figure 4, we put our extensions in a grayscale.
      </p>
      <p>We could implement the main concepts in the following way: imagine that when
a Client wants to buy a vehicle, which has climatronic A/C unit as an optional item. We
can think of the following competency questions of the specific domain for the first
group (Configuration Identification):
CQ01: What configuration I need to do and who will select the configuration item?</p>
      <sec id="sec-4-1">
        <title>CQ02: Who will manage the car accessory installation?</title>
      </sec>
      <sec id="sec-4-2">
        <title>CQ03: How many parts the configuration item has?</title>
        <p>Using CM-OPL starting from the entry point (EP1), the OE begins with the
Configuration Identification group by selecting the configuration that s/he needs to do
(ISelection – CQ01). The particular configuration is to install an A/C in the car. So, s/he
needs to specialize Item with Car. Next, s/he decides who will manage the configuration
(Configuration Manager). Answering the CQ02, in a simple scenario, we determine that
only people carry out all the activities. So, the OE needs to choose the P-Manager
pattern and to specialize Supervisor of Agency (the is the person responsible for
managing the A/C installation) from Person Configuration Manager. Also, as CM-OPL
describes, it is necessary to define the Configuration Item decomposition using the
IComposite pattern (CQ03). The OE analyzes and identifies that A/C is a Car Accessory
as a Composite CI because it is composed of Air Filter, for example. Also, the Car with
Configuration Managed is a composite CI too because the Car has many other parts
and accessories, but it is not essential to enumerate them here.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>
        OPL shows promising to facilitate the reuse of ontologies by providing a path towards
(re)use of pre-defined patterns. Such ontologies may be used to improve correctness by
adding models that are more precisely specified based on foundation ontologies. The
CM task is commonly present, in some sort, in many computing areas as
        <xref ref-type="bibr" rid="ref2">Calhau and
colleagues [2012</xref>
        ] have shown. Nevertheless, using CM-OPL, allows developing robust
ontologies to characterize various CM tasks in different domains. As a proof of concept
of the utility the CM-OPL, we applied it to generate part of vehicle CM ontology.
      </p>
      <p>The development of CM-OPL contributes to building increasingly more
complete new ontologies for the CM task. The process defined in CM-OPL guides the
OE to consider a diversity of modeling situations, some of which s/he may not have
anticipated. The development of new ontologies involving configuration tasks becomes
faster and more error-prone due to the reuse of already tested model fragments and the
guidance provided by ordered pattern application.</p>
      <p>As future work, we plan to explore CM-OPL in other areas. We are currently
applying the same CM-OPL to derive a configuration ontology for the database tuning
scenario, a much more complex setting, where the patterns and associated process will
be further explored. We also plan to develop a software tool to automate the OPL
process of building new ontologies that require a configuration task. Finally, we can
identify new groups of patterns to contemplate, for example, activities present in the
configuration planning and auditing phases.</p>
    </sec>
    <sec id="sec-6">
      <title>6. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frauches</surname>
            ,
            <given-names>V. G. V.</given-names>
          </string-name>
          (
          <year>2014</year>
          ) “
          <article-title>Towards a measurement ontology pattern language."</article-title>
          <source>In Proceedings of the 1st Joint Workshop ONTO.COM / ODISE on Ontologies in Conceptual Modeling and Information Systems Engineering</source>
          , Rio de Janeiro, RJ, Brazil.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Calhau</surname>
            ,
            <given-names>R. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          (
          <year>2012</year>
          )
          <article-title>“A Configuration Management Task Ontology for Semantic Integration”</article-title>
          ,
          <source>In: Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC'12)</source>
          , pp.
          <fpage>348</fpage>
          -
          <lpage>353</lpage>
          , ACM, New York, NY, USA.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          (
          <year>2013a</year>
          ) “
          <article-title>Ontology patterns: clarifying concepts and terminology”</article-title>
          .
          <source>In: Proceedings of the 4th Workshop on Ontology and Semantic Web Patterns (Sidney</source>
          , Australia).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2013b</year>
          ) “
          <article-title>Organizing Ontology Design Patterns as Ontology Pattern Languages”</article-title>
          .
          <source>In: The Semantic Web: Semantics and Big Data</source>
          , vol.
          <volume>7882</volume>
          , Lecture Notes in Computer Science, pp.
          <fpage>61</fpage>
          -
          <lpage>75</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruy</surname>
            ,
            <given-names>F. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Almeida</surname>
            ,
            <given-names>J. P. A.</given-names>
          </string-name>
          (
          <year>2014</year>
          ) “
          <article-title>Towards an Enterprise Ontology Pattern Language”</article-title>
          .
          <source>In: 29th ACM Symposium On Applied Computing (ACM SAC</source>
          <year>2014</year>
          ), Gyeongju, Korea.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quirino</surname>
            ,
            <given-names>G. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2016</year>
          )
          <article-title>“An Ontology Pattern Language for Service Modeling”</article-title>
          .
          <source>In: 31st ACM Symposium on Applied Computing (ACM SAC</source>
          <year>2016</year>
          ), Pisa, Italy.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <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>
          . In: Universal Press, The Netherlands.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2007</year>
          ) “
          <article-title>On Ontology, ontologies, Conceptualizations, Modeling Languages, and (Meta)Models”</article-title>
          .
          <source>In: Proceedings of the 2007 conference on Databases and Information Systems</source>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>39</lpage>
          , Amsterdam, The Netherlands.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mcguinness</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          (
          <year>2001</year>
          )
          <article-title>“Ontology Development 101: A Guide to Creating Your First Ontology”</article-title>
          .
          <source>In: Knowledge Systems Laboratory</source>
          , pp:
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          , Stanford University.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Quirino</surname>
            ,
            <given-names>G. K. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2017</year>
          )
          <article-title>“OPL-ML: A Modeling Language for Representing Ontology Pattern Languages"</article-title>
          .
          <source>In: Lecture Notes in Computer Science, November</source>
          <year>2017</year>
          , pp.
          <fpage>187</fpage>
          -
          <lpage>201</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Ruy</surname>
            ,
            <given-names>F. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quirino</surname>
            ,
            <given-names>G.K.S.</given-names>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>“An ISO-based Software Process Ontology Pattern Language and its Application for Harmonizing Standards”</article-title>
          .
          <source>ACM SIGAPP Applied Computing Review</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <fpage>27</fpage>
          --
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Ruy</surname>
            ,
            <given-names>F. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reginato</surname>
            ,
            <given-names>C. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>V. A.</given-names>
          </string-name>
          (
          <year>2017</year>
          ) “
          <article-title>From reference ontologies to ontology patterns and back”</article-title>
          .
          <source>In: Journal Data &amp; Knowledge Engineering</source>
          , v.
          <volume>109</volume>
          ,
          <string-name>
            <surname>issue</surname>
            <given-names>C</given-names>
          </string-name>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>69</lpage>
          , Elsevier Science Publishers, The Netherlands.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>