研究概要 |
計算機のプログラムは複雑であり,特に並列処理を行なっているプログラムではその動作を把握することは極めて困難である.このため,プログラムの動作をアニメーションによって視覚化し.プログラム/アルゴリズム作成・解析・改良,動作の理解,教育などに用いるシステムの開発をした.本研究では,従来のアニメーション生成命令をプログラム中に記述するのではなく,プログラムそのものは可能な限り手を加えずに,アニメーション生成規則を用いることによって視覚化する方法を開発した. プログラムの実行においては,データの移動や変化がその動作の基本であるが,これらの動きをそのまま表示したのでは現実的なプログラムの理解には効果的ではない.しかし,データの集まりとしての動きをとらえられれば動作の基本原理を理解することが容易になる.プログラムにおいて,動作のまとまりは多くの場合並列的な処理によってなされる(繰り返しや配列等).そこで,これらの動作を検出をすれば全体的な動作がわかることになる. まず,プログラムを実際に動作させ履歴情報を得る.この履歴に対し,データの動きから組合せを検出するための規則を適用してデータの集団としての動きを検出する.これらの段階において,適用規則に与え方(あるいは全く与えない)ことによってさまざまなレベルのデータの動きが得られる.次に,個々のデータの動きを表示させるために,アニメーション生成合成規則を適用する.この合成規則では (1)データの動きを単純に表示させる, (2)動きの軌跡を表示させる, (3)動くことによる状態の変化(回りの環境)を表示させる, (4)データ関連のトポロジを表示させる,などをデータの動きに合わせて生成する.最後に制約言語を用いた描画システムによりアニメーションを表示する.本システムを作成するために,ワークステーション1台を購入した.
|