Comments
Description
Transcript
双方向変換による 高信頼構造化文書処理
特集 の連携による基盤ソフトウェアの先進的開発 双方向変換 による 高信頼構造化文書処理 武市 正人 *1 *1 東京大学情報理工学系研究科 { 第1 部 } 高 い 生 産 性 を持 つ 産 高 信 頼 ソ フ トウ ェア と 作 成 技 術 の開 発 * 学 6 電子的な構造化文書情報の蓄積と効果的な情報利用技術 Transformation)技術を追究し,それに基づいて高信 頼 XML 文書処理を実現するためのソフトウェアを開発 はインターネットを含む広範な情報の交換・流通にとっ した.特に双方向変換技術に関しては,その基礎となる ● A ● B ● S ● T ● R ● A ● C ● T ● てきわめて重要な位置を占めている.我々は 2003 年 度から 2007 年度までの 5 年間にわたって文部科学省 リーディングプロジェクト e-Society の「高信頼構造 化文書変換技術」を実施し,双方向変換に基づく高信頼 XML 文書処理を実現し,構造化文書処理に信頼性の高 双方向変換言語 Bi-X の設計・開発を中核に置き,高信 頼 XML 文書処理に向けて先進的な手法を開発した. PSD は文書内で相互に依存する項目間の整合性を確 保して文書情報の信頼性を高めることを目指したもので ある.また,双方向変換は構造化文書間の変換の枠組み であり,一方向の変換プログラムを Bi-X 言語で記述す い技術基盤を与えた.そこでは,文書を作成する一般利 れば,対応する逆方向の変換もそのプログラムで実行で 用者と文書処理ソフトウェアの開発者に先進的ツールを きるというものである.これにより,両方向の変換相互 提供することを目指した.本稿では,この研究の基盤と の整合性を保証して信頼性を確保すると同時に,文書変 なっている双方向変換技術の考え方を述べるとともに開 換ソフトウェアの開発効率を高めることができる.すな 発したツールを紹介する. わち,これらの基盤技術は構造化文書処理の信頼性を高 めると同時に,ソフトウェアの生産性を高めるために有 効なものといえる. 高信頼構造化文書処理 本研究の成果として得られたソフトウェアは http:// されるこれまでの技術は,発展の著しい情報環境下で既 www.psdlab.org/ を通じて公開している.なお,本プ ロジェクトで(株)ジャストシステムの XML 開発環境 xfy Client(http://www.xfy.com/jp/)のプラグイン biXfy を開発するにあたっては同社の技術協力を得た. また,プロジェクト期間を通じて同社と XML 文書処理 存技術を拡張してできたものを事実上の標準としている 技術に関する定期的な議論を行った. 電子的な構造化文書情報の蓄積と効果的な情報利用技 術はインターネットを含む広範な情報の交換・流通に とってきわめて重要な位置を占めている.XML に代表 が,その言語的な概念は十分に整理されているわけでは なく,そのような既存技術の使い回しによる姑息な対処 や人手による個別対応が信頼性に欠ける文書情報を蓄積 プログラマブル構造化文書 する一因となっている.我々はこうした問題を解決する プログラマブル構造化文書(PSD)は,文書内で相互 ために,体系的な文書処理技術の基盤を確立して高信頼 に依存する項目間の整合性を確保して文書情報の信頼性 XML 文書処理(Dependable XML Processing)を実現 を高めることを目指したものである.文書内のある部分 することを目的とし,文書処理に信頼性の高い技術基盤 Tar が同一文書の他の部分 Src に依存して決まるという を与えるとともに,文書を作成する一般利用者とソフト 例は,表計算において列のいくつかの数値要素の総和が ウェア開発者に先進的ツールを提供することを目指した. 列の要素から決まることや,書籍の目次が本文の章の題 本研究は 2003 年度から 2007 年度までの 5 年間にわ 目から定まるといったところに見ることができる.PSD たって文部科学省リーディングプロジェクト e-Society の考え方は,このような依存性をプログラム Code に の「高信頼構造化文書変換技術」として実施した.そ よる計算によって表現し,表計算にあるような計算機構 こでは,技術的基盤として,文書内にプログラム記述 を付随させて構造化文書処理を実現しようとするもので を 含 む プ ロ グ ラ マ ブ ル 構 造 化 文 書(Programmable ある(図 -1) . Structured Document, PSD ) の 枠 組 み, お よ び 構 造 化 文 書 処 理 に お け る 双 方 向 変 換(Bidirectional PSD の計算機構では,数値計算だけではなく文書の 一部を結果とするような計算も許容する.具体的には, 情報処理 Vol.49 No.11 Nov. 2008 1265 { 第 一 部} 高 い生 産 性 を持 つ高 信 頼 ソフト ウェア 作 成 技 術 の開 発 特集 学 と 産 の連携による基盤ソフトウェアの先進的開発 fwd Code Code Tar Src Src Src に依存する Tar が Code によって計算され る Src Tar Tar 編集 双方向変換 Tar は Code によって表現され Src から Code によって生成される Src bwd Tar 図 -1 プログラマブル構造化文書 図 -2 双方向変換による構造化文書処理 Tar が Src から Code によって生成されるものとして, 文書中の Tar にあたる部分に Code を埋め込んで PSD 文書を構成する.このような PSD 文書内の Code を記 がある.通常の XML による目次付き文書では,目次に 述するためのプログラミング言語は一般的なものでよ のない文書を作成してしまうことがあり得る.これに対 い.このような文書では,Src の部分に変更が加えられ して,PSD 文書の枠組みでは,本文 Src から章の題目 たときに一時的に項目間の整合性は崩れるが,Code を を抽出する変換 fwd による結果 Tar を目次とすること 再実行することによってその変更が Tar 部分に反映さ によって,本文中の章の題目の変更を目次に反映させて れて整合性を保証した文書を得ることができる. 一貫性のある文書を作ることができる.しかし,このよ 本研究の初期段階には,このような考え方に基づいて うな PSD の枠組みでは文書の一貫性を保持できる反面, いくつかのアプリケーションソフトウェアを開発してそ 編集の自由度が制限されてしまう.たとえば,上のよう の有効性を確かめた.木構造計算シート TreeCalc は, な文書では変換結果である Tar の目次の部分を編集す 表計算シートにおける表セルの代わりに木構造の木ノー ることはできない.これに対して,目次の編集を許す逆 ドを用いて計算を行う対話的なアプリケーションであ 方向の変換 bwd があれば,目次に含まれる章の題目の る.XML を用いた木構造で表されるデータ上の計算を, 変更を本文の章の題目に反映させることができる. 一般の表計算シートのソフトウェアよりも効率よく扱え このように,順方向変換 fwd だけではなく逆方向変 るのが特徴である.TreeCalc では,XML 上の木ノード 換 bwd をも同時に実現する双方向変換は PSD の枠組 の値を計算するために,XML の構造上の位置を参照す みにおいて重要な基盤技術を与えることになる.双方向 る XPath によって他の部分の値を参照して計算するプ 変換は順方向の変換ごとにその逆方向の変換の定義を与 ログラム Code をそのノードに埋め込んで PSD 文書を えることによって実現することができるが,両方向の変 構成している.また,対話的動的文書 iDocument は, 換を矛盾なく維持することは一般には難しい.特に,構 対話的に利用者の入力に基づいて内容が変化する文書で 造化文書処理においては,原文書 Src の情報量を落とす ある.この iDocument は XML 文書の編集操作として ような単射ではない順方向変換 fwd を扱うので,この 利用者の入力を受け取り,それに応じて文書内容を動的 逆方向変換 bwd では,一般の逆関数とは異なり,更新 に作成するプログラム Code を XML 文書内に埋め込む された結果 Tar’だけではなく原文書 Src に関する情報 ことで対話的文書の作成を実現している. も考慮する必要があるからである(図 -2) .双方向変換 これらのアプリケーションの開発を通じて,PSD 文 技術による構造化文書処理の詳細については,文献 1), 書編集を簡便に行うために(株)ジャストシステムの xfy Client にプラグインすることによって機能拡張を行 う一般利用者向けの PSD 文書編集システム biXfy を開 5) を参照されたい. 我々は順方向変換 fwd とともに逆方向変換 bwd を同 時に記述することのできる言語 Bi-X を関数型言語の設 発した. 計方針に基づいて設計した.それによれば,一般の言語 置かれた章の題目と本文中の章の題目は独立した文字列 として表現されるので,それらを個別に変更して一貫性 による順方向変換の記述と同様の記述を Bi-X で与える 双方向変換による構造化文書処理 ことにより,順方向変換に対応する逆方向変換も得るこ 内部に依存関係を持つプログラマブル構造化文書 には順方向と逆方向の意味(セマンティクス)が同時に (PSD)の簡単な例の 1 つに書籍のような目次付き文書 1266 情報処理 Vol.49 No.11 Nov. 2008 とができる.すなわち,言語 Bi-X のプログラム Code 定められているのである. 6. 双方向変換 による高信頼構造化文書処理 本研究では,これらの双方向変換にかかわる基盤技術 をもとにして文書処理システムを開発し,一般利用者 が簡便に XML 文書処理を行うためのプログラマブル文 書編集システム biXfy,および Web サイト編集支援シ ステム Vu-X を公開している.これらはいずれも双方向 変換技術を応用したソフトウェアであるが,一般利用 XML ソース Src 初期変換サービス Bi-X プログラム Code できるものである.一方で,XML 文書処理システムの XML ビュー Tar’ ’ Bi-X サーバ 者はそれを意識することなく,文書の一貫性が保証さ れる信頼性の高い文書処理ツールとして捉えることの XML ソース Src’ Bi-X プログラム Code XML ビュー Tar XML ビュー Tar’ 開発者やプログラマは,biXfy システムによる具体的な 更新変換サービス XML ソース Src アプリケーション設計や Vu-X による Web サイト設計 にあたって双方向変換の知識を活用することができる. Vu-X システムにはプログラマ向けに Bi-X プログラム 図 -3 双方向変換サービス 開発を支援するツールが用意されており,双方向変換技 術を修得しつつプログラムを開発できるようにしてあ る.さらに,各種の XML 文書処理に双方向変換を利用 タフェースを用いて効率的に実行できる Bi-XJ を実装 することができるように,双方向変換 Bi-X サーバも公 している.Bi-XJ ライブラリの Java ソースコードは約 開している.これを用いて双方向変換を利用した広範な 15,000 行である 4). 言語 Bi-X によるプログラムは,通常のプログラミン 文書処理システムを開発することができる. グ言語とは異なり,ポイントフリー形式で記述されるた 双方向変換言語 Bi-X と Bi-X サーバ め,一般のプログラマにとっては Bi-X プログラミング は容易ではない.そこで,XML クエリ言語 XQuery か 言語 Bi-X は双方向変換を記述するための言語である. ら Bi-X への翻訳ツールなどを作成してある. 我々は,関数型言語の設計方針に基づいて言語 Bi-X を このようにして開発された Bi-X プログラムを実行す 開発し,順方向変換を記述するだけで逆方向変換が自動 るための Bi-X サーバを開発した.これは,利用者がイ 的に定義される枠組みを実現した.言語 Bi-X の処理系 ンターネットを経由してどのクライアントからでも双方 は Java ライブラリ Bi-XJ として作成されている. 向変換のサービスを受けることができるようにしたもの 言語 Bi-X は型付きの言語であり,その型は XML で である.また,これを用いると,他の Web サービスな 広く使われている Document Type Definition(DTD) どと連携させて双方向変換を利用した Web アプリケー と同等の表現力を持っている.プログラムの入力となる ションを構築することも容易である 原文書 Src の型と Bi-X プログラム Code が与えられた Bi-X サーバで利用可能な基本的なサービスは初期変 とき,Bi-X インタプリタは順方向変換 fwd による出力 換サービスと更新変換サービスの 2 つである(図 -3). である目的文書(ビュー)Tar の型を推論する.これに 初期変換サービスは原文書ファイル Src(あるいはその より,もし原文書 Src が宣言された型を持つならば,順 ポインタ)と Bi-X プログラム Code を受け取り,Src 方向変換 fwd によって生成されたビュー Tar は推論さ に対して順方向の変換を施した結果(ビュー)Tar を返 れた型を持つことが保証される. また, 更新されたビュー す.更新変換サービスは,原文書ファイル Src と Bi-X Tar’が推論された型を持つならば,逆方向変換 bwd に よって更新された原文書 Src’は宣言された型を持つ. 型推論では Bi-X インタプリタは各構成子に型情報を付 加しており,この型情報は, ビュー Tar を更新してビュー Tar’に新しい要素を挿入する場合に利用される. 言 語 Bi-X の 実 行 を 支 援 す る ラ イ ブ ラ リ Bi-XJ は XML の標準的な内部表現 JDOM に対して Java で実現 したが,Bi-X プログラムでは XML の原文書の変換の際 プログラム Code,および更新されたビュー文書 Tar’ に大量の中間データが生成されて無駄な処理が多くなっ をもとにして,我々は PSD の枠組みに双方向変換技術 てしまうので,部分木の共有を表現できる DOM ライ を適用して,より簡潔にアプリケーションを作成するた ブラリ JDOMX を作成して,JDOM のものと同じイン めのプラットフォームを開発した.そこでは,依存関 3) . を受け取り,逆方向の変換を施して得られる更新後の原 文書ファイル Src’とそれに順方向の変換を施した新し いビュー Tar’ ’の 2 つのデータを返すサービスである. PSD 編集システム biXfy 本研究の初期に試行開発した PSD アプリケーション 情報処理 Vol.49 No.11 Nov. 2008 1267 { 第 一 部} 高 い生 産 性 を持 つ高 信 頼 ソフト ウェア 作 成 技 術 の開 発 特集 学 産 と の連携による基盤ソフトウェアの先進的開発 書を作成するには,まず,想定している XML 文書のス xfy View Designer スキーマデザイン + スキーマへの プログラム埋込み 依存関係記述 スキーマ キーマに合わせて,xfy View Designer を用いて依存 ビュー定義 データ ビューデザイン + 編集 UI の定義 + 変換用コマンド定義 プラグイン Bi-X へ変換 + 依存解析 + Bi-X 合成 関係記述スキーマを作成し,スキーマを満たす XML の ブラウザ上でのレイアウトを定義する.このとき,この スキーマには,XML 文書に対するものに加えてその文 書から抽出などの変換によって派生する文書構造や要 Bi-X プログラム Code 素も含む全体の XML 文書の型の情報をスキーマとして xfy Client ビュー文書 の編集 XML ソース Src XML ビュー 双方向変換 Tar 図 -4 依存関係技術スキーマによる双方向文書作成 定義することになる.xfy View Designer では,さら にブラウザ上で XML 文書に変更を加えるためのインタ フェースや変換用コマンドを呼び出すためのメニューを 定義することができる.XML 文書を xfy Client で開く と, この文書は既定のビュー定義に従って表示されるが, メニューから変換プログラムを生成するコマンドを選ぶ とプラグインが起動し,依存関係記述スキーマから埋め 係を記述するプログラムを XML 文書内ではなく XML 込まれたコードを抽出して個別の Bi-X プログラムに変 Schema の記述内に置き,プログラムを XML 文書のい 換し,さらに参照関係を考慮して適切な順序で対応する くつもの場所に埋め込むことはしないで,このスキーマ 場所に出力する 1 つの Bi-X プログラムを生成する.こ に記述した依存関係から編集操作時に使用する双方向更 うして,もとの XML 文書を双方向変換の原文書 Src と 新コマンドを自動作成することによって,文書更新時の し,その XML 文書とそれから派生した部分を合わせた 項目間の一貫性を確保している.この機構を xfy Client を参照して抽出や並べ換えなどの操作を記述する.この XML 文書全体を目的文書(ビュー)Tar とする変換プ ログラム Code を得る. 双方向変換による編集を行うには,まず,biXfy の メニューから順方向変換を行う Init コマンドを選択し て編集用のビューを作る.すなわち,Bi-X プログラム Code が XML 原文書 Src に対して順方向変換を施して ビュー文書 Tar を生成し,それが View Designer で 定義されたビューに従った表示を得ることになる.xfy Client 上でビュー文書 Tar の既存データ部分または派 ような依存関係記述スキーマを設計したのは,このス 生データ部分に変更を加えると,一時的に一貫性が崩れ キーマに従う XML 文書に対して, スキーマの埋込みコー るが,biXfy メニューから Update コマンドを選択して ド要素に該当する要素として埋込みコードの実行結果 逆方向変換─順方向変換を順に施すことによって XML を置いて PSD 文書を構成することを意図したものであ 原文書 Src に変更を反映させるとともに,一貫性を保っ る.プログラムは XML Schema の annotation 要素内 たビュー文書 Tar が得られる. の appinfo 要素中に記述してスキーマ内に埋め込まれ 公開している biXfy プラグインの付属資料には,注文 る.appinfo 要素は WXS の中でコメントを記述するた 管理システムと図書管理システムの例を添えてある.注 めのものであるが,ここではその情報を依存関係の記述 文管理システムは,顧客からの注文の XML データをデー として利用する.繰返しが定義されている要素定義部分 タベースとして,入荷済み商品,引渡し済み商品等を区 にプログラムを埋め込むと,対応するそれぞれの XML 別して,それぞれの目的に合わせたビュー上で変更を加 要素内に実行結果が出力されるので,XML 文書の要素 えるというアプリケーションである.また,図書管理シ ごとに同様のコードを記述するよりも手間がかからず, ステムは貸出者のデータを含む所蔵図書リストから利用 誤りの入る可能性も低くなる.埋め込まれた XQuery 者別の貸出状況リストを自動生成して,図書の貸借時に のプログラムは単一方向の依存関係を記述しているが, 所蔵図書リスト,あるいは貸出状況リストのいずれかを biXfy ではこれを双方向言語 Bi-X のプログラムに自動 編集すればそれが他方にも反映されるというものである. のプラグインとして機能する biXfy として実装して, xfy が提供するツールと連携した XML 文書編集システ ムを実現している. 依存関係を記述するスキーマは,W3C XML Schema (WXS)に XML 文書内の要素間の依存関係を記述す る XQuery プログラムを埋め込んだものである.その XQuery プログラムでは,パスによって文書内の要素 翻訳して実行するので,逆方向の依存関係も含んだ双方 向の依存関係を定義することになる 2) . 依存関係記述スキーマによる双方向 PSD 文書を作成 する仕組みの概要は図 -4 に示してある.双方向 PSD 文 1268 情報処理 Vol.49 No.11 Nov. 2008 Web サイト編集支援システム Vu-X 一般に Web サイトは複数の Web ページの集合とし 6. 双方向変換 による高信頼構造化文書処理 XML データ クライアント (Web ブラウザ) HTML HTML HTML HTML Bi-X サーバ サーバ Bi-X プログラム HTML 図 -5 双方向変換による Web サイトの構成 Vu-X XML データ 図 -6 Vu-X の構成 て構成され,ページ間の情報の一貫性を保持することは 難しい.これを解決するために,共有の XML データと それを HTML 文書に変換するプログラムを用意するこ とが考えられる.このような,XML-based Publishing と呼ばれる方法は,XML データを更新することによっ てページ間の一貫性を保証しようとするものである.し かし,この方法では XML データベースの中で更新すべ き場所を特定しなければならず,このような操作は必ず しも容易ではない.我々は,このような問題点の解決の ために,図 -5 に示すような方式で,双方向変換に基づ いた XML-based Publishing による Web サイト編集 支援システム Vu-X を開発した 6) . この方式には以下のような特徴がある. • XML データベース Src と双方向変換プログラムによ り Web サイトを構成するので,Web ページ相互の 情報の整合性を保つことができる. • XML データ Src から HTML 文書 Tar への変換 Code を記述するだけで,HTML 文書側の編集結果はもと の XML データに反映される. • 双方向変換ための Bi-X サーバを利用することにより, 図 -7 Vu-X のスクリーンショット 存・管理する通常のファイルサーバに加えて,双方向 変換を実行する Bi-X サーバと Web ページの編集を支 クライアント側には特別なソフトウェアを必要としな 援する Vu-X サーバを利用している.Vu-X サーバは各 いで Web ページを更新することができる. Web ページの内容の更新や Bi-X によるプログラムの • サーバと交信する JavaScript を HTML 文書に付加す ることにより,クライアント側では Web ブラウザ上 で HTML 文書の編集ができる.これにより,特別な アプリケーションがなくても WYSIWYG スタイルで Web ページの更新ができる. 作成支援に重要な役割を果たしている. 双方向変換の原文書 Src としての XML データと目的 文書 Tar としての Web ページ(HTML 文書)への変 換プログラム Code が Bi-X で与えられたとき,Bi-X の処理系による順方向変換の結果は ブラウザで表示さ れるべき HTML 文書であるが,このままではブラウ 双方向変換による XML-based Web Publishing に ザから編集することはできない.そこで,Vu-X サー よる Web サイトの構成では, 各 Web ページは XML デー バは Bi-X サーバから送られてくる HTML 文書に編集 タベースと Bi-X プログラムによって与えられる.それ 機能を追加する JavaScript プログラムを付加して,そ ぞれの Web ページは図 -6 に示すような仕組みで編集 れをクライアントの Web ブラウザに渡している.こ される.この機能は, 通常の Web ブラウザから Web ペー の JavaScript プログラムにより,クライアントが受け ジを更新できるように,Web アプリケーションとして 取った HTML 文書をブラウザ上で直接編集することが 提供されている(図 -7) . できるようになっている.このように,編集のための この枠組みでは,XML データや変換プログラムを保 JavaScript プログラムを埋め込んだ HTML ファイルに 情報処理 Vol.49 No.11 Nov. 2008 1269 { 第 一 部} 高 い生 産 性 を持 つ高 信 頼 ソフト ウェア 作 成 技 術 の開 発 特集 学 と 産 の連携による基盤ソフトウェアの先進的開発 Click a ul component to edit. 図 -8 Vu-X サ ー バ が 埋め込む JavaScript に よる編集支援 は,各要素にイベントハンドラを登録してあり,要素を 文等で公表したものであるが,ここでは,紙面の関係で ダブルクリックするとその部分を編集するポップアップ 参考文献は限定して示してある.関連論文はそれらから ウィンドウが表示されて種々の編集操作ができるように 参照していただきたい. なっている(図 -8) . 本研究は,筆者が研究代表者を務めた上記プロジェク Bi-X プ ロ グ ラ ム 作 成 支 援 ツ ー ル は,HTML トにおいて,胡振江,中野圭介,林康史,劉東喜,西岡 WYSIWYG エディタと Bi-X コードビルダの 2 つのツー ルで構成されている.HTML WYSIWYG エディタで は,GUI を通じて HTML の要素を配置することによっ て,Bi-X コード埋込み HTML の編集ができる.GUI による既存の HTML WYSIWYG エディタと異なる点 は,編集機能が言語 JavaScript で実装されているので Web ブラウザ上で利用できることと,XML データに 依存する要素が Bi-X コードビルダによって挿入される という点である.Bi-X コードビルダは XML データを 入力として HTML 文書の一部の要素を返すような Bi-X プログラムを記述するためのものである.言語 Bi-X に 真吾,筧一彦各氏により実施されたものである.また, は,一般の言語にあるような,操作対象を表すための変 数は存在しないので,言語 Bi-X によるプログラミング では,変数を使わないポイントフリー形式で記述する. そのために,プログラムの実行によってどのようにデー タが変換されているかが認識しにくく,プログラムの生 産性の妨げになることも少なくない.そこで,プログラ マが,原文書となる XML データの変換の様子を追跡で きるように GUI を提供している.Bi-X コードビルダは Java アプレットとして実装されており,Vu-X システム の HTML WYSIWYG エディタから JavaScript を通じ て呼び出すことができる. おわりに (株)ジャストシステムの植松直也,原雅文,田村恭士 各氏ほかの協力を得た. 本研究の成果が広く活用されるとともに,継続してさ らなる研究を進め,先進的な高信頼構造化文書処理の方 法論とソフトウェアツールを一般利用者とソフトウェア 開発者に提供してゆきたいと考えている. 参考文献 1) Mu, S. -C., Hu, Z. and Takeichi, M. : An Algebraic Approach to Bi-directional Updating Problem, The 2nd Asian Symp. on Prog. Lang. and Systems (APLAS2004), Taipei, Taiwan, LNCS 3302, pp.2-20 (Nov. 4-6, 2004). 2) Liu, D., Hu, Z. and Takeichi, M. : Bidirectional Interpretation of XQuery. ACM SIGPLAN 2007 Workshop on Partial Evaluation and Program Manipulation (PEPM 2007), Nice, France, pp.21-30 (Jan. 15-16, 2007). 3) Hayashi, Y., Liu, D., Emoto, K., Matsuda, K., Hu, Z. and Takeichi, M. : A Web Service Architecture for Bidirectional XML Updating, The Joint Conf. of 9th Asia-Pacific Web Conf. and 8th Int. Conf. on Web-Age Inf. Management (APWeb/ WAIM'07), Huangshan, China, LNCS 4505, pp.721- 732 (June 2007). 4) Liu, D., Hu, Z., Takeichi, M., Kakehi, K. and Wang, H. : A Java Library for Bidirectional XML Transformation, コンピュータソフ トウェア,Vol.24, No.2, pp164-177 (2007). 5) Hu, Z., Mu, S.-C. and Takeichi, M. : A Programmable Editor for Developing Structured Documents Based on Bidirectional Transformations. Higher-Order and Symbolic Computation, pp.89-118 (Springer, 2008). 6) Nakano, K., Hu, Z. and Takeichi, M. : Consistent Web Site Updating Based on Bidirectional Transformation. The 10th IEEE Int. Symp. on Web Site Evolution (WSE2008), Beijing, China (Oct. 3-4, 2008). (平成 20 年 7 月 29 日受付) 本研究は文部科学省の「高信頼構造化文書変換技術」 プロジェクトとして実施したものである.その成果とし て,本稿で述べたものを始めとするいくつかの実用的な ソフトウェアを http://www.psdlab.org/ で公開して いる.また,本稿で概要を述べた技術的内容はすでに論 1270 情報処理 Vol.49 No.11 Nov. 2008 武市 正人(正会員) [email protected] 東京大学情報理工学系研究科教授.1972 年東京大学,電気通信大学, 東京大学を経て 1993 年東京大学教授.2003 年より日本学術会議会 員.ソフトウェア科学の教育研究に従事.日本ソフトウェア科学会, ACM 各会員.