(10) 演繹オブジェクト指向データベース言語Quixoteの実用化のため
の拡張機能の研究
研究代表者:横田 一正 助教授
京都大学 大学院 工学研究科 情報工学専攻
[目次]
- 研究の背景
- 研究の目的
- 研究の内容
- ソフトウェア成果
知識情報処理などの応用の高度化に伴い、データベースに格納するデータや知
識も複雑化し、それらを表現し処理するための高度な知識表現言語とデータモ
デルが求められている。FGCS およびその基盤化プロジェクトの中では、その
ような背景を踏まえて、演繹オブジェクト指向データベースという新しいデー
タモデルを提唱し、そのための言語 (およびシステム) Quixoteを研究
開発してきた。さらに Quixoteの有効性を示すために、法的推論、自
然言語処理、遺伝子情報処理への応用システムが構築された。現在 ICOT フリー
ソフトウエアとしては、
Quixoteの処理系3種類:
- 11: KL1 版 Quixote
- 79: KLIC 版 (big-)Quixote
- 80: 簡易版 micro-Quixote
遺伝子知識ベース2種類:
- 83: 蛋白質特徴知識ベース
- 96: 代謝反応知識ベース
が公開されている。Quixoteの有効性はこの5年間の研究開発によって
示されてきたが、多くの反省点も出てきている。本研究開発は、これまでの
Quixoteの処理系とその応用の研究開発を踏まえ、Quixoteをよ
り多くの環境でより幅広い応用に使用可能にするための、言語仕様の再検討を
含む Quixote処理系の研究開発を目指している。
現在 Unix 環境で動く Quixoteの処理系には、[研究の背景]で述べ
た
- 79: KLIC 版 (big-)Quixote
- 80: 簡易版 micro-Quixote
の2種類があるが、今後Quixoteを普及させていこうとすると、これら
が抱えている問題を解決しなければならない。前者は巨大なシステムであり、
個人では保守ができない状態で、後者は移植性と開発期間の短縮に重点を置き
過ぎたために (オブジェクトの意味論の変更など) Quixoteの特徴を大
きく縮退させている。
本研究では Quixoteを知識処理分野に普及させるために、移植性が高
く、かつ Quixoteの演繹オブジェクト指向データベースとしての本来
の特徴を持っている処理系の研究および作成を行なう。処理系としての位置付
けは bigと microの中間的な性格を持つが、内容的には現在の bigの言語仕様
の部分集合ではなく、知識表現言語のプラットフォームとしての定義機能を含
んだものを研究対象とする。さらにこの有効性を示すために、新たにいくつか
の応用での記述実験も行なう予定である。
本研究は大きく以下の3つに分かれている。
- (a) 新しい言語仕様の作成
- (b) 処理系の作成
- (c) 応用の記述と試作
以下それぞれについて研究内容を説明する。
(a) 新しい言語仕様としては以下の2つの機能の追加を目指している。
-
これらは Quixoteの適用分野の拡張と将来の Quixoteのプラッ
トフォーム化という2つの狙いを持っている。
「意味の定義機能」は、複数の機能の選択が可能であるにもかかわらず設計時
の判断で単一の機能のみを選択していたのに対し、ユーザが選択できるように
することである。たとえば集合間の順序付けとして 部分集合関係、Hoare 順
序、Smyth 順序、Egli-Milner 順序などが考えられるが、現在の処理系は
Hoare 順序のみを組込みとしている。しかし実際の応用の記述実験からは、順
序の選択や複数順序の使用が要求されている。したがって単に多数の機能を組
込みとするのではなく、言語仕様としてより多くの機能を定義できるような定
義機能を持たせたい。
「情報の局所化機能」は、モジュールの内外で情報が大域化されたり局所化さ
れているが、その基準が必ずしも現実の応用に合致していないので、それを自
在に設定できるようにすることである。現在の処理系では、大域的な情報とし
てはオブジェクト識別子、包摂関係、部分モジュール関係などがあり、局所的
な情報としてはオブジェクトの存在、包摂制約などがある。しかし包摂関係の
局所化を始めとしてそれらの区分けに異議を唱える応用が多く存在する。した
がってこれらの区分けを柔軟にする機能を持たせたい。
(b) 処理系の作成の基本的方針として、
- クライアント・サーバ・アーキテクチャ
- インタプリタ
を考えている。上記 (a) で定義される情報を静的に評価すべきか動的に評価
すべきかが、もうひとつの大きな問題であるが、これは他の追加機能の仕様が
フィックスした段階で処理系全体の構成を検討する予定である。
(c) 応用の記述と試作については、
- 人工知能などの分野での代表的な問題の記述
- 新規応用の開拓
を考えている。これらは、新しい言語仕様をフィックスするための問題点、改
善点の抽出、新しく作成した処理系の評価の2つの狙いがある。
本研究の目標は、言語仕様に柔軟性を持たせ処理系をコンパクト化することで
あり、それによって、知識処理分野での知識表現言語として、またデータベー
ス言語、知識ベース言語として、Quixote の普及を加速させたい。
(1)作成されるソフトウェア名称:QUIK (Quixote in Kyoto) 処理系
(2)そのソフトウェアの機能/役割/特徴
QUIK (Quixote in Kyoto) は、演繹オブジェクト指向データベース言
語としての特徴をもち、(C または C++ で実装された) 移植性の高い
Quixoteの処理系である。Quixoteの以下の特徴/機能を持って
いる。
- 複合項によるオブジェクト識別子 (オブジェクト項)
- (集合を含む) 包摂制約としてのオブジェクトのプロパティの表現 (属性
項) と、その正規化のための制約解消系
- モジュールによる包摂制約の局所化機能
- 包摂制約による制約論理プログラミング言語としての機能
- Quixoteと同じ、オブジェクト識別子の意味論
- 問合せにおける仮説推論と仮説生成機能
さらに応用への適用可能性を拡張するために Quixoteに対して以下の
ような機能を拡張している。
KLIC 版 Quixoteに比べると、言語機能としての機能の定義能力によっ
て応用への柔軟な適応能力をもつとともに、高い移植性をもっている。
micro-Quixoteに比べると、オブジェクト識別子の意味論を始めとして
演繹オブジェクト指向データベースの特長を保持しているため、値と識別性に
基づく2種類の表現の組合せによって高い表現能力をもっている。
www-admin@icot.or.jp