# Providing Interoperability for Autonomic Control of Connected Devices

François Aïssaoui, Guillaume Garzone, Nicolas Seydoux

► To cite this version:

François Aïssaoui, Guillaume Garzone, Nicolas Seydoux. Providing Interoperability for Autonomic Control of Connected Devices. InterIoT 2016, Oct 2016, Paris, France. hal-01467877

HAL Id: hal-01467877

https://hal.science/hal-01467877

Submitted on 14 Feb 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Providing Interoperability for Autonomic Control of Connected Devices

François Aïssaoui<fnref n="1" />, Guillaume Garzone<fnref n="1" />, and Nicolas Seydoux<fnref n="1" />,<fnref n="2" />

**Abstract.** In the IoT, data is exchanged and used by heterogeneous devices in machine-to-machine communications. Managing complex systems is at the core of autonomic computing and a key topic in the IoT. Therefore, interoperability is a central issue, at both the syntactic and the semantic level. To tackle syntactic and architectural interoperability, standards allow systems to connect and exchange structured data. However, for data to be used, semantic interoperability must be ensured to provide meaning and consistency. In this paper we provide syntactic and semantic interoperability solutions in a home automation autonomic system.

**Key words:** Syntactic interoperability, Semantic interoperability, Standards, OM2M, Open-source, oneM2M

## 1 Interoperability in Complex System Management

The Internet of Things (IoT) is a technological paradigm that brings tremendous changes in domains as various as agriculture, smart cities, home automation, manufacturing, transportation, energy management, health, etc [1]. However, the silo-oriented design of solutions leads to an important vertical fracturing, raising a need for openness. Indeed, this fracturing is a cause of interoperability issues, a major concern for the development of the IoT, motivating standard organizations and open source communities to address these obstacles.

Furthermore, the lack of interoperability brings scalability issues: connecting devices or applications that are not interoperable requires the development of a dedicated middleware, which is a time-consuming process that has to be renewed each time new components are integrated. Hence, the system management becomes complex, and a way to automate it is using the autonomic computing paradigm [2], introduced in [3]. An autonomic system is the association of a managed entity and an autonomic agent in charge of controlling it, allowing the system administrator to only give high-level policy to the agent who will enforce them on the underlying entity. The issue in the deployment of such a system is to ensure interoperability between the manager and the managed entities, both at a syntactical and at a semantic level.

In this paper, we will focus on a home automation use case with an instrumented apartment inside a connected building, combined with an automation solution that ensures monitoring and control of the place. An overview of this

<footnote n="1">¹ LAAS-CNRS, Univ. de Toulouse, INSA, UT Capitole, Toulouse, France
{firstname.lastname}@laas.fr</footnote>

<footnote n="2">² IRIT, Maison de la Recherche, Univ. Toulouse Jean Jaurès, Toulouse, France</footnote>
system is shown on figure 1. In this context, two main issues are at stake: **syntactic interoperability** to interact with heterogeneous devices, and **semantic interoperability** to provide meaningful and machine-understandable data.

The remaining of this paper is structured as follows: first, the role of interoperability in autonomic solutions for the IoT is studied. Then, our contribution is described in two parts: OM2M, an open-source implementation of the oneM2M standard, is presented as a syntactic interoperability provider, and SemIoTics, a software based on a semantic knowledge base, is presented as a semantic interoperability provider. As an illustration, we provide the real experimentation setting we used before concluding this paper.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Overview of the system: devices network and autonomic controller</figcaption></figure>

## 2 Autonomic Computing and Interoperability for the IoT

A complete autonomic agent requires both syntactic and semantic interoperability to be fully functional in order to manage a set of connected devices. We chose to implement the MAPE-K loop, an autonomic control structure presented in [3]. An instance of this loop in an IoT context is discussed in [4].

The loop is structured in four phases: *Monitoring*, *Analysis*, *Planning*, and *Execution*, that we implemented in our use case. Monitoring and Execution are the two phases where the autonomic agent is in direct contact with the monitored system. In the **Monitoring** phase, raw sensor data is collected by the system. In the **Execution** phase, commands are sent to the actuators (the devices having an impact on the physical world, e.g. lamps or heating systems). These two phases require syntactic interoperability that ensures the communication between the autonomic agent and the heterogeneous set of devices. Analysis and Planning are two more abstract phases where the agent implements high level policies. **Analysis** is the abstraction of the collected data into meaningful symptoms. **Planning** is the decision-making process where the system determines the actions to be performed through actionable nodes. These two phases are enhanced by semantic interoperability that eases contextualization
and reasoning on data. Some existing work such as [5] propose both syntactic and semantic interoperability solutions, but are not based on standards, and not dedicated to autonomic computing. Most of the existing work is either dedicated to one type interoperability or the other, that is why the rest of this section will be dedicated to the study of these contributions separately.

**For Monitoring and Execution, syntactic interoperability:** In high-tech domains, horizontal syntactical interoperability is often achieved by the usage of standards for data formats, architectures, interfaces, or even exchange protocols. Many standards are dedicated to the IoT, that can be classified in three categories:

- Solutions based on Standard Definition Organizations (SDO), such as ETSI, KETI, TIA... Multiple SDO came together with more than 200 companies to create oneM2M<fnref n="1" />. It is a consortium providing a global and high level functional architecture based on a REST architecture. The OSGi alliance<fnref n="2" /> and the Open Mobile Alliance<fnref n="3" /> are similar open standard organizations. The OSGi alliance provides an abstraction layer based on the OSGi framework to represent a set of heterogeneous devices, and the OMA develops standards in the telecommunication industry.

- Solutions proposed by industrial consortiums, such as OIC<fnref n="4" />, AllJoyn<fnref n="5" /> or the Broadband forum<fnref n="6" />.

- *Other alliances or partnerships* exist, supported by leader companies such as Google in the case of **Thread** <fnref n="7" /> or Apple for the **Apple Homekit**<fnref n="8" />

Furthermore, different protocols contribute to the ecosystem such as LWM2M, a device management protocol based on CoAP, a lightweight equivalent of HTTP [6] or MQTT<fnref n="9" />, a publish-subscribe protocol. In this paper, we focus on oneM2M since it provides syntactic interoperability but also aims to bring semantic interoperability features [7] necessary for the autonomic control.

**For Analysis and Planning, semantic interoperability:** The data manipulated by the autonomic agent comes from heterogeneous sources, and can be expressed in different formats. Existing work such as [8] tackles this problem by proposing enrichment techniques to transform raw data into knowledge conform to the W3C recommendations. Once enriched, collected data becomes exploitable and can be abstracted into higher-level knowledge as in [9], which is useful in our case of symptom computing in the MAPE-K loop. The knowledge base of an autonomic agent can be expressed in different formalisms [2], in particular using ontologies and semantic web technologies, which provide a meaningful unambiguous knowledge representation.

<footnote n="1">¹ http://www.onem2m.org/</footnote>

<footnote n="2">² https://www.osgi.org/</footnote>

<footnote n="3">³ http://openmobilealliance.org/</footnote>

<footnote n="4">⁴ http://openconnectivity.org</footnote>

<footnote n="5">⁵ https://allseenalliance.org</footnote>

<footnote n="6">⁶ https://www.broadband-forum.org/</footnote>

<footnote n="7">⁷ http://threadgroup.org/</footnote>

<footnote n="8">⁸ https://developer.apple.com/homekit/</footnote>

<footnote n="9">⁹ http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html</footnote>
## 3 Eclipse OM2M: a Standard and Open Source Platform

**Spreading the IoT through openness and open source:** Considering the actual ecosystem, openness is an important criteria in the success of the projects to come: developing one's own entire solution is complicated, time consuming and not always relevant. To address this important issue, different entities contribute to break the vertical fragmentation and offer alternative solutions as standard organizations, but also open source communities.

As an example, the Eclipse foundation hosts several open source projects providing implementations of solutions, standards, services, frameworks, protocols, etc. that enable an open IoT<fnref n="10" />. The cooperation between standards and open source is particularly interesting since it ensures a better feedback from the developers community and a wider spread usage of interoperable solutions.

**OM2M a middleware for syntactic interoperability:** Since 2013 the LAAS develops a horizontal standard platform: OM2M<fnref n="11" />. The project started being an implementation of the European SmartM2M ETSI Standard [10] and now implements the oneM2M standard since November 2015 thanks to our contribution. OM2M is an open source project hosted by the Eclipse foundation, and is part of the Eclipse IoT working group.

OM2M is a horizontal service platform for IoT interoperability providing a RESTful Application Programming Interface (API) with a generic set of service capabilities. Its architecture is based on the OSGI framework, and is extensible via a plugin system. The aim of this kind of platform is to enable the development of services independently of the underlying heterogeneous network of devices. It facilitates the deployment of IoT applications by creating a standard abstraction of Things so that applications can be developed independently of the devices or the platforms. OM2M can be used on different levels in an IoT architecture: at the top level, that is to say on the server level, or on intermediary nodes of the topology, or even on the lower nodes directly connected to the objects. Moreover, implementing the standard makes OM2M interoperable with other implementations of oneM2M and has been tested during several plug-tests.

In a nutshell, OM2M provides an interoperability layer regarding the architecture and protocols, thanks to the oneM2M standard specifications. The platform can be executed at different levels in an IoT topology, and is extensible. At this point, a sufficient level of abstraction is reached and we can focus on data formalism issues and semantic interoperability. In our case, OM2M is deployed on the gateways and the server (cf. fig. 1) to connect devices to the system and expose them in a standard representation.

## 4 Toward Semantic Interoperability

### 4.1 Why syntactic interoperability is not sufficient

Semantic interoperability is achieved when interacting systems attribute the same meaning to the content of their exchanges. It requires systems to communicate and to be able to parse the received data: it cannot be built without

<footnote n="10">¹⁰ http://iot.eclipse.org/</footnote>

<footnote n="11">¹¹ http://om2m.org/</footnote>
syntactic interoperability. On the other hand, two systems syntactically interoperable can have semantic discrepancies: for instance, they can exchange sensor observations in XML, but one may format the timestamp MM-DD-YYYY, while the other may use a DD-MM-YYYY format. The two systems will be able to parse the data of each other, but will wrongfully attribute the same meaning to it. This very simple case can be extended to all classic structured data models: relational databases, XML, JSON, etc.

In that case, the first solution to achieve semantic interoperability is a one-by-one model mapping. However, this approach is not scalable in complex systems, where several different data models can dynamically interact, which is the case in many IoT architectures. Another more suitable approach is to use shared data models rich enough to be used unambiguously, such as ontologies. Their level of formalism makes them meaningful for the software agents, helping to bridge the gap between different syntactic data models. Data models can be annotated to be aligned with ontologies, and raw data can be enriched to become semantically enabled. The association of an ontology and the data it describes is called a knowledge base.

## 4.2 A Knowledge Base Centric Autonomic Agent

In a connected devices network, many nodes only have limited data models (mostly raw values or simple API calls), when higher-level applications have a much more complex data representation (value, unit, originating/destination device, device reliability, location, etc.). Ensuring end-to-end data consistency is among the challenges listed in [11], and it is one of the goals of semantic interoperability. SemioTics is an autonomic application built on top of OM2M (cf. fig. 1), featuring a knowledge base as its core component: it is used at every step of the MAPE-K loop, and it holds the high-level policies defined by the system administrators. SemioTics extends the notion of end-to-end consistency: the data from the system is not only enriched so that its meaning is maintained, but new knowledge is derived from it, and reinjected into the managed entity.

The raw measures generated by the sensors are enriched by SemioTics using ontologies as SSN<fnref n="12" /> for sensor and observations, or IoT-O<fnref n="13" /> for IoT-related knowledge: actuator and actuation, device and service, etc. Being described with meaningful vocabularies, the observations generated by the system as well as the knowledge regarding the system itself become semantically interoperable (Se-mantised data on fig. 1). This knowledge can be manipulated by the system administrator to express high-level policies, or can be exchanged with remote systems. Finally, the agents converts inferred meaningful knowledge back into low-level data to control the devices: semantic interoperability is brought seam-lessy to the devices unaware of semantic models.

Standards also have a role to play in the domain of semantic interoperability: for instance, the oneM2M standard proposes its own ontology<fnref n="14" /> to describe con-

<footnote n="12">¹² https://www.w3.org/2005/Incubator/ssn/ssnx/ssn</footnote>

<footnote n="13">¹³ https://www.irit.fr/recherches/MELODI/ontologies/IoT-O</footnote>

<footnote n="14">¹⁴ http://www.onem2m.org/technical/onem2m-ontologies</footnote>
cepts related to its architecture and to IoT in general. Two ontologies aligned with the same reference ontology become semantically interoperable, so the emergence of standard ontologies and the reuse of existing resources are key elements to semantic interoperability. The integration of a knowledge base in the autonomic agent allows to integrate evolving external knowledge, and to ensure semantic consistency from the monitoring to the execution.

## 5 Use Case and Experimental Setting

SemIoTics is deployed on top of OM2M for the autonomic control of an apartment, which includes a connected devices architecture with real-world constraints. The experimentation flat is located in the ADREAM building<fnref n="15" />, and the autonomic agent is a software that ensures that user preferences about the environment (temperature, luminosity) are respected (cf. top of fig. 1). The connected devices (both sensors and actuators) come from different brands, and they are based on heterogeneous technologies, connected to two different gateways. These gateways are connected to a server where the autonomic agent is running. This agent is twofold: it includes a horizontal integration layer to communicate seamlessly with the devices, and a control plane using semantic technologies to make decisions. For the lower-level nodes (around 10), different technologies are featured:

- Phidgets for temperature, luminosity and humidity sensor, legacy lamp and fan controlled via a smart plug - EnOcean for a battery-less remote
- Philips HUE lamps
- ZigBee to control the heater

These lower-level nodes are connected to two different gateways, a BeagleBone Black and an Intel Edison, both running an instance of the OM2M platform. They gather the data and provide a standardized RESTful interface to access the devices. At the core of the network, a server runs an instance of the OM2M server side. The gateways are registered on the server, which provides a common interface for the whole system. SemIoTics accesses devices through the server, discovering resources and subscribing to the sensors matching its needs.

<table><caption>**Table 1.** Step-by-step use case</caption><thead><tr><td>Use case phase</td><td>Interoperability type at stake</td><td>Details</td></tr></thead><tbody><tr><td rowspan="2">Monitoring</td><td>Syntactic</td><td>Collection of the sensor raw observations by OM2M</td></tr><tr><td>Semantic</td><td>From raw measure to RDF representation: "ambient air is 25.5°C in the living room"</td></tr><tr><td>Analysis</td><td>Semantic</td><td>Using user preference, infer symptom: "The living room is too hot"</td></tr><tr><td>Planning</td><td>Semantic</td><td>Using logical reasoning and high-level policies, infer action: "Set AC to 23°C in living room"</td></tr><tr><td rowspan="2">Execution</td><td>Semantic</td><td>Translation of the high-level action to an actual actuation command</td></tr><tr><td>Syntactic</td><td>Execution of the call on the actuator by OM2M</td></tr></tbody></table>

<footnote n="15">¹⁵ https://www.laas.fr/public/en/adream</footnote>
# 6 Conclusion and Future Work

This paper focuses on interoperability issues in autonomic systems and IoT considering standards and provides an open source implementation. Through a home automation use case, we highlighted on two types of interoperability: syntactic and semantic. The role of standards (as syntactic interoperability providers) is shown with the description of OM2M, an open-source implementation of the oneM2M standard. Then, SemIoTics is introduced to show the role of semantic interoperability at each step of the autonomic system based on MAPE-K loop.

From now, standards are developing toward the integration of both syntactic and semantic interoperability (as in oneM2M or in the W3C WoT IG<fnref n="16" />), which comforts our approach. Future works will focus on the scalability of our approach, in order to adapt it to a whole smart building and even to a smart city deployment.

# Acknowledgements

This work has been cofunded by a "Chaire d'Attractivité" of the IDEX Program of the Université Féderale de Toulouse Midi-Pyrénées, Grant 2014-345 and a FEDER-FSE 2014-2020 found of the Région Midi-Pyrénées and the European Union.

# References

1. A. Zanella, N. Bui, A. Castellani, L. Vangelista, and M. Zorzi, "Internet of Things for Smart Cities," *IEEE Internet of Things Journal*, vol. 1, no. 1, pp. 22–32, 2014.

2. M. C. Huebscher and J. A. McCann, "A survey of autonomic computing—degrees, models, and applications," *ACM Computing Surveys*, vol. 40, pp. 1–28, aug 2008.

3. J. Kephart and D. Chess, "The vision of autonomic computing," *Computer*, vol. 36, pp. 41–50, jan 2003.

4. Q. Wu, G. Ding, Y. Xu, S. Feng, Z. Du, J. Wang, and K. Long, "Cognitive Internet of Things: A New Paradigm Beyond Connection," *IEEE Internet of Things Journal*, vol. 1, pp. 129–143, apr 2014.

5. B. Christophe, M. Boussard, M. Lu, A. Pastor, and V. Toubiana, "The web of things vision: Things as a service and interaction patterns," *Bell Labs Technical Journal*, vol. 16, pp. 55–61, jun 2011.

6. A. Al-Fuqaha, A. Khreishah, M. Guizani, A. Rayes, and M. Mohammadi, "Toward better horizontal integration among IoT services," *Communications Magazine*, IEEE, vol. 53, no. 9, pp. 72–79, 2015.

7. M. B. Alaya, S. Medjiah, T. Monteil, and K. Drira, "Toward semantic interoperability in oneM2M architecture," *IEEE Communications Magazine*, vol. 53, pp. 35–41, dec 2015.

8. S. Poslad, S. E. Middleton, F. Chaves, R. Tao, O. Necmioglu, and U. Bugel *IEEE Transactions on Emerging Topics in Computing*, jun.

9. C. Henson, A. Sheth, and K. Thirunarayan *IEEE Internet Computing*, no. 2.

10. M. B. Alaya, Y. Banouar, T. Monteil, C. Chassot, and K. Drira, "OM2M: Extensible ETSI-compliant M2M Service Platform with Self-configuration Capability," *Procedia Computer Science*, vol. 32, pp. 1079–1086, 2014.

11. O. Corcho and R. García-Castro, "Five challenges for the Semantic Sensor Web," *Semantic Web*, vol. 1, no. 1, pp. 121–125, 2010.

<footnote n="16">¹⁶ https://www.w3.org/WoT/IG/</footnote>