研究課題/領域番号 |
16016284
|
研究機関 | 国立情報学研究所 |
研究代表者 |
佐藤 健 国立情報学研究所, 情報学基礎研究系, 教授 (00271635)
|
研究分担者 |
宇野 毅明 国立情報学研究所, 情報学基礎研究系, 助教授 (00302977)
兼岩 憲 国立情報学研究所, 情報学基礎研究系, 助手 (00342626)
|
キーワード | ソフトウェア発展 / 宣言的プログラミング / UML / 論理プログラミング / 記述論理 |
研究概要 |
現在のように、ソフトウェアのバージョンアップが頻繁に生じる状況では、ソフトウェア変更管理(ソフトウェア発展)の技術は大変重要なものである。本研究では、宣言的プログラミングにおけるソフトウェア発展を考える。これは、論理型プログラミングや関数型プログラミングなどの宣言的なプログラミングが数学的な体系に基づいているため、ソフトウェア発展技術の構築のための理論が構築しやすいと考えたためである。 本年度は、前年度まで行ったソフトウェア発展の研究を踏まえて、UML(Unified Modeling Language)クラスダイアグラムの矛盾検出および自動修正手法の検討を行った。UML(Unified Modeling Language)は、ソフトウェア設計の描画ツールとして用いられるモデリング言語である。その特徴は、ビジュアル的にソフトウェアの仕様を設計できることにあるが、UMLで設計した仕様が整合的であるかどうかを形式的に判断する難しさがある。特に、UMLで設計したクラスダイアグラムが論理的に矛盾を生じていないかを調べ、矛盾があればそのエラーを抽出するメカニズムが求められる。本研究ではクラスダイアグラムを一般量化子付きの一階述語論理式で表して、UML独自の矛盾判定システムを設計した。その結果、記述論理よりも効率の良いアルゴリズムを実現するとともに、矛盾の原因と修正箇所を推定する方法を提案した。また、一般量化子付きの一階述語論理式を論理型プログラムに変換する手法を検討し、その変換後のプログラムに対して無矛盾検査を行う実装を検討した。
|