JP2815073B2 - 並行プログラムに対する試験手順生成方法 - Google Patents
並行プログラムに対する試験手順生成方法Info
- Publication number
- JP2815073B2 JP2815073B2 JP3227996A JP22799691A JP2815073B2 JP 2815073 B2 JP2815073 B2 JP 2815073B2 JP 3227996 A JP3227996 A JP 3227996A JP 22799691 A JP22799691 A JP 22799691A JP 2815073 B2 JP2815073 B2 JP 2815073B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- control flow
- flow graph
- test procedure
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Stored Programmes (AREA)
- Exchange Systems With Centralized Control (AREA)
- Debugging And Monitoring (AREA)
Description
されるシステムを並行プログラムとして、ブラックボッ
クス試験を行う場合に、その手順を生成する方法に関す
る。
方法については、種々の方法が提案されているが、それ
らはいずれも単一のプロセスを試験対象とするものであ
った。例えば、OSI(Open Systems Interconne
ction:開放形システム間相互接続)等においてプロトコ
ル機械の適合試験法について、活発な討論が行われてい
る(文献、『Formal Methods for Protocol Test
ing,A DetailedStudy』D.P.Shdhu等、IEEE
Transaction on Software Engineering 15 pp.
413〜426(1987)参照)。従って、例えば、交換プログラ
ムの結合試験、OSI等のアプリケ−ションレイヤプロ
トコルの相互接続試験等の並行プログラムのブラックボ
ックス試験に、それらを適用することは難しかった。と
ころで、交換機等の並行システムのブラックボックス試
験とは、次のような仮定のもとで行われる試験のことで
ある。 (イ)プロセス間通信チャネルにはFIFOを用いる。 (ロ)プロセス間の相対実行速度は予見できない。 (ハ)システムは外部からの入力を契機として動作を開
始し、観測できる出力を与えて、安定状態までの遷移を
繰り返す。 また、試験項目の生成は、次のような条件のもとで行わ
れる。 (a)試験における観測では、システム内の動作タイミ
ングにより生じる相違を区別しない。 (b)各安定状態では、単一の外部入力しか与えられな
い。すなわち、複数の同時外部入力や、安定状態間の遷
移中での外部入力は禁止される。 なお、ここで安定状態とは、外部からの入力の受信のみ
を実行できる全域状態である。従来、交換機等の並行シ
ステムのブラックボックス試験は、仕様を参考にして人
手により作成されていたので、かなりの時間と作業量が
かかり、また試験手順の作成者により品質のばらつき等
の問題点もあった。
た試験手順生成方法の説明図であり、図3は図2におけ
る制御フロ−グラフ生成部の動作アルゴリズムを示すフ
ロ−チャ−トである。図2において、11はシステム仕
様、21は縮退到達可能解析部、12は制御フロ−グラ
フ、13は試験仕様、22は試験手順生成部、14は試
験手順である。例えば、文献『Towards analyzing a
nd synthesizing protocols』P.Zafiropulo等、I
EEE Transactions on Communication 28, pp.
651〜660(1980))において提案された方法では、図3に
示すように、試験対象である並行プログラムをグロ−バ
ルな動作を表わす制御フロ−グラフ(逐次プログラム)
に変換し、制御フロ−グラフに対して逐次プログラム用
試験手順生成法を適用している。先ず、イベント候補の
生成を行い(ステップ1)、次に到達可能木の更新を行
い(ステップ2)、元に戻る。すなわち、先ず全プロセ
スの状態Spを初期状態とし、全受信バッファを0とす
る(301)。全てのpに対して、Spが終了したか否
かを判断し(302)、未だ終了していなければ、全て
のプロセスpに対して、現状態Spでの実行可能イベン
ト集合Espを求める(303)。次に、全てのpに対
して、Esp=0であるか否かを判断し(304)、0
でなければ、全てのEspの論理和Eを求める(30
5)。次に、生成されたEに含まれるイベントを実行
し、次の全域状態を生成し、そこへの枝を付加する(3
06)。そして、再び動作302に戻って処理を続行す
る。
よび図3における従来の手法では、制御フロ−グラフ生
成に要するメモリ容量や、計算時間が膨大となるため、
効率的な試験項目の生成が不可能であった。本発明の目
的は、このような従来の課題を解決し、試験手順の生成
に要するメモリ容量、および計算時間をともに削減し
て、効率的な並行プログラムのブラックボックス試験手
順の生成方法を提供することにある。
め、本発明による並行プログラムに対する試験手順生成
方法は、並行プログラムを制御フロ−グラフに変換した
後、制御フロ−グラフから試験手順を生成する並行プロ
グラムに対する試験手順生成システムにおいて、並行プ
ログラムを制御フロ−グラフに変換する場合に、現状態
で各プロセスが実行可能なイベントの組からなるグロ−
バルイベントを、外部からの入力イベントよりも各プロ
セス間の送受信イベントや各プロセスのロ−カルイベン
トを優先して選択し、イベントを初期全域状態から逐次
実行して、全域状態を点とし、グロ−バルイベントによ
る遷移を枝とする制御フロ−グラフを生成することに特
徴がある。
して区別できない動作系列間の関係を示すため、ブラッ
クボックス等価概念を導入する。すなわち、一般に動作
系列は、各プロセスにより実行されるイベントの部分系
列の組に分割される。ここでは、上記組をマルチロ−グ
と呼ぶことにする。そして、下記の条件(A)(B)が
成立するときに、2つの動作系列IS,IS′はブラッ
クボックス等価と呼ぶ。 (A)IS,IS′の外部入力のみに注目した部分列、
ex(IS),ex(IS′)が一致する。 (B)ISとIS′とは同一のマルチロ−グに分割され
る。 本発明においては、ブラックボックス等価な動作系列の
組を代表するグロ−バルイベント系列(縮退動作系列R
ISと呼ぶ)のみからなる制御フロ−グラフを構成する
ことにより、試験手順として区別できる動作だけを表現
する最小の制御フロ−グラフを構成する。 (イ)展開イベント列は従来の方法で生成された制御フ
ロ−グラフの経路となる。(ロ)従来の方法で生成され
た制御フロ−グラフの任意の経路とブラックボックス等
価な展開イベント列を生成する制御フロ−グラフの経路
がある。ここで、展開イベント列とは、制御フロ−グラ
フのパスからグロ−バルイベント内の各イベントを任意
のプロセス順に並列してできるイベント列のことであ
る。本発明においては、全ての安定状態を含む制御フロ
−グラフを生成するために、現状態で実行可能なイベン
トの組からなるグロ−バルイベントを外部入力イベント
よりも内部イベント(外部入力イベント以外のイベン
ト)を優先して選択し、それを初期全域状態から逐次実
行して、制御フロ−グラフを生成する。従って、本発明
によって生成された制御フロ−グラフは、次のような性
質を有している。 (a)異なった経路から生成される展開イベント列は、
ブラックボックス等価ではない(極小性)。 (b)全ての安定状態が生成される(網羅性)。 すなわち、生成された制御フロ−グラフは、各試験手順
の起動状態である全ての安定状態を含み、試験手順とし
て区別できる動作だけを表現する最小の制御フロ−グラ
フであって、必要なメモリ容量および計算時間を削減す
ることができる。
説明する。図1は、本発明の一実施例を示す並行プログ
ラムに対する試験手順生成システムの機能ブロック図で
ある。本実施例では、システム仕様11から制御フロ−
グラフ12を生成する制御フロ−グラフ生成部(縮退到
達可能解析部)21、および生成された制御フロ−グラ
フ12と試験仕様13から試験手順14を生成する試験
手順生成部22から構成される。ここで、試験手順生成
部23は、逐次プログラム用試験手順生成方法と類似の
方法を用いればよいので、以下では制御フロ−グラフ生
成部21の詳細を説明する。制御フロ−グラフ生成部2
1は、全体の実行状態を管理する実行状態管理部23、
各イベントの実行可能性を判定するイベント実行可能性
判定部25、グロ−バルイベントを計算するグロ−バル
イベント生成部26、および生成されたグロ−バルイベ
ントにより制御フロ−グラフを更新する制御フロ−グラ
フ更新部24より構成される。図1において、図2に示
す従来のシステムと異なる点は、制御フロ−グラフ生成
部21に、グロ−バルイベント生成部26を新たに設け
た点である。
2者通話サ−ビスを簡単化したプロトコル仕様の例、お
よびその中の汎例として述語の意味を示すものである。
図4(a)中の左内部矢印のあるsignalは外部受信イベ
ント、また右内部矢印のあるtarget(signal)は受信イベ
ント、右外部矢印のあるtarget(signal))は送信イベン
ト、両端外部矢印のあるfreeは条件分岐イベント、両端
無矢印のRingは自律イベントである(図4(b)参照)。
その他、startは動作開始、onhkはオンフック、ofhkは
オフフックである。この仕様は、図4(a)に示すよう
に、加入者端末T1,T2と交換機EXの3つのプロセ
スから構成されている。各プロセスは、CCITTの仕
様記述言語図法SLD/GRと類似の記法で記述されて
いる。図4(a)の加入者端末T1,T2,交換機EX
の仕様に対して、イベント系列IS1,IS2は本仕様の
システム動作系列であって、到達可能木上の経路とな
る。なお、下式の各項の最後に付加されたT1,T2,EXは、
それぞれ加入者端末T1,T2および交換機EXの各プロセス
を意味している。 IS1=〔+(ofhk)T1,−T2(start)T1,+T1(start)T2,if(free:Y)T2, −T1(Ack)T2,+T2(Ack)T1,Ring_back()T1,Ring()T2,+(ofhk) T2,−EX(cnnect)T2,+T2(connect)EX,−T1(connect)T2,+T 2(connect)T1,set_speachpath(T1,T2)EX,・・・・・・,+T1(term) T2,Busy()T2,+(onhk)T2〕 IS2=〔+(ofhk)T1,−T2(start)T1,+T1(start)T2,if(free:N)T2, −T1(Nack)T2,+T2(Nack)T1,Busy()T1,+(onhk)T1〕
常の制御フロ−グラフの概略を示す図である。これは、
50個の全域状態と1267本の動作系列を含んでい
る。この1267本の動作系列は、マルチロ−グ(uT
1,uT2,EX)によって表現される1266本の系
列からなるグル−プ1(上述のIS1は本グル−プに含
まれる)とマルチロ−グ(uT1′,uT2′)によっ
て表現される系列IS2からなるグル−プ2に分かれて
いる。 uT1=〔+(ofhk),−T2(start),+T2(Ack),Ring_back(),+T2 (connect),+(onhk),−EX(term),−T2(term)〕 uT2=〔+T1(start),if(free:Y),−T1(Ack),Ring(),+(onhk),− EX(connect),−T1(connect),−T1(term),Busy(),+(onhk)〕 uEX=〔+T2(connect),set_speachpath(T1,T2),+T1(term),r elease_speachpath(T1,T2)〕 uT1′=〔+(ofhk),−T2(start),+T2(Nack),Busy(),+(onhk)〕 uT2′=〔+T1(start),if(free:N),−T1(Nack)〕 上記のuT1,uT2,uEXはプロセスT1,T2,
EXによって実行されるイベント系列である。
列は、同一の外部入力イベント系列ex(IS1)を持
つので、上述の2つのグル−プは、各々ブラックボック
ス等価な動作系列のグラスである。これらのブラックボ
ックス等価な動作系列のクラスに対して、次の縮退動作
系列RISは各クラスを代表するグロ−バルイベント系
列と考えられる。 RIS1=〔{+(ofhk)T1},{−T2(start)T1},{+T1(start)T2},{if(free: Y)T2},{−T1(Ack)T2},{+T2(Ack)T1,Ring()T2},{Ring_ back()T1},{+(ofhk)T2},{−EX(connect)T2},{−T1(connect)T2, +T2(connect)EX},{+T2(connect)T1,set_speachpath(T1,T 2)EX},・・・・,{+T1(term)T2},{Busy()T2},{+(onhk)T2}〕 RIS2=〔{+(ofhk)T1},{−T2(start)T1},{+T1(start)T2},{if(free: N)T2},{−T1(Nack)T2},{+T2(Nack)T1},{Busy()T1}, {+(onhk)T1}〕
成部のアルゴリズムを示すフロ−チャ−トである。すな
わち、図6には、上述の縮退動作系列RISのみから構
成される制御フロ−グラフを生成する制御フロ−グラフ
生成部の動作が示されている。動作は、ステップ1でイ
ベント候補の生成を行い、ステップ2でグロ−バルイベ
ントの生成を行い、ステップ3で到達可能木の更新を行
い、元に戻る。すなわち、先ず、準備として、全プロセ
スを初期状態にし、全ての受信バッファを空にする(6
01)。全てのpに対してSp=終了状態であるか否か
を判断し、終了していないときには(602)、イベン
ト実行可能性判定部25では、各プロセスpに対して、
現状態Spに記述された内部イベントについて以下のル
−ルに従って実行可能性を判定し、実行可能内部イベン
ト集合Esp、疑似可能イベント集合Pspを決定す
る。 (a)受信以外のイベントおよび期待する信号が受信バ
ッファの先頭に有るイベントは実行可能である。 (b)受信イベントで、対応する受信バッファが空であ
るイベントを疑似実行可能とする。 (c)上記以外の内部イベントは実行不可能である。
候補を計算する(603)。疑似可能イベントとは、対
応する受信バッファが空の受信イベントであり、実行可
能イベントを実行せずに、『待っていれば、』実行可能
になる可能性のあるイベントである。この疑似可能イベ
ントの実行を予定するために、実行可能イベントの実行
を待たせることを意味する待ちイベントλを用いる。た
だし、直前に待ちイベントλを実行したプロセスについ
ては、実行できなかった疑似可能イベントのみを対象と
して実行可能イベントおよび疑似可能イベントを計算す
る。次に、ステップ2では、グロ−バルイベント生成部
26によりグロ−バルイベントを計算する。すなわち、
全てのpに対して、Espが0であり(604)、またTs
pが0であれば(606)、計算は終了する。Espが0
でなければ、PspとTspの論理和をとり、この結果が0
でなければ(605)、Esp:=TspU(λ)を求め
(608)、次に、GE:=cpを算出する(60
9)。また、PspとTspの論理和の結果が0であれ
ば(605)、直ちにGE:=cpを算出する(60
9)。また、全pに対して、Tspが0でなければ(6
06)、グロ−バルイベントGE:=(t)を算出する
(607)。次に、ステップ3では、制御フロ−グラフ
更新部24によりグロ−バルイベントGE内の全てのイ
ベントを任意の順番で実行し、次の全域状態を生成し
て、そこへの枝を付加する(610)。そして、新たに
生成された全域状態の各々に対して、ステップ1以降を
再帰的に適用する。ただし、外部受信は、同時に1つの
み実行する。全てのプロセスが終状態になった場合に
は、アルゴリズムを終了する(602)。このアルゴリ
ズムの停止性を保証するために、チャネル長有限を仮定
する。
ントを削除した制御フロ−グラフの概略を示す図であ
る。制御フロ−グラフは、上述の2つの縮退動作系列R
IS1とRIS2と、図5に示した5つの安定状態(0,
0,0),(4,4,0),(5,7,2),(0,
9,0),(0,9,0),(9,0,0)を含んでい
る。これらの安定状態が点に該当し、それらの点を結合
する線が枝に該当する。枝の途中に存在するのが、何を
行うかを示す動作を示している。この制御フロ−グラフ
は、現状態で各プロセスが実行可能なイベントの組から
なるグロ−バルイベントを、外部からの入力イベントよ
りもシステムの内部での送受信イベントや各プロセスの
ロ−カルイベントを優先して選択し、それを初期全域状
態から逐次実行して、全域状態を点としてグロ−バルイ
ベントによる遷移を枝とする制御フロ−グラフを生成し
ている。本実施例においては、縮退到達可能解析方法に
より制御フロ−グラフを生成するので、各試験手順の起
動状態である全ての安定状態を含み、試験手順として区
別しないことが望ましいブラックボックス等価な動作の
クラスを代表する縮退動作系列のみから構成されてい
る。従って、通常の到達可能解析のように状態爆発を生
じ、計算時間が膨大になるということが回避される。ま
た、従来の逐次プログラム用試験手順生成法を、得られ
た制御フロ−グラフに直接適用することにより、並行プ
ログラムの試験手順を容易に自動生成することが可能で
ある。
制約のもとで、各試験手順の起動状態である安定状態を
全て含み、試験項目として区別できる動作のみを表現す
る制御フロ−グラフを生成することができるので、試験
手順に要するメモリ容量や計算時間を削減し、効率的な
並行プログラムのブラックボックス試験手順を生成する
ことが可能である。
る試験手順生成システムの機能ブロック図である。
ステムの機能ブロック図である。
ルゴリズムを示すフロ−チャ−トである。
図である。
ある。
リズムを示す動作フロ−チャ−トである。
概略図である。
Claims (1)
- 【請求項1】 並行プログラムを制御フロ−グラフに変
換した後、該制御フロ−グラフから試験手順を生成する
並行プログラムに対する試験手順生成システムにおい
て、上記並行プログラムを制御フロ−グラフに変換する
場合に、現状態で各プロセスが実行可能なイベントの組
からなるグロ−バルイベントを、外部からの入力イベン
トよりも各プロセス間の送受信イベントや各プロセスの
ロ−カルイベントを優先して選択し、該イベントを初期
全域状態から逐次実行して、全域状態を点とし、グロ−
バルイベントによる遷移を枝とする制御フロ−グラフを
生成することを特徴とする並行プログラムに対する試験
手順生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3227996A JP2815073B2 (ja) | 1991-09-09 | 1991-09-09 | 並行プログラムに対する試験手順生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3227996A JP2815073B2 (ja) | 1991-09-09 | 1991-09-09 | 並行プログラムに対する試験手順生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0566966A JPH0566966A (ja) | 1993-03-19 |
JP2815073B2 true JP2815073B2 (ja) | 1998-10-27 |
Family
ID=16869547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3227996A Expired - Lifetime JP2815073B2 (ja) | 1991-09-09 | 1991-09-09 | 並行プログラムに対する試験手順生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2815073B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08212106A (ja) * | 1995-02-01 | 1996-08-20 | Toshiba Corp | システム試験支援装置及びシステム試験支援方法 |
JP2000112786A (ja) | 1998-10-05 | 2000-04-21 | Fujitsu Ltd | 試験ルート選定方法及び装置 |
-
1991
- 1991-09-09 JP JP3227996A patent/JP2815073B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0566966A (ja) | 1993-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101126255B1 (ko) | 신호처리장치 | |
US5513122A (en) | Method and apparatus for determining the reachable states in a hybrid model state machine | |
KR100788112B1 (ko) | Asic과 프로그래머블 로직 디바이스의 컨커런트 개발 방법 및 그 개발 시스템, 개발 프로그램을 기록한 기록 매체, 및 네트리스트 생성 방법 | |
JP2000196705A (ja) | メッセ―ジ/シ―ケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法 | |
JP2710896B2 (ja) | 通信オートマトンセットの開発を支援する方法 | |
Holzmann et al. | Validating SDL Specifications: an Experiment. | |
EP1202194A2 (en) | High-level synthesis method, high-level synthesis apparatus, method for producing logic circuit using the high-level synthesis method for logic circuit design, and recording medium | |
US7095718B1 (en) | Client/server scan software architecture | |
Kato et al. | SDE: Incremental specification and development of communications software | |
US5913055A (en) | Data driven information processor for executing and debugging a data flow graph without revising the data flow graph | |
JP2815073B2 (ja) | 並行プログラムに対する試験手順生成方法 | |
Higashino et al. | Deriving protocol specifications from service specifications in extended FSM models | |
US20020143511A1 (en) | Method and computer program product for system design support | |
Uyar et al. | Resolving inconsistencies in EFSM-modeled specifications | |
US6775814B1 (en) | Dynamic system configuration for functional design verification | |
JP2916933B2 (ja) | ハードウエア設計言語からのテストデータ生成方式 | |
Mansurov et al. | Dynamic scenario-based approach to re-engineering of legacy telecommunication software | |
Ecker et al. | VHDL-based communication-and synchronization synthesis | |
JP2569881B2 (ja) | コンカレント故障シミュレーション方式 | |
CN117077584A (zh) | 基于自动化验证环境生成和运行功能模型的创建方法 | |
KR0150532B1 (ko) | 유한상태머신을 이용한 지능망 서비스로직의 수행 방법 | |
JPH05233327A (ja) | メッセージシーケンス生成装置 | |
McCormick | Software Design and Implementation using the Real-Time Object-Oriented Modeling Language | |
ARAKAWA et al. | A Test Case Generation Method for Black Box Testing of Concurrent Programs | |
JPH0830444A (ja) | 正規表現を用いたメッセージシーケンスチャート抽出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070814 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080814 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080814 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090814 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090814 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100814 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100814 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110814 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 14 |