平成7年度 委託研究ソフトウェアの提案 |
これらにともない、例えば、並列論理型言語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プログラムと 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(ク リティカル)と並行して仕様の確定を進め、 初年度にもシステムの部分的な試 作を行なう。また、二年目には、ビジュアルプログラミングシステムを最終的 に完成させ、フリーソフトウェアとして公開することを目指したい。
作業としては、とくにビジュアルプログラミングシステムにおける実行時アニ メーションの設計および実装、また統合的なビジュアルプログラミングシステ ムの設計および実装が研究の中心的な課題となると思われる。
www-admin@icot.or.jp