Model-to-Model Mapping of Semi-Structured Specifications to Visual Programming Languages

Danny Almeida Soares · Open Repository of the University of Porto (University of Porto) · 2020

The Internet of Things (IoT) is most commonly used in home automation, in smart houses equipped with devices that can be interacted with remotely, such as smart lights, ovens, A/C systems, etc.One of its goals is to use technology to control and monitor these smart spaces, such as allowing users to turn the A/C on and off or set it to a specific temperature, or check the doors and windows, even if they are not at home, through their smartphones or computers.Smart assistants are one way to simplify the interaction between users and devices, providing control via a natural language conversational interface -either voice or text-based.Examples of these tools are Siri, Google Assistant and Alexa, which act as mediators for (verbal) interactions between humans and machines.Despite their demonstrable applicability to basic tasks, smart assistants are still limited.Current solutions do not provide the ability to manage complex or recurring actions, and so are unable to provide a complete management platform for IoT systems using just conversational commands.Besides, one can easily imagine that managing tens or hundreds of devices and rules without a more structured medium would probably be chaotic and prone to failure.Alternatively, Visual Programming Platforms (VPP) are more capable of dealing with this complexity, providing the user a way of dragging blocks into a canvas and connecting them to convey causality.This flexibility, however, comes at the cost of a higher learning curve when compared to conversational interfaces, making it difficult to interact with them and set up an organically-grown IoT system effortlessly, such as those users have at their homes.We propose mixing the two approaches, by using a semi-structured text-based interface for behavior specification, supported by a semi-structured language (very close to natural language).To do so, we follow an approach similar to a popular semi-structured language, Gherkin, and leverage an also popular VPP, Node-RED.With this, we can then convert between the two representations (textual and visual), through bi-directional model-to-model transformations.Our goal is to understand whether combining a VPP and a semi-structured text-based interface makes it easier for users to understand how an IoT system is working and how they can manage the interactions of the devices in the system.To evaluate this, we present one survey and one case study that were performed with participants with different technological backgrounds.Our results show that our tool supports 93% of the 177 scenarios submitted by 20 participants, and that participants had a 97% success rate describing scenarios implemented with our tool compared to only 68% with Node-RED.Therefore, we provide evidence that a semi-structured text-based interface is easier for end-users to understand home automation scenarios, comparing to a VPP, and we believe that it improves their capabilities to manage complex IoT systems.Therefore, we believe that this project can have a positive impact on the evolution of IoT management tools.

Read the paper · More papers on PaperTik