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

(2) KLIC の視覚的インターフェースに関する研究

研究代表者:田中 二郎 助教授
      筑波大学 電子・情報工学系




[目次]

  1. 研究の背景
  2. 研究の目的
  3. 研究の内容
  4. ソフトウェア成果


[研究の背景]

最近、ワークステーションやパーソナルコンピュータのビジュアル化が急速に 進行しており、ワークステーションにおいては「Xウインドウ」や「Motif」、 パーソナルコンピュータにおいては「ウインドウズ」のようなグラフィカルな 環境が一般的になってきている。

これらにともない、例えば、並列論理型言語klicのプログラミングを考える際 にもプログラムと GUI(グラフィカルユーザインターフェース)の結合について 考える必要がある。

klicプログラムと GUIの結合であるが、例えば、「Xウインドウ」や「Motif」 とのインターフェースを提供することも考えられる。しかしながら、最近、急 速にこの分野でポピュラーになってきたツールキットにTcl/Tkがある。Tcl/Tk では、 より高度のGUI部品を用い、手軽にプログラミングを行なうことが出来 る。現在の「Xウインドウ」や「Motif」を用いたアプリケーションは、 今後 Tcl/Tk にシフトしていくことが考えられ、 Protcl をはじめとして、SICStus Prolog、BIM Prolog、 BinProlog、 Eclipseなど、最新のPrologの処理系では のきなみTcl/Tkとのインターフェースを提供している。

一方、「ビジュアルプログラミング」とは、複雑な事柄をシンボル化し、コン ピュータにより直接操作できるものに置き換える技術のことである。これは、 従来の文字列や記号を中心としたインターフェースに代わって、アイコン、図 形、アニメーションという人間がより理解しやすいビジュアルな表現を用いて 人間とコンピュータの相互作用を行なう技術のことであり、最近急速に世間の 関心が高まっている。

「ビジュアルプログラミング」を用いれば、ユーザは従来のようなテキストを 用いず、例えば、ユーザがワークステーションから直接に図形を入力すること によってプログラミングを行なったり、それを図形的に実行・デバッグするこ とが出来る。


[研究の目的]

本研究においては、単にグラフィカルなプログラムを走らせるだけでなく、プ ログラミング開発自身も、グラフィカルかつインタラクティブにおこなう「ビ ジュアルプログラミングシステム」の開発が目標である。

「ビジュアルプログラミングシステム」においては、従来のようなテキスト表 現を用いるのではなく、高水準な宣言的図形言語を用いることによりプログラ ミングを行なうとともに、それを図形的に実行・デバッグするビジュアルプロ グラミング環境が提供することをめざす。

そのための第一段階として、まず初年度中に、klicのTcl/Tkインターフェース klitcl(クリティカル)を開発することを目指す。これにより、 klicとGUIが結 合され、ユーザはGUIを用いるアプリケーションを書くことが可能となる。

ビジュアルプログラミング環境は、単なる試作システムやオモチャとして終ら ず、既存のklic処理系のフロントエンドとして使用できるように実現する。ま た、ビジュアルかつインタラクティブなインターフェースを目指し、特にアニ メーション技法をプログラム実行に使用する。本システムにより、汎用性を失 わず、多くのユーザが、快適な操作感でプログラミングを行なえるようになる とともに、熟練者においても、プログラミング作業の負荷が軽減されるような 環境を構築することを目指す。

二年目には、klicを基礎にしたビジュアルプログラミングシステムを完成させ、 最終的にフリーソフトウェアとして公開することを目指す。


[研究の内容]

本研究では、第一段階として、まず初年度に、klicのTcl/Tkインターフェース klitcl(クリティカル)を開発する。

研究の背景として述べたことであるが、例えば、klicプログラムと GUIの結合 には「Xウインドウ」や「Motif」とのインターフェースを提供することも考え られる。しかしながら、Tcl/Tkでは、 より高度のGUI部品を用い、手軽にプロ グラミングを行なうことが出来る。現在の「Xウインドウ」や「Motif」を用い たアプリケーションは、 今後 Tcl/Tk にシフトしていくことが考えられ、 Protclをはじめとして、SICStus Prolog、BIM Prolog、 BinProlog、 Eclipse など、各種Prologの最新バージョンでは、のきなみTcl/Tkとのインターフェー スを提供している。

そこで、klicに関しても、そのTcl/Tkインターフェースを開発することは大い に意味があると考えられる。Tcl/Tkインターフェースにより、klic とGUIが結 合され、ユーザはGUI を用いるアプリケーションを手軽に書くことが可能とな る。

本研究においては、まず、klic のTcl/Tkインターフェースklitcl(クリティカ ル)の仕様を確定する必要があるが、 既存のProlog処理系においては、どれも がほぼ同様のTcl/Tkインターフェースを提供している傾向にあるので、互換性 の問題もあり、klitcl(クリティカル)についてもほぼ同様の方針を踏襲したい。

すなわち、例えば、klicからTcl/Tkを呼ぶための述語として

	tcl_new		tk_new
	tcl_eval	tk_main_loop
	tcl_event
	tcl_delete
などを用意し、Tclからklicを呼ぶためには

	klic Goal
の形式を用意する。Prologとの違いは、klicが並列言語であるため、同期を引 数の形で陽に記述する点である。こうした仕様上の細かな点については、随時、 関連研究者との交流を計り、ユーザにとっても使いやすい仕様としていきたい と考えている。

また、klicを基礎にしたビジュアルプログラミングシステムであるが、我々は、 すでにここ数年間、並列論理型言語のビジュアルプログラミングシステムにつ いて、言語としてはKL1, GHC, Prolog, klic などを用い、またGUIとしては、 X-window、interviews、 Tcl/Tk などを用い、いくつかの研究および部分的な 試作を積み重ねてきている。

従来のビジュアルプログラミング研究においては、図形言語をテキストベース のプログラミング言語から完全に切り離した形式で提案することが多かったが、 これでは実用性からほど遠くなる。そこで、本ビジュアルプログラミングシス テムでは、図形言語と既存のテキストベース言語を「併用」するアプローチを とる。 すなわち、システムを 既存のテキストベースのklic処理系に寄生させ て実現し、図形言語と既存言語との共存を計る。また、ビジュアルかつインタ ラクティブなインターフェースを目指し、特にアニメーション技法をプログラ ム実行の視覚化に使用する。

klic を基礎にしたビジュアルプログラミングシステムに関しては、klitcl(ク リティカル)と並行して仕様の確定を進め、 初年度にもシステムの部分的な試 作を行なう。また、二年目には、ビジュアルプログラミングシステムを最終的 に完成させ、フリーソフトウェアとして公開することを目指したい。

作業としては、とくにビジュアルプログラミングシステムにおける実行時アニ メーションの設計および実装、また統合的なビジュアルプログラミングシステ ムの設計および実装が研究の中心的な課題となると思われる。


[ソフトウェア成果]

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

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

[klicのTcl/Tkインターフェース]

機能
klic のTcl/Tkインターフェースklitcl(クリティカル)においては、 klicから Tcl/Tkを呼ぶための述語、 Tclからklicを呼ぶためのメカニズムを提供する。 また、klicの構文をTclに変換するためのルールも提供する。

役割
klicユーザがウインドウ、ボタン、 メニューなどのGUI部品を手軽な形で使用 することを可能にする。

特徴
Tcl/Tk の特色を生かすことにより、より簡単な枠組でユーザがGUI部品を使う ことが出来る。

[klicのビジュアルプログラミングシステム]

機能
ワークステーションから直接に図形を入力することによってプログラミングを 行なったり、プログラムを図形的に実行・デバッグすることが出来る。

役割
klicのフロントエンドとして利用可能。klicのシンタックスがわからないユー ザでも図形を用いてプログラミング、実行、デバッグが可能。klicのシンタッ クスを理解しているユーザにとっても、より直観的でわかりやすい図形的表現 となっている。

特徴
図形言語とklicを「併用」するアプローチを取っている。特にアニメーショ ン技法をプログラム実行の視覚化に利用。


www-admin@icot.or.jp