End User Development (EUD) is a promising approach for empowering users to program their Internet of Things (IoT) objects, i.e., devices and online services. Thanks to interfaces like IFTTT (if-this-then-that), people can define, share, and reuse simple trigger-action rules such as "if I publish a new image on Instagram, then update my Android wallpaper accordingly". However, the increasing complexity of the IoT ecosystem raises new challenges in this field. With the spread of new smart objects, in fact, the number of possible combinations between different devices and services is very high, and the number of rules shared on EUD interfaces is growing: without proper suggestions, rules definition and reuse may become challenging.

The goal of the thesis was to design, develop, and evaluate a mobile-based simple recommender system that suggests and actually executes trigger-action rules based on contextual information and user preferences, with the aim of assisting end-users in customizing their IoT devices and online services.

The work plan for the thesis was:

  1. Definition of devices and online services that the system allowed to customize.
  2. Definition of events to be monitored (e.g., WiFi connection, new Facebook notifications) and actions to be executed (e.g., set the smartphone volume, send a SMS) for customizing the chosen devices and online services.
  3. Development of an Android application to suggest and execute trigger-action rules that replicates the actions (point 2) commonly performed by the user on her smartphone or online services (contextual suggestion). In particular, the application will allow the user to:
    1. activate a suggested rule;
    2. browse the activated rules;
    3. The application will use the EUPont ontology (hosted on a web server and accessible with RESTful API) to save the controlled devices and services (and their capabilities), contextual information, and the trigger-action rules.
  4. “In-the-wild” evaluation of the developed system with a selected number of users.


Alessia Mantovani

Thesis Details

Fulvio Corno, Luigi De Russis, Alberto Monge Roffarello
Master Degree in Computer Engineering