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

2016 年度 実施状況報告書

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

研究課題

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

研究代表者

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

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

本研究の目的は,組み込みシステムで動作する高性能なJavaScript処理系を研究することである.そのために,システム毎にそのシステムで実行されるプログラムに特化したVMを作れるような仕組みを研究開発している.研究代表者と分担者らがサーバサイドJavaScript処理系として開発してきたJavaScript仮想機械(VM)とコンパイラをもとにして,(1)VMの仕様からプログラムに特化したVMのインタプリタを合成する仕組の開発,(2)ガベージコレクション(GC)等の機能のモジュール化を行う計画である.
平成28年度の成果は次のとおりである.まず,プログラムに合わせたデータ型の表現方法を指定して,そのように表現されたデータを扱うインタプリタをVMの仕様から合成する仕組みを試作した.例えば,配列を頻繁に使うプログラムであればポインタに参照先が配列であることを示すタグを付けることで高速化するというようなVMの実装の変更が容易に行える.この成果はプログラミングシンポジウムで発表した.
次に,本研究に利用できるように研究代表者と分担者らが開発してきたJavaScript処理系の整備を行った.その成果の一部は電気関係学会四国支部連合大会で発表した.
また,これまでライブラリに依存していたGCを実装した.実装したGCは単純なマークスイープGCであるが,一時的なオブジェクトを多く使うプログラムのために世代別GCのモジュールを開発するなど,今後の拡張が容易になるようにVMとGCのインタフェースを設計している.
最後に,組み込みシステム向けCPUであるARM等の弱いメモリモデルのCPUで開発したVMが正しく動作することを検証するために,モデル検査器用のライブラリを開発し,弱いメモリモデルを考慮したモデル検査を可能にした.この成果はソフトウェア工学の基礎ワークショップで発表した.

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

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

理由

平成28年度に計画していた4つの研究項目について,(1)IoTデバイスで動作する既存のJavaScript処理系の調査は順調に進んでいる.また,(2)研究代表者と分担者らが開発してきたJavaScript処理系の整備も順調に進んでおり,特に重要と考えていた独自のGCを搭載し,GCライブラリであるlibgcを不要にする改修は完了している.さらに,(3)インタプリタの仕様を記述するドメイン特化言語(DSL)の試作も完了し,計画を前倒ししてDSLからインタプリタを生成するツールの試作も完了している.ただ,(4)メッセージパッシングモデルの通信ライブラリの試作は,他の研究項目に注力したため遅れている.
この他,計画にはなかったが,GCなどアルゴリズムが複雑なVMの主要機能の信頼性と開発効率を高めるためにモデル検査が有用であると考え,ソフトウェアモデル検査のためのライブラリを開発した.
以上より,計画より遅れている項目もあるものの,全体としては計画と同等以上に進展している項目が多く,特に研究の中心的なテーマのひとつである上記(3)が計画を前倒ししているため,計画以上に進展していると判断する.

今後の研究の推進方策

平成29年度は(1)平成28年度に行ったDSLで記述されたVMの仕様からインタプリタを生成するツールの試作の経験を基にして,実用に耐えうるVM自動生成ツールの設計する.DSLで記述できる範囲を拡大し,試作ツールでは対応できていない型ディスパッチ後の処理も,そのVMで実行するプログラムに特化して最適化できるようにする.さらに,そのVMで実行するプログラムのプロファイル結果なども利用して効率のよいコードを生成できるようにする.また(2)GCや通信機能などのモジュールを拡充する.特に世代別GCのモジュールを実装する.これと並行して(3)コンパイラが生成するコードの最適化やVMの実装の改良もすすめる.その際,アルゴリズムの検証が必要になれば,そのために必要なモデル検査関連のツールやライブラリの開発も必要に応じて行う.

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

Skype等のコミュニケーションツールや情報共有ツールを有効活用して打合わせを行ったため,旅費が少なく抑えられた.そのため,来年度の対外発表旅費等として残すこととした.

次年度使用額の使用計画

来年度に予定している成果発表にかかわる旅費,会議参加費などの費用として使用する.

  • 研究成果

    (4件)

すべて 2017 2016

すべて 学会発表 (4件) (うち国際学会 1件)

  • [学会発表] 仮想機械における型ディスパッチャの自動生成2017

    • 著者名/発表者名
      片岡崇史, 鵜川始陽, 岩崎英哉
    • 学会等名
      第58回プログラミング・シンポジウム
    • 発表場所
      ラフォーレ伊東(静岡県伊東市)
    • 年月日
      2017-01-06 – 2017-01-08
  • [学会発表] メモリモデルを考慮したメモリアクセス命令を提供 するSPIN用ライブラリ2016

    • 著者名/発表者名
      松元稿如, 鵜川始陽, 安部達也
    • 学会等名
      第23回ソフトウェア工学の基礎ワークショップ (FOSE2016)
    • 発表場所
      琴参閣(香川県琴平町)
    • 年月日
      2016-12-01 – 2016-12-03
  • [学会発表] Reducing State Explosion for Software Model Checking with Relaxed Memory Consistency Models2016

    • 著者名/発表者名
      Tatsuya Abe, Tomoharu Ugawa, Toshiyuki Maeda, and Kousuke Matsumoto
    • 学会等名
      Symposium on Dependable Software Engineering Theories, Tools and Applications
    • 発表場所
      北京, 中国
    • 年月日
      2016-11-09 – 2016-11-11
    • 国際学会
  • [学会発表] JavaScript のANTLR 用文法記述のテスト2016

    • 著者名/発表者名
      中尾成一, 鵜川始陽
    • 学会等名
      電気関係学会四国支部連合大会
    • 発表場所
      徳島大学(徳島県徳島市)
    • 年月日
      2016-09-17 – 2016-09-17

URL: 

公開日: 2018-01-16  

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

Powered by NII kakenhi