In a time where the technology is an important part of our lives, Internet of Things (IoT) devices are very widespread, but their programming is strictly related to the knowledge of specific programming languages that vary according to the device technology. However, nowadays, in several domains the need arises of defining Smart Interactive Experiences arises, i.e., usage situations created by orchestrating the behavior of multiple IoT devices, in order to tailor the behavior of general resources embedded in the environment to specific situations that might better satisfy the needs of the final users. To facilitate the smart prototyping of Smart Interactive Experiences, this Thesis proposes a framework that consists of i) a middleware exposing primitives for the events and actions offered by an ecosystem of smart devices, and ii) a visual tool that can generate specifications of rules and process flows that can be translated and executed by different engines. The visual environment exploits a graph-based metaphor to let the user express sequences of actions that are then translated into a specification executable by a process engine: the nodes represent individual actions (both in terms of “sensing capabilities” and of “operation actuation”) that a smart device can perform and are designed with a high level of abstraction so as to make them intuitive to the final user. Thus, the contributions of this thesis are: • A domain-specific language for expressing through high-level abstractions the behaviour of smart objects; • A design environment that allows the users to use in a visual manner the high-level abstractions to define flows of action activation on the connected devices. This environment offers a user-friendly interface for those not familiar with programming languages. It also provides rapid means to design and deploy a Smart Interactive Experience, even for those users who have an expertise in IoT programming. • Runtime configuration of different devices without the need to deploy manually the new configurations. The thesis also discusses: • Some performance aspects related to the use of a specific, custom execution engine in comparison with a well known framework, Node-RED, that today is largely adopted for the management of IoT devices; • The usability of the visual tool, by illustrating the results of a user study involving 16 participants.
In un’epoca in cui la tecnologia è parte integrante della nostra vita, i dispositivi dell’Intenet of Things (IoT) sono molto diffusi, ma la loro programmazione è strettamente legata alle conoscenze di specifici linguaggi di programmazione che possono variare a seconda delle caratteristiche tecnologiche del dispositivo. Oggigiorno, in diversi campi, cresce il bisogno di progettare Smart Interactive Experience, cio`e situazioni d’uso create orchestrando il comportamento di molteplici dispositivi, al fine di adattare il comportamento di risorse generali incorporate nell’ambiente a specifiche situazioni che possono soddisfare meglio i bisogni dell’utente. Al fine di facilitare la programmazione di Smart Interactive Experiences, in questa Tesi abbiamo sviluppato un framework che consiste di i) un middleware, che espone primitive per eventi e azioni offerte da un ecosistema di dispositivi IoT, e ii) un tool visuale che può generare specifiche di regole e flussi di processi che possono essere tradotti ed eseguiti da differenti. L’ambiente visuale sfrutta una metaforea basata su grafi per permettere all’utente di creare sequenze di azioni che sono poi tradotte in una specifica eseguibile dall’engine. Quindi, i contributi di questa tesi sono: • Un domain-specific language per esprimere, attraverso astrazioni di alto livello, il comportamento di dispositivi IoT. • Un ambiente di definizione delle Smart Interactive Experiences, che permette all’utente di usare in modo visuale le astrazioni di alto livello per definire flussi di azioni nei dispositivi connessi. Questo ambiente offre un’interfaccia facile da usare per gli utenti con poca conoscenza sui linguaggi di programmazione. Anche per gli utenti che hanno nozioni della programmazione IoT, l’ambiente offre un modo rapido per definire Smart Interactive Experiences. • La configurazione a runtime di diversi dispositivi senza dover collegarsi al singolo dispositivo manualmente. La Tesi inoltre discute di: • Alcuni aspetti di performance, legati all’uso di uno specifico e personalizzato engine rispetto a un framework comunemente adottato come Node-RED, attualmente molto utilizzato per la gestione di dispositivi IoT; • Alcuni aspetti dell’usabilita del tool visuale per la programmazione dei dispositivi, sulla base di uno studio effettuato con 16 utenti.
A flexible framework for configuring smart interactive experiences
FILAFERRO, GIOVANNI;GENNAIOLI, MICHELE
2018/2019
Abstract
In a time where the technology is an important part of our lives, Internet of Things (IoT) devices are very widespread, but their programming is strictly related to the knowledge of specific programming languages that vary according to the device technology. However, nowadays, in several domains the need arises of defining Smart Interactive Experiences arises, i.e., usage situations created by orchestrating the behavior of multiple IoT devices, in order to tailor the behavior of general resources embedded in the environment to specific situations that might better satisfy the needs of the final users. To facilitate the smart prototyping of Smart Interactive Experiences, this Thesis proposes a framework that consists of i) a middleware exposing primitives for the events and actions offered by an ecosystem of smart devices, and ii) a visual tool that can generate specifications of rules and process flows that can be translated and executed by different engines. The visual environment exploits a graph-based metaphor to let the user express sequences of actions that are then translated into a specification executable by a process engine: the nodes represent individual actions (both in terms of “sensing capabilities” and of “operation actuation”) that a smart device can perform and are designed with a high level of abstraction so as to make them intuitive to the final user. Thus, the contributions of this thesis are: • A domain-specific language for expressing through high-level abstractions the behaviour of smart objects; • A design environment that allows the users to use in a visual manner the high-level abstractions to define flows of action activation on the connected devices. This environment offers a user-friendly interface for those not familiar with programming languages. It also provides rapid means to design and deploy a Smart Interactive Experience, even for those users who have an expertise in IoT programming. • Runtime configuration of different devices without the need to deploy manually the new configurations. The thesis also discusses: • Some performance aspects related to the use of a specific, custom execution engine in comparison with a well known framework, Node-RED, that today is largely adopted for the management of IoT devices; • The usability of the visual tool, by illustrating the results of a user study involving 16 participants.File | Dimensione | Formato | |
---|---|---|---|
2019_07_filaferro_gennaioli.pdf
accessibile in internet per tutti
Descrizione: Thesis Document
Dimensione
29.79 MB
Formato
Adobe PDF
|
29.79 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/148528