著者
加藤 弘之 胡 振江 日高 宗一郎 松田 一孝
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.31, no.2, pp.2_44-2_56, 2014-04-24 (Released:2014-06-24)

双方向変換とは,ソースデータをターゲットデータに変換した後,ターゲットデータ上の更新をソースデータに反映させることが可能な計算の枠組みのことである.双方向変換の考え方は,古くはデータベース分野におけるビュー更新問題として扱われてきたが,近年は新しいプログラミングモデルと進化的ソフトウエア開発の手法として注目を浴び,プログラミング言語の観点から様々な双方向変換言語が提案されてきた.この解説論文は,会話の形で,プログラミング言語,ソフトウェア工学,データベースの視点から,双方向変換の歴史,基本原理,実践,応用,そして今後の課題について概説する.
著者
松田 一孝 胡 振江 中野 圭介 浜名 誠 武市 正人
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.26, no.2, pp.2_56-2_75, 2009-04-24 (Released:2009-06-24)

双方向変換は,元のデータの一部を抽出し加工する順方向変換と,順方向変換で得られたデータに対する変更を元データに書き戻す逆方向変換の二つの変換から構成される.双方向変換を用いることで,XML文書の同期や相互変換を行える.さらには,双方向変換はプレゼンテーション指向の文書作成やソフトウェアエンジニアリングにも利用できる.著者らは2007年に,順方向変換を記述するプログラムが与えられたときに自動的に逆方向変換を得る系統的な手法を提案した.しかし,そこで扱われている順方向のプログラムは制限が強く,制限の一つとして変数を二度以上使用することが禁止されていたため,複製を含む変換は記述できなかった.そこで本論文では,前手法を拡張し,複製を含むプログラムにおいても自動的に逆方向変換を得る手法を提案する.
著者
松田 一孝
雑誌
情報処理
巻号頁・発行日
vol.56, no.02, pp.200-201, 2015-01-15

今後の方向性などについて述べる.
著者
松田 一孝 大川 徳之 野村 芳明 森田 直幸 筧 一彦 胡振江 武市 正人
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.47, no.2, pp.84-98, 2006-02-15

ファイルの操作において,ショートカットまたはシンボリックリンクといった別名の存在は,しばしばユーザを混乱させる.初心者にとってファイル実体と別名との区別は難しい,たとえば通常のファイルマネージャでは,ファイル実体を削除してもそれを指し示している別名は消えずに残り,逆に別名を削除しただけではファイル実体は削除されない.そこで,我々はファイルへの参照すべてを対称かつ統一的に抽象化して扱うファイルマネージャを,木上の双方向変換の技術を用いて実現する.我々のファイルマネージャの上では,1 つのファイルへの複数の参照は互いに同期されており,1 つを変更すると必ず同期された別の部分に伝播される.たとえば,1 つをディレクトリ木から削除すると残りも削除される.さらに,双方向変換を利用することにより,ディレクトリ木からの情報を抽出し操作して表示するなどのディレクトリ木の"見せ方" を抽象化および拡張でき,またその"見せ方"自体も変更することができる.このような"見せ方" の操作やファイル木に対する編集操作は,GUIを通して対話的に実行することができる.本論文では,この木上の双方向変換を利用したファイルマネージャの設計とその実装とを示す.File management is sometimes confusing due to the difference between files and their shortcuts (or symbolic links). While deleting shortcuts to a file can leave the file entity as it is, deleting a file entity may lead to dangling shortcuts. To resolve this problem, we apply the technique of bidirectional tree transformations to design and implement a new file manager which can treat file references in a symmetric and uniform way. This file manager is unique in its synchronization mechanism which eliminates the confusing difference of file references. Plural file references are synchronized, and changes applied on one reference will propagate to the others. For example, if one of the synchronized file references is deleted, the rest are also deleted automatically. This synchronization mechanism can be efficiently implemented based on bidirectional tree transformations. In this paper, we show the design and the implementation of our file manager. The interactive graphical user interface of our file manager enables us to manipulate file references easily, in which bidirectional tree transformations can produce complicated dependency.