Context-Oriented Live Programming Environments with Mixed Reality System for IoT Education
Context-Oriented Live Programming Environments with Mixed Reality System for IoT Education
Contribution: This demo contributes to the education of Internet of Things (IoT) developments through live programming and a mixed reality system. In the future IoT, robots such as Sci-Fi or auto-cruising cars will distinguish the surrounding environments and provide suitable services depends on their states. Our final goal is to create an educatable development environment for such as future IoT.
Issues: To realize this big goal, we focus on three issues: (1) connect to things of IoT (2) provide services depends on surrounding environments (3) provide easily learning mechanism The first issue is the nature of IoT; however, we cannot easily prepare various physical things. If everything is virtual, students cannot learn the difficulty of controlling things. The second issue is also one of the critical characteristics of IoT. The virtual environment creates powerfully and flexibly in various environments. However, this issue causes another problem that is the cross-cutting concern problem, because the change of surrounding environments affects a whole or several parts of the system. Thus, its programming language needs to support a feature for solving this problem. Regarding the third issue, we consider two problems. Firstly, in embedded systems, the preparation for the running program is more complicated than others, since they need the download an execution program to the system. Secondly, programs of modern programming languages look complicated for beginners. Ideally, beginners should write a program related to only the behavior of the system.
Approach: To solve these issues, we introduce a live programming environment called CoBuTerm (Communication Buddy Terminal). To the first issue, CoBuTerm supports a mixed-reality system that consists of multiple automatic cleaners and a two-dimensional projection system. In the mixed-reality system, we can easily connect physical cleaners with virtual systems. To the second, CoBuTerm adopts Context-Oriented Programming (COP) that is to solve the cross-cutting concern problem. To the third, CoBuTerm supports COP live programming and provides two types of interface for beginners and advanced learners. For the live programming, programs on CoBuTerm begin to run at the time of saving the file. If the program begins to run at the time of modifying the program, it will happen to be troublesome because of the moving thing. The beginners’ version provides limited simple behavior; the advanced version contains full features, including COP.
Demo: In this demo, we will show the following. (1) Live programming: we will show a demo on beginner’s version and modify code at runtime. (2) COP: one robot changes the layer, and the behavior depends on the floor colors. (3) Application: we will show students’ artifacts on CobuTerm.
Outcome: The beginners’ version has been used in university lectures and robot contests for eight years. Approximately one hundred students every year have participated in the lecture or the contests. The advanced version had been applied to one class of sophomore university students this year. Thirty-seven students participated in this class, and they divided with six groups.
Tue 22 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | Mech - A Programming Language for Data Driven, Reactive Systems LIVE Corey Montella Lehigh University | ||
11:30 30mTalk | Context-Oriented Live Programming Environments with Mixed Reality System for IoT Education LIVE Ikuta Tanigawa Kyushu University, Harumi Watanabe Tokai University, Nobuhiro Ohe Tokai Univ., Mikiko Sato Tokai University, Nobuhiko Ogura Tokyo City University, Takeshi Ohkawa Tokai Univ., Kenji Hisazumi Kyushu University, Akira Fukuda Kyushu University | ||
12:00 30mTalk | An Exploratory Literature Study on Live-Tooling in the Game Industry LIVE Tom Beckmann Hasso Plattner Institute, Christian Flach Hasso Plattner Institute, University of Potsdam, Germany, Eva Krebs Hasso Plattner Institute, Stefan Ramson Hasso Plattner Institute, Germany, Patrick Rein Hasso Plattner Institute, Germany, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany |