2018 Fiscal Year Annual Research Report
Lightweight and Modular JavaScript System for Internet of Things
Project/Area Number |
16K00103
|
Research Institution | Kochi University of Technology |
Principal Investigator |
鵜川 始陽 高知工科大学, 情報学群, 准教授 (50423017)
|
Co-Investigator(Kenkyū-buntansha) |
岩崎 英哉 電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
高野 保真 青山学院大学, 理工学部, 助教 (70780550)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 仮想機械 / 組込みシステム / ガーベージコレクション / モデル検査 / コンパイラ / ドメイン特化言語 |
Outline of Annual Research Achievements |
本研究では組込みシステム向けに,アプリケーションに特化したコンパクトなJavaScript仮想機械(VM)の構成法を研究した.特に,アプリケーションに合わせてJavaScriptの演算子が扱うオペランドのデータ型を制限したり,特定のデータ型に特化した演算子を自動的に合成して,高速化と小型化を実現する方法を中心に研究した.また,研究成果を実装してJavaScript VMを自動生成するフレームワークや専用コンパイラを開発した. 平成30年度は,対象となるアプリケーションから,VMに実装するべきデータ型を決定する手法を開発した.この成果を,平成29年度までに開発してきたデータ型が制限されたVMを生成する技術と組み合わせることで,アプリケーションから半自動的に,それに特化したVMを生成できるようになった.さらに,平成30年度に,特定のデータ型に特化した演算子を合成する手法も実装し,効果を確認した.これに加え,平成29年度までに開発してきたデータ型が制限されたVMを自動的に生成する技術を改良し,ある基準で無駄なコードが作られないことが証明されたVM生成のアルゴリズムも開発した.これらの成果により,アプリケーションに特化したJavaScript VMを自動生成できるようになった. 平成29年度までには,組込みシステムに特化したごみ集め(GC)の研究も行った.この研究ではGCのアルゴリズムだけでなく,GCを含むシステムプログラムの検証技術の研究も行った.特に,組込みシステムでよく用いられる弱いメモリモデルのプロセッサ上でGCが正しく動作することを,モデル検査によって検証した.平成30年度は,GCの実装を検査するために,ソースコードのパタンマッチによる手法を試し,有効であることを示した.このプログラム検証に関する知見は,他のシステムプログラムにも応用できる.
|