プロジェクト概要
双方向変換の研究とその応用
データベース更新を支援する双方向変換
あるデータベース(ソース)からそれを表示するビューへの変換だけでなく,ビューからソースへの変換も存在するとき,これをソースとビューの間の双方向変換と呼ぶ.ソースとビューの間に双方向変換が与えられているとき,ソース側の更新がビューに反映されるだけでなく,ビュー側の更新もソースに反映される.
プログラマの負担を半減する双方向変換言語
本研究拠点では,主にXMLを対象にした双方向変換を考えており,これまでX/InvおよびBi-Xという2つの言語を提案してきた.これらはいずれもソースからビューへの順方向の変換を定義する言語であり,ビューからソースへの逆方向の変換は自動的に導出されるという大きな特徴を持っている.したがって,プログラマは片方だけを記述・管理すれば十分であり,順方向と逆方向で矛盾したプログラムを書いてしまう心配はなくなる.
どこからでも利用可能な双方向変換サーバの提供
本研究拠点では,双方向変換言語Bi-Xに対し言語処理系サーバの開発を行った.このBi-Xサーバは,順方向および逆方向の変換をWebサービスとして提供するものである.これにより,クライアントにBi-Xの言語処理系をインストールすることなく,双方向変換処理(順方向・逆方向)を自由に行うことができる.なお,逆方向変換では,更新後のXMLソースを求めるために,変更後のビューだけでなく変更前のソースの情報も入力としている.これは,一般にビューがソースよりも情報量が少ないためである.
既存の言語で記述されたプログラムを双方向化
本枠組で扱う双方向言語Bi-Xは,あまりプログラマに馴染みの少ないポイントフリーという形式で記述される言語であるため,直接プログラミングすることは難しい.そこでXQueryやHaXmlで記述された変換からBi-Xプログラムへ自動翻訳する枠組も同時に提供している.
様々な応用の可能性
本枠組は,ジャストシステムから配布されているXMLエディタxfyとの連携も可能である.これによりXHTMLやSVGなどの視覚的な編集を変換元のソースに反映させることができる.また,他の応用例として,ウェブサイト更新機構も開発中である.Bi-Xサーバと連携するJavascriptを埋め込むことにより,任意の端末からページが編集できる.

