JPH0566966A - Test procedure generating method for parallel program - Google Patents

Test procedure generating method for parallel program

Info

Publication number
JPH0566966A
JPH0566966A JP3227996A JP22799691A JPH0566966A JP H0566966 A JPH0566966 A JP H0566966A JP 3227996 A JP3227996 A JP 3227996A JP 22799691 A JP22799691 A JP 22799691A JP H0566966 A JPH0566966 A JP H0566966A
Authority
JP
Japan
Prior art keywords
event
control flow
test procedure
flow chart
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.)
Granted
Application number
JP3227996A
Other languages
Japanese (ja)
Other versions
JP2815073B2 (en
Inventor
Noriyasu Arakawa
則泰 荒川
Akinao Soneoka
昭直 曽根岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3227996A priority Critical patent/JP2815073B2/en
Publication of JPH0566966A publication Critical patent/JPH0566966A/en
Application granted granted Critical
Publication of JP2815073B2 publication Critical patent/JP2815073B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Exchange Systems With Centralized Control (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To reduce the memory capacity and the calculation time required for generation of a black box test procedure for a parallel program and to obtain this test procedure with high efficiency by generating a control flow graph which contains all stable start states of each test procedure and expresses only the actions that can be recognized as the test items. CONSTITUTION:A means which converts a parallel program into a control flow flag 12 selects a global event consisting of a pair of events where each process can be carried out in the present state with higher preference given to the internal transmission/reception events of a system and the local event of each process over an external input event. Then the selected global event is sequentially carried out from an intial state for generation of the graph 12 which defines an entire area state as a spot and the transition caused by the global event as a branch respectively.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数のプロセスで構成
されるシステムを並行プログラムとして、ブラックボッ
クス試験を行う場合に、その手順を生成する方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of generating a procedure when a black box test is performed by using a system composed of a plurality of processes as a parallel program.

【0002】[0002]

【従来の技術】従来より、プロトコル機械等の適合試験
方法については、種々の方法が提案されているが、それ
らはいずれも単一のプロセスを試験対象とするものであ
った。例えば、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)各安定状態では、単一の外部入力しか与えられな
い。すなわち、複数の同時外部入力や、安定状態間の遷
移中での外部入力は禁止される。 なお、ここで安定状態とは、外部からの入力の受信のみ
を実行できる全域状態である。従来、交換機等の並行シ
ステムのブラックボックス試験は、仕様を参考にして人
手により作成されていたので、かなりの時間と作業量が
かかり、また試験手順の作成者により品質のばらつき等
の問題点もあった。
2. Description of the Related Art Conventionally, various methods have been proposed for conformity testing methods for protocol machines and the like, but all of them are intended to test a single process. For example, OSI (Open Systems Interconne
ction: open system interconnection) etc., active discussions have been conducted on conformity testing methods for protocol machines (reference, “Formal Methods for Protocol Test”).
ing, A Detailed Study ”D. P. Shdhu et al., IEEE
Transaction on Software Engineering 15 pp.
413-426 (1987)). Therefore, it is difficult to apply them to a black box test of a parallel program such as a coupling test of an exchange program and an interconnection test of an application layer protocol such as OSI. By the way, a black box test of a parallel system such as an exchange is a test performed under the following assumptions. (A) A FIFO is used for the inter-process communication channel. (B) The relative execution speed between processes cannot be foreseen. (C) The system starts operation triggered by an input from the outside, gives an observable output, and repeats the transition to a stable state. Further, the test item is generated under the following conditions. (A) The observation in the test does not distinguish the difference caused by the operation timing in the system. (B) Only a single external input is provided in each stable state. That is, a plurality of simultaneous external inputs and external inputs during transition between stable states are prohibited. It should be noted that the stable state here is an entire state in which only reception of an input from the outside can be executed. Conventionally, a black box test of a parallel system such as an exchange has been manually created with reference to specifications, so it takes a considerable amount of time and work, and there are problems such as quality variations depending on the creator of the test procedure. there were.

【0003】図2は、従来の並行プログラムを対象とし
た試験手順生成方法の説明図であり、図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に戻って処理を続行す
る。
FIG. 2 is an explanatory view of a conventional test procedure generation method for a parallel program, and FIG. 3 is a flow chart showing an operation algorithm of the control flow graph generation section in FIG. In FIG. 2, 11 is a system specification, 21 is a degenerate reachability analysis unit, 12 is a control flow chart, 13 is a test specification, 22 is a test procedure generation unit, and 14 is a test procedure. For example, the document “Towards analyzing a
nd synthesizing protocols ”P. Zafiropulo et al., I
EEE Transactions on Communication 28, pp.
651 to 660 (1980)), a control flow chart (sequential program) that represents a global operation of a concurrent program to be tested, as shown in FIG.
The test procedure generation method for the sequential program is applied to the control flow chart. First, event candidates are generated (step 1), then the reachable tree is updated (step 2), and the process returns to the original. That is, first, the state Sp of all processes is set to the initial state, and all reception buffers are set to 0 (301). It is judged whether Sp has ended for all p (302), and if not completed yet, an executable event set Esp in the current state Sp is obtained for all processes p (303). ). Next, it is judged whether or not Esp = 0 for all p (304), and 0
If not, the logical sum E of all Esp is calculated (30
5). Next, the event included in the generated E is executed, the next global state is generated, and a branch to it is added (3
06). Then, it returns to the operation 302 again to continue the processing.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、図2お
よび図3における従来の手法では、制御フロ−グラフ生
成に要するメモリ容量や、計算時間が膨大となるため、
効率的な試験項目の生成が不可能であった。本発明の目
的は、このような従来の課題を解決し、試験手順の生成
に要するメモリ容量、および計算時間をともに削減し
て、効率的な並行プログラムのブラックボックス試験手
順の生成方法を提供することにある。
However, in the conventional method shown in FIGS. 2 and 3, the memory capacity required for the control flow graph generation and the calculation time are enormous.
It was impossible to generate efficient test items. An object of the present invention is to solve such a conventional problem and to provide an efficient method of generating a black box test procedure of a parallel program by reducing both the memory capacity required for generating the test procedure and the calculation time. Especially.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するた
め、本発明による並行プログラムに対する試験手順生成
方法は、並行プログラムを制御フロ−グラフに変換した
後、制御フロ−グラフから試験手順を生成する並行プロ
グラムに対する試験手順生成システムにおいて、並行プ
ログラムを制御フロ−グラフに変換する場合に、現状態
で各プロセスが実行可能なイベントの組からなるグロ−
バルイベントを、外部からの入力イベントよりも各プロ
セス間の送受信イベントや各プロセスのロ−カルイベン
トを優先して選択し、イベントを初期全域状態から逐次
実行して、全域状態を点とし、グロ−バルイベントによ
る遷移を枝とする制御フロ−グラフを生成することに特
徴がある。
In order to achieve the above object, a test procedure generation method for a concurrent program according to the present invention converts a concurrent program into a control flow chart and then generates a test procedure from the control flow chart. In a test procedure generation system for a concurrent program, when converting a concurrent program into a control flow chart, a group consisting of a set of events that each process can execute in the current state.
The global event is selected by giving priority to the transmission / reception event between processes and the local event of each process over the input event from the outside, and the events are sequentially executed from the initial global state, and the global state is set as a point. -It is characterized in that a control flow graph having a transition due to a bar event as a branch is generated.

【0006】[0006]

【作用】前述した制約(a)(b)の下で、試験手順と
して区別できない動作系列間の関係を示すため、ブラッ
クボックス等価概念を導入する。すなわち、一般に動作
系列は、各プロセスにより実行されるイベントの部分系
列の組に分割される。ここでは、上記組をマルチロ−グ
と呼ぶことにする。そして、下記の条件(A)(B)が
成立するときに、2つの動作系列IS,IS′はブラッ
クボックス等価と呼ぶ。 (A)IS,IS′の外部入力のみに注目した部分列、
ex(IS),ex(IS′)が一致する。 (B)ISとIS′とは同一のマルチロ−グに分割され
る。 本発明においては、ブラックボックス等価な動作系列の
組を代表するグロ−バルイベント系列(縮退動作系列R
ISと呼ぶ)のみからなる制御フロ−グラフを構成する
ことにより、試験手順として区別できる動作だけを表現
する最小の制御フロ−グラフを構成する。 (イ)展開イベント列は従来の方法で生成された制御フ
ロ−グラフの経路となる。(ロ)従来の方法で生成され
た制御フロ−グラフの任意の経路とブラックボックス等
価な展開イベント列を生成する制御フロ−グラフの経路
がある。ここで、展開イベント列とは、制御フロ−グラ
フのパスからグロ−バルイベント内の各イベントを任意
のプロセス順に並列してできるイベント列のことであ
る。本発明においては、全ての安定状態を含む制御フロ
−グラフを生成するために、現状態で実行可能なイベン
トの組からなるグロ−バルイベントを外部入力イベント
よりも内部イベント(外部入力イベント以外のイベン
ト)を優先して選択し、それを初期全域状態から逐次実
行して、制御フロ−グラフを生成する。従って、本発明
によって生成された制御フロ−グラフは、次のような性
質を有している。 (a)異なった経路から生成される展開イベント列は、
ブラックボックス等価ではない(極小性)。 (b)全ての安定状態が生成される(網羅性)。 すなわち、生成された制御フロ−グラフは、各試験手順
の起動状態である全ての安定状態を含み、試験手順とし
て区別できる動作だけを表現する最小の制御フロ−グラ
フであって、必要なメモリ容量および計算時間を削減す
ることができる。
Under the constraints (a) and (b) described above, the black box equivalence concept is introduced in order to show the relationship between operation sequences that cannot be distinguished as a test procedure. That is, the action sequence is generally divided into sets of partial sequences of events executed by each process. Here, the above set will be referred to as a multilog. When the following conditions (A) and (B) are satisfied, the two operation sequences IS and IS 'are called black box equivalence. (A) Subsequence focusing only on external input of IS, IS ′,
ex (IS) and ex (IS ') match. (B) IS and IS 'are divided into the same multilog. In the present invention, a global event sequence (a degenerate action sequence R) that represents a set of black box equivalent action sequences.
By forming a control flow chart consisting only of (IS), a minimum control flow chart expressing only operations that can be distinguished as a test procedure is constructed. (B) The expansion event sequence serves as the route of the control flow chart generated by the conventional method. (B) There is a control flow graph path which generates a black box equivalent expansion event sequence with an arbitrary path of the control flow graph generated by the conventional method. Here, the expanded event sequence is an event sequence formed by arranging each event in the global event in parallel in an arbitrary process order from the path of the control flow graph. In the present invention, in order to generate a control flow graph including all stable states, a global event composed of a set of events that can be executed in the current state is set as an internal event (excluding an external input event) rather than an external input event. (Event) is preferentially selected, and it is sequentially executed from the initial whole state to generate a control flow chart. Therefore, the control flow chart generated by the present invention has the following properties. (A) The expansion event sequence generated from different routes is
Not black box equivalent (minimal). (B) All stable states are generated (coverage). That is, the generated control flow chart is a minimum control flow chart that includes all stable states, which are the starting states of each test procedure, and that expresses only the operations that can be distinguished as the test procedure. And the calculation time can be reduced.

【0007】[0007]

【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明の一実施例を示す並行プログ
ラムに対する試験手順生成システムの機能ブロック図で
ある。本実施例では、システム仕様11から制御フロ−
グラフ12を生成する制御フロ−グラフ生成部(縮退到
達可能解析部)21、および生成された制御フロ−グラ
フ12と試験仕様13から試験手順14を生成する試験
手順生成部22から構成される。ここで、試験手順生成
部23は、逐次プログラム用試験手順生成方法と類似の
方法を用いればよいので、以下では制御フロ−グラフ生
成部21の詳細を説明する。制御フロ−グラフ生成部2
1は、全体の実行状態を管理する実行状態管理部23、
各イベントの実行可能性を判定するイベント実行可能性
判定部25、グロ−バルイベントを計算するグロ−バル
イベント生成部26、および生成されたグロ−バルイベ
ントにより制御フロ−グラフを更新する制御フロ−グラ
フ更新部24より構成される。図1において、図2に示
す従来のシステムと異なる点は、制御フロ−グラフ生成
部21に、グロ−バルイベント生成部26を新たに設け
た点である。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a functional block diagram of a test procedure generation system for a parallel program showing an embodiment of the present invention. In this embodiment, the control flow is changed from the system specification 11.
The control flow chart generation unit (degenerate reachability analysis unit) 21 that generates the graph 12 and the test procedure generation unit 22 that generates the test procedure 14 from the generated control flow graph 12 and the test specifications 13 are configured. Here, since the test procedure generation unit 23 may use a method similar to the test procedure generation method for the sequential program, the details of the control flow generation unit 21 will be described below. Control flow chart generation unit 2
1 is an execution state management unit 23 that manages the overall execution state,
An event executability determination unit 25 that determines the executability of each event, a global event generation unit 26 that calculates global events, and a control flow that updates the control flow graph with the generated global events. -It is composed of the graph updating unit 24. 1 is different from the conventional system shown in FIG. 2 in that a global event generation unit 26 is newly provided in the control flow generation unit 21.

【0008】図4(a)(b)は、本発明に適用可能な
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
FIGS. 4 (a) and 4 (b) show an example of a protocol specification that simplifies the two-party call service applicable to the present invention, and the meaning of the predicate as a general example.
In FIG. 4A, a signal with a left internal arrow is an external reception event, a target (signal) with a right internal arrow is a reception event, a target (signal) with a right external arrow is a transmission event, and both ends of an external arrow are A certain free is a conditional branch event, and a ring with double-ended arrows is an autonomous event (see FIG. 4 (b)).
In addition, start is operation start, onhk is on-hook, and ofhk is off-hook. As shown in FIG. 4A, this specification is composed of three processes of the subscriber terminals T1 and T2 and the exchange EX. Each process is described in a notation similar to the CCITT specification description language drawing SLD / GR. Subscriber terminals T1, T2 and exchange EX of FIG. 4 (a)
In contrast to the specification of, the event series IS 1 and IS 2 are the system operation series of this specification and are paths on the reachable tree. In addition, T 1 , T 2 , EX added at the end of each term in the following equation is
It means the processes of the subscriber terminals T 1 and T 2 and the exchange EX, respectively. IS 1 = [+ (ofhk) T 1 , −T2 (start) T 1 , + T1 (start) T 2 , if (free: Y) T 2 , −T1 (Ack) T 2 , + T2 (Ack) T 1 , Ring_back () T 1 , Ring () T 2 , + (ofhk) T 2 , -EX (cnnect) T 2 ,, T2 (connect) EX, -T1 (connect) T 2 ,, + T 2 (connect) T 1 ,, set_speachpath (T1, T2) EX, ······ , + T1 (term) T2, Busy () T 2, + (onhk) T 2 ] IS 2 = [+ (ofhk) T 1, -T2 (start) T 1 , + T1 (start) T 2 , if (free: N) T 2 , -T1 (Nack) T 2 , + T2 (Nack) T 1 , Busy () T 1 , + (onhk) T 1 ]

【0009】図5は、図4のプロトコル仕様に対する通
常の制御フロ−グラフの概略を示す図である。これは、
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によって実行されるイベント系列である。
FIG. 5 is a diagram showing an outline of a normal control flow chart for the protocol specifications of FIG. this is,
It includes 50 global states and 1267 motion sequences. The 1267 motion sequences are multi-log (uT
1, uT2, EX) is a group 1 consisting of 1266 sequences (IS 1 is included in this group) and a sequence represented by multilog (uT1 ', uT2'). It is divided into groups 2 consisting of IS 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), release_speachpath (T1, T2)] uT1 ′ = [+ (ofhk), −T2 (start), + T2 (Nack), Busy (), + (onhk)] uT2 '= [+ T1 (start), if (free: N), -T1 (Nack)] The above uT1, uT2, uEX are processes T1, T2.
It is an event sequence executed by EX.

【0010】さらに、グル−プ1の1266本の動作系
列は、同一の外部入力イベント系列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}〕
Further, since the 1266 operation sequences of group 1 have the same external input event sequence ex (IS 1 ), the above-mentioned two groups are each a glass of an operation sequence equivalent to a black box. Is. With respect to these black box equivalent action series classes, the following degenerate operation series RIS is considered to be a global event series representing each class. RIS 1 = [{+ (ofhk) T 1 }, {− T2 (start) T 1 }, {+ T1 (start) T 2 }, {if (free: Y) T 2 }, {− T1 (Ack) T 2 }, {+ T2 (Ack) T 1 , Ring () T 2 }, {Ring_back () T 1 }, {+ (ofhk) T 2 }, {-EX (connect) T 2 }, {-T1 ( connect) T 2 , + T2 (connect) EX}, {+ T2 (connect) T 1 , set_speachpath (T1, T 2) EX}, ..., {+ T1 (term) T 2 }, {Busy () T 2 }, {+ (Onhk) T 2 }] RIS 2 = [{+ (ofhk) T 1 }, {− T2 (start) T 1 }, {+ T1 (start) T 2 }, {if (free: N) T 2 }, {− T1 (Nack) T 2 }, {+ T2 (Nack) T 1 }, {Busy () T 1 }, {+ (onhk) T 1 }]

【0011】図6は、図1における制御フロ−グラフ生
成部のアルゴリズムを示すフロ−チャ−トである。すな
わち、図6には、上述の縮退動作系列RISのみから構
成される制御フロ−グラフを生成する制御フロ−グラフ
生成部の動作が示されている。動作は、ステップ1でイ
ベント候補の生成を行い、ステップ2でグロ−バルイベ
ントの生成を行い、ステップ3で到達可能木の更新を行
い、元に戻る。すなわち、先ず、準備として、全プロセ
スを初期状態にし、全ての受信バッファを空にする(6
01)。全てのpに対してSp=終了状態であるか否か
を判断し、終了していないときには(602)、イベン
ト実行可能性判定部25では、各プロセスpに対して、
現状態Spに記述された内部イベントについて以下のル
−ルに従って実行可能性を判定し、実行可能内部イベン
ト集合Esp、疑似可能イベント集合Pspを決定す
る。 (a)受信以外のイベントおよび期待する信号が受信バ
ッファの先頭に有るイベントは実行可能である。 (b)受信イベントで、対応する受信バッファが空であ
るイベントを疑似実行可能とする。 (c)上記以外の内部イベントは実行不可能である。
FIG. 6 is a flow chart showing the algorithm of the control flow graph generation unit in FIG. That is, FIG. 6 shows the operation of the control flow chart generation unit that generates the control flow chart composed only of the above-described degenerate operation series RIS. The operation generates an event candidate in step 1, generates a global event in step 2, updates the reachable tree in step 3, and returns to the original. That is, first, as a preparation, all processes are initialized and all reception buffers are emptied (6
01). It is determined whether or not Sp = end state for all p, and when it is not finished (602), the event executability determination unit 25 determines that for each process p,
Executability is determined for the internal events described in the current state Sp according to the following rules, and the executable internal event set Esp and the pseudo-possible event set Psp are determined. (A) Events other than reception and an event in which an expected signal is at the head of the reception buffer can be executed. (B) In the reception event, an event in which the corresponding reception buffer is empty can be pseudo-executed. (C) Internal events other than the above cannot be executed.

【0012】次に、外部入力イベントTspのイベント
候補を計算する(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)。このアルゴリ
ズムの停止性を保証するために、チャネル長有限を仮定
する。
Next, event candidates of the external input event Tsp are calculated (603). A pseudo-possible event is an event in which the corresponding reception buffer is empty, and there is a possibility that it will become executable if "waiting" without executing the executable event. In order to schedule the execution of this pseudo-possible event, a wait event λ that means to wait for the execution of the executable event is used. However, for the process that executed the wait event λ immediately before, the executable event and the pseudo-possible event are calculated only for the pseudo-possible event that could not be executed. Next, in step 2, the global event generation unit 26 calculates a global event. That is,
Esp is 0 for all p (604), and Ts
If p is 0 (606), the calculation ends. Esp is 0
If not, the logical sum of Psp and Tsp is taken and the result is 0
If not (605), Esp: = TspU (λ) is obtained (608), and then GE: = cp is calculated (60).
9). If the result of the logical sum of Psp and Tsp is 0 (605), GE: = cp is immediately calculated (60).
9). If Tsp is not 0 for all p (6
06), the global event GE: = (t) is calculated (607). Next, in step 3, the control flow updating unit 24 executes all the events in the global event GE in an arbitrary order to generate the next global state and add a branch to it ( 610). Then, step 1 and subsequent steps are recursively applied to each of the newly generated global states. However, only one external reception is executed at the same time. When all the processes are in the final state, the algorithm ends (602). A finite channel length is assumed to guarantee the termination of this algorithm.

【0013】図7は、図4の仕様に対する内部通信イベ
ントを削除した制御フロ−グラフの概略を示す図であ
る。制御フロ−グラフは、上述の2つの縮退動作系列R
IS1とRIS2と、図5に示した5つの安定状態(0,
0,0),(4,4,0),(5,7,2),(0,
9,0),(0,9,0),(9,0,0)を含んでい
る。これらの安定状態が点に該当し、それらの点を結合
する線が枝に該当する。枝の途中に存在するのが、何を
行うかを示す動作を示している。この制御フロ−グラフ
は、現状態で各プロセスが実行可能なイベントの組から
なるグロ−バルイベントを、外部からの入力イベントよ
りもシステムの内部での送受信イベントや各プロセスの
ロ−カルイベントを優先して選択し、それを初期全域状
態から逐次実行して、全域状態を点としてグロ−バルイ
ベントによる遷移を枝とする制御フロ−グラフを生成し
ている。本実施例においては、縮退到達可能解析方法に
より制御フロ−グラフを生成するので、各試験手順の起
動状態である全ての安定状態を含み、試験手順として区
別しないことが望ましいブラックボックス等価な動作の
クラスを代表する縮退動作系列のみから構成されてい
る。従って、通常の到達可能解析のように状態爆発を生
じ、計算時間が膨大になるということが回避される。ま
た、従来の逐次プログラム用試験手順生成法を、得られ
た制御フロ−グラフに直接適用することにより、並行プ
ログラムの試験手順を容易に自動生成することが可能で
ある。
FIG. 7 is a diagram showing an outline of a control flow chart in which internal communication events corresponding to the specifications of FIG. 4 are deleted. The control flow chart includes the above-described two degenerate operation series R.
IS 1 and RIS 2, and the five stable states (0,
0,0), (4,4,0), (5,7,2), (0,
9,0), (0,9,0), (9,0,0) are included. These stable states correspond to points, and the lines connecting these points correspond to branches. What exists in the middle of the branch indicates an operation indicating what to do. This control flow chart shows global events consisting of a set of events that can be executed by each process in the current state, sending and receiving events inside the system and local events of each process rather than input events from the outside. A control flow graph is generated which is selected with priority and is sequentially executed from the initial global state so that transitions due to global events are branches with the global state as a point. In this embodiment, since the control flow chart is generated by the degenerate reachability analysis method, it is desirable to include all stable states, which are the starting states of each test procedure, and not to distinguish them as the test procedure. It is composed only of the degenerate operation sequence that represents the class. Therefore, it is possible to avoid the state explosion that would occur in the usual reachability analysis and the huge calculation time. Further, by directly applying the conventional sequential program test procedure generation method to the obtained control flow chart, it is possible to easily and automatically generate the test procedure of the parallel program.

【0014】[0014]

【発明の効果】以上説明したように、本発明によれば、
制約のもとで、各試験手順の起動状態である安定状態を
全て含み、試験項目として区別できる動作のみを表現す
る制御フロ−グラフを生成することができるので、試験
手順に要するメモリ容量や計算時間を削減し、効率的な
並行プログラムのブラックボックス試験手順を生成する
ことが可能である。
As described above, according to the present invention,
It is possible to generate a control flow chart that includes all stable states, which are the starting states of each test procedure, and that expresses only the operations that can be distinguished as test items, under the restriction. It is possible to save time and generate efficient parallel program black box test procedures.

【0015】[0015]

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示す並行プログラムに対す
る試験手順生成システムの機能ブロック図である。
FIG. 1 is a functional block diagram of a test procedure generation system for a parallel program according to an embodiment of the present invention.

【図2】従来の並行プログラムに対する試験手順生成シ
ステムの機能ブロック図である。
FIG. 2 is a functional block diagram of a conventional test procedure generation system for a parallel program.

【図3】図2における制御フロ−グラフ生成部の動作ア
ルゴリズムを示すフロ−チャ−トである。
3 is a flow chart showing an operation algorithm of a control flow chart generation unit in FIG.

【図4】本発明が使用されるプロトコル仕様の例を示す
図である。
FIG. 4 is a diagram showing an example of protocol specifications in which the present invention is used.

【図5】従来の方法による制御フロ−グラフの概略図で
ある。
FIG. 5 is a schematic diagram of a control flow chart according to a conventional method.

【図6】図1における制御フロ−グラフ生成部のアルゴ
リズムを示す動作フロ−チャ−トである。
FIG. 6 is an operation flow chart showing an algorithm of a control flow chart generation unit in FIG.

【図7】本発明において生成された制御フロ−グラフの
概略図である。
FIG. 7 is a schematic diagram of a control flow graph generated in the present invention.

【符号の説明】[Explanation of symbols]

11 システム仕様 12 制御フロ−グラフ 13 試験仕様 14 試験手順 21 制御フロ−グラフ生成部 22 試験手順生成部 23 実行状態管理部 24 制御フロ−グラフ更新部 25 イベント実行可能性判定部 26 グロ−バルイベント生成部 11 System Specifications 12 Control Flow Graph 13 Test Specifications 14 Test Procedure 21 Control Flow Graph Generation Unit 22 Test Procedure Generation Unit 23 Execution State Management Unit 24 Control Flow Graph Updating Unit 25 Event Executability Determination Unit 26 Global Event Generator

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 並行プログラムを制御フロ−グラフに変
換した後、該制御フロ−グラフから試験手順を生成する
並行プログラムに対する試験手順生成システムにおい
て、上記並行プログラムを制御フロ−グラフに変換する
場合に、現状態で各プロセスが実行可能なイベントの組
からなるグロ−バルイベントを、外部からの入力イベン
トよりも各プロセス間の送受信イベントや各プロセスの
ロ−カルイベントを優先して選択し、該イベントを初期
全域状態から逐次実行して、全域状態を点とし、グロ−
バルイベントによる遷移を枝とする制御フロ−グラフを
生成することを特徴とする並行プログラムに対する試験
手順生成方法。
1. A test procedure generation system for a parallel program, which converts a parallel program into a control flow chart and then generates a test procedure from the control flow chart, when converting the parallel program into a control flow chart. A global event consisting of a set of events that can be executed by each process in the current state is selected by giving priority to a transmission / reception event between processes or a local event of each process over an input event from the outside. Events are sequentially executed from the initial global state, and the global state is set as a point
A test procedure generation method for a concurrent program, which is characterized in that a control flow graph having a transition due to a bar event as a branch is generated.
JP3227996A 1991-09-09 1991-09-09 Test procedure generation method for concurrent programs Expired - Lifetime JP2815073B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3227996A JP2815073B2 (en) 1991-09-09 1991-09-09 Test procedure generation method for concurrent programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3227996A JP2815073B2 (en) 1991-09-09 1991-09-09 Test procedure generation method for concurrent programs

Publications (2)

Publication Number Publication Date
JPH0566966A true JPH0566966A (en) 1993-03-19
JP2815073B2 JP2815073B2 (en) 1998-10-27

Family

ID=16869547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3227996A Expired - Lifetime JP2815073B2 (en) 1991-09-09 1991-09-09 Test procedure generation method for concurrent programs

Country Status (1)

Country Link
JP (1) JP2815073B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828829A (en) * 1995-02-01 1998-10-27 Kabushiki Kaisha Toshiba System test support system and system test support method
US6385741B1 (en) 1998-10-05 2002-05-07 Fujitsu Limited Method and apparatus for selecting test sequences

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828829A (en) * 1995-02-01 1998-10-27 Kabushiki Kaisha Toshiba System test support system and system test support method
US6385741B1 (en) 1998-10-05 2002-05-07 Fujitsu Limited Method and apparatus for selecting test sequences

Also Published As

Publication number Publication date
JP2815073B2 (en) 1998-10-27

Similar Documents

Publication Publication Date Title
KR101126255B1 (en) Signal processing apparatus
EP0418980A2 (en) System for combining independently clocked simulators
JPH07307771A (en) Logically verifying method for protocol
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 (en) Test procedure generation method for concurrent programs
US6198813B1 (en) System and method for providing call processing services using call independent building blocks
Higashino et al. Deriving protocol specifications from service specifications in extended FSM models
JPS61269083A (en) Generation of test pattern for logical network
US6449763B1 (en) High-level synthesis apparatus, high level synthesis method, and recording medium carrying a program for implementing the same
US6637009B2 (en) Optimization of a logic circuit having a hierarchical structure
CN112083912A (en) Intermediate result processing method, device, equipment and storage medium for service arrangement
US20020143511A1 (en) Method and computer program product for system design support
CN114338410B (en) Method, device, system and related equipment for generating routing path file
JP2916933B2 (en) Test Data Generation Method from Hardware Design Language
Lallet et al. A new approach for distributing Estelle specifications
JPH05260119A (en) Protocol completing system
JPH07219759A (en) Communication software development support device
JPH0830444A (en) Message sequence chart extracting method using regular expression
CN118093064A (en) Model component and method for synchronizing sequences by using Model component
JPH05233327A (en) Message sequence generator
CN116957108A (en) Training diagram processing method, device, equipment and storage medium
JP2000029809A (en) Data transmitter
Yuang et al. Parallel protocol verification using the two-phase algorithm
CN118037523A (en) Interface sequence generation method and device, storage medium and electronic equipment

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