<!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>Reusing Ontology Design Patterns in a Context Ontology Network</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>María Poveda-Villalón</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mari Carmen Suárez-Figueroa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Asunción Gómez-Pérez</string-name>
          <email>asun@fi.upm.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CQ and its response</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ontology Engineering Group. Departamento de Inteligencia Artificial. Facultad de Informática, Universidad Politécnica de Madrid.</institution>
          <addr-line>Campus de Montegancedo s/n. 28660 Boadilla del Monte. Madrid.</addr-line>
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Reusing knowledge resources, specifically Ontology Design Patterns (ODPs), has became a popular technique within the ontology engineering field. Such a reuse allows speeding up the ontology development process, saving time and money, and promoting the application of good practices. Recently methods and tools to support the reuse of ODPs have emerged. In addition, the existence of detailed examples of real use cases that reuse ODPs favours the adoption and application of such methods. Thus, our objective in this paper is to show an example of how to apply a method for reusing ODPs during the development of a context ontology network to model context-related knowledge that allows adapting applications based on user context. Besides, in this paper we present the main drawbacks found during the application of the reuse method as well as some proposals to overcome them.</p>
      </abstract>
      <kwd-group>
        <kwd>ontology design pattern</kwd>
        <kwd>ontology development</kwd>
        <kwd>context ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        With the goal of speeding up the ontology development process, ontology
practitioners are starting to reuse [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ] as much as possible knowledge resources
(ontologies, ontology modules, ontology statements, and ontology design patterns as
well as non-ontological resources). This approach also allows ontology developers to
save time and money and to promote the application of good practices.
      </p>
      <p>
        Regarding the ODPs, their reuse has proven different benefits [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] like (a) to make
easier the ontology development or (b) to produce ontologies of better quality. The
reuse of ODPs should be supported by methods and tools to minimize the reuse effort
and to maximize their benefits. In this sense, methods and tools to support the reuse of
ODPs have recently emerged.
      </p>
      <p>However, methods and tools are not enough to guarantee a successful reuse of
ODPs. In this regard, the existence of detailed examples of how ODPs are reused in
real use cases would be of great help. This kind of guided examples would favour the
adoption of ODPs and their related methodological and technological support.</p>
      <p>Thus, our main objective in this paper is to present a guided example of how we
have carried out the reuse of ODPs during the development of an ontology network
about user’s contextual information, called mIO! ontology network. This ontology
network is a context ontology in the mobile environment that aims to represent
contextual knowledge about the user that can influence his interaction with mobile
devices. In addition, we also show in this paper some lessons learned during the
application of the method for reusing ODPs as well as some proposals for overcoming
the drawbacks found in the method.</p>
      <p>The remainder of the paper is structured as follows: Section 2 summarizes the state
of the art on methodological and technological aspects of the ODPs reuse. Section 3
describes in detail how we have followed the guidelines to reuse ODPs as well as how
we have adapted such guidelines during the development of the mIO! ontology
network. Section 4 shows the lessons learned during the ODPs reuse. Finally, Section
5 concludes and shows some lines of future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Ontology Design Patterns and how to reuse them</title>
      <p>
        The idea of applying patterns for modelling ontologies was proposed by [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Since
then, relevant works on patterns have been the Semantic Web Best Practices and
Deployment Working Group1, the Ontology Design Patterns Public Catalogue2, and
the Ontology Design Patterns Portal3. According to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] Ontology Design Patterns
(ODPs) are modeling solutions to solve a recurrent ontology design problem. ODPs
are a way of encoding best practices, based on experiences and knowledge of ‘good’
solutions. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], authors distinguish the following six different types of ODPs:
reasoning, structural, content, presentation, lexico-syntactic, and correspondence.
      </p>
      <p>
        Generally patterns are perceived as having three kinds of benefits [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]: (1) reuse
benefits, (2) guidance benefits, and (3) communication benefits. The ontology design
patterns reuse refers to the activity of using available ontology design patterns in the
solution to different modelling problems during the development of new ontologies
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The goal of the ODPs reuse is to facilitate the solution of modelling issues and
to improve interoperability through using well-proven solutions and best practices, in
the form of patterns. In this sense, there are experiments that prove that the reuse of
ODPs makes the ontology development process easier and improves the quality of the
resulting ontologies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Even when such benefits have been established, there is the need to provide
methodological and technological support to the pattern usage with the goal of (a)
minimising the reuse effort and (b) maximising the ODPs benefits. In this regard,
methods and tools have recently appeared to guide and support the ODPs reuse.</p>
      <p>
        On the one hand, a method for reuse any type of ODP, called XD (for eXtreme
Design), is presented in [
        <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
        ]. In this method the ODPs reuse activity is divided into
eight tasks (1. Identify requirements to be addressed; 2. Identify available patterns; 3.
Divide and transform the problem, select a partial problem; 4. Match selected partial
problem to patterns; 5. Select patterns; 6. Apply (reuse) selected patterns and
compose them; 7. Evaluate and revise with respect to partial problem; and 8. Integrate
partial solutions). The method has as input the Ontology Requirements Specification
      </p>
      <sec id="sec-2-1">
        <title>1 http://www.w3.org/2001/sw/BestPractices/OEP/ 2 http://www.gong.manchester.ac.uk/odp/html/index.html 3 http://ontologydesignpatterns.org</title>
        <p>
          Document (ORSD) and a set of available ODPs, and as output an ontology network
including the ODPs reused. In summary, the workflow starts with the identification of
the requirements to be addressed by reusing ODPs and the available ODPs registries
and libraries. Next, an iterative set of tasks takes place in which (a) each problem is
divided into sub-problems, (b) a sub-problem is selected and matched with the ODPs,
(c) the ODPs are selected and applied, and (d) the result is evaluated. This cycle is
repeated until all the sub-problems are addressed. Finally, the method concludes by
integrating all the partial solutions resulting in an ontology network which contains
the ODPs selected. The XD method could be specialized to address the reuse of
concrete types of ODPs, for example, content patterns [
          <xref ref-type="bibr" rid="ref13 ref3 ref9">3, 9, 13</xref>
          ].
        </p>
        <p>It is well known that the adoption of any emerging methodology or method is
facilitated by providing detailed examples of how to apply them to real and complete
use cases. However, as far as we know, there are no complete examples of how to
apply the XD method to the reuse of any type of ODP. Thus, we present in this paper
a detailed example of how we have reused different types of ODPs during the
development of a context ontology network.</p>
        <p>On the other hand, there are also tools that provide a technological support for the
ODPs reuse activity. The plug-in for NeOn Toolkit4 called “XD Tools”5 allows the
content ODPs reuse accordingly to this variant of the XD method. Whereas, the
ontology editor Protégé 3.4.46 allows the automatic reuse7 of the following logical
patterns and good practices: “Value Partition”, “Enumeration”, “N-ary Relation”,
“OWL List”, and “RDF List”.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 ODPs Reuse in the mIO! Ontology Network</title>
      <p>As already mentioned, the main purpose of this context ontology, called mIO!
ontology network, is to represent knowledge related to the user context, e.g.,
information on location and time, user information and its current or planned
activities, as well as devices located in his surroundings. The ontology aims at solving
the challenge of configuring, discovering, executing, and enhancing services based on
the user context.</p>
      <p>
        The development of this ontology network about contextual information has been
carried out following the NeOn Methodology [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. During the development of such
an ontology network we have reused different knowledge resources (ontologies,
nonontological resources, and ODPs) as explained in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In this paper, we focus
exclusively on how we have performed the reuse of ODPs.
      </p>
      <p>
        To reuse ODPs we have applied the general method described in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] rather than
the one explained in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], since we are not interested exclusively in content patterns but
in any type of ODP. For the same reason we have manually put into practice method
instead of using the XD Tools. It is important to add that in some cases during the
application of the method we have had to adapt and/or extend the guidelines provided.
      </p>
      <sec id="sec-3-1">
        <title>4 http://neon-toolkit.org 5 http://neon-toolkit.org/wiki/XDTools 6 http://protege.stanford.edu/download/registered.html#p3 7 This reuse is performed in a guided way by means of a wizard.</title>
        <p>Thus, in this section we describe (a) how we have applied the general XD method8
for reusing different types of ODPs and (b) how we have adapted and/or extended the
guidelines provided by the method.</p>
        <sec id="sec-3-1-1">
          <title>Task 1. Identify requirements to be addressed</title>
          <p>
            To identify the requirement to be addressed by means of the reuse of ODPs, we
have chosen the third question proposed in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] based on our knowledge about ODPs.
The other two questions proposed in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] could result in selecting requirements that
cannot be solved by reusing ODPs and for this reason we have discarded such
questions. Therefore, the selected question is “What requirements can be associated
with existing patterns types?”.
          </p>
          <p>The main drawback at this point is the fact that to be able to answer this question
developers should be versed in ODPs types. In this sense, based on our knowledge
about ODPs, we have not selected those requirements that could be addressed by
existing ODPs types but those that apparently can be solved by reusing existing
ODPs.</p>
          <p>
            Table 1 shows both the non-functional and the functional requirements extracted
from the ORSD9 that will be addressed by reusing ODPs. The functional
requirements belong to the following subdomains as we can observe in the identifier10
field: Interface (INT), Device (DSP), Time (TMP), Location (LOC), and User (USR).
These functional requirements can be written both as Competency Questions (CQs)
and their corresponding responses [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] and as affirmative sentences in natural language
(NL) as explained in [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ].
8 To simplify the example description, we present a unique process addressing simultaneously
all the requirements.
9 The whole ORSD for the mIO! ontology network is available in [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ].
10 The abbreviations come from the Spanish name of each subdomain: Intefaz (INT),
Dispositivo (DSP), Tiempo (TMP), Localización (LOC), and Usuario (USR).
What are the components of a CO2 level sensor?
A CO2 level sensor is composed by:
- source
- power system
- detector
- amplifier
- output /download data port (optional)
What are the components of a printer?
A printer is composed by:
- leaf storage receptacle
- printhead
- ink container
What are the components of a camera?
A camera is composed by:
- lens
- image capture device
- image processing device
- storage device
What are the components of a GPS receiver?
A GPS receiver is composed by:
- antenna
- signal processor
- processing module
- communication interface
What are the components of a speaker?
A speaker is composed by:
- communication interface
- amplifier
- decoder
What are the components of a microphone?
A microphone is composed by:
- diaphragm
- coil
- permanent magnet
CQ identifier
DSP_PC49
DSP_PC61
DSP_PC71
DSP_PC83
DSP_PC96
DSP_PC102
TMP_PC4
          </p>
          <p>To carry out this task, first we have identified different libraries and repositories in
which patterns could be found. Next, based on our knowledge about ODPs and on
- storage device
- processing device
- communication interface
- screen
- communication interface
- positioning device
- lighting device
- screen
- microphone
- screen
- speaker
- microphone
- signal processing module
- active element
- casing
A condenser microphone is composed by:
- diaphragm of lightweight and flexible
membrane
- rigid backplate
- cable to the preamplifier
- bias voltage feeder
What are the days of the week?
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday
When was the last time that the user was in the location X?
The day Z from xx: xx: xx to yy: yy: yy</p>
          <p>Affirmative NL Sentence
The interfaces types are:
- conversational - multi screen
- gestural - touch
- graphic - textual
- natural language - vocal
- command line - web
A user will be in a specific location at any given time. The possible physical
movement of the user is associated with this aspect
their descriptions11 and uses we have sketched preliminary correspondences between
the requirements selected in Task 1 and the available ODPs. Note that there are
patterns that belong to several libraries or repositories.</p>
          <p>
            The ODPs resources and the ODPs suitable to be reused are:
• Ontology Design Patterns (ODP) Portal12: this Wiki aims to gather ODPs in
a repository. The patterns are reviewed by a quality committee. Besides, users
can submit new patterns or modelling issues. In this portal we have found the
following suitable patterns to be reused within the mIO! ontology network
development:
o Componency
o N-Ary Participation
• W3C Semantic Web Best Practices and Deployment (SWBPD)13: this
repository contains pattern descriptions and some examples of modelling
patterns. The repository also includes other types of best practices as
guidelines, repositories of vocabularies and ontologies, learning material, and
demos. In this repository we have found the following suitable patterns to be
reused within the mIO! ontology network development:
o N-ary Relations. Pattern 1: Introducing a new class for a relation
o Specified Values in OWL: "value partitions" and "value sets"
• NeOn D2.5.1 [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]: A Library of Ontology Design Patterns: reusable solutions
for collaborative design of networked ontologies. This catalogue contains
content patterns classified by domains. In this resource we have found the
following suitable patterns to be reused within the mIO! ontology network
development:
o Componency (CP-COM-01)
o N-Ary Participation (CP-NPAR-01)
• NeOn D5.1.1 [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]: NeOn Modelling Components. This catalogue provides
descriptions about logical, architectural, and some content patterns. In this
resource we have found the following suitable patterns to be reused within the
mIO! ontology network development:
o Modular Architecture (AP-MD-01)
o Taxonomy (AP-TX-01)
o Part-Whole Relation (CP-PW-01)
o Specified Values: Set of Individuals (LP-SV-01)
o Specified Values: Subclasses (LP-SV-02)
o N-ary Relation: New Class (LP-NR-01)
          </p>
          <p>To illustrate how we have mentally sketched a correspondence between
requirements and possible ODPs we present here some examples.</p>
          <p>Let us take the DSP_PC9 requirement as the starting point. We can observe that in
the requirement appear the terms “components”, “composed by” and a list of the parts
11 These descriptions usually include (a) the name of the pattern, (b) a graphical description, (c)
an enumeration of its elements, and (d) a set of requirements (in the form of CQs) or use
cases (in the form of sentences in natural language) the pattern is intended to address.</p>
          <p>Sometimes, the code in an ontology implementation language is also provided.
12 http://ontologydesignpatterns.org/
13 http://www.w3.org/2001/sw/BestPractices/
that form a display. These characteristics of the requirement are clues to think about
the “Part-Whole Relation” or “Componency” patterns due to the information included
in the description and uses cases of these patterns. The same reasoning can be applied
to the requirements DSP_PC49, DSP_PC61, DSP_PC71, DSP_PC83, DSP_PC96,
and DSP_PC102.</p>
          <p>In the case of the requirement TMP_PC4 the days of the week are enumerated. It is
well known that this is a unique enumeration and the days of the week are different
among them. These features can lead a developer to think in the “Specified Values:
Set of Individuals” and the “Specified Values: Subclasses” patterns.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Task 3. Divide and transform the problem, select a partial problem</title>
          <p>
            At this point the method [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] suggests transformations like (a) writing CQs to
represent requirements stated only in example scenario sentences if not already
present in the ORSD and (b) grouping similar CQs that may be solved together.
          </p>
          <p>In our case, the selected requirements are quite simple so it was not necessary to
divide them. In fact, some of them have been grouped during the transformation
because of their similarity. Besides, we have only transformed the functional
requirements since the non-functional one represents a “manageable piece” itself.</p>
          <p>
            To perform the transformation of the problem we propose the following approach.
We have taken into account that the functional requirements selected in Task 1 can be
written as CQs and their responses or as affirmative sentences in natural language as
Table 1 shown. In addition, we have observed that some suitable patterns to be reused
(e.g. the Taxonomy (AP-TX-01) pattern [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]) have as part of their descriptions
general use cases in form of sentences in natural language instead of CQs. Bearing in
mind all these facts, we have transformed the requirements depending on the
descriptions fields of the patterns suitable to be reused. Therefore, some CQs have
been transformed into sentences in natural language and vice-versa. Others
requirements have been transformed according to the suitable patterns descriptions
but maintaining their original format. Table 2 summarizes the transformation types
proposed in our approach and shows the specific transformation cases that have
occurred during the mIO! use case. Finally, the resulting transformations are shown in
Table 3.
          </p>
          <p>It should be noted that there are no guidelines to carry out the requirements
transformation. In our case, we have carried out the transformation based on how
general are the original requirements in the ORSD. Having in mind this approach, we
have abstracted the requirements in order to make them similar to the ODPs
descriptions. For example, in the requirements DSP_PC9, DSP_PC49, DSP_PC61,
DSP_PC71, DSP_PC83, DSP_PC96, and DSP_PC102 a list of components is shown
for each concrete device. During the transformation, we have abstracted these
requirements writing them as a unique CQ that could be applied to any of them and
that could be match with the CQs addressed by some available patterns.</p>
          <p>It is important to mention here that there are two important drawbacks at this point
of the reuse. First, we cannot transform the requirements only into CQs because there
are ODPs that only have in their descriptions use cases written as sentences in natural
language, as we have already noted. Second, ontology developers should be well
versed in ODPs to discern what type of transformation they should carry out.
Therefore, we have realized the high importance of making a finer identification of
the most suitable ODPs in Task 2.</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>Task 4. Match selected partial problem to patterns</title>
          <p>As it can be observed in Table 3 none of the requirements has been divided into
sub-problems, but they have been simply transformed. Therefore, it was not necessary
to assign a new numbering for the partial problems since they correspond to the
identifier of each requirement.</p>
          <p>The matching between the problems to be addressed by reusing ODPs and the
ODPs available in libraries and repositories, identified in Task 2, is shown in Table 4.</p>
          <p>Transformation
Perform categorization/classification of
interface types at different extents of
granularity.</p>
          <p>Perform categorization/classification of
devices at different extents of granularity.</p>
          <p>Suitable pattern(s)
• Taxonomy (AP-TX-01)
• Taxonomy (AP-TX-01)</p>
          <p>What are the components of this device?</p>
          <p>It is important to mention that at this point the method does not provide detailed
guidelines about how to match the requirements with the available patterns. As we
have explained in Task 1, we have selected those requirements that could be covered
by at least one available ODP. Based on our knowledge about ODPs and on our
experience reusing them, we can propose the following heuristics to quickly identify a
suitable ODP to be reused while reading the requirements:
• If a requirement mentions something about a list of values, we could infer that
the “Specified Values in OWL: "value partitions" and "value sets"”, the
“Specified Values: Set of Individuals (LP-SV-01)” or the “Specified Values:
Subclasses (LP-SV-02)” patterns could be reused.
• If a requirement is about types and subtypes of a given concept, we could infer
that the “Taxonomy (AP-TX-01)” pattern could be reused.
• If a requirement contains more than two concepts related, we could infer that
the “N-Ary Participation”, “N-ary Relations. Pattern 1: Introducing a new class
for a relation”, “N-ary Participation (CP-NPAR-01)” or the “N-ary Relation:
New Class (LP-NR-01)” patterns could be reused.</p>
          <p>If a requirement is about parts of something, we could infer that the
“Componency”, “Componency (CP-COM-01)” or “Part-Whole Relation
(CPPW-01)” patterns could be reused.</p>
          <p>If a requirement is about the need for modularity within the ontology, we could
infer that the “Modular Architecture (AP-MD-01)” pattern could be reused.</p>
        </sec>
        <sec id="sec-3-1-4">
          <title>Task 5. Select patterns</title>
          <p>
            At this point, we must select the most appropriate pattern in those cases identified
in Task 4 in which there are several suitable patterns to cover the requirements. Since
there are no detailed guidelines to perform this task, we have taken the following
decisions for requirements related to more than one potential ODP:
• For the requirements DSP_PC9, DSP_PC49, DSP_PC61, DSP_PC71,
DSP_PC83, DSP_PC96, and DSP_PC102, there is no need to represent
transitive relationships. For this reason, we have selected the “Componency
(CP-COM-01)” pattern instead of the “Part-Whole Relation (CP-PW-01)”
pattern. It is important to mention that we have reused the “Componency”
pattern from the ODP Portal instead of the one included in the NeOn D2.5.1
[
            <xref ref-type="bibr" rid="ref10">10</xref>
            ], because the ODP Portal provides an OWL file that contains the source
code for the pattern.
• For the TMP_PC4 requirement is needed to represent a set of individuals
whose enumeration is equivalent to the parent class. Therefore, we have
selected the “Specified Values: Set of Individuals (LP-SV-01)” pattern14
instead of the “Specified Values: Subclasses (LP-SV-02)” pattern.
• For the requirements LOC_PC14 and USR_CA7 there is no need to represent
events or situations. For this reason, we have selected the “N-ary Relation:
New Class (LP-NR-01)” pattern15 instead of the “N-ary Participation” pattern
or the “N-ary Participation (CP-NPAR-01)” one.
          </p>
          <p>It is worth mentioning that for the non-functional requirement and for the
requirements INT_CA3 and DSP_PC7, the ODPs related to those requirements in
Table 4 have been directly selected.</p>
        </sec>
        <sec id="sec-3-1-5">
          <title>Task 6. Apply (reuse) selected patterns and compose them</title>
          <p>In this task we have observed that ODPs can take different roles in different stages
of an ontology development process depending on their types and the problem that
they address. For example, we have distinguished the following situations:
• Reusing ODPs to define the architecture of the ontology network during the
conceptualization activity through the “Modular Architecture (AP-MD-01)”
pattern.
• Reusing ODPs in the implementation activity to complete the knowledge
represented; for example, we can enrich a mereological relationship through
the “Componency (CP-COM-01)” pattern.
14 In this case the use of the “Specified Values: Set of Individuals (LP-SV-01)” pattern and the
“Specified Values in OWL: "value partitions" and "value sets"” patterns would be equivalent.
15 In this case the use of the “N-ary Relation: New Class (LP-NR-01)” pattern and the “N-ary
Relations. Pattern 1: Introducing a new class for a relation” patterns would be equivalent.</p>
          <p>Reusing ODPs in the implementation activity to represent logical structures
that are not supported by the ontology language, for example, the “N-ary
Relation: New Class (LP-NR-01)” pattern.</p>
          <p>Reusing ODPs in the implementation activity to join concepts from different
ontologies, for example, thorough the “N-ary Relation: New Class
(LP-NR01)” pattern.</p>
          <p>In addition, here we show the result of applying the patterns selected in Task 5 to
the mIO! ontology network16.</p>
          <p>The reuse of the “Modular Architecture (AP-MD-01)” pattern has given rise to the
modular structure that forms the miO! ontology network. Such a structure is shown in
Fig. 117.</p>
          <p>
            The reuse of the “Componency (CP-COM-01)” pattern has been carried out within
the Device.owl ontology by importing (See [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] for more information about this
operation) (Fig. 2-a) the componency.owl pattern and specializing (See [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] for more
information about this operation) (Fig. 2-b) the pattern.
16 The screenshots shown have been taken from NeOn Toolkit’s default tabs and the
“Relationship Browser” (http://www.neon-toolkit.org/wiki/2.3.1/Relationship_Browser)
plug-in.
17 The blue dotted triangles represent ontologies, whereas the arrows with grey solid triangles
represent the “import” relationship between ontologies. These relationships must be
understood as follows: the mIO.owl ontology imports the Service.owl one.
          </p>
          <p>The result of reusing the “Specified Values: Set of Individuals (LP-SV-01)” pattern
during the modelling of the days of the week is shown in Fig. 318.</p>
          <p>Fig. 419 depicts the result of reusing the “N-ary Relation: New Class (LP-NR-01)”
pattern to model the location of a user at given point of time. In the model shown in
Fig. 4 has been taken into account both locations in a geo-political entity, such as a
country or a city, and locations specified by coordinates.</p>
          <p>
            Finally, it is worth mentioning that Task 7 (Evaluate and revise with respect to
partial problem) and Task 8 (Integrate partial solutions) have not been carried out as
authors propose in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] since none of the requirements has been divided into
subproblems. In addition, the reuse of patterns has been carried out by a single
development team so there is no need to integrate solutions developed in parallel by
different teams. Finally, the evaluation of the obtained model has been carried out
during the evaluation of the whole ontology network.
18 The days of the week are represented by boxes with an “I” to indicate that they are instances,
whereas the class “WeekDay” is represented by a box with a “C”. In addition the lines that
link the class with the instances indicate that they belong to the class.
19 The ellipses represent classes and the lines with a triangle represent relationships among
classes.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Lessons Learned</title>
      <p>After the application of the general XD method to reuse ODPs during the
development of the mIO! ontology network, we have realized (a) the usefulness of
following a method to guide the ODPs reuse during the ontology building and (b) the
advantages of reusing ODPs, ensuring the use of good practices in the ontology.</p>
      <p>However, we have also realized the difficulty of applying the abovementioned
method because of the lack of detailed guidelines in some of the tasks. For this reason
in this section we report (a) some of the lessons we have learned during the
application of the method as well as (b) some proposals that could be valuable for any
enhancement of the method and/or for any further development that reuses ODPs.</p>
      <p>
        During the execution of Task 1, we have realized that a beginner could select
requirements that cannot be solved by means of reusing ODPs when he/she answers
the questions proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for such a task. Thus, ontology developers must have
some experience with ODPs to make a more direct identification of the requirements
that will be addressed. Such an experience is needed to select only those requirements
that can be fulfilled by reusing ODPs.
      </p>
      <p>
        We can also add that in those cases in which a beginner selects requirements that
cannot be solved by means of ODP reuse, such a developer would have at least the
following two options: (a) to propose a new pattern to cover such requirements and
(b) to cover such requirements with other knowledge resources (such as ontologies or
non-ontological resources) as proposed in [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ].
      </p>
      <p>In the case of Task 2, we also consider that experience with ODPs is required
again. In this task some types of patterns, as content patterns, can be identified as
suitable to be reused by means of tools (e.g., XD Tools); however, there are other
types of patterns that cannot be identified using tools due to (a) such patterns have no
CQs in their description to match with the requirements to be addressed or (b) the
patterns are not available at on-line libraries. Thus, in these cases, the ontology
developer should have large knowledge about both ODPs and repositories to identify
manually the patterns.</p>
      <p>
        Besides, in this task it could happen that for a given requirement there are no
patterns related or that the developers cannot find patterns suitable to be reused. In
that case, we propose the following alternatives that can be included in the method:
(a) to posting a modelling issue20 within the ODP Portal related to the given
requirement; (b) to look for others resources suitable to be reused such as ontologies
or non-ontological resources as explained in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] respectively; and (c) to
manually face the problem and to submit a proposed pattern21 that covers the given
requirement to the ODP Portal.
      </p>
      <p>
        To carry out Task 3 the method [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] suggests transforming the requirements
(written as example scenario sentences) into CQs. However, in our case we have also
had to transform some of the requirements into sentences in natural language. This
transformation was needed to match the requirements to be addressed with some
ODPs use cases, as already explained in Section 3.
      </p>
      <p>Regarding to Task 4, based on our experience applying the method, this task only
seems necessary if at least one requirement has been divided in Task 3. In other cases,
Task 4 can be considered similar to Task 2.</p>
      <p>We can also mention that after performing Task 5 it is possible that no pattern
matches with the problem to be addressed. In this case, we propose to follow the same
options already presented for Task 2.</p>
      <p>Finally, we have observed that ODPs can be applied at different points of an
ontology development. For example, in the mIO! ontology network case the “Modular
Architecture (AP-MD-01)” pattern was applied during the conceptualization activity
whereas the rest of patterns were applied during the implementation activity.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions and Future Lines of Work</title>
      <p>This paper presents an example of how to apply the general XD method to reuse
different types of ODPs (logical, architectural, and content patterns). This application
has been performed with a real use case within the development of a context ontology
network, called mIO! ontology network22. This guided example could be used
together with the method in further ontology developments, what would favour the
adoption of ODPs and of the abovementioned method.</p>
      <p>During the process we have taken advantage of following a guided method that
sets and orders the tasks to carry out during the reuse of ODPs. The method also
provides some examples or criteria to take into account as well as a list of catalogues
where to find ODPs. Once the method was applied, we have realized that time was
saved in the conceptualization and implementation activities.</p>
      <p>However, we have also identified some points during the reuse process where the
developers’ experience on ODPs seems quite important (tasks 1 and 2). In addition,
we have discovered some drawbacks in the general XD method that could be solved
by extending and improving the guidelines for tasks 1, 2, 3, and 5, as already
explained in Section 4.</p>
      <p>As future work we have plan to apply the XD method together with the XD Tools
in a collaborative ontology development within a real use case. The idea of this new
application of the method is to focus on requirements that have to be divided into
20 http://ontologydesignpatterns.org/wiki/Community:PostModelingIssue
21 http://ontologydesignpatterns.org/wiki/Submissions:SubmitAPattern
22 http://www.oeg-upm.net/index.php/es/ontologies/82-mio-ontologies
different sub-problems. Our final aim is to analyze (a) what tasks the XD Tools make
easier and (b) what tasks still need more detailed guidelines.</p>
      <p>Acknowledgments. This work has been partially supported by the Spanish project
mIO! (CENIT-2008-1019).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</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>
          <article-title>Experiments on Pattern-based Ontology Design</article-title>
          .
          <source>In Proceedings of K-CAP</source>
          <year>2009</year>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>48</lpage>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Clark</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thompson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Porter</surname>
            ,
            <given-names>B. W. Knowledge</given-names>
          </string-name>
          <string-name>
            <surname>Patterns</surname>
          </string-name>
          .
          <source>In KR2000: Principles of Knowledge Representation and Reasoning</source>
          . pp.
          <fpage>591</fpage>
          -
          <lpage>600</lpage>
          .
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Daga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montiel</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikitina</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>VillazónTerrazas</surname>
          </string-name>
          , B.
          <source>NeOn D2</source>
          .
          <article-title>5.2 Pattern based ontology design: methodology and software support</article-title>
          .
          <source>NeOn project</source>
          . http://www.neon-project.
          <source>org</source>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomez-Perez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suarez-Figueroa</surname>
          </string-name>
          , M.C.
          <article-title>Towards a Catalog of OWL-based Ontology Design Patterns</article-title>
          .
          <source>In proceedings of CAEPIA</source>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <article-title>Ontology Design Patterns</article-title>
          .
          <source>Handbook on Ontologies (Second Edition)</source>
          . Springer.
          <source>International Handbooks on Information Systems</source>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gruninger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          <article-title>The role of competency questions in enterprise engineering</article-title>
          .
          <source>In Proceedings of the IFIP WG5.7 Workshop on Benchmarking - Theory and Practice</source>
          , Trondheim, Norway,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Poveda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Metodología NeOn Aplicada a la Representación del Contexto</article-title>
          .
          <source>Master Thesis</source>
          . Spain. Universidad Politécnica de Madrid. September,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Poveda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>García-Castro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>A Context Ontology for Mobile Environments</article-title>
          .
          <source>Proceedings of CIAO 2010</source>
          . Lisbon, Portugal. 11
          <string-name>
            <surname>October</surname>
          </string-name>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>eXtreme Design with Content Ontology Design Patterns</article-title>
          .
          <source>In Proceedings of WOP 2009</source>
          . Washington D.C., USA, 25 October,
          <year>2009</year>
          , Vol.
          <volume>516</volume>
          CEUR
          <string-name>
            <given-names>Workshop</given-names>
            <surname>Proceedings</surname>
          </string-name>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>David</surname>
            <given-names>S.</given-names>
          </string-name>
          , Aguado de Cea, G.,
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MontielPonsoda</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Poveda</surname>
          </string-name>
          , M.
          <source>NeOn D2</source>
          .
          <article-title>5.1: A Library of Ontology Design Patterns: reusable solutions for collaborative design of networked ontologies</article-title>
          .
          <source>NeOn project</source>
          . http://www.neonproject.org.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Simperl</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Reusing ontologies on the Semantic Web: A feasibility study</article-title>
          .
          <source>Data Knowledge Engineering</source>
          . Volume
          <volume>68</volume>
          . Number 10. Pages:
          <fpage>905</fpage>
          -
          <lpage>925</lpage>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Suárez-Figueroa</surname>
          </string-name>
          , M.C.
          <source>PhD Thesis</source>
          :
          <article-title>NeOn Methodology for Building Ontology Networks: Specification, Scheduling and Reuse</article-title>
          . Spain. Universidad Politécnica de Madrid. June 2010.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>D'Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Espinoza</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mozetic</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palma</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poveda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Villazón-Terrazas</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zablith</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dzbor</surname>
          </string-name>
          , M.
          <source>NeOn D5</source>
          .
          <article-title>4.2: Revision and Extension of the NeOn Methodology for Building Contextualized Ontology Networks</article-title>
          .
          <article-title>NeOn project</article-title>
          . http://www.neon-project.
          <source>org. February</source>
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brockmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
          </string-name>
          , M..
          <source>NeOn D5</source>
          .
          <article-title>1.1: NeOn Modelling Components</article-title>
          .
          <article-title>NeOn project</article-title>
          . http://www.neon-project.
          <source>org. March</source>
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Suárez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Pérez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>First</surname>
          </string-name>
          <article-title>Attempt towards a Standard Glossary of Ontology Engineering Terminology</article-title>
          .
          <source>8th Proceedings of TKE</source>
          <year>2008</year>
          .
          <volume>18</volume>
          -
          <issue>21</issue>
          <year>August 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Villazón-Terrazas</surname>
          </string-name>
          , B.
          <source>PhD Thesis</source>
          :
          <article-title>A Method for Reuse and Re-engineering NonOntological Resources into Ontologies</article-title>
          . Spain. Universidad Politécnica de Madrid. To be appeared.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>