Rapid prototyping of IoT applications with Esperanto compiler [abstract] (ACM DL, PDF)
Gyeongmin Lee, Seonyeong Heo, Bongjun Kim, Jong Kim, and Hanjun Kim
Proceedings of the 28th International Symposium on Rapid System Prototyping (RSP), October 2017.
Invited.
Integrating various networked devices, the Internet of Things
(IoT) enables various new services like home automation, making
its market larger and more competitive. Although rapid development
of an IoT application is crucial to keep up with the highly
competitive IoT market, developing an IoT application is
challenging for programmers because the programmers should
integrate multiple programmable devices and heterogeneous
third-party devices. Some IoT frameworks integrate programming
environments of multiple devices, but they either require
device-specific implementation for third- party devices without
any device abstraction, or abstract all the devices to the
standard interfaces requiring unnecessary abstraction of
programmable devices. This work introduces the Esperanto framework
that integrates IoT devices with selective abstraction, allowing
rapid prototyping of an IoT application. Exploiting the
correspondence between an object and a thing in the object
oriented programming (OOP) model, the Esperanto framework allows
programmers to write only one OOP program instead of multiple
programs for each device, and to manipulate third-party devices
with their common ancestor classes. Compared to an existing
approach on the integrated IoT programming, Esperanto requires
33.3% fewer lines of code to implement 5 IoT services, and reduces
their response time by 44.8% on average. Moreover, with an
empirical study, this work shows that the Esperanto framework
reduces the development time by 52.7%.