学位論文要旨



No 214170
著者(漢字) 若原,恭
著者(英字)
著者(カナ) ワカハラ,ヤスシ
標題(和) 通信ソフトウェア仕様検証技術の効率向上に関する研究
標題(洋)
報告番号 214170
報告番号 乙14170
学位授与日 1999.02.12
学位種別 論文博士
学位種類 博士(工学)
学位記番号 第14170号
研究科 工学系研究科
専攻 電子情報工学専攻
論文審査委員 主査: 東京大学 教授 斉藤,忠夫
 東京大学 教授 青山,友紀
 東京大学 教授 石塚,満
 東京大学 助教授 相田,仁
 東京大学 助教授 瀬崎,薫
 東京大学 助教授 相澤,清晴
内容要旨

 情報社会の発展に伴って情報通信は高度化・多様化の一途をたどっており,電話網による音声主体の通信からインターネットによるマルチメディア情報通信に大きく変遷しようとしている.このような情報通信の実現の核となる通信ソフトウェアの開発量・保守量は増大する一方である.その結果,通信ソフトウェアの開発・保守における作業の効率化と品質の向上が一層重要な課題となってきた.この課題の解決には,開発・保守の初期の段階で作成する(要求)仕様がその後の全作業工程の基本となりまた要となるので,正確な仕様の作成を支援する仕様検証技術が特に重要である.

 これまで仕様検証技術については様々な研究開発が進められてきたが,通信ソフトウェアに適した仕様検証技術についての研究開発は十分ではなかった.

 通信ソフトウェアの中で重要な位置を占めるものの一つに通信プロトコルがある.一般に,通信プロトコルの仕様は大規模で複雑であり,誤りを含むことが少なくなく,その結果通信システムの動作に重大な支障を来たすことがある.従って,プロトコル仕様に含まれる誤りを検出するプロトコル検証は必須である.しかし,これまでに開発されてきたプロトコル検証技術では,検証処理の効率が低く,プロトコル規模が大きくなると検証に必要なメモリ量や処理量が指数関数的に急激に増大するため,多くの実用的規模のプロトコルが検証できないという問題があった.

 通信ソフトウェア仕様の検証には,プロトコル検証だけでは十分ではない.しかし,これまでのところ総合的かつ体系的な検討は少なく,通信ソフトウェア仕様の特徴を考慮した効率的な仕様検証技術は未だ確立されてはいない.例えば,通信ソフトウェア仕様は一般に規模が大きく,通常一部分づつ段階的に作成されるが,このような仕様の段階的作成を効率よく支援する検証技術はほとんど開発されてこなかった.また,通信ソフトウェア仕様の検証はある程度人手による必要があるが,人手による検証を効率よく支援する技術の研究も十分には取り組まれてこなかった.

 このように通信ソフトウェア仕様の検証に関しては,プロトコル検証の効率を大幅に向上できる技術,及び,通信ソフトウェア仕様向きの検証機能を持った新しい効率よい技術の開拓が大きな課題であった.本論文の目的は,これらの課題の解決を図ることにあり,具体的には,次の通り,二つに大別できる.

 本論文の第1の目的は,信号送受信の過不足やデッドロック等,通信ソフトウェア仕様の要となるプロトコルの動作仕様に関する論理的な誤りを検出するプロトコル検証の効率を大幅に向上し,これまでは不可能であった実用的規模のプロトコルの検証を可能とする技術を確立することにある.すなわち,これまでの検証法においてボトルネックとなっていた所要メモリ量と処理量の大幅な削減を可能にする技術の開拓を目標とした.

 本論文の第2の目的は,原始要求に対する通信ソフトウェア仕様の充足性に関する検証を効率よく実現する新しい技術の開拓にある.特に,不完全な仕様の段階的な機能検証を可能にする技術の開拓を目標とした.また,与えられた仕様をできる限り簡明な表現に自動的に変換して検証を容易にすることによって,人手による検証の効率を向上する技術の開拓を目標とした.更に,機能に関する要求条件を入力し,与えられた仕様がそれを満たしているか否かを効率よく検査できる技術の開拓を目標とした.

 本論文では,第1の目的を達成するため,以下に示す4手法を考案し技術開発した.

(1)プロセスの削減

 本手法は,プロトコルを司る機能要素であるプロセスのうち,タイマやリソース管理のためのプロセスのように,特定の1個のプロセス(親プロセス)との間でのみしか信号の授受を行わないプロセス(子プロセス)を除去し,親プロセスに特別な処理を施してプロトコル検証を行うものである.このようなプロセス除去によって,検証に必要となるプロトコル動作の検査量を大幅に削減する.

(2)プロセス状態遷移の一括処理

 本手法では,プロトコル動作を効率よく検査するため,プロトコル全体の動作を表すグローバルな状態遷移図の展開において,誤り検出に支障のない範囲で,プロセス状態遷移をできる限りまとめて一括処理する.このような一括処理によって,生成するグローバル状態遷移図に含まれる状態と遷移等を直接減少させ,検証に必要なメモリ量と処理量を削減する.

(3)プロトコル仕様のアサイクリック展開

 本プロトコル検証法では,プロトコル動作を検査するため,各プロセスの状態遷移図をアサイクリック状に展開することとし,その際他のプロセスに関する情報の管理は最小限に留める.そして,プロセス状態遷移図の展開において,等価な展開状態が得られた場合,それ以降は同じ展開の繰り返しとなるので,等価な展開状態以降では,一つの等価状態からのみ展開を実行し他の等価状態からの冗長な展開を省略することによって,展開規模を小さくする.これによって,検証処理量を大幅に削減する.

(4)段階的検証法

 本手法では,検出すべきプロトコル誤りを,プロトコル検証における所要メモリ量と処理量の支配的要素であるグローバル状態に直接関わるデッドロックと,グローバル状態に直接は係わらない他の誤りとに分類し,分類された誤り種別毎に段階的に分けて検証する.いずれの段階の検証においてもプロトコル動作を表す状態遷移図を展開し作成するが,それぞれの誤り検出に支障のない範囲で,列挙する状態や状態遷移を必要最小限に留める.このような2段階の展開処理によって,展開すべき状態と遷移の総数を大幅に削減する.

 これらの新プロトコル検証技術によって,従来法に比較して,検証効率を大幅に向上でき,所要メモリ量と検証処理量を飛躍的に削減することが可能となった.例えば,プロセス削減法によって,タイマプロセスを1個削除すれば所要処理量は1/3〜1/5に減少し,タイマプロセスを2個削除すれば所要処理量は10数分の1に減少する.また,段階的検証法によって,所要メモリ量と検証処理量の両者を数100分の1以下に削減できる.総合的には,両手法を組み合せることによって,検証効率を数100〜10,000倍以上向上させることが可能となった.そして,検証すべきプロトコルの規模が大きいほど,特にプロセスが多いほど,従来法に比較した所要メモリ量・検証処理量の削減効果が大きくなるという特長がある.

 本検証法によって,プロセスが多く従来は不可能であった大規模なプロトコルの検証を可能とした.実際,これまでは検証不可能であった,国際海事衛星通信システム,国際SDH伝送路障害切り替えシステム,国際電話用新交換台システム等の国際通信システムのプロトコル開発において,本論文によって確立したプロトコル検証技術を適用し,その有効性を実証した.

 第2の目的を達成するため,以下に示す通り,従来にはなかった通信ソフトウェア仕様検証機能を実現可能とする新しい3検証技術を確立した.

(1)抽象処理を用いたプロトタイピングによる検証

 本検証法では,変数の値が設定されない,手続きの内容が記述されていない等,不完全な通信ソフトウェア仕様を入力し,それをプログラムに自動変換して実行する.そして,実行結果を正しいものと必ずしも正しくないものとに明確に区別して出力する.また,実行開始にあたって,実行すべき仕様部分を指定することが可能で,この指定によって分岐判断のための変数の値の自動設定や他に実行すべき仕様部分の自動決定を可能な限り行う.これによって,通信ソフトウェア仕様の部分的・段階的な作成とその検証の効率向上が可能となり,仕様作成における生産性の向上を可能とした.

(2)仕様簡明化による検証

 与えられた仕様を入力し,それと等価でかつより簡明な表現に自動変換する様々な手法を開発した.特に,検査すべき仕様の規模を削減する手法として,無効な実行系列の削除,分岐要素の順序変更による仕様要素の削減等を考案し,実際の通信システムに適用してその評価結果を論じた.その結果,考案手法によって,例えば仕様の規模を3/4程度に縮小し,簡明な表現に変換することが可能となり,人手で検証する場合の検査作業量をかなり削減できることとなった.

(3)実行系列の自動検査による検証

 与えられた仕様が満たすべき条件を,仕様要素の実行順序に関する規則として与え,仕様がその規則を満たすか否か効率よく判定する手法を開発した.この手法によって,従来は極めて困難であった,複数の実行系列に係わる規則に対する検証も機械化が可能となり,人手による目視検証に比較して,例えば検証作業時間を1/20以下に削減でき,検証効率の大幅な向上を可能とした.

 以上の通り,本論文では,通信ソフトウェア仕様の検証効率を大幅に向上できる技術を確立した.近年情報社会はグローバル化・マルチメディア化が著しく進んでおり,開発・保守すべき通信ソフトウェアは増大する一方である.本論文で確立した仕様検証技術が,このような発展を支える礎石の一つになるものと期待される.

 以上

審査要旨

 本論文は「通信ソフトウェア仕様検証の技術の効率向上に関する研究」と題し、近年極めて多様に展開され、急速に進展している通信用ソフトウェアについて、その検証を高能率化する方法について論じたものであって、全6章よりなる。

 第1章は「序論」であって研究の背景と目的を述べている。通信ソフトウェアの中で重要な位置を占める通信プロトコル仕様に含まれる誤りを検出するプロトコル検証の高能率化と通信ソフトウェア仕様が段階的に作成されるために発生する不完全性を軽減する支援手法の重要性を述べている。

 第2章は「研究の位置づけ」と題し、この分野における従来の研究を総括すると共に、本論文の立場を述べている。通信ソフトウェアの検証の目的ではモデル化が必要であり、本論文としては拡張された有限状態機械モデルを採用し、仕様の記述にはSDL(Specification and Description Language)を使用するものとしている。さらに従来の通信プロトコルの論理検証技術と通信ソフトウェア仕様の意味検証技術について検討し、効率の良い技術が必要であることを述べている。

 第3章は「通信ソフトウェア仕様の検証」と題し、通信ソフトウェアの生産性の品質の向上を図ることを目的として、その初期の段階で作成する仕様に含まれる誤りを検証する技術について、検討している。また、仕様誤りと呼ばれ、誤りの定義を明確化すると共に、仕様検証技術全体を体系的に整理し、仕様検証技術の全体像を明らかにしている。さらに、通信ソフトウェアのライフサイクルについて論じ、機能の追加や変更が絶え間なく要求されるシステムをモデル化している。仕様要件の内、一義性、正当性、一貫性および完全性を劣化させる要因をすべて仕様誤りと定義し、一貫性および完全性を劣化させる誤りを論理誤り、正当性を劣化させる誤りを意味誤りと呼び、それぞれの誤りがないことを検証することを論理検証、意味検証と定義している。

 第4章は「通信プロトコル仕様の論理検証」と題し、プロトコル検証の効率を向上する新しい手法を提案し、評価している。まず通信プロトコル仕様を2個以上のプロセスでモデル化している。このモデルに基づいて、信号定義の過剰、信号定義の不足、デッドロックの3種類の誤りをすべて検出することをプロトコル検証問題と定義している。こうして定義されるプロトコルは実用システムでは膨大な規模のモデルとなり、効率的な検証が困難になる。これに対して本章では、信号を送受信する相手プロセスが1個に限定されるプロセスを削除して検証するプロセス削減法を提案し、プロセス1個を削減することによって検証処理量を1/3〜1/5に減少できることを示している。さらにプロセス状態遷移の一括処理法、プロセス状態遷移図のアサイクリック展開法、段階的プロトコル検証法を提案し、これらを組合わせて適用することによって数百分の1への検証処理量の削減ができることを示している。

 第5章は「通信ソフトウェア仕様の意味検証」と題し、プロトコル記述の正当性を検証する方法について論じている。まず不完全な仕様を段階的に意味検証する方法としてプロトタイピングを提案し、それを実証的に評価している。しかし通信ソフトウェア仕様の意味検証を完全に、機械的に実施することは不可能であり、人手による検証が必要になる。そこで人手による検証の効率を向上させる方法として、与えられた仕様を意味や機能は変更せずより簡明な表現に変換する簡明化処理について提案している。形式簡明化としてはSDLによる表現を標準化して統一的に記述することを提案している。意味簡明化としては簡明なSDL構文をとることなどを提案し、そのための具体的方法を示している。これらによりSDLによる表現を25%程度削減できることを示している。さらに実行系列の検査による意味検証法によって原始要求の充足性を判定する方法を提案し、従来の人手による方法に比べ最大数十分の1以下に検証時間を短縮できるとしている。

 第6章は本論文の結論であり全体の成果をとりまとめている。

 以上のように本研究では通信プロトコルの論理検証および意味検証についてその効率を大幅に向上する方法を提案し、実証したものであって、今後ますます重要になる通信ソフトウェアの開発を効率化する技術を確立しており、電子情報工学に寄与するところが少なくない。よって本論文は博士(工学)の学位論文として合格と認められる。

UTokyo Repositoryリンク http://hdl.handle.net/2261/54101