Research Topics

Active: since 2017

eupont archProgramming environments for end-user development (EUD) in the Internet of Things (IoT) are becoming increasingly common. They allow users to define simple IoT applications, i.e., connections between different IoT devices and services, by mainly employing trigger-action rules. Unfortunately, the adopted representation models are highly technology-dependent, e.g., they often categorize devices and services by manufacturer or brand. Such an approach is not suitable to face the expected growth of the IoT, nor it allows to adapt to yet undiscovered IoT services.

As a consequence, numerous open questions arise: would a "higher level" of abstraction help users creating their IoT applications more effectively and efficiently compared with the contemporary representations? Which representations would users prefer? How high-level IoT applications could be actually executed? To answer these questions, we introduce EUPont, a high-level semantic model for EUD in the IoT.

The EUPont ontology aims at solving the previous problems by adopting a generic and technology-independent representation for IoT end-user programming environments. The aim of this "high-level" representation is to allow end-users to create abstract IoT applications that adapt to different contextual situations. The EUPont ontology allows the description of:

  • Rules, with at least a high-level trigger and action;
  • The locations and the users involved in a Rule;
  • The IoT objects (a smart device or an online service) whose functions are involved in a Rule.

A set of SWRL rules, included in the ontology, automatically links together all these information.

The EUPont instance models all the 379 devices and services (100%) available on IFTTT on March 2017. We also manually mapped in the EUPont representation 951 IFTTT triggers out of a total of 976 (97.44%), and 528 actions out of the 551 (95.83%) available on IFTTT on the same date. Moreover, EUPont has been evaluated in terms of understandability, completeness, and usefulness, especially with user studies.

Check out the OWL ontology ( and the following papers for additional details.