フレームワークを利用した開発では、アプリケーションの要求に合わせて抽象的要素を独自にカスタマイズする。この時、フレームワーク側で既に定義されているメンバ変数とアプリケーション仕様で必要になるメンバ変数との差分や、個々のメンバ関数の動作の詳細な理解が必要である。また仮想関数は、コードの一部だけが記述されているメンバ関数として定義されていることも多く、アプリケーション開発者がコードを独自に書き加えなければならない。この時、どのメンバ関数と組み合せれば目的の処理が達成できるかは、個々のメンバの関連性から推定することになる。メンバ変数へのアクセス方法や、メンバ関数の組合せの法則、呼出し順序に関する制約など、明示的にソースコードに現れてはいないが、実装時に念頭に置いておかなければならない暗黙の「カスタマイズ作法」もフレームワークには数多く存在する。 このような理由により、フレームワークを用いたアプリケーション開発において最も重要な情報は、フレームワークに含まれる関数や変数といった、クラスメンバ同士の関係と制約の情報である。本研究では、フレームワークのカスタマイズに役立つ情報(カスタマイズ作法)をアプリケーション開発者に与える支援システムを構築、およびそのシステムを利用することで、カスタマイズ作法の理解に要するコストを含めた、アプリケーションの開発コスト全体を低減する手法を提案した。具体的には、フレームワークメンバの関係や制約情報を表現するためにアクセス制約記述言語(ACML:Access Constraint Markup Language)、および、その記述とアプリケーション開発者に対して情報を提示する手法を提案した。ACMLはXMLアプリケーションであり、フレームワークの構成要素間の関係を構造化文書として表現する。
|