Write a Blog >>
Sun 20 - Fri 25 October 2019 Athens, Greece
Tue 22 Oct 2019 11:30 - 12:00 at Room 2A - Session 2

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 Oct
Times are displayed in time zone: (GMT+03:00) Beirut change

11:00 - 12:30: Session 2LIVE at Room 2A
11:00 - 11:30
Corey MontellaLehigh University
11:30 - 12:00
Ikuta TanigawaKyushu University, Harumi WatanabeTokai University, Nobuhiro OheTokai Univ., Mikiko SatoTokai University, Nobuhiko OguraTokyo City University, Takeshi Ohkawa Tokai Univ., Kenji HisazumiKyushu University, Akira FukudaKyushu University
12:00 - 12:30
Tom BeckmannHasso Plattner Institute, Christian FlachHasso Plattner Institute, University of Potsdam, Germany, Eva KrebsHasso Plattner Institute, Stefan RamsonHasso Plattner Institute, Germany, Patrick ReinHasso Plattner Institute, Germany, Robert HirschfeldHasso-Plattner-Institut (HPI), Germany