氏名: 福安 直樹 (489834035)

論文題目: 細粒度リポジトリに基づいたCASEツール・プラットフォームとそのソフトウェア再利用への応用に関する研究


論文概要

ソフトウェアの再利用は,システムの開発や保守にかかるコストを削減し, 同時にソフトウェアの品質を向上させる. しかし, 一般に既存のシステムから再利用可能な部分を見つけることは困難であり, また,見つかったとしても, 通常そのままの形で再利用できることは少ないなどの問題がある. そこで,ソフトウェアの再利用を支援することが必要である.

本論文では,再利用によるソフトウェア開発の支援を目指して, 上記の問題を解決する方法を示す. 既存システムから再利用可能な部分を見つけ変更を支援するためには, 再利用によるソフトウェア開発の各局面において様々なCASEツールを 作成する必要がある. 各種のCASEツール, あるいはアイデアを検証するための実験的ツールの作成にあたっては, 対象言語の字句解析,構文解析,意味解析といった様々な解析を行う解析器を, ツールごとに作成する必要がある. 過去に字句解析器, 構文解析器の作成支援に関する多くの研究が行われているが, LEXやYACCに代表される生成系は, 字句解析器,構文解析器を記述するための枠組みであって, 一般に,実際のCASEツールを作成する際, 即座に利用できる解析器は提供されていない.

そこで本論文では, 細粒度の構成要素を対象としたCASEツール・プラットフォームを提案した. ソフトウェアライフサイクルの特に設計以降の局面では, ソースコードの字句要素や構文要素などを扱う作業が大きな割合を占める. したがって, ソフトウェアライフサイクルのあらゆる局面で生じる 様々な問合せに応えるためには,これら細粒度の要素を扱うことが必要である. 実際にC言語を対象として, 提案したCASEツール・プラットフォームを実装した. 我々はこれを Sapid (Sophisticated Application Programming Interfaces for software Development) と呼ぶ. また,Sapidを利用していくつかのCASEツールを作成し評価を行った. これにより,提案するリポジトリが, ソフトウェアライフサイクルのあらゆる局面を支援するのに十分な粒度であり, 実用的な時間的,空間的効率で動作することを示した.

次に,ソフトウェアの生産性を向上させる上で重要な技術である, ソフトウェアの再利用について議論した. ソフトウェアを再利用する際には, 既存のソフトウェアを一貫性を保ちながら変更する技術が必要である. ここでは,ソースプログラムの変更に的を絞り, ユーザの視点および変更にともなう制約からソースプログラムの変更を議論した. ソースプログラムには,構文規則やスコープ規則などの様々な制約が存在する. そこで, ソフトウェアを一貫性を保ちながら変更するためのソフトウェアモデルとして, 三層モデルを提案した. 提案した三層モデルを用いることにより, 一貫性を保ったソースプログラムの変更操作を見通し良く行うことができる.

さらに,既存システムに対して機能の追加や変更, バグの修正を行うような状況に注目し,再利用の可能な部分や, 変更の必要な部分を見つける方法について考察し, 既存システムを再利用することによって新システムを開発するための枠組みを 提案した. また,この枠組みにしたがって新しいシステムを開発する例を示し, Sapidによって, この枠組みを支援するために必要な情報が得られることを示した.

本論文では,主にソースプログラムを対象としたが, ソースプログラムだけでなく, 様々なドキュメントを統一的に管理する必要性などを今後の課題として述べた.


目次に戻る


asakura@nuie.nagoya-u.ac.jp