Presentation of the thesis

The development of Internet of Things systems implies an increasing number of devices that interact with each user, every day and in every place. A growing need of programming, personalizing, and customizing the joint behavior of such devices by non-programmers is currently handled by rule-based programming platforms, such as IFTTT (if-this-then-that). Recent studies show that such platforms force the user to work at a "low-level" (i.e., at the device level), while end-users would prefer to work at a slightly more abstract level, where rules are more general and understandable.

The thesis of Fabio Ballati, discussed on March 2017, explores this field and proposes a methodology for automatically mapping low-level rules (e.g., extracted from IFTTT) onto a more abstract representation (high-level rules). The obtained translation process is fully automatic and relies on a dataset of IFTTT public rules.

The thesis analyses the rules present in the dataset with the aim of extracting the equivalent rules in the high-level representation, by producing a corresponding categorization of abstract IoT devices and services (i.e., by grouping objects for functionality, mainly). Then, a suitable algorithm was designed and implemented to perform the automatic mapping between the two representations, starting from the 200,000 low-level rules available in the dataset.

Finally, the thesis covered the validation of both the proposed mapping and the high-level representation. For validating the mapping procedure, the number of saved rules, per user, was computed: users in the dataset could compose 15%-33% less rules with the high-level representation, and still obtain the desired behavior for their IoT services. For validating the high-level representation, instead, a user study with 8 participants was carried out. The study asked participants for composing some rules in both the representations, starting from the description of some scenarios. As a result, participants largely prefer composing rules in the more abstract representation.