Automatic conversion of activity diagrams into flexible smart home apps
Despite the availability of a large number of sensor and actuator devices designed to co-perform in a smart home, only a few of these devices are easily integrated into a single smart home unit. However, as devices become more advanced and feature-rich, the need for smart software to orchestrate these devices to offer complex smart home services has risen. The research focus of this thesis is designing and deploying software (or apps) that works with different and changing, sensor-actuator configurations in smart-homes.
A systematic literature review was used to identify a visual design modeling framework for designing smart home apps. Behavioral models, specifically UML Activity Diagrams were identified as the most appropriate app design model due to high usability and similarity with flowcharts. The literature review also informed the key qualities of an end-to-end solution to design and deploy these smart home apps. Subsequently, we design and develop an automatic translation tool to address some key usability and deployment challenges. This tool offers a customized and fully-featured UML Activity Diagram Editor that allows non-experts to model any smart home system, such as a smart lighting system. The compiler offered by the Automatic Translation Tool accepts UML Activity Diagrams as input and generates executable Java code which can be deployed into any smart home application. An evaluation using a representative a set of case studies shows that the Automatic Translation Tool features high usability, availability, and performance.