Smart Block: A Visual Programming Environment for SmartThings

In this paper, we first propose a visual block language Smart Block for IoT, especially for SmartThings. We also developed a visual programming environment for Smart Block so that users can write their own SmartApps in this language easily, even though they are not expert programmers. We designed the language based on IoTa calculus, a core calculus for Internet of Things Automation that generalizes Event-Condition-Action (ECA) rules for home automation. We implemented a visual programming environment for Smart Block with Blockly, a client-side JavaScript library for creating visual block languages.