システム


私達は、以下の2種類のシステムを持っています。

big-Quixote は、 Quixote の言語機能の全ての機能を 実現するという目的で行なわれた実装です。 ICOT における Quixote の研究に沿ってバージョンアップが続けられ、 現在は第4版になりました。 big-Quixote はクライアント・サーバ形式で実装されていて、 サーバ は主として ICOT で開発された 並列論理型言語 KL1 を用いて開発されました。 ですから、始めは並列推論マシン PIM の上でのみ稼働していましたが、 2年間の後継プロジェクトにおいて開発された KLIC により、全てUNIX上においても稼働するようになりました。 クライアントには、Emacs をベースにしたユーザインタフェース、 X-Window による GUI などがあります。また最新版では WWWのクライ アントとして良く知られている Mosaic を Quixote の GUI として 用いることもできます。

Quixote はいろいろな機能を持った言語です。 ですから、それを実装した big-Quixote もシステムとしてはやや大きく、 メモリの点などから快適に動作する環境が限られることがあります。 そこで、平成5年度より big-Quixote と並行して、 Quixote の言語の主要機能に絞り、なるべく多くの環境で 軽く動くような処理系として micro-Quixote を開発することに なりました。 micro-Quixote はC言語により一から実装を行ない、 現在 UNIX, Mac, MS-DOS などで稼働しています。 micro-Quixote には、データベース機能はなく、 (制約)論理型プログラム言語としての性格が強いシステムです。 micro-Quixote では、オブジェクト項、 包摂関係、属性継承、条件つき問い合わせ、仮説つき答え といった Quixote の機能が実現されています。 また、実装を簡単にしたために、一部 big-Quixote とは答が 異なる場合があります。一方、外部処理系呼びだしのように、 big-Quixote にはない特徴も持っています。

両者のシステムの比較をまとめると、以下のようになります。

big-Quixote と micro-quixote との比較

				big-Quixote	micro-Quixote
OS/マシン環境			UNIX (KLIC), PIMOS	UNIX, MS-DOS, Macintosh
開発言語 			      KL1, C			C
				 EmacsLisp, etc. 
コードサイズ			      6Mbyte		     199Kbyte
導出方法			 OLDT resolution	   Prolog-like
包摂制約				○			○
属性継承				○			○
仮定つき答、条件つき問い合わせ		○			○
モジュール				○			×
集合、非等式制約			○			×
NAF (Negation as Failure)		○			×
解の合成				○			×
データベース機能			○			×
外部問題解決器の呼びだし	算術演算モジュール	外部制約呼び出し機構


Quixote のホームページ