Enabling Interoperability in the Internet of Things: A OSGi Semantic Information Broker Implementation

Enabling Interoperability in the Internet of Things: A OSGi Semantic Information Broker Implementation

Alfredo D'Elia (ARCES, University of Bologna, Bologna, Italy), Fabio Viola (ARCES, University of Bologna, Bologna, Italy), Luca Roffia (DISI, University of Bologna, Bologna, Italy), Paolo Azzoni (Eurotech Group, Trento, Italy) and Tullio Salmon Cinotti (ARCES, DISI, University of Bologna, Bologna, Italy)
Copyright: © 2017 |Pages: 21
DOI: 10.4018/IJSWIS.2017010109
Article PDF Download
Open access articles are freely available for download

Abstract

Semantic Web technologies act as an interoperability glue among different formats, protocols and platforms, providing a uniform vision of heterogeneous devices and services in the Internet of Things (IoT). Semantic Web technologies can be applied to a broad range of application contexts (i.e., industrial automation, automotive, health care, defense, finance, smart cities) involving heterogeneous actors (i.e., end users, communities, public authorities, enterprises). Smart-M3 is a semantic publish-subscribe software architecture conceived to merge the Semantic Web and the IoT domains. It is based on a core component (SIB, Semantic Information Broker) where data is stored as RDF graphs, and software agents using SPARQL to update, retrieve and subscribe to changes in the data store. This article describes a OSGi SIB implementation extended with a new persistent SPARQL update primitive. The OSGi SIB performance has been evaluated and compared with the reference C implementation. Eventually, a first porting on Android is presented.
Article Preview

1. Introduction

The recent interest on the application of Semantic Web technologies to the Internet of Things (IoT) (Barnaghi, Wang, Henson et al., 2012) inspired international research projects and academic works aimed at exploiting their potential. The Semantic Web project was born to change the Web and drive it towards the original vision that Tim Berners Lee had in mind: a web of data (Berners-Lee, Hendler, Lassila et al., 2001). Semantic Web technologies allow to represent (i.e., RDF - Resource Description Framework, http://www.w3.org/TR/sparql11-overview/) semantically enriched information, that have a high level of generality and inter-disciplinarity. One of the most interesting fields of application is that of collaborative agents offering advanced services for private users and enterprises. The Semantic Web also applies to classification, abstraction, mining and reasoning over large amount of data. Information about energy consumption, user profiles, environmental monitoring, financial data and other similar data sources can be analysed by smart software agents and used to perform context-aware actions (where context can be defined as “any information that can be used to characterize the situation of an entity, where an entity can be a person, a place or physical or computational object” (Abowd et al., 1999)).

In 2008, the ARTEMIS joint undertaking funded the FP7 European Project SOFIA (Smart Objects for Intelligent Applications) aimed at developing a platform for sharing semantic information for the widest possible range of devices and agents. Since the conclusion of SOFIA, the platform has been adopted, evaluated and extended in several EU projects (e.g., CHIRON, IoE, RECOCAPE, IMPRESS, ARROWHEAD) in partnership with industrial players. Some of these projects are still ongoing and new EU projects proposals are currently in preparation to continue from the achieved results.

The resulting multipurpose architecture was called Smart-M3 (Multi-platform, Multi-vendor, Multi-part) and is shown in Figure 1. Smart-M3 follows a publish-subscribe model and proposes a simple approach based on two components, the Semantic Information Broker (SIB) and the Knowledge Processors (KPs), interacting through the Smart Space Access Protocol (SSAP). The SIB stores and shares the semantic information that is exchanged through the SSAP and elaborated by KPs. KPs can update and query the stored information, and subscribe to changes. The SIB is not bound to a specific implementation and it is generally intended as a software module able to read, process and produce SSAP messages while coherently managing the semantic knowledge base (KB). As shown in Figure 1, the SIB can be seen as a wrapper over a SPARQL endpoint to enable the publish-subscribe mechanism.

Figure 1.

Smart-M3 architecture

When the Smart-M3 architecture began to be used in many heterogeneous scenarios, the interest of the community for new more performing and featured SIB versions grew and brought to different implementations optimized for different requirements and vertical domains. In the recent years, the research community improved many aspects of the Smart-M3 original platform including, for example, the programming model, the SSAP protocol, the supported standards and the SIB module itself. The KPs can be written in several programming languages (Java, C#, Python, Javascript, PHP, C, Ruby and Lua), are agnostic to the transport channel and may run on different platforms, but must communicate with the SIB through the SSAP.

Complete Article List

Search this Journal:
Reset
Open Access Articles
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing