next up previous
Next: 研究の内容 Up: 「KL1プログラム開発支 援ツール」に関する成果概要 Previous: 「KL1プログラム開発支援ツール」に関する成果概要

研究の背景と目的

並行論理型言語のプログラミングとその効率的実行にとって、モード解析技法 は、非常に基本的な情報を提供する。モード解析とは、並行論理プログラム実 行時の情報の流れや通信プロトコルに関する基本的な性質を静的に解析するも のである。MLをはじめとする言語の静的型体系と同様の単純さをもちながら、 プログラムの動的側面を静的に扱うことにより、型体系よりも強力な情報を提 供する。

その応用範囲には、(1)プログラムの静的デバッグ、(2)プログラミングスタイ ルのチェック、(3)最適化、(4)プログラム解析の基礎情報の提供、(5)動的デ バッグのための基礎情報の提供、などが含まれる。

モードの体系と解析手法は、研究代表者によって1990年に提案され、1994年ま でに理論的枠組の整備はほぼ完了した。抽象解釈に基づくモード解析の研究は 多いが、本体系の特徴は、MLなどの言語に見られる型推論と類似のアルゴリズ ムに基づいており、単純でしかも大規模プログラムへの適用が容易な点である。

モード解析の実用面については、過去の研究で、KL1言語特有の機能の解析技 法の検討、およびモード解析の基本アルゴリズムのKL1による実装が進み、モー ド体系の実用化に向けて進展してきた。しかし、実際のKL1プログラムに適用 したときに生ずるであろう種々の問題点を検討する段階にはいたっておらず、 まだ一般のKL1プログラマが利用できるシステムは完成していない。

そこで本研究では、まずモード解析系の核部分の機能を拡充し、それに基づい て、KL1プログラムの静的デバッガを作成する。さらにそれを発展させてKL1用 スタイルチェッカを作成することを目指す。「良い」KL1プログラミングのガ イドラインが広く流布していない現状を考えると、KL1プログラマに対して、 ツールの形でプログラミングスタイルのガイドラインを提供することは非常に 重要である。また、解析系の核部分が提供する情報は、静的デバッグ以外にも、 上記のさまざまな応用に用いることができる。

なお、モード解析系自身は、かなり複雑なグラフ構造を用いる。これをKL1の プロセス構造を用いて記述し、KLIC処理系で実行することは、複雑なプロセス 構造の記述実験としての意義をもつ。また、これを完全にwell-modedなプログ ラムとして記述することは、モード体系の下でのKL1の記述力の確認という意 義ももつ。



www-admin@icot.or.jp