著者
松田 一孝 大川 徳之 野村 芳明 森田 直幸 筧 一彦 胡振江 武市 正人
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(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.