平成8年度 委託研究ソフトウェアの提案

(8) 演繹オブジェクト指向データベース言語 Quixote の実用化のための拡張機能の研究

研究代表者:横田一正 助教授
      京都大学大学院工学研究科情報工学専攻
     (現・岡山県立大学 情報工学部情報通信工学科教授)




[目次]

  1. 研究体制
  2. 2年目の研究内容
  3. 想定されるソフトウェア成果

[研究体制]

       氏名       所属
研究代表者 横田 一正  京都大学大学院工学研究科助教授
      (現・岡山県立大学 情報工学部情報通信工学科 教授)
研究協力者 上林 彌彦  京都大学大学院工学研究科教授
研究協力者 木實 新一  京都大学大学院工学研究科助手
研究協力者 宮崎 収兄  千葉工業大学情報工学部教授
研究協力者 早瀬 道芳  岡山県立大学情報工学部教授
研究協力者 香川 修見  広島電機大学情報工学科助教授
研究協力者 中西 英之  京都大学大学院工学研究科修士一回生
研究協力者 黒田 崇   京都大学大学院工学研究科修士一回生
研究協力者 林  孝哲  京都大学大学院工学研究科修士二回生
研究協力者 青江 重明  京都大学大学院工学研究科修士二回生
研究協力者 萬上 裕   京都大学大学院工学研究科学部四回生


[2年目の研究内容]

本研究は大きく以下の3つに分かれている。

 (a) 新しい言語仕様の作成
  ・意味の定義機能
  ・情報の局所化機能

 (b) 処理系の作成 (QUIK: QUixote In Kyoto)
  ・クライアント・サーバ・アーキテクチャ
  ・インタプリタ

 (c) 応用の記述と試作
  ・人工知能などの分野での代表的な問題の記述
  ・新規応用の開拓

一年目は、Quixote の新規応用を探りつつ、新しい応用の記述実験を行ないな がら、QUIK としての新しい言語仕様を作成することであり、計算機援用協調 作業のひとつである遠隔教育システムの質問問合せを micro-Quixote で実験 することによって Quixote の問題点の抽出と新たな言語仕様の作成を行なっ た。

二年目は、一年目の実験結果を踏まえ、以下の体制で研究開発を行なう。

(a) QUIK の設計:横田、宮崎、上林、早瀬
(b) Quixote の改良の検討: 旧 Quixote メンバーのメイリングリスト、および Quixote タスクグループ
(c) 開放型地理情報システムからの検討:横田、上林、黒田、萬上
(d) 計算機援用協調作業からの検討:横田、上林、木實、香川
(e) 処理系の作成:横田、中西、青江、黒田、萬上
(f) 応用からの評価:(a),(c),(d) のメンバー

QUIK の基本設計から詳細設計までは、本研究提案者が全責任を負うが、その ためにサポートグループとして (a) と (b) を考える。さらに応用からの要求 と示唆は (c) と (d) で行なう。そして処理系の作成は (e) が担当し、最後 の評価は、(c) と (d) が実験システムを作成し、(a) で評価を行なうことに する。


[想定されるソフトウェア成果]

(1)作成されるソフトウェア名称

 QUIK (Quixote in Kyoto) 処理系(いくつかの実験的応用システムを添付)

(2)そのソフトウェアの機能/役割/特徴

QUIK (Quixote in Kyoto) は、演繹オブジェクト指向データベース言語として の特徴をもち、(Java で実装された) 移植性の高い Quixote の処理系である。

Quixote の以下の特徴/機能を持っている。

・複合項によるオブジェクト識別子 (オブジェクト項)
・(集合を含む) 包摂制約としてのオブジェクトのプロパティの表現 (属性項) と、その正規化のための制約解消系
・モジュールによる包摂制約の局所化機能
・包摂制約による制約論理プログラミング言語としての機能
・Quixote と同じ、オブジェクト識別子の意味論
・問合せにおける仮説推論と仮説生成機能

さらに応用への適用可能性を拡張するために Quixote に対して以下のよ うな機能を拡張している。

・集合の包摂関係の定義機能
・包摂関係の局所化定義

KLIC 版 Quixote に比べると、言語機能としての機能の定義能力によって 応用への柔軟な適応能力をもつとともに、高い移植性をもっている。

micro-Quixote に比べると、オブジェクト識別子の意味論を始めとして演繹オ ブジェクト指向データベースの特長を保持しているため、値と識別性に基づく 2種類の表現の組合せによって高い表現能力をもっている。

また、QUIK の最大の特徴のひとつは、インターネットのような広域ネッ トワークに分散された Quixote データベースを単一のデータベースとして見 ることができることである。具体的には、

・包摂関係を始めとする知識のマージ
・複数データベースのオブジェクトを同定するために参照システム作成支援
・マージされた知識による元データベースに対する拡張ビュー

などを特徴としている。

(3)ソフトウェアの構成/構造

設計・作成の基本方針は、
・クライアント・サーバ・アーキテクチャ
・インタプリタ

であるが、前者が不可能な環境 (たとえばスタンドアロンの PC 環境) ではモジュール分けの基本的な方針としたい。

従来の処理系との関係は、
・micro-Quixote のコードの一部を Java に移植する。
・(big-)Quixote のアルゴリズムを継承する。
・クライアントとしては Netscape 3.0 以上を対象として、Java アプレットでのインタフェースを構築する

の3点を考えており、これらを再利用して新たに処理系を開発する。

(4)参考とされたICOTフリーソフトウェアとの関連

ICOT フリーソフトウェアとしての Quixote の構文/意味論を継承しつつ、 micro-Quixote の移植性の高さを合わせ持っている、具体的な応用で使用可能 な Quixote の処理系である。本研究で開発する処理系を、すでにリリースさ れている処理系と合わせて、ICOT フリーソフトウェアとして公開することを 考えている。

(5)使用予定言語および動作環境/必要とされるソフトウェア・パッ ケージ/ポータビリティなど

Java を中心としたプログラミング言語言語を予定(サーバで Java が動かな い環境があるため一部を C/C++ で作成することも検討している。)。

動作 環境は、Unix / Windows を考えている (Mac は動作環境がないので、動作確 認はできない。)

最低限必要なソフトウエアは、JDK (Java Deveopment Kit)、Netscape 3.0 以 上である。

(6)ソフトウェアの予想サイズ(新規作成分の行数)

 micro-Quixote (ソースサイズ 199KB) の2倍。

(7)ソフトウェアの利用形態

複雑なデータや知識を記述するための知識表現言語、それらを永続記憶に格納 し利用するためにデータベース言語、それらを使った複雑な推論を行うための 知識プログラミング言語として使用される。さらにそれらデータベース/知識 ベースを構築する際に、仮説推論・仮説生成機能により、強力な実験環境を提 供する。

(8)添付予定資料

 QUIK ソースコード、処理系詳細仕様書、ユーザマニュアル


www-admin@icot.or.jp