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 goal of this thesis is to define, design, and validate a methodology for automatically mapping low-level rules (e.g., extracted from IFTTT) onto a more abstract representation. The translation process should be fully automatic, relying on suitable knowledge bases.

The validation should explore the following research questions: how many existing low-level rules may be successfully and meaningfully replaced or improved by their abstract translation? what are the grouping, clustering, association rules that determine the similarity of low-level rules? what is the user perception of the translated abstract rules, when compared with the corresponding low-level ones? in case of translation mismatches, which ones could be considered as abstraction errors, and which ones improvements over the initial rule? all the low-level rules can or should be abstracted?

The thesis proceeded in the following, partially overlapping, phases:

  1. Analysis of significant data-set of low-level rules, extracted by cloud platforms such as IFTTT
  2. Review of the literature about (low-level) rule representation and translation
  3. Development of suitable knowledge bases (e.g., device-to-service mappings)
  4. Design of a translation algorithm from low-level to high-level rules
  5. Implementation of a prototype of the algorithm and experiments on the available data-sets
  6. Design of a user study for evaluating the understanding and acceptance of high-level rules by end-users
  7. Delivery of the user study to a sample of representative users, and analysis of the outcomes of the user studies


Fabio Ballati

Thesis Details

Fulvio Corno, Luigi De Russis
Master Degree in Computer Engineering