今年度はOpenC++処理系の拡張性を評価し、いくつかの学会発表をおこなった。従来、ライブラリ・レベルの実装では、実行効率が悪くなるか、あるいはプログラムの保守性が悪くなってしまっていたfault tolerance機能を、OpenC++をもちいて実装し、プログラムを簡潔にし保守性を高めたままで同時に高い実行効率を達成できることを示した。また、この研究成果を国際会議SRDS'98で発表した。従来技法では、fault toleranceを実現するために、プログラムの実行状態のスナップ・ショットを完全に退避しなければならなかった。しかし研究した技法では、プログラムのコンパイル時に静的な解析をおこない、実行時にはこの解析結果にもとづいて本当に必要な情報だけを退避するようにした。これによって、不要な情報の退避をさけ、実行効率を改善することができる。従来、このような技術を利用するには、このような、アプリケーション・プログラムの内容に依存した最適化コンパイルをおこなう専用の言語処理系を用意しなければならず、あまり現実的とはいえなかった。しかしOpenC++を利用することで、コンパイル時の静的な解析を、クラス・ライブラリとしてportableな形で実装することに成功した。 この他に、OpenC++の設計上の特徴・工夫をまとめて国際会議TOOLS'98にて論文発表をおこなった。この論文では、まず類似のシステムで採用されている設計では、最適化を記述しようとしているプログラマにとってわかりやすい抽象レベルを提供していないことを指摘した。そしてOpenC++では、メタオブジェクトという抽象モデルを使い、オブジェクト指向プログラミングに典型的な最適化技法の記述に適した抽象レベルを提供していることを述べた。
|