Software engineers of Internet of Things (IoT) systems deal with three macro issues: how to perceive the properties of interest through sensors (sensing facet), how to process information to decide how to achieve the system goals (processing facet), and how to enact such decisions to affect the IoT environment (actuation facet). For each of these, one can either develop ad hoc solutions by relying on mainstream programming languages or exploit existing IoT-specific software libraries, frameworks, and platforms. In this chapter, we survey the state of the art of “IoT programming,” clarifying which programming paradigms and platforms are most commonly adopted, with the goal of uncovering which research areas are mostly active in IoT programming.
Programming Approaches for Large-Scale IoT System Development: State of the Art
Fornari, Fabrizio;
2024-01-01
Abstract
Software engineers of Internet of Things (IoT) systems deal with three macro issues: how to perceive the properties of interest through sensors (sensing facet), how to process information to decide how to achieve the system goals (processing facet), and how to enact such decisions to affect the IoT environment (actuation facet). For each of these, one can either develop ad hoc solutions by relying on mainstream programming languages or exploit existing IoT-specific software libraries, frameworks, and platforms. In this chapter, we survey the state of the art of “IoT programming,” clarifying which programming paradigms and platforms are most commonly adopted, with the goal of uncovering which research areas are mostly active in IoT programming.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.