双方向変換は異なる種類の複数データ間の同期を可能とし,プログラミング言語,ソフトウェア工学,データベースなど様々な分野で注目を集めている.言語に基づく双方向変換の実装,すなわち双方向プログラミング言語の研究は双方向変換の基盤技術の一つであり,本研究課題は,一方向プログラミングと双方向プログラミングの技術を融合させ,記述性と表現力の高い双方向プログラミング言語の設計を目指すものである.
令和3年度では,双方向変換プログラムの合成に関する論文が,本分野のトップレベル会議の一つである OOPSLA 2021に採択された.双方向プログラミングには双方向の動作をユーザが考慮する必要があるという本質的な難しさがあるため,動作例から双方向プログラムを合成できれば便利である.本研究のポイントの一つは,合成の対象言語であるHOBiTの特徴を活用したことにある.HOBiTは本研究課題の着想の元なったプログラミング言語であり,双方向変換を通常の関数として表現することにより,一方向のプログラミングの技術を双方向プログラミングに応用することを可能としている.その結果,HOBiTでは多くの双方向変換を対応する順方向のプログラムに近い形で記述することが可能となっている.そこで,この研究では,スケッチ(プログラムの概形)を利用したプログラム合成の流れを組み,順方向の通常のプログラムをスケッチとして用いることにより,逆方向動作例から双方向プログラムを効果的に合成する.本論文は当時の指導学生およびブリストル大との共同研究の成果であり,指導学生が特に中心的な役割を果たしたものである.
|