• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2017 年度 実施状況報告書

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

研究課題

研究課題/領域番号 16K00103
研究機関高知工科大学

研究代表者

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

研究分担者 岩崎 英哉  電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
研究期間 (年度) 2016-04-01 – 2019-03-31
キーワード仮想機械 / 組込みシステム / ガベージコレクション / モデル検査 / コンパイラ
研究実績の概要

本研究の目的は,組み込みシステムで動作する高性能な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のモデル検査をするためのライブラリを開発した.

現在までの達成度 (区分)
現在までの達成度 (区分)

1: 当初の計画以上に進展している

理由

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

今後の研究の推進方策

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

次年度使用額が生じた理由

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

  • 研究成果

    (10件)

すべて 2018 2017 その他

すべて 雑誌論文 (2件) (うち査読あり 2件、 オープンアクセス 2件) 学会発表 (7件) (うち国際学会 3件) 備考 (1件)

  • [雑誌論文] Improvement of a Library for Model Checking under Weakly Ordered Memory Model with SPIN2018

    • 著者名/発表者名
      Kosuke Matsumoto, Tomoharu Ugawa, Tatsuya Abe
    • 雑誌名

      Journal of Information Processing

      巻: 26 ページ: 314-326

    • DOI

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

    • 査読あり / オープンアクセス
  • [雑誌論文] Model checking copy phases of concurrent copying garbage collection with various memory models2017

    • 著者名/発表者名
      Ugawa Tomoharu、Abe Tatsuya、Maeda Toshiyuki
    • 雑誌名

      Proceedings of the ACM on Programming Languages

      巻: 1 ページ: 1~26

    • DOI

      10.1145/3133877

    • 査読あり / オープンアクセス
  • [学会発表] 言語仮想機械におけるカスタマイズ可能なごみ集めモジュールの実装2018

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

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

    • 著者名/発表者名
      野中智矢,片岡崇史,鵜川始陽,岩崎英哉
    • 学会等名
      第59回プログラミング・シンポジウム
  • [学会発表] Model checking copy phases of concurrent copying garbage collection with various memory models2017

    • 著者名/発表者名
      Ugawa Tomoharu、Abe Tatsuya、Maeda Toshiyuki
    • 学会等名
      ACM SPLASH 2017 OOPSLA
    • 国際学会
  • [学会発表] Generating Type-Based Dispatching Code for Intermediate Language Interpreter of Dynamic Typed Languages2017

    • 著者名/発表者名
      Takafumi Kataoka, Tomoharu Ugawa, Hideya Iwasaki
    • 学会等名
      15th Asian Symposium on Programming Languages and Systems (APLAS 2017)
    • 国際学会
  • [学会発表] Modelling Acquire and Release Fences for Promela Models of TSO and PSO Using Store Buffers2017

    • 著者名/発表者名
      Kosuke Matsumoto, Tomoharu Ugawa
    • 学会等名
      15th Asian Symposium on Programming Languages and Systems (APLAS 2017)
    • 国際学会
  • [学会発表] 組み込みシステム用JavaScript仮想機械におけるRaspberryPiを制御する組み込み関数の実装2017

    • 著者名/発表者名
      大石孝史,鵜川始陽
    • 学会等名
      平成29年度電気関係学会四国支部連合大会
  • [備考] eJS: 組込みシステム向けJavaScript処理系

    • URL

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

URL: 

公開日: 2018-12-17  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi