IPA


開発成果一覧へ

 



2005年度下期 未踏ソフトウェア創造事業  採択案件評価書

 


1.担当PM

 千葉 滋 (東京工業大学大学院 情報理工学研究科 助教授)


2.採択者氏名

開発代表者

 油井 誠 (奈良先端科学技術大学院大学 情報科学研究科 博士前期課程1年 )

共同開発者

 なし


3.プロジェクト管理組織


  日本エンジェルス・インベストメント株式会社


4.委託金支払額


  4,961,854


5.テーマ名


  XMLコンテンツ統合を支援する軽量XQueryプロセッサの開発

 


6.関連Webサイト


  http://db-www.naist.jp/~makoto-y/proj/xbird/


7.テーマ概要


 企業合併や企業内再編など急速なビジネス環境の変化を受けて,組織間の異なるドメインに分散したデータや情報システムを統合する情報統合が,情報システム開発における課題となっている.その中,情報統合の形態として,XMLを用いた情報統合が注目されている.これは,企業間のデータ交換フォーマットとしてXMLが標準であること,多くのデータソースがデータをXMLとして出版する機能を有することに起因する.ここで,XMLコンテンツの統合にXML問合せ言語を用いるのは自然の考えである.
 本提案では,XMLによるコンテンツ統合を支援するXQueryプロセッサを開発する.XML問合せ言語にXQueryを用いるのは,XQueryが情報統合に必要な機能(結合,集約処理など)を備え,次期XML問合せ言語の標準と目される為である.
 XMLコンテンツ統合を支援するとは,(1)XQueryにより下位の異種データソース群に対する仮想的なXMLビューを構築する機能を提供する,(2)仮想XMLビューの上に仮想XMLビューを構築する機能をサポートし,ユーザ問合せからの再帰的なクエリ統合を行う機能をサポートすることを指す.クエリ統合とは,ユーザ・クエリと個々のビュー・クエリを連結し最適化することを指す.このクエリ統合により,下位のデータソースへの透過的なアクセスを可能とする.
 本提案が実現するXQueryを用いた情報統合機能は,一般的に大きなコストがかかるとされる情報統合にかかるコストを低減する手段を提供する.また,近年Web上のHTML/XMLリソースを用いたアプリケーションが急速に増えつつあるが、こうした開発にも本提案で開発するXQueryプロセッサは有用である.
 開発した処理系は,オープンソースソフトウェアとして公開する.XMLコンテンツ統合を支援すると共に,XQueryプロセッサとして世界中で広く利用されることを本提案の目標とする.


8.採択理由


 Java 言語ベースの高速な Xquery 処理系を開発しようという計画である。仮想XMLビューの機能を持ち、さらに数GBあるいはTB?XMLデータをも高速に処理できるようにしようという野心的な提案である。どこまで達成できるか未知数なところもあるが、これまでの実績等も考え、採択にふさわしいと判断した。





9.開発目標


研究者や開発者が自由に利用できるXQueryプロセッサをJava言語で開発し、オープンソースソフトウェアとして公開する。W3Cで標準化が推進されている(現在はW3Cの勧告候補の段階である)XQueryは、XMLの為の照会言語であり、集約や結合処理,および柔軟な選択処理をサポートする。そのため,XQueryXMLを扱うドメイン特化言語として有望である。現段階では一般ユーザレベルでの認知度は低いが、今後,正式勧告となれば、XPath 1.0XSLT 1.0の先例と同様にユーザレベルでの認知度も高まっていくと考えられる。本プロジェクトでは、そのようなXQueryプロセッサを実装し、先駆的な実装として公開する。具体的には次のような機能を備えたプロセッサを開発する。

 

l          XQueryプロセッサ機能
W3C
XQuery 1.0仕様(http://www.w3.org/TR/xquery/)を満たすXML問合せ処理機能を実現する。ただし、スキーマインポート機能などのoptionalとされる機能については開発対象外とする。

 

l          HTML文書の解析機能
正確でないHTML文書を極力XMLとして解析する機能を実現する。

 

l          動的Webページ生成機能
XQuery
を用いた動的Webページ生成を可能にする。

 

l          ビューとクエリの統合機能
ユーザ・クエリとビュー・クエリを統合し、下位のデータソースに効率的にアクセスすることを可能とする機能、XMLコンテンツ統合を実現する機能を実現する。

 

l          XQTSテストスイート対応

W3Cが提供するXQueryのテストスイートのテスト通過率を高める。この目標のため、テストスイートを自動実行するテストコードの開発と、テストスイートの実施により見つかったXQueryプロセッサのバグ対処を行う。

 

l          プロジェクトサイトとドキュメント
プロジェクトの情報発信を行なうためのWebサイト、及びマニュアル(日本語・英語)、プロジェクトサイトのコンテンツを用意する。

 


10.進捗概要


プロジェクト開始時にはXQueryworking draft版のパーサが存在していたが、プロジェクト開始とともに、パーサを含めXQueryプロセッサの全てを新規に開発しなおした。この作業は2月末にはほぼ終了し、その後は処理系の最適化とW3Cが提供するXQueryのテストスイートの通過率を高める作業をおこない、プロジェクト終了時には80%以上のテストスイートを通過できるようになった。また開発中のXBirdで使われている技術について随時学会発表をおこなった。

 


11.成果


XQuery 1.0
仕様を実装するXQueryプロセッサ(XBird)Java言語で開発した。開発したXBirdは、W3Cが提供するテストスイートの80%以上を通過し、W3C のサイトにテストスイートの実行結果が掲載されている。開発したXBirdは現在のところ未公開だが、9月末に以下のサイトからオープンソースソフトウェアとして公開予定である。

 

http://db-www.naist.jp/~makoto-y/proj/xbird/

 

XBirdは競合する他のXQuery仕様の実装と比べて必要メモリ量が少なく、アプリケーションソフトウェア開発の際にライブラリとして組み込んで利用するのに向いている。例えば商用のXQueryプロセッサであるSAXON-SAの評価版とXBirdとの間でメモり消費量を比較すると、XMarkテストスイートを利用して作成した113MBXML文書を処理させた場合、XBirdSAXON-SAの半分程度のメモリしか消費しない。XBird1GBを超えるXML文書も処理できる性能をもっている。

 

                      (A) SAXON-SAのヒープ消費量   (B) XBirdのヒープ消費量

 

また処理性能も優れており、XMarkテストスイートをベンチマークテストとして測定すると、商用のSAXON-SAを凌駕する性能を示す。


12.プロジェクト評価


現在W3Cで仕様策定中のシステムの処理系を他に先駆けて実装し、少ないメモリ消費量と商用の処理系を凌駕する実行速度を達成できたことは高く評価できる。その一方で、プロジェクト終了時には開発したXBirdの公開にはいたらず、またドキュメントの整備も不十分だった点は残念である。これはXQueryのテストスイート通過率を上げることを最優先にXBirdの開発を進めた結果であるが、当初の計画が少し欲張りすぎていたともいえる。

 

XBirdが実現した性能を達成するには、高いソフトウェア開発能力と同時に、Query処理の最適化について学術的な研究も必要であったはずであり、それらをなしえた本プロジェクトの開発者の能力は高く評価できる。開発者には、今後も実用に耐えうるソフトウェアの開発と学術的な研究を両立させながら優れた成果を出してゆくことが期待できる。

 


13.今後の課題


今後の課題は、まず完成したXBirdをオープンソースソフトウェアとして公開することである。公開に当たっては日本語・英語によるドキュメントの整備もかかせない。これらの課題を乗り越えた後で、さらにXBirdの完成度を高める努力をし、例えばW3Cのテストスイートの90%を通過できるようにしてほしい。また、これに加えて様々な方策を駆使し、XBird defacto standard なオープンソースソフトウェアとするように努力することが今後の課題であろう。

 




  ページトップへ   

 

 

 


  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004