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

2016 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言語処理系 / 仮想機械 / ガベージコレクション / 組込みシステム / JavaScript
Outline of Annual Research Achievements

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

Current Status of Research Progress
Current Status of Research Progress

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

Reason

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

Strategy for Future Research Activity

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

Causes of Carryover

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

Expenditure Plan for Carryover Budget

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

  • Research Products

    (4 results)

All 2017 2016

All Presentation (4 results) (of which Int'l Joint Research: 1 results)

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

    • Author(s)
      片岡崇史, 鵜川始陽, 岩崎英哉
    • Organizer
      第58回プログラミング・シンポジウム
    • Place of Presentation
      ラフォーレ伊東(静岡県伊東市)
    • Year and Date
      2017-01-06 – 2017-01-08
  • [Presentation] メモリモデルを考慮したメモリアクセス命令を提供 するSPIN用ライブラリ2016

    • Author(s)
      松元稿如, 鵜川始陽, 安部達也
    • Organizer
      第23回ソフトウェア工学の基礎ワークショップ (FOSE2016)
    • Place of Presentation
      琴参閣(香川県琴平町)
    • Year and Date
      2016-12-01 – 2016-12-03
  • [Presentation] Reducing State Explosion for Software Model Checking with Relaxed Memory Consistency Models2016

    • Author(s)
      Tatsuya Abe, Tomoharu Ugawa, Toshiyuki Maeda, and Kousuke Matsumoto
    • Organizer
      Symposium on Dependable Software Engineering Theories, Tools and Applications
    • Place of Presentation
      北京, 中国
    • Year and Date
      2016-11-09 – 2016-11-11
    • Int'l Joint Research
  • [Presentation] JavaScript のANTLR 用文法記述のテスト2016

    • Author(s)
      中尾成一, 鵜川始陽
    • Organizer
      電気関係学会四国支部連合大会
    • Place of Presentation
      徳島大学(徳島県徳島市)
    • Year and Date
      2016-09-17 – 2016-09-17

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi