抄録
Offer Organization: 日本学術振興会, System Name: 科学研究費助成事業 特定領域研究, Category: 特定領域研究, Fund Type: -, Overall Grant Amount: - (direct: 9900000, indirect: -)
現在のように、ソフトウェアのバージョンアップが頻繁に生じる状況では、ソフトウェア変更管理(ソフトウェア発展)の技術は大変重要なものである。本研究では、宣言的プログラミングにおけるソフトウェア発展を考える。これは、論理型プログラミングや関数型プログラミングなどの宣言的なプログラミングが数学的な体系に基づいているため、ソフトウェア発展技術の構築のための理論が構築しやすいと考えたためである。
本年度は、前年度行ったUML(Unified Modelling Language)クラス図の矛盾検出および自動修正の検討を発展させ、論理プログラミングによる実装を行った。クラス図の各コンポーネントを論理プログラミングのルールに変換し、そのルール上での矛盾の導出がクラス図での矛盾検出と同値になるような手法の開発を行った。さらに論理プログラミングにおけるメタルールを用いることでルール集合のどの部分が矛盾であるかを検出できるようになった。このルール集合の矛盾部分に対して極小被覆集合アルゴリズムを用いて極小にUMLの部分を消去することで矛盾除去ができる手法を開発した。この手法を検証するためにプロトタイプシステムを作成し、高速処理への見通しを得た。
また、UMLクラス図の部分クラスにおいて矛盾検証そのものが不要になるものを発見し、さらに部分クラスを分類して各表現能力に応じて矛盾検証アルゴリズムがどの程度計算量的に複雑になるかについても見当した。