平成12年度未踏ソフトウェア創造事業


採択案件評価書

1.担当PM  12.湯淺 太一
2.採択者氏名  紙名 哲生 (東京大学大学院総合文化研究科)
3.プロジェクト実施管理組織  日本エンジェルズ・インベストメント株式会社
4.委託金支払額  5,999,700円
5.テーマ名  「S式を用いたXMLサーバプログラミングツール」
6.関連Webサイトへのリンク  http://www.graco.c.u-tokyo.ac.jp/~kamina/xmltools/
7.テーマ概要

インターネットのWeb文書の作成には,XMLを使用することが標準的であるが,本提案は,XMLを使ったサーバアプリケーションの開発効率を向上するための手段として,XML独自の内部表現ではなく,LispのS式を使用するための基盤を提供するものである.S式を採用することによって,内部構造と印字表現の間のギャップが解消すると同時に,内部構造の処理プログラムが,リスト処理として容易に開発できるというメリットがある.具体的には,次のツール群を,LispおよびLispのためのオブジェクト指向機能であるCLOSを使って開発する.

(1) XML要素を読込んで,サーバに登録するためのツール.

(2) XML文書を構文解析し,S式に変換するツール.

(3) S式で表現された XMLの内部表現から,XML文書を生成するツール.

(4) SQLをはじめとする,XMLのアプリケーションへの入力文書を生成するツール.
8.採択理由

 上記のツールを利用することによって,サーバアプリケーションは,処理が容易なS式レベルのコーディングが可能となる.

本提案は,新規制はあまり高くないが,十分な実用性を有している.

また,今回の提案には含まれていないが,将来的には,Java の提供するDOM (Document ObjectModel) に対抗する,より柔軟な DMM (Document Metaobject Model) を提案する構想を申請者は持っており,そのための基盤整備としての役割を本提案は担っている.

申請者はこれまでに,Lisp および CLOS を用いた電子モールシステムの開発経験があり,学生ではあるが,提案事項の実現性はきわめて高いと判断した.

また,プロジェクトの進行にあたっては,豊富な Lisp アプリケーション開発経験を持つ PM が,おおいに貢献できるものと思われる.
9.開発目標

規格に適合するXML文書と本開発テーマにおいて形式を定義するS式の相互変換およびRDBからXML文書への変換が妥当な時間・空間で動作することを開発目標とした.
10.開発者への助言と指導

本実施テーマの開発開始後に,実施テーマと類似のシステム(HTML/XML パーサ)を,米国企業がopen source として提供することが発表された.これを開発者に伝え,開発ソフトウェアにおける差異を明確にするよう指導した.


開発ソフトウェアはLisp言語で記述されており,専門家の立場から,コーディングに関する助言を行い,実装に際しての具体的な手法を教授した.

本実施テーマに関しては,ユーザインターフェイスの仕様が2回にわたって報告された.

これらを詳細に検討し,これまでのLispプログラミングの経験に基づいて,改善点を指摘するとともに,改善の具体的方法を示した.


開発ソフトウェアを有効利用するために,当初の計画には含まれていなかったXSL プロセッサの作成について開発者と検討を行い,簡易版の開発を開始することとした.

開発ソフトウェアを学会発表するための指導も行った.
11.開発成果

標準的な長さのXML文書を取り扱う場合の時間コストはPCで十〜数十ミリ秒程度であり,また,非常に豊富な分量のDTDを持つXML文書を扱う場合も標準的な実装とされる処理系と比較して高速である.メモリ空間に関しても7MB程度の消費量であるので開発目標を達成している.

開発成果は,http://www.graco.c.u-tokyo.ac.jp/~kamina/xmltools/ においてフリーソフトウェアとして公開されている.


(講評)

XMLアプリケーションの開発者は,従来はDOMの知識が必要であったが,DOMの仕様は巨大であり,開発者にとって必ずしも扱いやすいものではない.本実施テーマで開発したソフトウェアは,Lispのプログラマなら容易に理解できるS式によってXML文書を表現するものであり,コンパクトなインターフェイスで,柔軟なXMLプログラミングを可能とする.


上記のように,同種のツールは企業もサポートをはじめていることからも,開発したソフトウェアは,一般的な需要が見込まれる.今後その必要性はますます高まるであろう.

開発したソフトウェアを有効に利用するために,WebベースのXMLアプリケーション開発に不可欠な,XSLプロセサの早期完成が望まれる