z-logo
open-access-imgOpen Access
SmartVisual: a visualisation tool for SmartThings IoT Apps using static analysis
Author(s) -
Bak Na-Yeon,
Chang Byeong-Mo,
Choi Kwanghoon
Publication year - 2020
Publication title -
iet software
Language(s) - English
Resource type - Journals
ISSN - 1751-8814
DOI - 10.1049/iet-sen.2019.0344
Subject(s) - event (particle physics) , computer science , internet of things , visualization , control flow , set (abstract data type) , software , automation , real time computing , distributed computing , complex event processing , service (business) , software engineering , embedded system , data mining , engineering , operating system , programming language , mechanical engineering , physics , economy , quantum mechanics , economics , process (computing)
SmartThings is one of the most widely used smart home platforms for the internet of things (IoT). SmartApps are IoT applications on the SmartThings platform that enables automation of home devices. SmartApps are event‐driven; inputs are received from device events, and outputs are issued to control devices. Understanding the behaviour of IoT applications is a challenge because the inputs and outputs are rarely visible. To tackle the challenge, the proposed approach is to visualise IoT applications as a set of IoT services. The authors propose an event‐flow‐based visualisation method where a flow from an event to action is viewed as an IoT service. The authors implement a tool called SmartVisual that performs a static analysis on SmartApps to generate a diagram of event flows. The tool also provides a tree model of the static structure of SmartApps and software metrics relevant to the event‐driven nature. The tool was applied to 64 SmartApp samples provided by SmartThings. Each SmartApp had four event flows on average, although the most complex SmartApp had 58 event flows, and two inputs and two outputs, and the average length of the event flows was 1.43 methods.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here