Taming internet of things application development with the IoTvar middleware
Résumé
In the last years, Internet of Things (IoT) platforms have been designed to provide IoT applications with various services such as device discovery, context management, and data iltering. The lack of standardization has led each IoT platform to propose its own abstractions, APIs, and data models. As a consequence, programming interactions between an IoT consuming application and an IoT platform is time-consuming, error prone, and depends on the developers' level of knowledge about the IoT platform. To address these issues, this paper introduces IoTvar, a middleware library deployed on the IoT consumer application that manages all its interactions with IoT platforms. IoTvar relies on declaring variables automatically mapped to sensors whose values are transparently updated with sensor observations through proxies on the client side. This paper presents the IoTvar architecture and shows how it has been integrated into the FIWARE, OM2M, and muDEBS platforms. We also report the results of experiments performed to evaluate IoTvar, showing that it reduces the efort required to declare and manage IoT variables and has no considerable impact on CPU, memory, and energy consumption. CCS Concepts: • Computer systems organization → Distributed architectures; • Computing methodologies → Distributed computing methodologies; • Software and its engineering → Application speciic development environments.