Journal of Information Processing
Online ISSN : 1882-6652
ISSN-L : 1882-6652
Component-Based mruby Platform for IoT Devices
Takuro YamamotoTakuma HaraTakuya IshikawaHiroshi OyamaHiroaki TakadaTakuya Azumi
Author information
JOURNAL FREE ACCESS

2018 Volume 26 Pages 549-561

Details
Abstract

In embedded network software running on embedded systems within the Internet of Things (IoT), high levels of runtime efficiency and user productivity are required. As an approach to improve the productivity of software development, the mruby on TOPPERS embedded component system (TECS) framework has been proposed; note that mruby on TECS framework employs a scripting language (i.e., a lightweight Ruby implementation) and supports component-based development. In this paper, we propose an extended mruby on TECS framework for its application in developing software for IoT devices, including sensors and actuators. Our proposed framework enables mruby programs to utilize Tomakomai Internetworking (TINET), a TCP/IP protocol stack specifically designed for use in embedded systems. Further, the proposed framework incorporates two component-based functions, i.e., a componentized TINET stack called TINET+TECS and a componentized Two-Level Segregate Fit (TLSF) dynamic memory allocator called TLSF+TECS. Here, TINET+TECS improves configurability and scalability and offers software developers high levels of productivity through variable network buffer sizes and the ability to add or remove various TCP (or UDP) functions. TINET+TECS utilizes a dynamic TECS component connection method to satisfy the original TINET specifications. Further, TLSF+TECS is a thread-safe memory allocator that runs at high speeds and efficiently consumes memory. The experimental results of the comparison between TINET+TECS and the original TINET show that execution time and memory consumption overhead are both reduced; further, we conclude that configurability is improved. Finally, the TLSF+TECS function which obtains and reports statistical information regarding mruby's virtual machine (VM) memory usage, helps developers debug and verify their embedded IoT systems.

Content from these authors
© 2018 by the Information Processing Society of Japan
Previous article Next article
feedback
Top