小林 弘明, 岡本 秀輔, 曽和 将容
全国大会講演論文集 1995年3月15日 一般社団法人情報処理学会
プログラムの再利用性を改善することで,プログラムを部品として扱えるようにすることを目標とした研究は数多くなされている.特にオブジェクト指向プログラミングは一定の成果を上げてきた.これに対し,近年,知識モジュールやシステムの柔らかさと呼ばれる概念が提案されつつある.モジュールの柔らかさとは,モジュールの,状況変化に対する適応性の事であると考えられる.この概念は,通常言われる再利用性よりも広い概念である.すなわち,モジュール化プログラミングにおける再利用性とは,1つのモジュールが変更抜きに他の状況下で使用できるかどうかを意味する.これに対し,柔らかさ(適応性)の場合,必要な個所を自ら書き換えるという意味を含む.したがって,柔らかいモジュールを実現するためには,モジュールの自動修正に関する問題を扱う必要がある.図1はモジュールの自動修正の概念図である.プログラマが外部仕様を更新した時,要求の変化に適応するように,プログラムモジュールが自動的に修正される事が本研究の最終目標である.この問題の主要な困難は,モジュールがブラックボックスであることから生じる.すなわち,通常のモジュール化プログラミング言語においては,言語はモジュールの界面仕様のみを管理し,モジュールの内部に関しては関知しない.すなわち,モジュール内部の細部が担う"役割"は言語の管理下にない.このため言語の枠組の中では,モジュール全体の目的が変化した時,モジュール内部の「どこを」「どのように」変更するべきかを知る事ができない.