<!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>Autonomy through knowledge: how IoT-O supports the management of a connected apartment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicolas Seydoux</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Khalil Drira</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nathalie Hernandez</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thierry Monteil</string-name>
          <email>monteilg@laas.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CNRS, LAAS</institution>
          ,
          <addr-line>7 avenue du Colonel Roche, F-31400 Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IRIT Maison de la Recherche</institution>
          ,
          <addr-line>Univ. Toulouse Jean Jaures, 5 allees Antonio Machado, F-31000 Toulouse</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Univ de Toulouse</institution>
          ,
          <addr-line>INSA, LAAS, F-31400, Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The IoT is a domain in exponential growth: both the number of connected devices and the quantity of data they produce are increasing. The heterogeneity of technologies involved, and the diversity of domains impacted raise interoperability concerns. The semantic web principles and technologies are semantic interoperability providers, and ontologies like SSN have been used in several IoT projects. However, many existing IoT ontologies fail to comply with the good practices of the semantic web. After detailing such good practices, this paper proposes IoT-O, a modular core-domain IoT ontology. IoT-O is then showcased in a home automation use case: it is used to semantically describe the devices of the system, and to guide the decisions of an autonomic agent.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>compliant with these guidelines. This is why we propose IoT-O4, an IoT
coredomain modular ontology engineered for reusability and extensibility. IoT-O is
also available on the LOV5.</p>
      <p>In the remainder of this paper, section 2 introduces a motivating use case
that will serve to instantiate portions of IoT-O. Section 3 presents the design
process of IoT-O, and gives an overview of the ontology. Finally, section 4 details
how IoT-O is instantiated in the use case.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Motivating use case</title>
      <p>The miniaturization of devices has made it possible to disseminate multiple
lowpower devices in an everyday environment, such as the home. The automation
of the home, or domotics, is a domain of the Internet of Things (IoT) with direct
impact on citizens. At LAAS-CNRS, the ADREAM project6 aims at conducting
research thanks to an instrumented, energy-positive building. This building is
equipped with more than 4500 sensing devices, producing up to 500,000
measures a day. Inside the building, there is a mock-up apartment equipped with
commercial devices from diverse vendors. Deployed devices include sensors
(temperature, luminosity, humidity, pressure), actuators (fan, space heater, diverse
lamps), which communicate using di erent technologies (phidget, ethernet,
zigbee) with gateways connected to a central server (see g. 1).</p>
      <p>Our use case is de ned as follows: the user should be able to de ne simple
high-level policies to manage its environment ("the temperature in the living
room should stay between 19oC and 25oC"), without having to select speci c
4 http://www.irit.fr/recherches/MELODI/ontologies/IoT-O
5 http://lov.okfn.org/dataset/lov/vocabs/ioto
6 http://www.laas.fr/public/en/adream
sensors or actuators to perform the task. The user should also be able to
extend the capabilities of the apartment by adding devices without restarting the
system.</p>
      <p>To ful ll these requirements, both syntactic and semantic interoperability
among devices are required. Syntactic interoperability is ensured using OM2M7,
an open-source horizontal integration platform implementing the oneM2M
standard. On top of OM2M, another platform, SemIoTics, is in charge of ensuring
semantic interoperability and of implementing the policies de ned by the user.
SemIoTics is guided by a knowledge base containing information about the
devices, described with our ontology, IoT-O. This use case is applied to home
automation and is described in a dedicated knowledge base extending IoT-O,
ADREAM-Model8, but the genericity of IoT-O makes it relevant to any domain
impacted by the IoT.
3</p>
    </sec>
    <sec id="sec-3">
      <title>IoT-O, not just another IoT ontology</title>
      <p>
        The design of IoT-O is compliant with the NeOn methodology, presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The rst step of the NeOn process is to de ne requirements. We split them
in two types: conceptual, regarding the concepts that should be present in
the ontology (detailed in section 3.1), and functional, regarding the ontology
structure and design principles (detailed in section 3.2).</p>
      <p>
        These requirements are used to analyze existing IoT ontologies: Semantic
Sensor Network (SSN)9, Smart Appliance REFerence (SAREF)10, iot-ontology
11, IoT-lite 12, Spit re 13, IoT-S14, SA15 and the oneM2M base ontology16.
These ontologies are IoT ontologies for which we have found information on
the web. Further details are available on the Linked Open Vocabularies for the
IoT (LOV4IoT)17, a recent initiative that lists IoT ontologies, even if they are
not referenced on the LOV because they fail to comply with its requirements
recalled in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Ontologies related to speci c domains impacted by IoT (domotics,
agriculture, smart cities...) are out of the scope of this study.
      </p>
      <p>As recommended by NeOn, reusable ontologies satisfying parts of the
requirements are analyzed and presented in section 3.3. The core-domain ontology
we propose is nally described in section 3.4.
7 om2m.org
8 http://www.irit.fr/recherches/MELODI/ontologies/Adream-Model
9 http://purl.oclc.org/NET/ssnx/ssn
10 http://sites.google.com/site/smartappliancesproject/ontologies
11 http://ai-group.ds.unipi.gr/kotis/ontologies/IoT-ontology
12 http://iot.ee.surrey.ac.uk/ ware/ontologies/iot-lite
13 http://sensormeasurement.appspot.com/ont/sensor/spit re.owl
14 http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/ontology/OWL-IoT-S.owl
15 http://sensormeasurement.appspot.com/ont/sensor/hachem onto.owl
16 http://www.onem2m.org/ontology/Base Ontology/
17 http://www.sensormeasurement.appspot.com/?p=ontologies
3.1</p>
      <sec id="sec-3-1">
        <title>The core concepts of IoT</title>
        <p>Conceptual requirements These requirements come from an analysis of the
IoT domain, driven by the home automation use case introduced in section 2, but
not limited to it: the use case is not seen as an end per se, but as an instantiation
of the general domain of the IoT. To be reusable in a wide scope of domains, an
IoT ontology should contain a set of key concepts. These are representative of
IoT systems with no regard to the application domain. This approach facilitates
the merging of data collected in di erent domains for horizontal applications, and
allows the ontology to be an extendable core-domain ontology. We distinguish
namely:
{ "Device" and "software agent" constitute the two basic components of
an IoT system, composed of both physical and virtual elements. The devices
can be of two principle types, not mutually exclusive, that are listed below.
{ "Sensor" are devices acquiring data, and "observation" describe the
acquisition context and the data collected by the system.
{ "Actuator" are the devices that enable the system to act on the physical
world, and "action" represents what they can perform.
{ "Service": In many cases, the IoT and the programmable web are very
close. Connected devices can be seen as service providers and consumers,
and by specifying a notion of service, every aspect of an IoT system can be
represented.
{ "Energy": In the paradigm of pervasive computing, many distributed Things
perform computations. Most of these Things being physical devices, a
complete modelling of the system will include a description of their energy
consumption. Energy management is a crucial topic in IoT systems.
{ "Lifecycle": Be it data, devices or services, IoT components are all included
in di erent scales of lifecycles. Devices are switched on and o , services
are deployed or updated, pieces of data become outdated... The evolution
through a set of discrete states representing a lifecycle is an important
concept for IoT systems.</p>
        <p>Concept coverage by existing ontologies Table 2 sums up the assessment of
existing IoT ontologies regarding the presence of key concepts. One star means
that the concept is super cially represented (few specializations, data/object
properties), two stars that the requirement is covered, and stars between
parentheses indicate that the requirement is met by an included ontology. IoT-O,
the ontology we propose, is also included for comparison. Note that we focus
on connected device ontologies, and exclude, on purpose, the ontologies SSN is
based upon, since they are only focused on sensors and observation, which is
only a subset of the identi ed key concepts. We can observe that some of the
IoT ontologies cover most of the key concepts but none of them covers them
all. Moreover, the di erent concepts are not represented with the same level
of expressivity. In iot-ontology and SAREF, key concepts such as Actuator or
Action are present but their representation is limited. For example, an
actuator is de ned as a device that modi es a property. This is less expressive than
what can be expressed for a sensor with SSN which proposes a deep modeling
of the sensors and the property they observe, but also of the relations between
the sensors and their observations, and of the observations themselves. In
eDIANA18, an ontology referenced by SAREF, some specializations of actuator are
given, but the mappings from these specializations to the saref:Actuator concept
are not available directly. This analysis highlights the fact that an ontology for
Actuators and Actions is needed (c.f. section 3.3). This analysis also highlights
the failure of existing IoT ontologies in representing correctly all IoT key
concepts. As these concepts are not limited to the IoT domain, reusing ontologies
dedicated to them (such as SSN for sensor) could help gain in expressivity, as is
shown in section 3.2.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Good practices for ontology design</title>
      </sec>
      <sec id="sec-3-3">
        <title>Functional requirements</title>
        <p>
          Reusability: One of the most important aspects of an ontology in such a broad
domain as IoT is reusability: if an ontology is ad-hoc to a project, the work done
in its de nition will not bene t further projects. It is a critical issue that can be
solved by di erent, non-mutually exclusive approaches:
{ Modularization: as stated in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], designing ontologies in separated modules
makes them easier to reuse and/or extend. IoT applications are related to
many various domains, and it is di cult to capture all these application
domains in the same ontology. Modular ontologies can be combined together
according to speci c needs, which is a more scalable approach.
{ Ontology Design Patterns: were introduced in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Designing ontologies
that respect Ontology Design Pattern (ODP) increases reusability and their
potential for alignment, as shown in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. ODPs capture modelling e orts:
using them is a way to capitalize on previous work, and to take advantage
of the maturity of the semantic web compared to the IoT.
{ Reuse of existing sources: avoids rede nition, and prevents from having
to align a posteriori the rede ned concepts to the existing sources for
interoperability. It is a key requirement for interoperability, which is a real issue
in heterogeneous systems.
18 https://sites.google.com/site/smartappliancesproject/ontologies/ediana-ontology
{ Alignment to upper ontologies: Upper-level ontologies de ne very
abstract concepts in a horizontal manner. They articulate very diverse
domainspeci c ontologies, which is crucial for broad domains like IoT.
{ Compliance with the LOV requirements: The LOV19 is an online
vocabulary register that increases visibility of vocabularies, and favours reuse
by ensuring the respect of good practices listed in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>
          Level of formalism: To use the full advantages of the semantic description of
devices and data, the description should enable reasoning and inference. This
choice is motivated by the possibilities it opens:
{ Applied to data, it is a way to bring context-awareness, as presented in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
{ Applied to devices, it enables Thing discovery or self-con guration [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]
{ Applied to services it enables automatic composition as in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
However, for concrete applications, the model should also by decidable, and
in reasonable time, which de facto excludes an OWL-full model: OWL-DL is
therefore the best choice. All surveyed ontologies are expressed in OWL-DL.
Assessment of existing IoT ontologies Table 3 shows that the semantic
web best practices for reusability are not always followed: some ontologies are
not available online, and the majority is not compliant with the requirements
of the LOV. External ontologies are generally not reused, with the exception of
SSN. OWL-S, a service ontology is reused in only one case. The other surveyed
ontologies propose rede nitions of the service concept. For example, SAREF
rede nes the concepts present in multiple ontologies, and proposes alignments in
an external, textual document. Design patterns have only been used in ontologies
importing SSN. Upper ontologies used are DUL20 (especially used by SSN) and
SWEET21 (for SA). The limited reuse of ontologies shows a lack of federating
ontologies, apart from SSN. SSN being a modular ontology compliant with the
19 http://lov.okfn.org
20 http://www.ontologydesignpatterns.org/ont/dul/DUL.owl
21 http://sweet.jpl.nasa.gov/
semantic web good practices, it is possible to say that these guidelines favour
reuse. Section 3.3 focuses on such good practices.
3.3
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Reused ontologies for IoT-O</title>
        <p>
          Identi cation of existing ontologies is part of the NeOn process. Some concepts,
which are part of the conceptual requirements are de ned by existing ontologies
that are imported in IoT-O to avoid rede nition. SSN is a widely used W3C
recommended ontology for sensors and observations. However, no ontology
describes the concept of actuator the way SSN describes the concept of sensor.
This is why we propose Semantic Actuator Network (SAN)22, the Semantic
Actuator Network ontology. Actuators are devices that transform an input signal
into a physical output, making them the exact opposite of sensors. SAN is built
around Action-Actuator-E ect (AAE)23, a design pattern we propose, inspired
from the Stimulus Sensor Observation (SSO) design pattern described in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>To de ne the notion of service, IoT-O imports Minimal Service Model (MSM),
a lightweight service ontology which is generic enough to represent both REST
and WSDL services (contrary to OWL-S24). The notion of energy
consumption dedicated to the IoT is speci ed in PowerOnt, an ontology referenced by
SAREF. The concepts of lifecycle are described using Lifecycle25, a lightweight
vocabulary de ning state machines. We extended Lifecycle in the IoT-lifecycle26
ontology with classes and properties speci c to the IoT. Finally, to maximize
extensibility and reusability, IoT-O imports DUL27, a top-level ontology, and
aligns all its concepts and imported modules with it.
3.4</p>
      </sec>
      <sec id="sec-3-5">
        <title>IoT-O, a modular core-domain IoT ontology</title>
        <p>IoT-O, the core-ontology we propose is composed of several modules. IoT-O's
architecture is summarized in gure 4. The names of the newly created resources
are in red and highlighted, the names of the reengineered resources are
underlined, and the arrows show dependencies. Solid arrows represent imports, and
dashed arrows the reuse of concepts without import.</p>
      </sec>
      <sec id="sec-3-6">
        <title>The modules of IoT-O:</title>
        <p>{ The Sensing module describes the input data. Its main classes come from
SSN: ssn:Sensor and ssn:Observation. ssn:Device and its characteristics
(ssn:OperatingRange, ssn:Deployment...) provide a generic device description.
22 https://www.irit.fr/recherches/MELODI/ontologies/SAN
23 http://ontologydesignpatterns.org/wiki/Submissions:Actuation-Actuator-E ect
24 https://www.w3.org/Submission/OWL-S/, which is more dedicated to WSDL-based
services
25 http://vocab.org/lifecycle/schema
26 https://www.irit.fr/recherches/MELODI/ontologies/IoT-Lifecycle
27 http://www.ontologydesignpatterns.org/ont/dul/DUL.owl
{ The Acting module describes how the system can interact with the physical
world. Its main classes come from SAN: san:Actuator and san:Actuation. It
also reuses SSN classes that are not speci c to sensing, such as ssn:Device.
{ The Lifecycle module models state machines to specify system life cycles
and device usage. Its main classes are lifecycle:State and lifecycle:Transition.
{ The Service module represents web service interfaces. Its main classes
come from MSM: msm:Service and msm:Operation. Services produce and
consume msm:Messages, and RESTful services can be described with hRest.
{ Energy module: IoT-O's energy module is de ned by PowerOnt. It
provides the poweront:PowerConsumption class, and a set of properties to
express power consumption pro les for appliances.</p>
        <p>The core of IoT-O: IoT-O28 is both the name of the ontology and of the top
module. It gives a conceptualization of the IoT domain, independent of the
application, providing classes and relationships to link the underlying modules. Since
many concepts are already de ned in the modules, IoT-O's core is limited: it
denes 14 classes (out of 1126 including all modules), 18 object properties (out of
249) and 4 data properties (out of 78). IoT-O key class is iot-o:IoT Thing, which
can be either an ssn:Device or an iot-o:SoftwareAgent. The power consumption
28 http://www.irit.fr/recherches/MELODI/ontologies/IoT-O.owl
of ssn:Devices is associated to lifecycle:State and poweront:PowerConsumption.
iot-o:IoT Thing is a provider of msm:Service, and an msm:Operation can have
an iot-o:ImpactOnProperty on an ssn:Property, linking abstract services to the
physical world through devices.</p>
        <p>As a core domain ontology, IoT-O is meant to be extended regarding speci c
applicative needs and real-life devices and services. This design, inspired by SSN,
makes IoT-O independent of the application.
4
4.1</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>SemIoTics : using IoT-O in a smart building</title>
      <sec id="sec-4-1">
        <title>SemioTics, an implementation of the MAPE-K loop</title>
        <p>
          Autonomic computing is a programming paradigm proposed in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] focused on
allowing a system to control an entity thanks to high-level policies and
introspective knowledge. A classic control structure in autonomic computing is the
MAPE-K loop (see g. 5), separated in four steps : Monitoring, Analysis,
Planning and Execution, all exchanging Knowledge with the same knowledge base.
SemIoTics implements the MAPE-K loop to control the connected devices
in the apartment according to the policies xed by the user. It is Java-based,
and uses Apache Jena to manage the knowledge base and query it in SPARQL.
The remainder of this section describes the usage of IoT-O at each step of the
MAPE-K loop, from a temperature sensor measure to an actuator action.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Monitoring, where raw sensor data become meaningful observations</title>
        <p>The rst step of the MAPE-K loop is the monitoring of the controlled system.
In the apartment, sensors produce data re ecting their observations. This data
is enriched to become a reusable piece of knowledge. Enrichment of sensor data
is performed using the SSN ontology, which is in the Sensing module of IoT-O.
Each ssn:Sensor has an ssn:Observation stream composed of ssn:SensorOutput
whose value is described by ssn:ObservationValue. For provenance purposes, a
ssn:SensorOutput can be linked to its original representation (before enrichment)
with the iot-o:hasRawRepresentation data property. The sensor's characteristics
(ssn:MeasurementProperty, the ssn:Property of the ssn:FeatureOfInterest it
observes) can be used to enrich the observation as well. IoT-O and SSN are generic
ontologies, so they might need to be extended with application-speci c
modules to be fully functional. Such extension is proposed in the Adream-Model
module29.</p>
        <p>
          In our use case, the temperature sensor produces raw observations in the form
of XML documents standardized according to the oneM2M Content Instance
resource type. The enrichment process requires an approach speci c to the data,
either by writing a dedicated enrichment script, or by using semantic annotations
in the data as in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], where raw data is stored in relational databases and the
database schema is annotated for enrichment. For the example's sake, the sensor
observes a temperature of 26oC, converted into a ssn:ObservationValue. Once
enriched, the observation is stored in the knowledge base to be used in the
Analysis step.
4.3
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Analysis, where observations are aggregated in abstract symptoms</title>
        <p>In the Analysis step, the enriched observations are compared to the needs
expressed by the user (represented by rules). User preferences are represented
using the concepts de ned in yet another module: Autonomic30. The user
creates autonomic:PropertyConstraints (seamlessly through a graphical interface),
transforming a ssn:Property into a autonomic:ConstrainedProperty. In our use
case, the ss::Property temperature of the ssn:FeatureOfInterest living room air
has two constraints, instances of autonomic:MaximumValue (25oC) and
autonomic:MinimumValue (19oC). The last ssn:ObservationValue of the
autonomic:ConstrainedProperty is out of the bounds de ned by the
autonomic:PropertyConstraint (26oC instead of 25), so the temperature is classi ed by the reasoner
as an autonomic:OutOfBoundsProperty thanks to custom rules.
4.4</p>
      </sec>
      <sec id="sec-4-4">
        <title>Planning, where symptoms are used to create a plan</title>
        <p>In the planing phase, the autonomic agent uses the inferred symptoms and
policies de ned by the user or by the administrator beforehand to de ne a series
of actions that have to be implemented on the system. The description of the
actions is performed using SAN, the actuator ontology that also describes the
actuators in the system. The agent, with successive queries to the knowledge
base, will look for san:Actuator instances that san:actsOn the
autonomic:OutOfBoundsProperty, and which san:receivesActuation an actuation that
iot-o:hasImpact an autonomic:ImpactOnProperty that is coherent with the symptom.
In the example, since the temperature is too high, the adream-model:fan can
be used, but also the adream-model:spaceHeater, since its adream-model:turnO
operation has a adream-model:NegativeImpact on the temperature.
29 http://www.irit.fr/recherches/MELODI/ontologies/Adream-Model
30 http://www.irit.fr/recherches/MELODI/ontologies/Autonomic</p>
        <p>The orchestration of these actions (if need be) are determined using the
Lifecycle module of IoT-O, which represents the devices as state machines by
integrating the Objects with States (ows)31 ontology design pattern. ssn:Device
(superclass of both ssn:SensingDevice and san:ActuatingDevice) are objects that
ows:hasState exactly 1 ows:State, because objects should only be in one state at
a time. The ows:State is equivalent to the lifecycle:State (from the Lifecycle32
vocabulary, extended by the IoT-Lifecycle33 ontology), and lifecycle:State are
connected by lifecycle:Transition instances. Thanks to this vision of state
machines, stateful transitions (that are only available in certain states of the device)
can be represented. Only msm:Operation instances that iot-o:isGroundedBy a
san:Actuation that iot-lifecycle:triggersTransition a lifecycle:Transition that is a
lifecycle:possibleTransition of the device current lifecycle:State can be called at a
given time. For instance, the space heater adream-model:turnO operation will
only be available if the space heater is on. In our example it is o , so the agent
plans to turn on the fan and creates the corresponding san:ActuationValue.</p>
        <p>The selection of devices and their operations is driven by necessity (only the
devices impacting the right property are selected), but it can also be driven by
policies based on knowledge about the system, to minimize energy consumption,
to optimize reaction time...
4.5</p>
      </sec>
      <sec id="sec-4-5">
        <title>Execution, where the plan is converted into actions</title>
        <p>
          With the monitoring step, the execution is the moment when the agent is in
direct contact with the controlled system: it implements the di erent actions
composing the plan. The agent can execute a san:Action if it iot-o:isGroundedBy an
msm:Operation. During the execution, the agent transforms the
san:ActuationValue in a representation which is suitable for the corresponding operation. The
translation of knowledge into a simpler data format (the opposite process of
enrichment) can be driven by the semantic description of Operations, or dedicated
annotations as in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], where XML schemas are annotated for transformation
from RDF to XML. This translation enables the agent to interact with low-level,
constrained devices that are not able to process complex knowledge
representations. The example cycle is complete: the agent calls the adream-model:turnOn
operation, and the fan cools the apartment.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and future works</title>
      <p>This paper introduces IoT-O, a modular core-domain IoT ontology designed to
be compliant with identi ed requirements. After a detailed presentation of its
modules, an instantiation of IoT-O is presented in a home automation use case.
31 http://delicias.dia. .upm.es/ontologies/ObjectWithStates.owl
32 http://vocab.org/lifecycle/schema
33 http://www.irit.fr/recherches/MELODI/ontologies/IoT-Lifecycle
The system implements the MAPE-K loop, an element of autonomic
computing, and uses IoT-O at each step of the loop to describe knowledge about the
connected devices and about the data they produce and consume.</p>
      <p>In this paper, enrichment and translation techniques (allowing the
transformation back and forth from data to knowledge) have been overviewed. Such
techniques are essential to include constrained devices into the IoT: enriched
data is more reusable than raw data, but it is heavier to exchange and process,
so transformation is required between the end devices (sensors, actuators) and
the more powerful nodes of the IoT, e.g. gateways, servers, laptops... We are
currently working on such an approach. Other perspectives of our work will be
to de ne an intuitive way to help end users/administrators express constraints
and policies to drive the system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modularizing ontologies</article-title>
          . Ontology engineering in a networked world Springer B,
          <volume>9</volume>
          {
          <fpage>34</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chatzigiannakis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hasemann</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karnstedt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleine</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , Kroller,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Leggieri</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , P sterer, D., Romer,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Truong</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>True Self-Con guration for the loT</article-title>
          .
          <source>In: 3rd International Conference on the Internet of Things (IOT)</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>del Carmen Suarez de Figueroa Baonza</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>NeOn methodology for building ontology networks : speci cation, sheduling and reuse</article-title>
          .
          <source>Ph.D. thesis</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>
          :
          <article-title>Ontology Design Patterns for Semantic Web Content</article-title>
          .
          <source>History</source>
          <volume>3729</volume>
          (
          <issue>4</issue>
          ),
          <volume>262</volume>
          {
          <fpage>276</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ganz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puschmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barnaghi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carrez</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A Practical Evaluation of Information Processing and Abstraction Techniques for the Internet of Things</article-title>
          .
          <source>IEEE Internet of Things Journal</source>
          <volume>2</volume>
          (
          <issue>4</issue>
          ),
          <volume>340</volume>
          {
          <fpage>354</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gyrard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serrano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atemezing</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          :
          <article-title>Semantic web methodologies, best practices and ontology engineering applied to Internet of Things</article-title>
          .
          <source>In: 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT)</source>
          . pp.
          <volume>412</volume>
          {
          <fpage>417</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Han,
          <string-name>
            <given-names>S.N.</given-names>
            ,
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.M.</given-names>
            ,
            <surname>Crespi</surname>
          </string-name>
          , N.:
          <article-title>Towards Automated Service Composition Using Policy Ontology in Building Automation System</article-title>
          .
          <source>In: 2012 IEEE Ninth International Conference on Services Computing</source>
          . pp.
          <volume>685</volume>
          {
          <issue>686</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Henson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirunarayan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Semantic perception: Converting sensory observations to abstractions</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>16</volume>
          (
          <issue>2</issue>
          ),
          <volume>26</volume>
          {
          <fpage>34</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Janowicz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Compton</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Stimulus-Sensor-Observation Ontology Design Pattern and its Integration into the Semantic Sensor Network Ontology</article-title>
          .
          <source>In: Proceedings of the 9th International Semantic Web Conference, 3rd International Workshop on Semantic Sensor Networks</source>
          . pp.
          <volume>7</volume>
          {
          <issue>11</issue>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kephart</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The vision of autonomic computing</article-title>
          .
          <source>Computer</source>
          <volume>36</volume>
          (
          <issue>1</issue>
          ),
          <volume>41</volume>
          {50 (jan
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kopecky</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitvar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bournez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farrell</surname>
            ,
            <given-names>J.: SAWSDL</given-names>
          </string-name>
          :
          <article-title>Semantic Annotations for WSDL and XML Schema</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>11</volume>
          (
          <issue>6</issue>
          ),
          <volume>60</volume>
          {
          <fpage>67</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Le-Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quoc</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>J.X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The linked sensor middleware{connecting the real world and the semantic web</article-title>
          .
          <source>In: Semantic Web Challenge</source>
          <year>2011</year>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          . No.
          <source>April</source>
          <year>2005</year>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Schar e, F.,
          <string-name>
            <surname>Euzenat</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Towards design patterns for ontology alignment</article-title>
          .
          <source>In: Proceedings of the 2008 ACM symposium on Applied computing - SAC '08</source>
          . p.
          <fpage>2321</fpage>
          . ACM Press, New York, New York, USA (mar
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>