Combining Unidirectional and Bidirectional Programming
Project/Area Number |
19K11892
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Tohoku University |
Principal Investigator |
|
Project Period (FY) |
2019-04-01 – 2023-03-31
|
Project Status |
Discontinued (Fiscal Year 2022)
|
Budget Amount *help |
¥4,550,000 (Direct Cost: ¥3,500,000、Indirect Cost: ¥1,050,000)
Fiscal Year 2022: ¥390,000 (Direct Cost: ¥300,000、Indirect Cost: ¥90,000)
Fiscal Year 2021: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2020: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Fiscal Year 2019: ¥2,080,000 (Direct Cost: ¥1,600,000、Indirect Cost: ¥480,000)
|
Keywords | プログラミング言語 / 関数プログラミング / 領域特化言語 / 双方向変換 / プログラム合成 / 可逆計算 / 可逆プログラミング / 線形型システム / 型推論 / 双方向プログラミング |
Outline of Research at the Start |
双方向変換は異なる種類の複数データ間の同期を可能とし,プログラミング言語,ソフトウェア工学,データベースなど様々な分野で注目を集めている.言語に基づく双方向変換の実装,すなわち双方向プログラミング言語の研究は双方向変換の基盤技術の一つであり,現在もなお盛んに研究されている.そうした中,双方向変換プログラミング言語の記述性と表現力は重要な課題である.
本研究では,(高階関数プログラミング等の)一方向のプログラミング技術と,双方向のプログラミング技術を融合させることが可能な言語を設計・実装することにより,この課題の解決を目指す.
|
Outline of Final Research Achievements |
Bidirectional transformation, which enables synchronization among multiple data in different formats, attracts interest in various research areas, including programming languages and software engineering. The main outcomes of this project are two folds. First, we designed and implemented a higher-order partially-invertible programming language Sparcl. In the language, users can mix irreversible and reversible computations while keeping the reversibility guarantee, which leads to more natural programs for many programs, such as dictionary-based compressions. Second, we realized a bidirectional-transformation synthesis system called Symbit, which effectively synthesizes a bidirectional program from a unidirectional program and input-output examples for its backward behavior.
|
Academic Significance and Societal Importance of the Research Achievements |
双方向変換は,データベースにおけるビュー更新,GUI/Webアプリケーション作成,アンドゥ/リドゥ機能の実装や,相互変換処理の作成等,ソフトウェア開発における様々な応用を持つ.そのためプログラミング言語分野のみならず様々な分野で注目を集めているのは前述の通りである.本プロジェクトの成果は双方向プログラミング言語に関する基盤技術に関わるものであり,変換の記述をより容易にする.このことは,ひいては上記のような双方向変換を利用するソフトウェアの生産性の向上につながる.
|
Report
(4 results)
Research Products
(19 results)