New journal paper on IoT/DiaSwarm

A new paper on the DiaSwarm DSL for orchestrating sensors in-the-large and its IoT applications has been accepted in the journal Personal and Ubiquitous Computing at Springer. This is an extended version of a previous Best Paper at UIC'16. It introduces some extensions to the DiaSwarm language and some new applications to personalized IoT services, enabled by these language extensions.

Designing Parallel Data Processing for Enabling Large-Scale Sensor Applications
Milan Kabáč, Charles Consel, Nic Volanschi
Personal and Ubiquitous Computing, Springer Verlag, 2017, Special Issue on Ubiquitous Intelligence and Computing for Enabling a Smarter World, <10.1007/s00779-017-1009-1>


Abstract : Masses of sensors are being deployed at the scale of cities to manage parking spaces, transportation infrastructures to monitor traffic, and campuses of buildings to reduce energy consumption. These large-scale infrastructures become a reality for citizens via applications that orchestrate sensors to deliver high-value, innovative services. These applications critically rely on the processing of large amounts of data to analyze situations, inform users, and control devices. This paper proposes a design-driven approach to developing orchestrating applications for masses of sensors that integrates parallel processing of large amounts of data. Specifically, an application design exposes declarations that are used to generate a programming framework based on the MapReduce programming model. We have developed a prototype of our approach, using Apache Hadoop. We applied it to a case study and obtained significant speedups by parallelizing computations over twelve nodes. In doing so, we demonstrate that our design-driven approach allows to abstract over implementation details, while exposing architectural properties used to generate high-performance code for processing large datasets. Furthermore, we show that this high-performance support enables new, personalized services in a smart city. Finally, we discuss the expressiveness of our design language, identify some limitations, and present language extensions.