平成9年度 委託研究ソフトウェアの提案 |
研究代表者: | 田中 二郎 助教授 |
筑波大学 電子・情報工学系 |
最近、プログラミング言語のビジュアル化が急速に進行しており、こういった ビジュアルなプログラミング言語を用いることにより、グラフィカルなアプリ ケーションを容易に構築することが可能となっている。
並列論理型言語 klic に関しても、klicをGUI(グラフィカルユーザインタフェー ス)に結合させ、 klicで、グラフィカルなアプリケーションを容易に構築しよ うとする試みは、重要であると思われる。
我々も、これまでklicとX window systemとのインタフェース、klicと Tcl/Tk を結合させたシステムであるklitcl(クリティクル)などを試作し、klitclにつ いては、IFSに登録を行なってきた。
今年度は、最近特に注目を集めている「Java」言語に着目し、klicと「Java」 言語のインタフェースを構築したい。「Java」は、オブジェクト指向の言語で あり、 かつ様々な OSで共通に利用できるシステムを提供している。さらに、 GUI の利用を容易にする為に、AWT(Abstract Window Toolkit)を標準で提 供している。このようなことから、Java は、klic のビジュアル環境の構築に 適していると考えられる。しかし、 Java と klic とのメッセージや、データ の受渡しの機構を実現したシステムは、まだ現れていない。そこで、本研究で は、klic と Java のメッセージインターフェースに関して研究を行ない、 klicとJava言語のインタフェース構築を行ないたい。
klicとJava言語のメッセージインタフェースを構築することにより、klicユー ザに手軽なビジュアル環境を提供するのが、本研究の目的である。klicとJava 言語の間でのメッセージやデータなどを交換する為の機構としてどのようなも のが求められているかを調べ、それを満たすようなインターフェース機構を構 築する。klic から、Java の AWT の有用な機能を利用したり、逆に、Java か ら klic を呼び出すようなインターフェースの研究を行なう。
我々は、これまで既に、klicとX window systemとのインタフェース、klicと Tcl/Tkを結合させたklitcl(クリティクル)などの開発を行なってきたが、今回 の「klicとJava言語のメッセージインタフェース」もこれらの試みの延長線上 に位置する。
これらとの違いは、Javaの場合、ユーザプログラムを Java アプレットとし て作成し、 klic のユーザインターフェースプログラムを HTML の中に埋め込 むことができるため、WWWブラウザ上から klic プログラムの利用をする事が 可能となる点である。
なお、本研究は一年計画の予定であるが、次年度には状況が許せば、我々が過 去に開発してきたklicとX window systemとのインタフェース、klicと Tcl/Tk とのインタフェースklitcl、本年度に開発するklicとJava言語のメッセージイ ンタフェースの三つに対し、更にシステムのポリシュアップを行ない、klicの 他言語インタフェースとして一挙公開し、併せて資料や例題を整備したいと考 えている。
本研究では、klic の Java インターフェースの開発を行なう。
klic は、並列論理型言語であり、Java は、オブジェクト指向言語である。よっ て、プログラムの実行体の違いの他にプログラミングパラダイムの論理的構造 の違いがある。そのような2つの言語を、どのように結びつけるかが研究課題 である。
klic と Java という、2つの言語の間でメッセージ交換の方法として、klic と Java の双方に、メッセージ交換の為の機構を用意し、それらをユーザプロ グラムの中で利用する事により、2つの言語間でのメッセージ交換を行なうよ うにする。
今回の研究では、そのメッセージプロトコルを決定し、また、双方の言語でど のようなインターフェースを用意すべきであるかを研究し、実現を目指す。
実際にビジュアルプログラミングシステム等で利用する場合には、klic から、 Java を呼ぶ為の述語として、
java_new, java_eval, java_event
などを用意し、現在の klic システムの状況を知らせる事を考えている。また、 逆に Java から、klic を呼ぶ際には、
klic(Goal);
の様な形式で利用する事を考えている。
また、ビジュアルプログラミングシステム以外で、klic で Java の機能を十 分に利用するためにどのようなものが必要であるか、また、klic の機能を十 分に活用し、それを Java で利用するためにはどのような機構が求められるか といった事に関しても、それぞれの言語特長を十分活かせるような、標準的な インターフェースの構築を研究、実現する予定である。
氏 名 | 所 属 | |
研究代表者 | 田中二郎 | 電子情報工学系 助教授 |
研究協力者 | 飯塚和久 | 理工学研究科 |
研究協力者 | 南雲 淳 | 理工学研究科 |
また、より一般的な klic と Java のインターフェースとなるような設計を行 うため、将来の拡張に対しても柔軟に対応でき、klic の利用を更に促進する 事ができる。
klic 側では、Java との通信を行なう述語を用いて、Java の機能を利用する 事となる。また、Java 側では、klic との通信の為の機能を有するオブジェク トを用意し、それを、インヘリタンスを用いてユーザプログラムで利用するこ とにより、klic とのインターフェースを利用する。
我々の作成するインターフェースと、利用者のユーザプログラムとの関係を図 に示すと、以下のようになる。
+---- klic -----------------+ +--- Java ------------------+ | +- ユーザプログラム -+ | | +- ユーザプログラム -+ | | | | | | | | | | | ###### | | ###### | | | | ################### | | | | ###### | | ###### | | | | | | | | | | | +--------------------+ | | +--------------------+ | +---------------------------+ +---------------------------+ ("#" で示す部分が、我々の作成する部分である)
例えば、klic の中で、ビジュアルな入出力を行ないたい場合は、我々の作成 するソフトウェアを、klic と Java のそれぞれの言語で作成したユーザプロ グラムに組み込み、klic で動作しているメインプログラムのユーザインター フェース機構として Java の機能を利用する事が可能である。
我々の作成するインターフェースを利用することにより、ユーザプログラムを Java アプレットとして作成し、klic のユーザインターフェースプログラムを HTML の中に埋め込み、WWWブラウザ上から klic プログラムの利用をする事も 可能である。
これにより、有用なアプリケーションを klic でサーバプログラムとして動作 させておき、ユーザは、WWWブラウザから、Java アプレットをクライアントプ ログラムとして、動作させるといった事もできるようになる。
この他にも、我々がターゲットとしているビジュアルプログラミングシステム での利用も考えられる。
これは、Java 側に、ビジュアルプログラミングシステムを作成し、プログラ ミングや、プログラムの実行のビジュアル化、デバッグなどの機能をもたせて、 我々の作成するインターフェースを利用して、プログラム内容を klic 側に送 る。その情報を、klic 側で受け取り、送られたプログラムに、実行のビジュ アル化に必要な情報を送信する述語を埋め込んでおき、klic での実行状態を Java 側に伝える機構を作るといったことで実現する事ができる。
この他にも、Java のプログラムの中で、並列論理型言語としての klic を、 Java プログラムの中でサブシステムとして利用するような形態も考えられ、 その中で、2つの言語間のインターフェースとして、我々の作成するソフトウェ アを利用することが考えられる。
このような、さまざまな利用形態が考えられるが、klic に対して Java のイ ンターフェースを作成する事により、klic の利用範囲を拡大し、また、klic の利用環境の改善が期待できる。
www-admin@icot.or.jp