Keynote speech 1: Creating IoT applications through visual programming and service orchestration
Yinong Chen, Qin Xin, Steven Guan · 2016 IEEE Information Technology, Networking, Electronic and Automation Control Conference · 2016
Service-oriented computing and service-level orchestration through visual or graphical programming have been widely used in software and particularly in Web application development. Their further developments and fusing into Internet of Things, Robot as a Service (RaaS), cloud computing, and big data analysis have created the infrastructure for the information technologies to penetrate into all sectors of industry, service, and society. Figure 1 shows the stack of the related concepts, technologies, and applications. IoT service orchestration and visual programming separates the high-level composition from the low-level device programming, which allows the application builders to focus on the business logic, while the service providers to focus on efficient service development. This presentation will discuss the current service orchestration and visual programming environments for IoT application development. The presentation centralizes the topics around IoT. It starts with the upper layer of IoT, including service-oriented computing, Web software development, and service orchestration for system integration, which forms the foundation of cloud computing and a major data source of big data analysis. On the other hand, IoT standards and protocols are presented, which connect the service orchestration infrastructure tohardware and devices. As IoT applications and implementations, ADS (Autonomous Decentralized Systems), DPWS (Device Profile for Web Services), and Robot as a Service will be discussed. Different orchestration environments that have been widely used in industry and academic world will be presented, including BPEL in Oracle SOA Suite, Microsoft Workflow Foundation, Intel IoT Service Orchestration Layer, Microsoft Robotics Development Studio, MIT App Inventor, CMU Alice visual game programming environment, and ASU VIPLE (Visual IoT/Robotics Programming Environment). As a case study, VIPLE will be presented in more detail. VIPLE is a free software with open source IoT middleware developed at Arizona State University. VIPLE orchestration environment has an open interface to IoT devices. Any IoT device that can be programmed to interpret JSON objects and wrap sensory data into JSON objects can interface with VIPLE and be programmed using VIPLE orchestration environment. A demonstration will be given to show how an IoT application can be developed in minutes to control Intel Edison IoT device. VIPLE software, including orchestration environment, IoT middleware, full document, and lecture slides can be downloaded at: http://venus.eas.asu.edu/WSRepository/VIPLE.