Doctoral Dissertation Doctoral Program in Computer and Control Engineering (32.th cycle) End-User Development in the Internet of Things Alberto Monge Roffarello ****** Supervisor Prof. Fulvio Corno Politecnico di Torino May 14, 2020 This thesis is licensed under a Creative Commons License, Attribution - Noncommercial- NoDerivative Works 4.0 International: see www.creativecommons.org. The text may be reproduced for non-commercial purposes, provided that credit is given to the original author. I hereby declare that the contents and organisation of this dissertation constitute my own original work and does not compromise in any way the rights of third parties, including those relating to the security of personal data. ........................................ Alberto Monge Roffarello Turin, May 14, 2020 Summary In the contemporary Internet of Things (IoT) era, people can interact with a multitude of smart devices, always connected to the Internet, in the majority of today’s environments. With lamps, thermostats, and many other appliances that can be remotely controlled, homes and workplaces are becoming “smart.” Further- more, by using PCs and smartphones, users can access a variety of online services, ranging from social networks to news and messaging apps. The result is a com- plex network of connected entities, be they physical devices or virtual services, that can communicate with each other, with humans, and with the environment. This complex scenario opens up, at the same time, possibilities and issues. By taking advantage of End-User Development (EUD) solutions, users can ac- tively participate in the IoT by personalizing the functionality of their connected entities. Nowadays, in particular, many different visual programming platforms such as IFTTT and Zapier allow the personalization of the joint behaviors of con- nected entities through IF-THEN rules, i.e., in the form of “if something happens on a device or a service, then execute an action on another device or service.” The growing spread of new smart devices and online services, however, makes this per- sonaliziation a complex task, especially for users without programming experience. The trigger-action programming paradigm, indeed, is typically implemented at a low-level of abstraction, with representation models that strongly depend on the exploited technologies. This negatively influences the rule definition process: end users experience difficulties in finding and managing the functionality they arein- terested in, and they are likely to introduce dangerous run-time errors in the defined IF-THEN rules. Stemming from these issues, this thesis presents a set of research works that aim at assisting end users in easily and efficiently personalizing the functionality of their connected entities. Through rigorous user studies and controlled experiments, we report on different approaches and practical solutions to a) simplify the definition of IF-THEN rules, b) promote the discovery of new rules and related functional- ity, and, c) enable the identification and the resolution of run-time problems in IF-THEN rules. For supporting these results, we first define a semantic representa- tion, named EUPont (End-User Programming ontology), to model abstract and iii technology-independent IF-THEN rules that can be adapted to different contextual situations. We demonstrate that EUPont is more expressive than the representa- tion models offered by contemporary trigger-action programming platforms, and that it improves the processes needed by end users to define IF-THEN rules in terms of time, understandability, and ease of use. After presenting EUPont, we then report on how we used it to facilitate users in discovering and managing rules and related functionality. We present, in particular, two different approaches, namely EUDoptimizer and RecRules. EUDoptimizer is an optimization tool that adopts semantic optimization methods to dynamically redesign layouts in trigger-action programming user interfaces on the basis of the choices made by the user during the definition of a rule. The tool is basedon SDP-FSM, a predictive model for trigger-action programming that exploits EUPont and a state-of-the-art model of human performance in menu search named Search- Decision-Pointing. RecRules, instead, is an innovative recommender system of IF- THEN rules that, by exploiting EUPont, is able to compute suggestions on the basis of the final behaviors users would like to define, e.g., increasing the temperature in a room. Finally, we explore the urgent need of assessing the correctness of IF-THEN rules by presenting two end-user debugging tools, i.e., EUDebug and My IoT Puz- zle. By exploiting SCPN, i.e., a novel formalism based on Petri Nets and the EUPont model, such tools are able to assist users in identifying possible loops, inconsistencies, and redundancies that their rules may generate at run-time. EU- Debug, in particular, is built on top of an IFTTT-like interface, while the My IoT Puzzle exploits the Jigsaw metaphor, and it has been designed on a set of guidelines extracted from previous work on end-user debugging in different contexts. Summarizing, the main outcomes of this thesis are the following: EUPont, an ontological high-level representation for end-user development that allows the definition of abstract and technology-independent IF-THEN rules that can be adapted to different contextual situations, independently of man- ufacturers, brands, and other technical details. EUDoptimizer, an optimization tool to dynamically redesign layouts in trigger- action programming interfaces in an interactive way, i.e., by considering the choices made by end users during the definition of a rule. RecRules, a hybrid and semantic recommendation system of IF-THEN rules that allows users to discover new rules on the basis of the underlying functionality, rather than the involved brands or manufacturers. EUDebug, an end-user debugging tool built on top of an IFTTT-like interface that enables end users to debug their IF-THEN rules at definition time. iv My IoT Puzzle, an end-user debugging tool to compose and debug IF-THEN rules though the Jigsaw metaphor, designed according to a set of guidelines extracted from the literature. v Acknowledgements I would like to thank you my supervisor, Fulvio Corno, and Luigi De Russis for their continuous support and mentorship. Their guidance helped me in becoming a better researcher. A special thanks to all the current and past members of the e-Lite research group, and, in particular, to Juan Pablo Saénz, with whom I have shared this PhD journey. Thank you to my parents, Elisa e Paolo, and my girlfriend, Cecilia, for their patient and unconditional support over these years. vii Contents List of Tables x List of Figures xi 1 Introduction 1 1.1 Defining IF-THEN Rules........................1 1.1.1 Rule Definition Process.....................2 1.1.2 Identified Issues.........................3 1.2 Thesis Contributions..........................4 1.2.1 Thesis Organization......................7 2 End-User Development in the IoT: an Overview 9 3 Moving Towards a Higher Level of Abstraction 13 3.1 Simplifying Trigger-Action Programming: a High-Level Semantic Approach................................ 14 3.1.1 Background........................... 15 3.1.2 EUPont Desing and Implementation............. 17 3.1.3 Model Expressiveness...................... 24 3.1.4 User Evaluation......................... 26 3.1.5 Results.............................. 33 3.2 Discussion and Guidance for Future Research............ 36 4 Discovering IF-THEN Rules and Functionality 39 4.1 EUDoptimizer: Defining IF-THEN Rules with an Optimizer inthe Loop................................... 40 4.1.1 Background........................... 41 4.1.2 Optimizing IF-THEN Rule Definition............. 41 4.1.3 SDP-FSM: A Predictive Model for Trigger-Action Program- ming............................... 43 4.1.4 Optimization Problem and Methods.............. 47 4.1.5 Implementation and Technical Assessment.......... 48 4.1.6 User Evaluation......................... 54 viii 4.1.7 Results.............................. 56 4.2 Recommending IF-THEN Rules for End-User Development..... 58 4.2.1 Background........................... 59 4.2.2 Recommending By Functionality............... 62 4.2.3 Knowledge Graph Model & Problem Formulation...... 63 4.2.4 The RecRules Algorithm.................... 65 4.2.5 Algorithm Evaluation...................... 72 4.2.6 Results.............................. 77 4.3 Discussion and Guidance for Future Research............ 82 5 End-User Debugging in Trigger-Action Programming 87 5.1 Run-Time Problems in IF-THEN Rules................ 88 5.1.1 Background........................... 88 5.1.2 Characterizing Problems.................... 89 5.1.3 Modeling and Detecting Problems............... 91 5.1.4 SCPN RESTful Server..................... 96 5.2 Exploring End-User Debugging in Trigger-Action Programming Plat- forms................................... 96 5.2.1 Background........................... 98 5.2.2 The EUDebug Tool....................... 98 5.2.3 User Evaluation......................... 99 5.2.4 Results.............................. 104 5.3 Debugging IF-THEN Rules Through the Jigsaw Metaphor..... 109 5.3.1 Background & Adopted Technologies............. 110 5.3.2 Extracting Design Guidelines................. 110 5.3.3 The My IoT Puzzle System.................. 113 5.3.4 User Evaluation......................... 115 5.3.5 Results.............................. 118 5.4 Discussion and
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages162 Page
-
File Size-