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

2015 Fiscal Year Annual Research Report

ML系多相型言語SML#の実用化技術に関する基礎研究

Research Project

Project/Area Number 25280019
Research InstitutionTohoku University

Principal Investigator

大堀 淳  東北大学, 電気通信研究所, 教授 (60252532)

Co-Investigator(Kenkyū-buntansha) 上野 雄大  東北大学, 電気通信研究所, 助教 (60551554)
Project Period (FY) 2013-04-01 – 2018-03-31
KeywordsSML# / コンパイラ / 実装方式 / 最適化 / コード分析
Outline of Annual Research Achievements

本研究の目的を達成する上での具体的な目標は以下の通りである.(1) 効率よいコード生成システム.効率良いコードを生成可能にする方式の開発および汎用のコード生成システムであるLLVMバックエンドの開発する. (2)コンパイラの高速化技術.関数型言語で書かれたコンパイラの特性の分析を通じて,コンパイル時間の大幅な短縮を実現する技術を開発する. (3)実行時コード分析.コンパイラが行う各中間言語の変換過程を,意味と型ばかりでなく,位置情報をも保存する変換として洗練することによって,実行コード分析の枠組みを構築する. (4) ソースコード分析と可視化.ソースコード間の依存関係を表現する方式を構築し,大規模システムのソースコード分析の枠組みを構築する.(5) 高信頼WEBフレームワーク.ML系高信頼言語でWEBアプリケーションを効率よく開発するためのフレームワークの型理論と実装技術を構築する.この最後の項目は,本研究の成果の社会展開を意図し,昨年度からあらたに追加したものである.
これら課題の中で,平成27年度は主に,(1)に関しては,LLVM バックエンドの完成度をさらに高め,LLVMの汎用のコード生成システムの機能を活かし64ビットアーキテクチャ向けのバックエンドを完成させた.さらに新たに,並行ゴミ集め(GC)を完成させ,マルチコア上のネイティブスレッドサポートを実現するコンパイラを完成させSML#3.0.0版としてリリースした.また,(2),(3),(4)に関しては,昨年に引き続き,外部関数の並列実行に関する性能評価やコード可視化ツールに関する研究を行った.(5) WEBアプリケーションにとって必須の機能である外部とのデータ交換に関しては,JSON データをML系関数型言語から型安全かつ高水準に扱う機能の型理論とコンパイル方式を開発することに成功した.

Current Status of Research Progress
Current Status of Research Progress

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

Reason

上項目に記載のとおり,並行GCおよびマルチコア上のネイティブスレッドサポートを含む64ビットアーキテクチャ向けのLLVMバックエンドおよび実行時処理系を完成させ,SML#3.0.0版をリリースできた.ML系高信頼言語におけるオブジェクトを動かさない並行GCは,世界的にも新規性の高い機能であり,それらを装備した実用的なコンパイラをリリースできた成果は,特筆すべきものと考える.さらに,昨年度から新たに開始したWEBアプリケーションフレームワークの研究開発のおいても,JSON データの扱いに関する世界的にも新規性ある方式を確立できた.これらは当初期待した成果を超えるものであり,全体として,想定以上の進捗を達成していると言える.

Strategy for Future Research Activity

今後,これらの研究を一層加速する.平成28年度は,具体的には,以下の研究を遂行する.
(1) 平成27年度に完成させたLLVMバックエンドと実行時処理系を基礎に,並行GC下のマルチスレッドプログラムをもターゲットとし,コンパイラの中間言語を系統的に取り扱う理論の構築を行う.
(2) 前年度に引き続き,外部関数呼び出しの最適化に関する研究開発を行う.
(3),(4) 平成27年度の成果である並行GCおよびネイティブマルチスレッド機能をも含むプログラムに関するプロファイルおよび可視化に関する研究を開始する.
(5) WEBアプリケーションフレームワークに関しては,昨年度に構築したJSONを宣言的に扱う機能を完成させ,この機能を取り入れたSML#コンパイラのリリースを目指す.さらに,これら機能を基礎に,より堅牢なWEBアプリケーション構築に資する理論と方式の研究開発を推進する.

Causes of Carryover

年度当初の予定では,可視化やプロファイラ等のツール開発等のプログラミング補助等の目的での人件費等を支出する予定であったが,本年度は難易度の高いLLVMバックエンド等の開発に注力しツール等開発補助の支出を見送ったため.

Expenditure Plan for Carryover Budget

次年度以降,上記ツール等の開発のためのプログラミング補助等の目的で有効に使用する予定である.

  • Research Products

    (7 results)

All 2016 2015 Other

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Acknowledgement Compliant: 1 results) Presentation (5 results) (of which Int'l Joint Research: 1 results,  Invited: 1 results) Remarks (1 results)

  • [Journal Article] A Type Safe Access to Key-value Stores from Functional Languages2016

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Journal Title

      Journal of Information Processing

      Volume: 24 Pages: 141-151

    • DOI

      http://doi.org/10.2197/ipsjjip.24.141

    • Peer Reviewed / Acknowledgement Compliant
  • [Presentation] 関数型と組型がネストした型を持つ変数を含んだ式の自動生成手法2016

    • Author(s)
      新田祐児, 上野雄大, 大堀淳
    • Organizer
      情報処理学会プログラミング研究会 第108回プログラミング研究発表会
    • Place of Presentation
      東京大学(東京都目黒区)
    • Year and Date
      2016-02-28 – 2016-02-28
  • [Presentation] コンパイラ実装言語で中間表現データ構造を記述するための言語機構2016

    • Author(s)
      田畑憲太, 上野雄大, 大堀淳
    • Organizer
      情報処理学会プログラミング研究会 第108回プログラミング研究発表会
    • Place of Presentation
      東京大学(東京都目黒区)
    • Year and Date
      2016-02-28 – 2016-02-28
  • [Presentation] The SML# compiler backend: compiling ML to C-compatible low-level code2015

    • Author(s)
      Katsuhiro Ueno
    • Organizer
      Syntax and Semantics of Low-Level Languages (LOLA 2015)
    • Place of Presentation
      Kyoto University(京都府京都市)
    • Year and Date
      2015-07-05 – 2015-07-05
    • Int'l Joint Research / Invited
  • [Presentation] 関数型言語からキーバリューストアへの型安全なアクセス機構2015

    • Author(s)
      上野雄大, 大堀淳
    • Organizer
      情報処理学会 第104回プログラミング研究発表会
    • Place of Presentation
      富山県教育文化会館(富山県富山市)
    • Year and Date
      2015-06-05 – 2015-06-05
  • [Presentation] 関数型言語による高水準なWebアプリケーション開発環境2015

    • Author(s)
      逢坂美冬, 菊地大介, 上野雄大, 大堀淳, 佐々木加奈子
    • Organizer
      情報処理学会 第104回プログラミング研究発表会
    • Place of Presentation
      富山県教育文化会館(富山県富山市)
    • Year and Date
      2015-06-05 – 2015-06-05
  • [Remarks] SML#プロジェクト

    • URL

      http://www.pllab.riec.tohoku.ac.jp/smlsharp/ja/

URL: 

Published: 2017-01-06  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi