Building Software for the Internet of Things

Luciano Baresi,Luca Mottola,Schahram Dustdar
DOI: https://doi.org/10.1109/mic.2015.31
IF: 2.68
2015-01-01
IEEE Internet Computing
Abstract:T he next computing revolution is about to happen. We will equip persons, places, and everyday commodities with networked embedded devices sensing from individuals and the surrounding environment, and acting on the physical world to accomplish high-level goals. As these devices coordinate among themselves and integrate with existing computing infrastructures, We will create an Internet of Things (IoT) that improves society and our quality of life. Along the way, should visions such as 50 billion Internet-connected embedded devices become a reality (see http://goo. gl/tcMP), We will need to radically revisit a significant fraction of current software development techniques. 1 The sheer number of computing units, the systems' hetero-geneity, the need for integrating into larger computing infrastructures, and the increasing demand for decentralized control loops will challenge the way we currently build these kinds of distributed systems. Currently, researchers in diverse disciplines are attacking these problems from very different perspectives. For example , networking researchers are focus-ing on how to enable Internet Protocol (IP)-based communication on severely resource-constrained embedded devices; 2 the control community is devising decentralized control loops battling the woes of wireless communications; 3 and middleware research is tackling the previously unseen scalability problems that the IoT brings about. 4 These efforts will ultimately provide the necessary building blocks towards a global IoT. How to combine such building blocks in the design, implementation, and validation of IoT software is, however , still largely unclear. This is a direct effect of the technology's interdisciplin-ary nature. Publications documenting the individual building blocks are scattered across different scientific communities. Achieving a meaningful view over this vast landscape is thus difficult. Even if such a view could be obtained and novel solutions designed to address the related problems, such works tackling " the whole problem " in the design, implementation, and validation of IoT software would hardly find
What problem does this paper attempt to address?