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

一方向プログラミングと双方向プログラミングの融合

研究課題

研究課題/領域番号 19K11892
研究種目

基盤研究(C)

配分区分基金
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関東北大学

研究代表者

松田 一孝  東北大学, 情報科学研究科, 准教授 (10583627)

研究期間 (年度) 2019-04-01 – 2023-03-31
研究課題ステータス 中途終了 (2022年度)
配分額 *注記
4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2022年度: 390千円 (直接経費: 300千円、間接経費: 90千円)
2021年度: 1,170千円 (直接経費: 900千円、間接経費: 270千円)
2020年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2019年度: 2,080千円 (直接経費: 1,600千円、間接経費: 480千円)
キーワードプログラミング言語 / 関数プログラミング / 領域特化言語 / 双方向変換 / プログラム合成 / 可逆計算 / 可逆プログラミング / 線形型システム / 型推論 / 双方向プログラミング
研究開始時の研究の概要

双方向変換は異なる種類の複数データ間の同期を可能とし,プログラミング言語,ソフトウェア工学,データベースなど様々な分野で注目を集めている.言語に基づく双方向変換の実装,すなわち双方向プログラミング言語の研究は双方向変換の基盤技術の一つであり,現在もなお盛んに研究されている.そうした中,双方向変換プログラミング言語の記述性と表現力は重要な課題である.

本研究では,(高階関数プログラミング等の)一方向のプログラミング技術と,双方向のプログラミング技術を融合させることが可能な言語を設計・実装することにより,この課題の解決を目指す.

研究成果の概要

双方向変換は異なる種類の複数データ間の同期を可能にし,プログラミング言語やソフトウェア工学等の様々な分野で注目を集めている.
本プロジェクトでは主に,双方向変換の記述のためのプログラミング言語に関する二つの成果を得た.一つ目は高階関数型部分可逆プログラミング言語のSparclの設計・実装である.この言語では可逆性を保証したまま一方向の処理と可逆な処理を組み合せることが可能であり,結果,辞書式圧縮等をより自然な形で記述することを可能とする.もう一つは双方向変換合成システムSymbitの設計・実装である.このシステムは,通常の一方向プログラムと逆方向の入出力例から双方向プログラムを効果的に合成する.

研究成果の学術的意義や社会的意義

双方向変換は,データベースにおけるビュー更新,GUI/Webアプリケーション作成,アンドゥ/リドゥ機能の実装や,相互変換処理の作成等,ソフトウェア開発における様々な応用を持つ.そのためプログラミング言語分野のみならず様々な分野で注目を集めているのは前述の通りである.本プロジェクトの成果は双方向プログラミング言語に関する基盤技術に関わるものであり,変換の記述をより容易にする.このことは,ひいては上記のような双方向変換を利用するソフトウェアの生産性の向上につながる.

報告書

(4件)
  • 2022 研究成果報告書 ( PDF )
  • 2021 実績報告書
  • 2020 実施状況報告書
  • 2019 実施状況報告書
  • 研究成果

    (19件)

すべて 2022 2021 2020 その他

すべて 国際共同研究 (3件) 雑誌論文 (3件) (うち国際共著 2件、 査読あり 3件、 オープンアクセス 2件) 学会発表 (4件) (うち国際学会 1件、 招待講演 1件) 備考 (9件)

  • [国際共同研究] University of Bristol(英国)

    • 関連する報告書
      2021 実績報告書
  • [国際共同研究] University of Bristol(英国)

    • 関連する報告書
      2020 実施状況報告書
  • [国際共同研究] University of Bristol(英国)

    • 関連する報告書
      2019 実施状況報告書
  • [雑誌論文] Synbit: synthesizing bidirectional programs using unidirectional sketches2021

    • 著者名/発表者名
      Yamaguchi Masaomi、Matsuda Kazutaka、David Cristina、Wang Meng
    • 雑誌名

      Proceedings of the ACM on Programming Languages

      巻: 5 号: OOPSLA ページ: 1-31

    • DOI

      10.1145/3485482

    • 関連する報告書
      2021 実績報告書
    • 査読あり / オープンアクセス / 国際共著
  • [雑誌論文] Sparcl: a language for partially-invertible computation2020

    • 著者名/発表者名
      Matsuda Kazutaka、Wang Meng
    • 雑誌名

      Proceedings of the ACM on Programming Languages

      巻: 4 号: ICFP ページ: 1-31

    • DOI

      10.1145/3409000

    • 関連する報告書
      2020 実施状況報告書
    • 査読あり / オープンアクセス / 国際共著
  • [雑誌論文] Modular Inference of Linear Types for Multiplicity-Annotated Arrows2020

    • 著者名/発表者名
      Kazutaka Matsuda
    • 雑誌名

      Programming Languages and Systems - 29th European Symposium on Programming

      巻: なし ページ: 456-483

    • DOI

      10.1007/978-3-030-44914-8_17

    • ISBN
      9783030449131, 9783030449148
    • 関連する報告書
      2019 実施状況報告書
    • 査読あり
  • [学会発表] Synbit: synthesizing bidirectional programs using unidirectional sketches2022

    • 著者名/発表者名
      Yamaguchi Masaomi、Matsuda Kazutaka、David Cristina、Wang Meng
    • 学会等名
      第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022)
    • 関連する報告書
      2021 実績報告書
  • [学会発表] Sparcl: A Language for Partially-Invertible Computation2021

    • 著者名/発表者名
      Kazutaka Matsuda and Meng Wang
    • 学会等名
      プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2020 実施状況報告書
  • [学会発表] High-Level Language for Bidirectional Transformations: Experiences and Future Directions2020

    • 著者名/発表者名
      Kazutaka Matsuda
    • 学会等名
      SFDI2020: Fourth Workshop on Software Foundations for Data Interoperability
    • 関連する報告書
      2020 実施状況報告書
    • 国際学会 / 招待講演
  • [学会発表] Modular Inference of Linear Types for Multiplicity-Annotated Arrows2020

    • 著者名/発表者名
      Kazutaka Matsuda
    • 学会等名
      日本ソフトウェア科学会第37回大会,トップカンファレンス特別講演
    • 関連する報告書
      2020 実施状況報告書
  • [備考] 本研究に関連の深い国際共同研究プロジェクトおよびその成果をまとめたウェブページ

    • URL

      https://bx-lang.github.io/EXHIBIT/

    • 関連する報告書
      2021 実績報告書 2020 実施状況報告書
  • [備考] 双方向プログラム合成システムSynbitの実装

    • URL

      https://github.com/masaomi-yamaguchi/synbit

    • 関連する報告書
      2021 実績報告書
  • [備考] Synbitのデモページ

    • URL

      http://www2.sf.ecei.tohoku.ac.jp/~kztk/SynbitDemo/

    • 関連する報告書
      2021 実績報告書
  • [備考] 研究代表者のWebページ

    • URL

      http://www2.sf.ecei.tohoku.ac.jp/~kztk/

    • 関連する報告書
      2021 実績報告書
  • [備考] 可逆プログラミング言語Sparclの実装

    • URL

      https://github.com/kztk-m/sparcl

    • 関連する報告書
      2020 実施状況報告書
  • [備考] 可逆プログラミング言語Sparclに関するいくつかの性質のAgdaによる形式化

    • URL

      https://github.com/kztk-m/sparcl-agda

    • 関連する報告書
      2020 実施状況報告書
  • [備考] 本研究に関連の深い国際共同研究プロジェクトおよびその成果をまとめたウェブページ

    • URL

      https://mengwangoxf.github.io/EXHIBIT/

    • 関連する報告書
      2019 実施状況報告書
  • [備考] 本報告書で言及した型推論器およびそれを用いた可逆プログラミング言語の実装

    • URL

      https://bitbucket.org/kztk/partially-reversible-lang-impl/

    • 関連する報告書
      2019 実施状況報告書
  • [備考] ESOP 2020論文のフルバージョン

    • URL

      https://arxiv.org/abs/1911.00268

    • 関連する報告書
      2019 実施状況報告書

URL: 

公開日: 2019-04-18   更新日: 2024-01-30  

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

Powered by NII kakenhi