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

2016 年度 実績報告書

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

研究課題

研究課題/領域番号 25280019
研究機関東北大学

研究代表者

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

研究分担者 上野 雄大  東北大学, 電気通信研究所, 准教授 (60551554)
研究期間 (年度) 2013-04-01 – 2018-03-31
キーワードSML# / コンパイラ / 実装方式 / 最適化 / コード分析
研究実績の概要

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

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

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

理由

上項目に記載のとおり,並行GCの研究を完成させ関数型言語のトップコンファレンスICFPでの発表を実現できた.このML系高信頼言語における本格的な並行GCの実現は,世界的にも新規性の高い機能である.また,27年度から新たに開始したWEBアプリケーションフレームワークの研究開発においても,世界的にも新規性あるJSONデータの型安全な処理方式の研究を完成し,オブジェクト指向プログラミングのトップコンファレンスECOOP2016にての発表が実現できた.これらは当初期待した以上の成果であり全体として,想定以上の進捗を達成していると言える.

今後の研究の推進方策

今後,これらの研究を引き続き推進する.平成29年度の具体的な計画は以下の通りである.
(1) 平成28年度の完成させた並行GCを基礎とし,軽量な超並列スレッド機能を実現する実行時システムおよび超並列プログラミングのための言語機能の構築を行う.
(2),(3),(4) 前年度に引き続き,外部関数呼び出しの最適化に関する研究開発,ネイティブマルチスレッド機能をも含むプログラムに関するプロファイルおよび可視化に関する研究を行う.
(5) WEBアプリケーションフレームワークに関しては,昨年度に構築した自然結合の型システムを基礎に,自然結合を言語レベルでサポートするための操作的意味論とそのコンパイル方式を構築し,自然結合機能をSML#コンパイラに取り入れリリースを目指す.さらに,これら機能を基礎に,より堅牢なWEBアプリケーション構築に資する理論と方式の研究開発を推進する.

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

年度当初の予定では,コンパイラの拡張の実現に関わるソフトウェア開発費等のための人件費等を支出する予定であったが,本年度はそれら開発の基盤となるコンパイル方式や実装技術の開発に注力しそれら開発に関する支出を見送ったため.

次年度使用額の使用計画

次年度以降,コンパイラの拡張を実現するためのソフトウェア開発費用や人件費等の目的で有効に使用する予定である.

  • 研究成果

    (10件)

すべて 2016 その他

すべて 雑誌論文 (1件) (うち査読あり 1件、 謝辞記載あり 1件) 学会発表 (8件) (うち国際学会 3件) 備考 (1件)

  • [雑誌論文] A foreign language interface from ML to shell2016

    • 著者名/発表者名
      Katsuhiro Ueno, Atsushi Ohori
    • 雑誌名

      New Generation Computing

      巻: 34 ページ: 239-256

    • DOI

      10.1007/s00354-016-0303-1

    • 査読あり / 謝辞記載あり
  • [学会発表] SML# with Natural Join2016

    • 著者名/発表者名
      Tomohiro Sasaki, Katsuhiro Ueno, Atsushi Ohori
    • 学会等名
      ACM SIGPLAN Workshop on ML
    • 発表場所
      Nara, Japan
    • 年月日
      2016-09-22 – 2016-09-22
    • 国際学会
  • [学会発表] A Fully Concurrent Garbage Collector for Functional Programs on Multicore Processors2016

    • 著者名/発表者名
      Katsuhiro Ueno, Atsushi Ohori
    • 学会等名
      Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016), pp. 421-433, DOI:10.1145/3022670.2951944
    • 発表場所
      奈良
    • 年月日
      2016-09-21 – 2016-09-21
    • 国際学会
  • [学会発表] SML#のよりシームレスな外部関数インターフェースの実現に向けて2016

    • 著者名/発表者名
      佐藤友昭, 上野雄大, 大堀淳
    • 学会等名
      日本ソフトウェア科学会 第33回大会
    • 発表場所
      東北大学電気通信研究所
    • 年月日
      2016-09-09 – 2016-09-09
  • [学会発表] 自然結合制約を含む型推論アルゴリズムの実装方式2016

    • 著者名/発表者名
      佐々木智啓, 上野雄大, 大堀淳
    • 学会等名
      日本ソフトウェア科学会 第33回大会
    • 発表場所
      東北大学電気通信研究所
    • 年月日
      2016-09-08 – 2016-09-08
  • [学会発表] SML#によるVertex-centricプログラミングに向けて2016

    • 著者名/発表者名
      美馬久行, 上野雄大, 大堀淳
    • 学会等名
      日本ソフトウェア科学会 第33回大会
    • 発表場所
      東北大学電気通信研究所
    • 年月日
      2016-09-07 – 2016-09-07
  • [学会発表] 部分動的レコードを活用した型付きテンプレートエンジンの試作2016

    • 著者名/発表者名
      逢坂美冬, 上野雄大, 大堀淳
    • 学会等名
      日本ソフトウェア科学会 第33回大会
    • 発表場所
      東北大学電気通信研究所
    • 年月日
      2016-09-07 – 2016-09-07
  • [学会発表] OSを関数型言語のみで開発するための検討と試作2016

    • 著者名/発表者名
      徳永航平, 上野雄大, 大堀淳
    • 学会等名
      日本ソフトウェア科学会 第33回大会
    • 発表場所
      東北大学電気通信研究所
    • 年月日
      2016-09-07 – 2016-09-07
  • [学会発表] A Calculus with Partially Dynamic Records for Typeful Manipulation of JSON Objects2016

    • 著者名/発表者名
      Atsushi Ohori, Katsuhiro Ueno, Tomohiro Sasaki, Daisuke Kikuchi
    • 学会等名
      Proceedings of the 30th European Conference on Object-Oriented Programming (ECOOP 2016), pp.18:1--18:25, DOI:10.4230/LIPIcs.ECOOP.2016.18
    • 発表場所
      Rome, Italy
    • 年月日
      2016-07-21 – 2016-07-21
    • 国際学会
  • [備考] SML#プロジェクト

    • URL

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

URL: 

公開日: 2018-01-16  

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

Powered by NII kakenhi