著者
志田 駿介 井出 真広 倉光 君郎
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.6, no.4, pp.1-9, 2013-12-25

本研究の目的は静的型付けを特徴とするスクリプト言語Konohaの処理系をLego社が開発したプログラム可能なロボットシステムであるMindstorms NXT上に移植し,Konohaのスクリプトを動作させることである.Mindstorms NXTはARM7 CPUと64kB RAMを搭載したロボットであり,Konoha処理系とリアルタイムOS TOPPERSの使用するメモリの合計を64kBに抑える必要があった.我々はMindstorms NXT上で動作するKonoha処理系をTinyKonohaと名付け,パーサや各ランタイムのコンパクト化を行った.最終的にTinyKonohaの使用したメモリ量はコード領域,スタック領域,ヒープ領域合わせて32kB程度となり,VM命令セットやオブジェクト構造の再設計を行った言語ランタイムを開発した.その結果,組み込みシステム技術協会が主催するETロボコンの公式コースを走行可能な規模のスクリプトを実行することが可能であった.本論文ではTinyKonohaの設計,省メモリ化の工夫を詳細に報告し,メモリ使用量の評価とともに省メモリ環境のスクリプト処理系開発の知見をまとめる.We present a small-size scripting language interpreter named TinyKonoha, which is originally developed as statically typed scripting language Konoha, that can be executed on Mindstorms NXT. Mindstons NXT is a robot developed by Lego Inc. and has ARM7 CPU and 64kB RAM. We set a goal to execute the script that can controls Mindstorns NXT and can read a value from sensors. Our language processor is based on static typing script language Konoha and we called it TinyKonoha. The memory usage of TinyKonoha gets to less than 32kB including code segment, stack segment and heap segment and we developed a new language runtime. In the result, writing a script, which can run the course of ET Robot Contest hosted by JASA, becomes possible. In this paper, we present the design and the implementation of TinyKonoha, the method of simplifying the language processor and the actual memory usage of TinyKonoha.