Автор: Franco Zambonelli, Giancarlo Fortino, Barbara Re, Mirko Viroli
Издательство: Springer
Серия: Internet of Things
Год: 2024
Страниц: 208
Язык: английский
Формат: pdf (true), epub
Размер: 17.5 MB
This book provides an overview of the many approaches that can adopted for programming and deploying highly-adaptive and large-scale IoT systems, with a specific focus on the key results achieved within the Fluidware research project. The authors start by presenting Fluidware, which develops a novel programming model for IoT services and applications, along with the associated and robust large-scale IoT services and applications. Starting from previous findings in the areas of field-based coordination, collective adaptive systems, stream computing and aggregate computing, the authors address the complexity of building modern, large-scale IoT systems, by a full-fledged engineering approach revolving around a new notion of distributed programming. The authors show how the key innovative idea of Fluidware is to abstract collectives of devices of the IoT fabric as sources, digesters, and targets of distributed "flows" of contextualized events, carrying information about data produced and actuating commands. The book is divided into three parts: (i) the first part is a general introduction to the Fluidware ideas and to the key problems associated with programming IoT systems, (ii) the second part presents the key results achieved within the Fluidware project; (iii) the third part identified open challenges and research directions.
In the past few years, progress in the area of wireless communications, sensors, actuators, and microcontrollers has made it possible to embed computing and communication systems in physical objects and environments, with the capability of sensing and affecting in real-time the physical and social world. In other words, the vision of the “Internet of Things” (IoT) has rapidly become an everyday reality and a source for many application areas.
However, IoT applications and services can be hard to program and deploy. Indeed, services and applications for the IoT may involve composing and coordinating myriads of heterogeneous devices, typically dispersed over an environment. This introduces many engineering challenges, such as the need to support scalability, very frequent events and changes, faults of devices, and the continuous evolution of the scenario due to novel devices being deployed and others being dismissed.
In the above context, the IoT research community worldwide started putting notable investigation efforts toward the identification of novel programming approaches for IoT applications that could make it possible to deal with the above sources of complexity automatically and rather enable programmers to easily program and deploy flexible and adaptive applications, enabling to express in full the potentials of the IoT fabric.
The specific names of all the researchers who participated in the project and contributed results to it include all the authors of the chapters that constitute this book. Such chapters are intended to comprehensively overview the different research topics and research results of the Fluidware project and is logically organized into three parts:
• Part I introduces the general ideas behind Fluidware and an overview state of the art in the area of programming models for the IoT. In particular: Chap. 1 presents the vision and overall ideas behind Fluidware, as well as a case study in the area of assisted living; Chap. 2 surveys the state of the art of IoT programming, trying to clarify which programming paradigms and platforms are most commonly adopted, with the goal of uncovering which research areas are mostly active in IoT programming.
• Part II presents the different technologies and methods developed throughout the project. In particular: Chap. 3 describes the middleware architecture developed for supporting Fluidware computing via the pulverization paradigm; Chap. 4 introduces a software engineering methodology to support the development of Fluidware applications and, more in general, IoT applications; Chap. 5 describes how business process management technologies can effectively act as a powerful tool for model-driven engineering of Fluidware systems; Chap. 6 presents the distributed algorithms based on aggregate computing that can be used to support adaptivity of Fluidware application along the space and the time dimensions.
• Part III overviews the many research challenges and visions that have emerged during the execution of the project and that represent potentially fruitful areas for future research. In particular: Chap. 7 shows how Fluidware concepts can be exploited to effectively develop IoT systems in the emerging scenario of digital twins; Chap. 8 introduces a novel development toolchain that, in the future, can support the formal development of Fluidware systems; Chap. 9 presents a potential extension of Fluidware concepts to support more adaptable and open IoT systems; finally, Chap. 10 overviews the potentials of learning technologies to develop Fluidware applications capable of dynamically self-adapting to the context.
Contents:
Скачать Fluidware: Novel Approaches for Large-Scale IoT Systems