• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2017 Fiscal Year Research-status Report

IoTデバイス向けの軽量でモジュラーなJavaScript処理系

Research Project

Project/Area Number 16K00103
Research InstitutionKochi University of Technology

Principal Investigator

鵜川 始陽  高知工科大学, 情報学群, 准教授 (50423017)

Co-Investigator(Kenkyū-buntansha) 岩崎 英哉  電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
Project Period (FY) 2016-04-01 – 2019-03-31
Keywords仮想機械 / 組込みシステム / ガベージコレクション / モデル検査 / コンパイラ
Outline of Annual Research Achievements

本研究の目的は,組み込みシステムで動作する高性能なJavaScript処理系を研究することである.そのために,システム毎にそのシステムで実行されるプログラムに特化したVMを作れるような仕組みを研究開発している.研究代表者と分担者らがサーバサイドJavaScript処理系として開発してきたJavaScript仮想機械(VM)とコンパイラをもとにして,(1)VMの仕様からプログラムに特化したVMのインタプリタを合成する仕組の開発,(2)ガベージコレクション(GC)等の機能のモジュール化を行う計画である.平成29年度の成果は次のとおりである.
(1)平成28年度に行ったDSLで記述されたVMの仕様からインタプリタを生成するツールの試作の経験を基にして,実用に耐えうるVM自動生成ツールを設計し実装した.具体的にはアプリケーションが利用するデータ型を指定し,それに基づき最適化された型ディスパッチコードを自動生成する仕組みを実現した.
(2)コピー方式のGCモジュールを実装し,既存のマークスイープ方式と選択可能にした.オブジェクトを移動する仕組みを導入することにより,世代別GCの実現に向けて道筋を付けた.
(3)コンパイラにコード最適化機構を実装した.定数伝播などの一般的な最適化に加えて,JavaScript特有のarguments配列の削減や引数やローカル変数をレジスタに割り付ける最適化を実現した.
(4)今後の信頼性の高いGCの開発に備えて,ARMのような弱いメモリモデルでGCのモデル検査をするためのライブラリを開発した.

Current Status of Research Progress
Current Status of Research Progress

1: Research has progressed more than it was originally planned.

Reason

平成29年度に計画していた3つの課題に対して,以下のような進捗が得られている.
(1) VMの自動生成機構に関してはユーザによる型割り当て情報,各命令に与えられる型情報から最適化されたVMソースコードを自動的に生成するフレームワークを実現した.この成果は定評ある国際会議に採択された.
(2) GCと通信機構のモジュール化に関しては,GCについていくつかのアルゴリズムを実装したモジュールを提供し選択可能とする仕組みを達成した.
(3) コンパイラに関しては,研究実績の概要で述べたような最適化機構を実装した.モデル検査に関しても,弱いメモリモデルでのGCの振舞いを検証し,広く知られているGCに誤りを発見した.その成果は一流の国際会議OOPSLA2017で発表した.また,モデル検査をするためのライブラリを開発し,その論文は英文論文誌に採択された.

Strategy for Future Research Activity

平成30年度は本研究のまとめとして以下の課題にとりくみ,これらの成果を総括し,論文を投稿する.
(1)ユーザによる型定義情報から生成されるコードをさらに洗練するとともに,この機構を型変換関数やGC,組込み関数など,型に依存した振舞いをする仮想機械のモジュールに広く適用する.
(2)オブジェクトのコンパクトな表現を開発して,仮想機械本体だけでなくアプリケーションが使うデータの占めるメモリも削減する.
(3)実用的なIoTデバイス上で利用できるフレームワークを開発し,本研究課題において開発した成果の効果を,実機上で総合的に検証する.

Causes of Carryover

主要な研究成果である,仮想機械の自動生成に関する論文が国際会議に採択された.しかし,開催が年度を越えた2018年4月であるため,今年度の旅費の一部を翌年度に使用することにした.翌年度分として請求した助成金の使用計画には変更はない.

  • Research Products

    (10 results)

All 2018 2017 Other

All Journal Article (2 results) (of which Peer Reviewed: 2 results,  Open Access: 2 results) Presentation (7 results) (of which Int'l Joint Research: 3 results) Remarks (1 results)

  • [Journal Article] Improvement of a Library for Model Checking under Weakly Ordered Memory Model with SPIN2018

    • Author(s)
      Kosuke Matsumoto, Tomoharu Ugawa, Tatsuya Abe
    • Journal Title

      Journal of Information Processing

      Volume: 26 Pages: 314-326

    • DOI

      https://doi.org/10.2197/ipsjjip.26.314

    • Peer Reviewed / Open Access
  • [Journal Article] Model checking copy phases of concurrent copying garbage collection with various memory models2017

    • Author(s)
      Ugawa Tomoharu、Abe Tatsuya、Maeda Toshiyuki
    • Journal Title

      Proceedings of the ACM on Programming Languages

      Volume: 1 Pages: 1~26

    • DOI

      10.1145/3133877

    • Peer Reviewed / Open Access
  • [Presentation] 言語仮想機械におけるカスタマイズ可能なごみ集めモジュールの実装2018

    • Author(s)
      赤澤 亮弥, 鵜川 始陽, 岩﨑 英哉
    • Organizer
      第20回プログラミングおよびプログラミング言語ワークショップ(PPL2018)
  • [Presentation] SPIN用メモリモデルライブラリmmlibを使った並行コピーGCのモデル検査2018

    • Author(s)
      飯干 寛幸, 松元 稿如, 鵜川 始陽
    • Organizer
      第20回プログラミングおよびプログラミング言語ワークショップ(PPL2018)
  • [Presentation] argumentsオブジェクトに着目したJavaScriptコンパイラの最適化2018

    • Author(s)
      野中智矢,片岡崇史,鵜川始陽,岩崎英哉
    • Organizer
      第59回プログラミング・シンポジウム
  • [Presentation] Model checking copy phases of concurrent copying garbage collection with various memory models2017

    • Author(s)
      Ugawa Tomoharu、Abe Tatsuya、Maeda Toshiyuki
    • Organizer
      ACM SPLASH 2017 OOPSLA
    • Int'l Joint Research
  • [Presentation] Generating Type-Based Dispatching Code for Intermediate Language Interpreter of Dynamic Typed Languages2017

    • Author(s)
      Takafumi Kataoka, Tomoharu Ugawa, Hideya Iwasaki
    • Organizer
      15th Asian Symposium on Programming Languages and Systems (APLAS 2017)
    • Int'l Joint Research
  • [Presentation] Modelling Acquire and Release Fences for Promela Models of TSO and PSO Using Store Buffers2017

    • Author(s)
      Kosuke Matsumoto, Tomoharu Ugawa
    • Organizer
      15th Asian Symposium on Programming Languages and Systems (APLAS 2017)
    • Int'l Joint Research
  • [Presentation] 組み込みシステム用JavaScript仮想機械におけるRaspberryPiを制御する組み込み関数の実装2017

    • Author(s)
      大石孝史,鵜川始陽
    • Organizer
      平成29年度電気関係学会四国支部連合大会
  • [Remarks] eJS: 組込みシステム向けJavaScript処理系

    • URL

      http://pl.info.kochi-tech.ac.jp/index.php/page-347/

URL: 

Published: 2018-12-17  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi