平成9年度 委託研究ソフトウェアの提案 |
| 氏 名 | 所 属 |
研究代表者 | 柴山 悦哉 | 東京工業大学大学院情報理工学研究科助教授 |
研究協力者 | 高橋 伸 | 東京工業大学大学院情報理工学研究科助手 |
研究協力者 | 豊田 正史 | 東京工業大学大学院情報理工学研究科博士課程2年 |
研究協力者 | 志築文太郎 | 東京工業大学大学院情報理工学研究科博士課程2年 |
本年度の研究では、昨年度開発した KLIEG ver 2.0 を改良し、特に並列プロ グラミングのデザインのパターンを支援する機能を強化する。具体的には、以 下のような機能を実現する予定である。
KLIEG のパターン機能は、通常のデザインパターンのようなミクロな構造だけ でなく、ソフトウェアアーキテクチャのようなよりマクロな構造を表現する能 力を持つ。そのため、変更可能な挙動や性質を一つのパターンが複数持つ場合 が多い。たとえば、単純な負荷分散機能を実現するマスタ・ワーカパターンの ような小規模なパターンの場合でも、以下のような複数の種類の変更に対応で きることが望ましい。
一般に、このような変更の種類によって、パターン内の変更すべき箇所は異な る。
このようなパターンの特質を考慮し、パターンに複数のアスペクトを持たせる ことが可能となるようなユーザインタフェースを設計・実装する。このインタ フェースにより以下のような作業が可能となる。
変更箇所の強調表示は、フィッシュアイズームのインタフェースによる拡大表 示として実現する予定である。また、アスペクトの切り替えは、モルフィング のような連続的に変化するアニメーションにより表示する。
1の項目が、「どこを変更すべきか」を示すためのインタフェースに関するも のであるとするなら、この項目は、「何に変更すべきか」を示すためのインタ フェースに関するものである。Version 2 までの KLIEG では、一つの変更可 能箇所(ホール)に対して一つの実現だけしかシステムで管理することができな かった。本年度の研究では、このような制限を廃し、一つのホールが同時に複 数の実現を保持することを可能とするとともに、必要に応じて実現の切り替え が可能となるようなインタフェースの設計と実装を行う。
このような支援機能により、以下のような異なる種類の実現を共存させること が可能となる。
プログラムのデバッグ時には、エディタとトレーサを交互に利用する場合が多 い。エディタで編集した直後には、その編集箇所に対応する計算の様子を特に 重点的に可視化する必要がある。そこで、KLIEG エディタのズーム機能により 拡大されたプログラムの部分が、トレーサによるプログラム実行の可視化の段 階でも自動的に拡大表示されるような機能を設計・実現する。また、パターン のアスペクトを指定することにより、そのアスペクトに応じた拡大・縮小表示 をトレーサでも可能とするような機能を実現する。
KLIEG システムは、プロセスやストリームを組み込みの抽象として持つ点が、 KL1 などの並列論理型言語と大きく異なる。論理型言語の特徴も有するが、ど ちらかと言えば、並列オブジェクト指向言語の一種と考えた方が妥当であろう。 なお、論理型言語に慣れたプログラマのために mode づけ可能な flat GHC の 節に相当する図式を記述することも可能としている。このような図式をひとま ず用意することにより、KLIC 等の言語プログラマは、比較的容易に KLIEG 環 境に移行することが可能となる。初心者にとっては、このような機能を利用す るより、KLIEG 独自の抽象を活用した方がプログラミングは容易である。
一般的なテクストベースの並列プログラミング言語と比較した場合、プロセス やストリームなどの抽象が、ビジュアルな表現を持つユーザインタフェースコ ンポーネントとして実現されている点が、根本的に異なる。この特徴より、 「設計図」を直接描画することによるプログラミング方式が可能となる。また、 プログラムとして与えられた図形情報を反映した、プログラム実行の可視化が 可能となる。
既存のビジュアルプログラミング言語と比較した場合の最大の特徴は、並列プ ログラミング環境に必要なさまざまな側面をパターン化し、パターンの定義と 利用を容易に行いうるインターフェイスを持つ点にある。また,おもちゃでな い規模のプログラムを構築するためのさまざまなサポートを用意している点も 通常のビジュアルプログラミング言語と大きく異なる点である。
KLIEG システムにより作成したプログラムを翻訳実行するためには、C/C++ と KLIC の稼働する環境が必要である。
KLIC のビジュアルプログラミング環境として見たとき、KLIC に比べ、次のよ うな点がよりユーザフレンドリになっている。
www-admin@icot.or.jp