JPH0458744B2 - - Google Patents
Info
- Publication number
- JPH0458744B2 JPH0458744B2 JP60049364A JP4936485A JPH0458744B2 JP H0458744 B2 JPH0458744 B2 JP H0458744B2 JP 60049364 A JP60049364 A JP 60049364A JP 4936485 A JP4936485 A JP 4936485A JP H0458744 B2 JPH0458744 B2 JP H0458744B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- level
- bstd
- memory
- reception
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Computer And Data Communications (AREA)
- Monitoring And Testing Of Exchanges (AREA)
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、通信プロトコルの仕様を入力し、そ
れに含まれる内部矛循を仕様誤りとして検出し出
力するプロトコル検証方式に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a protocol verification method that inputs the specifications of a communication protocol, detects internal contradictions contained therein as specification errors, and outputs the detected specifications.
(従来の技術)
近年の電気通信の高度化・多様化に伴い、交換
機・通信処理装置等の通信機器におけるソフトウ
エアは大規模化・複雑化する一方である。このた
め通信ソフトウエアの開発・保守における生産性
を向上させることは益々重要となつてきた。(Prior Art) With the recent advancement and diversification of telecommunications, software in communication equipment such as switching equipment and communication processing equipment is becoming larger and more complex. For this reason, it has become increasingly important to improve productivity in the development and maintenance of communication software.
通信ソフトウエアの開発・保守における生産性
を向上させる一つの有力な方策は、通信ソフトウ
エアの要求仕様を開発・保守の早い段階で正確に
かつ過不足なく定義することにより、それ以後の
段階からのフイードバツク的な作業をなくすこと
である。通信ソフトウエアの中で重要な位置を占
めるものとして、通信回線を介して各種の信号を
送受するための信号形式や手順を規定するプロト
コルがある。従つて、プロトコルの仕様に論理的
矛循やあいまいさがあつた場合、これを自動的に
検出するプロトコル検証技術が重要となる。 One effective way to improve productivity in the development and maintenance of communications software is to accurately and accurately define the required specifications for communications software at an early stage of development and maintenance. The goal is to eliminate feedback work. Protocols, which define signal formats and procedures for transmitting and receiving various signals via communication lines, play an important role in communication software. Therefore, protocol verification technology that automatically detects logical contradictions or ambiguities in protocol specifications is important.
従来、この種のプロトコル検証方式としては、
与えられた通信プロトコル仕様に従つて、通信シ
ステムがとり得る動作および状態のすべての組合
せを順次列挙し、検査するものであつた。 Traditionally, this type of protocol verification method is
In accordance with a given communication protocol specification, all combinations of operations and states that a communication system can take were sequentially enumerated and examined.
この従来技術を第2図、第3図を用いて説明す
る。 This conventional technique will be explained using FIGS. 2 and 3.
第2図は、検証しようとするプロトコルの一例
であつて、プロセス1,2および3からなる通信
システムのプロトコル仕様を図示したものであ
る。ここで、通信システムとは、例えばプロセス
1および3が端末装置、プロセス2が交換機であ
るシステムであつてもよいし、また、プロセス
1,2,3がともに一つのCPU内にあつてもよ
い。すなわち、他の機能と信号の送受信(送信ま
たは受信だけであつてもよい)を行う処理単位を
プロセスと呼び、互いに信号の授受を行う複数の
プロセスを総称して通信システムと呼ぶ。第2図
はプロセス数3の場合のプロトコルの一例であ
る。 FIG. 2 is an example of a protocol to be verified, and is a diagram illustrating the protocol specifications of a communication system consisting of processes 1, 2, and 3. Here, the communication system may be, for example, a system in which processes 1 and 3 are terminal devices and process 2 is a switch, or processes 1, 2, and 3 may all be in one CPU. . That is, a processing unit that sends and receives signals to and from other functions (or may only send or receive signals) is called a process, and a plurality of processes that send and receive signals to and from each other are collectively called a communication system. FIG. 2 is an example of a protocol when there are three processes.
第2図において、丸印は状態を、矢印は遷移を
表わす。また矢印に付けられたラベルは信号の送
信又は受信を示し、一般に−aは信号aの送信
を、また+aはaの受信を表わす。従つて、プロ
セス1はAを初期状態として、プロセス2に対し
信号aを送信して状態Bに遷移し、プロセス2か
ら信号bを受信したとき状態Cに遷移し、プロセ
ス2に対して信号cを送信して初期状態Aに戻る
ように動作することが分かる。このように、各プ
ロセスの動作は比較的容易に理解できるが、プロ
セス1,2,3の相互間に論理矛循があるか否か
を判定することは容易でない。 In FIG. 2, circles represent states and arrows represent transitions. The labels attached to the arrows also indicate the transmission or reception of a signal, with -a generally representing transmission of signal a, and +a representing reception of signal a. Therefore, process 1 takes A as its initial state, sends signal a to process 2 and transitions to state B, transitions to state C when it receives signal b from process 2, and sends signal c to process 2. It can be seen that the operation is performed in such a way as to return to the initial state A by transmitting . In this way, although the operation of each process can be understood relatively easily, it is not easy to determine whether there is a logical contradiction between processes 1, 2, and 3.
前述したプロトコル検証の従来技術とは、一つ
の信号の送信又は受信による実行可能な遷移を初
期状態から遂一すべて順次に実行し、到達可能な
状態を全て含むような通信システム全体の状態遷
移図を作成し、その作成過程で論理矛循、すなわ
ち仕様誤りを検出していた。第2図のプロトコル
例に、この従来技術を適用した結果を第3図に示
す。この第3図はシステム全体の状態遷移を示す
ことからグローバル遷移図と呼ぶ。また、状態
は、丸印の中に各プロセスの状態が表示され、こ
れをグローバル状態と呼ぶ。 The conventional protocol verification technology described above is a state transition diagram of the entire communication system that sequentially executes all executable transitions from the initial state by sending or receiving one signal, and includes all reachable states. was created, and during the creation process, logical contradictions, or specification errors, were detected. FIG. 3 shows the result of applying this prior art to the protocol example shown in FIG. 2. This figure 3 is called a global transition diagram because it shows the state transition of the entire system. In addition, the status of each process is displayed in a circle, and this is called a global status.
まず、初期グローバル状態(A1,A2,A3)に
おいては、プロセス1における−aとプロセス3
における−xが定義されているが、これらは実行
可能である。プロセス2においてはaの受信のみ
が定義されているが、信号aはプロセス1から未
だ送信されていないので、+aは実行不可能であ
る。この結果、初期グローバル状態(A1,A2,
A3)において実行可能な遷移としては、−aと−
xが検出できる。そこで先ず−aの遷移について
テストし実行するとグローバル状態(B,A,
A)となる。この状態で再度実行可能な遷移を検
出すると、+aと−xとがある。このうち例えば
+aについてテストし実行するとグローバル状態
(B,A,A)となる。 First, in the initial global state (A 1 , A 2 , A 3 ), -a in process 1 and process 3
-x is defined, but these are executable. In process 2, only reception of a is defined, but since signal a has not yet been sent from process 1, +a is not executable. As a result, the initial global state (A 1 , A 2 ,
In A 3 ), the possible transitions are -a and -
x can be detected. Therefore, when we first test and execute the transition of -a, the global state (B, A,
A). If executable transitions are detected again in this state, there are +a and -x. For example, when +a is tested and executed, it becomes a global state (B, A, A).
一方、初期グローバル状態(A,A,A)にお
いて、もう一つの実行可能な遷移−xについてテ
ストし実行するとグローバル状態(A,A,B)
となる。 On the other hand, in the initial global state (A, A, A), if we test and execute another possible transition - x, the global state (A, A, B)
becomes.
以上の処理を可能な限りくり返すことにより第
3図のグローバル状態遷移図を得ることができ
る。第3図と第2図を用いることにより、デツド
ロツク、(実行可能)未定義受信、実行不可能送
受信等の仕様誤りを検出することができる。例え
ば、第3図で、グローバル状態(B,F,C)
は、どのプロセスについても実行可能遷移がない
ためデツドロツク状態となる。また、第3図のグ
ローバル状態(A,A,B)では、プロセス3が
既に信号xを送信したので、第2図のプロセス2
の状態Aで信号xの受信+xが定義されていれば
これを実行することが可能なはずである。この遷
移は第2図に不足している定義であり、未定義受
信として検出される。 By repeating the above process as much as possible, the global state transition diagram shown in FIG. 3 can be obtained. By using FIG. 3 and FIG. 2, specification errors such as deadlock, (executable) undefined reception, and impossible transmission/reception can be detected. For example, in Figure 3, the global state (B, F, C)
is in a deadlock state because there is no executable transition for any process. In addition, in the global state (A, A, B) in FIG. 3, process 3 has already sent the signal x, so process 2 in FIG.
If reception of signal x+x is defined in state A of , it should be possible to execute this. This transition is the missing definition in FIG. 2 and is detected as an undefined reception.
また、第3図は、システムの実行可能な全ての
遷移を実行した結果であるから、第3図に含まれ
ない第2図の遷移は過剰であるといえる。この観
点からプロセス3の状態Cにおける信号受信+z
が過剰な定義として検出される。 Moreover, since FIG. 3 is the result of executing all executable transitions of the system, it can be said that the transitions in FIG. 2 that are not included in FIG. 3 are excessive. From this point of view, the signal reception in state C of process 3 +z
is detected as over-defined.
以上のように、初期グローバル状態(A,A,
A)から実行可能な遷移を遂一すべて順次に実行
することによりプロトコルの検証が行われる。 As mentioned above, the initial global state (A, A,
The protocol is verified by sequentially executing all executable transitions starting from A).
(発明が解決しようとする問題点)
上述した従来技術によつては、全ての実行可能
な遷移を検査の対象とするため、プロトコルが大
規模化・複雑化した場合、状態数や遷移数が膨大
となり、処理量すなわち処理時間が増大し、実質
的に検証が不可能となつていた。(Problems to be Solved by the Invention) In the above-mentioned conventional technology, all executable transitions are subject to inspection, so when the protocol becomes large-scale and complicated, the number of states and transitions increases. The amount of data has become enormous, the amount of processing, that is, the processing time has increased, and verification has become virtually impossible.
(問題点を解決するための手段)
本発明は、上述した従来技術の欠点に鑑みなさ
れたもので、処理量の少ないプロトコル検証方式
を提供することを目的とし、その特徴は、仕様誤
りを検出するのに支障ない範囲で通信システムの
動作を一括し、必要最小限の状態と動作を列挙し
て検査することにある。(Means for Solving the Problems) The present invention was made in view of the above-mentioned shortcomings of the conventional technology, and aims to provide a protocol verification method with a small amount of processing. The purpose of this system is to summarize the operations of communication systems to the extent that they do not cause any problems, and to enumerate and inspect the minimum necessary conditions and operations.
(実施例)
以下に、本発明の原理を説明するが、その前に
プロトコルに関する定義と仮定、および説明のた
めの用語について整理しておく。(Example) The principle of the present invention will be explained below, but before that, definitions and assumptions regarding the protocol, and terminology for explanation will be organized.
本実施例では、検証対象とするプロトコルの仕
様は、以下に示すQi,OiMij,succ(i,j=1,
…,N;N:プロセスの個数)の4項の組み合せ
で与えられるものとする。 In this example, the specifications of the protocol to be verified are Q i , O i M ij , succ (i, j=1,
..., N; N: number of processes).
Qi:プロセスiの状態集合。 Q i : State set of process i.
Oi:プロセスiの初期状態。 O i : Initial state of process i.
Mij:プロセスiからプロセスjに送る信号の
集合。ただしMij=φ(空集合)
(i=j,…,N)とする。 M ij : A set of signals sent from process i to process j. However, M ij =φ (empty set)
(i=j,...,N).
succ:プロセスが各状態で信号を送受信するこ
とにより遷移した結果とる状態を表わ
す関数で、succ(s,x)は、状態s
にあるプロセスが信号xの送信(x<
0)又は受信(x>0)により遷移し
た後の状態を表わす。 succ: A function that represents the state that a process takes as a result of transmitting and receiving signals in each state. succ (s, x) is the state s
A process in sends a signal x (x<
0) or after transition due to reception (x>0).
また、検証対象とするプロトコルに対し、以下
の仮定を設ける。 In addition, the following assumptions are made for the protocol to be verified.
信号の送受により各プロセスが遷移する先の
状態は、その信号と元の状態に応じて一意に定
まる。 The state to which each process transitions by sending and receiving signals is uniquely determined depending on the signal and the original state.
各プロセスは、容量が十分大きな信号受信用
バツフアを相手プロセス別に持つ。 Each process has a signal reception buffer with a sufficiently large capacity for each partner process.
プロセス相互間で送受する信号の受信順序は
送信順序と同一である。 The order in which signals are received and transmitted between processes is the same as the order in which they are transmitted.
プロトコルを用いて通信するシステム全体の状
態GをSとCの2項の組み合せ、即ちG=<S,
C>で定義し、Gをグローバル状態と呼ぶ。ここ
で、S=(s1,…sN,C=(c11,c12,…,cNN)で
あり、siはプロセスiの状態、cijはプロセスiか
らプロセスjに送出されたが未が受信処理されて
いない信号受信バツフア上の信号の系列である。
信号受信バツフアがすべて空のグローバル状態G
=<S,<ε>i,jN
==1>安定グローバル状
態と呼ぶ。特に各プロセスの初期状態を含む安定
グローバル状態G=<<Oi>iN
==1,<ε>i,
jN
=1>を初期グローバル状態と呼びG0で表わ
す。尚、誤解することがない場合には、グローバ
ル状態を個々のプロセスの状態のみで表わすこと
もある。 The state G of the entire system that communicates using the protocol is a combination of two terms S and C, that is, G=<S,
C>, and G is called a global state. Here, S=(s 1 ,...s N , C=(c 11 , c 12 ,..., c NN ), s i is the state of process i, and c ij is the state sent from process i to process j. is the sequence of signals on the signal reception buffer that has not yet been received and processed.
Global state G where all signal reception buffers are empty
=<S,<ε>i,j N ==1> is called a stable global state. In particular, the stable global state G=<<O i >i N ==1, <ε>i, including the initial state of each process,
j N =1> is called the initial global state and is represented by G 0 . In order to avoid misunderstandings, the global state may be expressed only by the states of individual processes.
グローバル状態Gにおいて、一つの信号を送信
或は受信することにより別のグローバル状態
G′に遷移するときGとG′の関係をG⊥G′で表わ
す。更に、初期グローバル状態G0からこのよう
な遷移をくり返すことにより到達するG、即ち
G0⊥…⊥GであるGは到達可能であるという。 In global state G, by sending or receiving one signal, another global state is changed.
When transitioning to G', the relationship between G and G' is expressed as G⊥G'. Furthermore, G reached by repeating such transitions from the initial global state G 0 , i.e.
G such that G 0 ⊥…⊥G is said to be reachable.
あるプロセスの状態sと信号xより成る順序対
<s,x>を、x<0であれば信号送信遷移、x
>0であれば信号受信遷移と呼ぶ。与えられたプ
ロトコル仕様にsucc<s,x>が定義されている
とき、<s,x>を定義済遷移又は定義済送/受
信と呼ぶ。 An ordered pair <s, x> consisting of a state s of a process and a signal x is defined as a signal transmission transition if x<0, and x
If >0, it is called a signal reception transition. When succ<s,x> is defined in a given protocol specification, <s,x> is called a defined transition or a defined send/receive.
定義済送信<s,x>(x<0)は、sを要素
として含む到達可能なグローバル状態が存在する
とき実行可能である。また定義済受信<s,x>
(x>0)は、sを要素として含みかつ該当する
信号受信バツフアの先頭に信号xを蓄積している
到達可能グローバル状態が存在するとき実行可能
である。 A defined send <s, x>(x<0) is executable when there is a reachable global state that includes s as an element. Also defined reception <s, x>
(x>0) is executable when there is a reachable global state that includes s as an element and stores the signal x at the beginning of the corresponding signal reception buffer.
以上の準備に基づいて、本発明が検出するプロ
トコル仕様の誤りを示すと以下の通りである。 Based on the above preparations, errors in protocol specifications detected by the present invention are as follows.
信号定義の過剰:プロトコル仕様に含まれる
信号の送受信の内実行し得ないもの。 Excessive signal definitions: Signal transmission/reception included in the protocol specification that cannot be executed.
信号定義の不足:プロトコル仕様に含まれな
いが実行可能である未定義受信。 Missing signal definition: undefined reception that is not included in the protocol specification but is viable.
デツドロツク状態:すべてのプロセスについ
て状態遷移が実行不可能であるグローバル状
態。 Deadlock state: A global state in which state transitions are infeasible for all processes.
次に本発明の原理を説明する。本発明では、(1)
プロトコル仕様をプロセスを単位として階層的に
複数個のブロツクに分割し、(2)各ブロツクについ
てそれがとり得る状態、および遷移から構成され
るブロツク状態遷移図BSTDを作成して誤りを検
査する。各BSTDを作成するとき、冗長な状態お
よび遷移を削除する。その結果、検査する遷移数
と状態数を削減できるので、処理時間並びに所要
メモリ量が減少し、本発明の目的が達成される。 Next, the principle of the present invention will be explained. In the present invention, (1)
Divide the protocol specification hierarchically into a plurality of blocks with each process as a unit, and (2) create a block state transition diagram BSTD consisting of possible states and transitions for each block and check for errors. Remove redundant states and transitions when creating each BSTD. As a result, the number of transitions and states to be examined can be reduced, reducing processing time and the amount of memory required, thereby achieving the object of the present invention.
本発明によるプロトコル仕様の分割例を第4図
と第5図に示す。第4図は第2図のプロトコル仕
様の一分割例を示す図で、プロセス1〜3より構
成されるシステムB01を、プロセス1と2とから
構成されるブロツクB11と残りのプロセス3から
構成されるブロツクB12とに分割した結果を表わ
す。第4図(a)で節点はプロセスを、また枝はその
両端の節点が表わすプロセス間に信号の送信又は
受信が定義されていることを表わす。また第4図
(b)は同図(a)の分割を木で表わした結果で、頂点、
各端点がそれぞれシステム全体、各プロセスに対
応し、残りの節点が各ブロツクに対応する。第5
図は別のプロトコル仕様の分割例を示す図であ
り、1〜8の8個のプロセスから構成されるプロ
トコル仕様を、まずプロセス1〜5から成るブロ
ツクB11とプロセス6〜8から成るブロツクB12
とに分割し、さらにB11をプロセス1と2から成
るブロツクB21とプロセス3〜5から成るブロツ
ク22に分割した結果を表わす。このように一旦分
割を行つた後、さらに分割をくり返すこともでき
る。このような分割を階層的分割と呼ぶ。なお、
元のプロセス全体も便宜的にブロツクと呼ぶこと
がある。 Examples of division of protocol specifications according to the present invention are shown in FIGS. 4 and 5. FIG . 4 is a diagram showing an example of one division of the protocol specifications in FIG . This shows the result of dividing into 12 blocks. In FIG. 4(a), nodes represent processes, and branches represent defined transmission or reception of signals between the processes represented by the nodes at both ends. Also, Figure 4
(b) is the result of representing the division in (a) as a tree, with vertices,
Each endpoint corresponds to the entire system and each process, and the remaining nodes correspond to each block. Fifth
The figure shows another example of dividing a protocol specification. First, a protocol specification consisting of eight processes 1 to 8 is divided into block B 11 consisting of processes 1 to 5 and block B 11 consisting of processes 6 to 8. 12
The result of dividing B 11 into block B 21 consisting of processes 1 and 2 and block 22 consisting of processes 3 to 5 is shown. After performing division in this way, it is also possible to repeat the division. Such division is called hierarchical division. In addition,
The entire original process may also be conveniently referred to as a block.
階層的分割における階層を示す用語としてレベ
ルを用いる。 Level is used as a term to indicate hierarchy in hierarchical division.
ブロツクのレベルは、そのブロツクを得るため
に元の全プロセス集合に対して施した分割のくり
返し回数とする。信号および信号送受信遷移のレ
ベルは、その信号を送受する二つのプロセスを含
むブロツクの内、レベル値が最大であるブロツク
のレベルとする。なお、レベル値が大きいものを
下位レベル、逆にレベル値が小さいものを上位レ
ベルと呼ぶ。 The level of a block is the number of times the division is repeated on the original set of all processes to obtain the block. The level of a signal and signal transmission/reception transition is set to the level of the block having the maximum level value among the blocks containing two processes that transmit and receive the signal. Note that a level with a large level value is called a lower level, and a level with a small level value is called an upper level.
ここで以上で述べた階層的分割の仕方を説明す
る。 Here, the method of hierarchical division described above will be explained.
一般に本発明による効果はこの分割において信
号の送受信によるブロツク間の相互動作が少ない
ほど大きくなる。したがつて例えばブロツク間で
送受する様に定義された信号の個数が少なくなる
様に分割する事が一つの方針として考えられる。
さらに、ブロツク分割の別の方針としては、ブロ
ツク間で送受する信号を持つ他ブロツクのプロセ
ス数が少なくなるように分割するという考え方も
採れる。 In general, the effects of the present invention become greater as the number of mutual operations between blocks due to signal transmission and reception is reduced in this division. Therefore, one possible strategy is to divide the blocks so that the number of signals defined to be transmitted and received between blocks is reduced.
Furthermore, another policy for dividing blocks may be to divide blocks so that the number of processes in other blocks having signals transmitted and received between blocks is reduced.
次に、本発明におけるブロツク状態遷移図
BSTDの作成法を述べる。本発明ではすべてのレ
ベルのBSTDを作成する。各BSTDの作成並びに
BSTDを用いた誤り検査には、例えば先に述べた
従来技術を応用する。まずBSTDの作成順序を説
明する。 Next, a block state transition diagram in the present invention
We will explain how to create BSTD. The present invention creates BSTDs at all levels. Creation of each BSTD and
For example, the above-mentioned conventional technique is applied to error checking using BSTD. First, we will explain the creation order of BSTD.
一般に、各レベルのブロツクのBSTDは、その
ブロツクに含まれるすぐ下位のレベルのブロツク
のBSTDをプロセス毎の状態遷移図とみなし、つ
まり下位レベルのブロツク状態をプロセス状態と
みなし、それらに従来技術を適用することにより
得られるグローバル状態遷移図をそのBSTDとす
ることにより作成する。 In general, the BSTD of a block at each level is based on the BSTD of the block at the immediately lower level included in that block, which is regarded as a state transition diagram for each process. The global state transition diagram obtained by applying this method is created by using its BSTD.
一方、従来技術で各BSTDを作成するには、そ
のブロツクに属すプロセスが持つ信号遷移の実行
可能性を判定する必要がある。そのような信号遷
移には、そのレベルより上位のものも下位のもの
も含まれる。しかし、これらの遷移の内、上位レ
ベルに属す受信遷移およびそれ以降の送受信遷移
の実行可能性はそのブロツクでは判定できず、そ
の受信遷移が属す上位のレベルでの検証処理によ
つて初めて判定できるものである。即ち、各レベ
ルのBSTDの作成は、他のレベルのBSTDの作成
と独立して行うことは不可能であり、全BSTDの
作成を並行して進める必要がある。ここで、「上
位レベルに属す受信」や「上位レベルの受信」
は、いずれも同じ意味であり、他ブロツクに含ま
れるプロセスから送信される信号を当該ブロツク
に含まれるプロセスが受信することを表す。 On the other hand, in order to create each BSTD using the conventional technology, it is necessary to determine the feasibility of signal transitions of processes belonging to that block. Such signal transitions include those above and below that level. However, among these transitions, the feasibility of the receive transition that belongs to the higher level and the subsequent send/receive transitions cannot be determined by that block, but can only be determined by verification processing at the higher level to which the receive transition belongs. It is something. That is, it is impossible to create a BSTD for each level independently from the creation of BSTDs for other levels, and it is necessary to create all BSTDs in parallel. Here, "receiving belonging to a higher level" or "receiving a higher level"
Both have the same meaning and indicate that a process included in the block receives a signal transmitted from a process included in another block.
そこで、本発明では各レベルのBSTDを作成す
る場合一旦このような上位レベルの受信を除く、
即ち、そのような受信は実行不可能であると仮定
する。そして、そのブロツクの処理が終了した
後、順に上位レベルのブロツクを処理することと
し、その処理で下位レベルで実行不可能と仮定し
た受信遷移が実行可能であると判定された場合に
は、そのような受信遷移を実行不可能と仮定して
作成した下位レベルのBSTDを更新してその受信
遷移およびそれに引き続き実行できる遷移を付加
する。 Therefore, in the present invention, when creating BSTD for each level, such upper level reception is once removed.
That is, it is assumed that such reception is not possible. Then, after the processing of that block is completed, the blocks at the upper level are processed in order, and if it is determined that the receive transition that is assumed to be impossible at the lower level is executable, then The lower-level BSTD created assuming that such a reception transition cannot be executed is updated to add that reception transition and a transition that can be executed subsequent to it.
このような下位レベルBSTDの更新は、上位レ
ベルのBSTDの作成(更新)において新たな実行
可能受信を検出する限りくりかえし行う。以上の
処理の結果、各レベルのBSTDは並行して段階的
に作成されることとなる。 Such updating of the lower level BSTD is repeated as long as a new executable reception is detected in creating (updating) the upper level BSTD. As a result of the above processing, BSTDs at each level are created in parallel and in stages.
先に述べたように、一般にレベルLのブロツク
のBSTDはそのブロツクに含まれるレベル(L+
1)のブロツクのBSTDを基にして作成する。し
かし、その前に先に示した論理誤りの検出に支障
のない範囲で、レベル(L+1)のBSTDに含ま
れるブロツク状態を統合し、それら結合されたブ
ロツク状態間のブロツク遷移を除去するという圧
縮処理を施す。そして、その後、圧縮されたこれ
らBSTDに従来技術を適用することによりレベル
LのBSTDを作成する。ただし、下位レベルのブ
ロツクが存在しない最下位レベルのブロツクにつ
いては、そのブロツクに属すプロセスの状態遷移
図から直接BSTDを作成する。尚、圧縮処理で除
去されなかつたレベルL以下の送受信遷移は、L
より上位のレベルのBSTDを作成する場合にはす
べて直ちに実行可能な遷移として扱う。また、以
下では、圧縮の対象となるBSTDより上位のレベ
ルに属す遷移をブロツク間遷移、またそのレベル
以下の遷移をブロツク内遷移と呼ぶ。 As mentioned earlier, generally the BSTD of a block at level L is the level (L+
Create it based on the BSTD of block 1). However, before that, compression is performed to integrate the block states included in the BSTD of level (L+1) and remove block transitions between the combined block states to the extent that it does not interfere with the detection of logic errors as described above. Apply processing. Thereafter, a level L BSTD is created by applying the conventional technique to these compressed BSTDs. However, for the lowest level block for which there are no lower level blocks, the BSTD is created directly from the state transition diagram of the process belonging to that block. Note that the transmission/reception transitions below level L that were not removed by the compression process are
When creating higher level BSTDs, treat all transitions as immediately executable. Furthermore, hereinafter, transitions belonging to a level higher than the BSTD to be compressed will be referred to as inter-block transitions, and transitions below that level will be referred to as intra-block transitions.
BSTDの圧縮処理法は次に示す通りである。即
ち、ブロツク状態遷移図BSTDに含まれる各ブロ
ツク内遷移について以下の処理を実行する。ブロ
ツク内遷移をT0、その遷移元ブロツク状態・遷
移先ブロツク状態をそれぞれS1・S2とする。こ
のとき以下に示す条件が成立し、かつ〜の
条件の内少なくとも一つが成立するとき、と
の処理を施す。 The BSTD compression processing method is as follows. That is, the following processing is executed for each intra-block transition included in the block state transition diagram BSTD. Let the intra-block transition be T 0 , and the transition source and destination block states be S1 and S2, respectively. At this time, the following processing is performed when the following conditions are satisfied and at least one of the following conditions is satisfied.
S1,S2を遷移元状態とする同一ラベルの遷
移が存在しないこと。 There are no transitions with the same label that have S1 and S2 as the transition source states.
S1がブロツク内遷移のみによつてS2から到
達可能であること。 S1 is reachable from S2 only by intrablock transitions.
S2を遷移先状態とする遷移がT0以外一切定
義されていない、または定義されている場合そ
れらがすべて実行不可能なこと。 There are no transitions other than T 0 defined that have S2 as the destination state, or if they are defined, all of them are infeasible.
S1を遷移元状態とする遷移がT0以外一切定
義されていない、または定義されている場合そ
れらがすべて実行不可能なこと。 No transitions with S1 as the transition source state other than T 0 are defined, or if they are defined, all of them are infeasible.
S1から到達可能なブロツク状態の内、それ
を遷移元状態とするブロツク間遷移が定義され
ているものは、必らずS2からブロツク内遷移
のみによつて到達可能なこと。 Among the block states reachable from S1, those for which an inter-block transition is defined using that state as the transition source state must be reachable from S2 only by intra-block transition.
S1から到達可能なブロツク状態の内ブロツ
ク間遷移が定義されているものの集合をAと
し、S2に到達可能なブロツク状態の内それを
遷移先状態とするブロツク間遷移が定義されて
いるものの集合をBとする。このとき、Aに属
す任意のブロツク状態が、Bに属す各ブロツク
状態からブロツク内遷移のみにおいて到達可能
であること。 Let A be the set of block states reachable from S1 for which inter-block transitions are defined, and let A be the set of block states reachable from S2 for which inter-block transitions are defined with this as the transition destination state. Let it be B. In this case, any block state belonging to A can be reached from each block state belonging to B only by intra-block transitions.
T0を除去するとともにS1とS2を一つの新し
いブロツク状態S12で置き替える。 Remove T0 and replace S1 and S2 with a new block state S12.
S1・S2を遷移元/遷移先状態とする遷移の
遷移元/遷移先状態をすべてS12とする。 All transition source/transition destination states of a transition in which S1 and S2 are transition source/transition destination states are S12.
第6図は上記の圧縮処理を図示したものであ
る。第6図でT11,T12はそれぞれS1,S
2を遷移先状態とする遷移、またT21,T22
は、それぞれS1,S2を遷移元状態とする遷移
である。同図から分かるように、一般にブロツク
内遷移T0を除去してS1とS2を統合すると、
上位のレベルのBSTD作成時にS2に入る遷移T
12を実行した後、S1から出る遷移T21を実
行するという実在しない遷移系列を付加し、その
結果、論理誤りを正しく検出できなくなる可能性
が生じる。しかし、条件またはが成立すれば
このような実行可能な遷移系列が元々実際に存在
する。また、条件〜の一つが成立すればその
ような余分な遷移系列が付加されることはない。
従つて、上記の圧縮処理を施して上位レベルの
BSTDを作成することにより先に述べた論理誤り
をすべて検出することが言える。 FIG. 6 illustrates the above compression process. In Figure 6, T11 and T12 are S1 and S, respectively.
2 as the destination state, also T21, T22
are transitions with S1 and S2 as transition source states, respectively. As can be seen from the figure, in general, if intra-block transition T 0 is removed and S1 and S2 are integrated,
Transition T that enters S2 when creating BSTD of upper level
12, a non-existent transition sequence is added in which transition T21 exiting from S1 is executed, and as a result, there is a possibility that logical errors cannot be detected correctly. However, if a condition or condition is satisfied, such an executable transition sequence actually exists. Further, if one of the conditions ~ is satisfied, such an extra transition sequence will not be added.
Therefore, by applying the above compression processing, the upper level
It can be said that all the logical errors mentioned above can be detected by creating BSTD.
第7図は、以上で説明した本発明の原理をフロ
ーチヤートで示したものである。 FIG. 7 is a flowchart showing the principle of the present invention explained above.
以下、実施例を用いてさらに詳しく本発明を説
明する。 Hereinafter, the present invention will be explained in more detail using Examples.
第1図は本発明の一実施例を示す回路図であ
る。第1図で、1は外部から与えられる第2図の
如きプロトコル仕様を蓄積するメモリ、2は第4
図の如きプロトコル仕様の階層的分割を蓄積する
メモリ、3は処理対象とするブロツクのレベルを
表わす変数Lの値を蓄積するレジスタ、4は各レ
ベルのブロツクのブロツク状態遷移図BSTDおよ
び検証の結果検出した仕様誤りを蓄積するメモ
リ、5はBSTD作成(更新)処理で検出した実行
可能受信の有無をレベルごとに示すフラグを蓄積
するレジスタである。 FIG. 1 is a circuit diagram showing an embodiment of the present invention. In Fig. 1, 1 is a memory that stores protocol specifications given from the outside as shown in Fig. 2, and 2 is a 4th memory.
A memory stores the hierarchical division of the protocol specifications as shown in the figure, 3 is a register that stores the value of variable L representing the level of the block to be processed, 4 is a block state transition diagram BSTD of blocks at each level and verification results. A memory 5 stores detected specification errors, and a register 5 stores flags indicating the presence or absence of executable reception detected in the BSTD creation (update) process for each level.
11は、レジスタ3のL値およびメモリ4を初
期設定する回路ブロツク、12はレジスタ3で示
されるレベルの各ブロツクのBSTDを更新する回
路ブロツク、13は回路ブロツク12で実行可能
と判定された受信の有無およびレジスタ3内のL
値を検査する回路ブロツク、14はレジスタ3内
のL値を1だけ増やす回路ブロツク、15はレジ
スタ3内のL値が0に等しいか否かを検査する回
路ブロツク、16はレジスタ3の示す値のレベル
の各BSTDを圧縮処理した後、レジスタ3の値を
1だけ減じる回路ブロツク、17は実行不可能送
受信を検出する回路ブロツクである。 11 is a circuit block that initializes the L value of register 3 and memory 4; 12 is a circuit block that updates the BSTD of each block at the level indicated by register 3; and 13 is a reception determined to be executable by circuit block 12. presence or absence and L in register 3
14 is a circuit block that increases the L value in register 3 by 1; 15 is a circuit block that checks whether the L value in register 3 is equal to 0; 16 is a value indicated by register 3. A circuit block 17 is a circuit block for decrementing the value of register 3 by 1 after compressing each BSTD of level 1, and a circuit block 17 for detecting infeasible transmission and reception.
第8図は、第2図のプロトコル仕様をメモリ1
に蓄積する場合の一蓄積形式を示す。第9,10
図はそれぞれ第4,5図のプロトコル仕様分割例
およびその最大レベル値Lmをメモリ2に蓄積す
る場合の一蓄積形式を示す。第11図は後で示す
第12図のBSTDをメモリ4に蓄積する場合の一
蓄積形式を示す。 Figure 8 shows the protocol specifications in Figure 2 in memory 1.
This shows the single storage format when storing data in . 9th and 10th
The figures show the example of protocol specification division shown in FIGS. 4 and 5 and the storage format for storing the maximum level value Lm in the memory 2, respectively. FIG. 11 shows one storage format when the BSTD shown in FIG. 12, which will be shown later, is stored in the memory 4.
第12図は第2図のプロトコル例を第1図の実
施例に適用した結果得られる各BSTDを示す。以
下、第2,4図の例を用いて第1図の実施例の動
作を説明するが、プロトコル仕様およびその分割
はそれぞれ第8図,第9図の形式で既にメモリ
1,2に蓄積されているものとする。 FIG. 12 shows each BSTD obtained as a result of applying the example protocol of FIG. 2 to the embodiment of FIG. 1. The operation of the embodiment shown in Fig. 1 will be explained below using the examples shown in Figs. It is assumed that
第1図の回路図では、最初に初期設定ブロツク
が動作する。初期設定ブロツク11はメモリ2に
アクセスし、プロトコル仕様の分割における最大
レベル値Lmを読みとり、その値をレジスタ3に
送出する。この結果、変数LはLmに設定され
る。第2,4図の例ではLm=1でありレジスタ
3は1となる。次に回路ブロツク11はメモリ4
にアクセスし、これを初期設定する。回路ブロツ
ク11は以上の動作を終えると回路ブロツク12
を起動する。 In the circuit diagram of FIG. 1, the initialization block operates first. The initial setting block 11 accesses the memory 2, reads the maximum level value Lm in the division of the protocol specifications, and sends the value to the register 3. As a result, the variable L is set to Lm. In the example of FIGS. 2 and 4, Lm=1, and register 3 becomes 1. Next, circuit block 11 is connected to memory 4.
Access and initialize this. When the circuit block 11 completes the above operations, it becomes the circuit block 12.
Start.
回路ブロツク12の動作は次の通りである。回
路ブロツク12は、まずレジスタ3にアクセスし
て、変数Lの値を読みとる。次に、メモリ2にア
クセスし、L=LmであればレベルLの各ブロツ
クに含まれるプロセス名を、またL<Lmであれ
ばレベルLの各ブロツクに含まれるレベル(L+
1)のブロツク名を読みとる。次に、レベルLの
各ブロツクについて以下の手順によりブロツク状
態遷移図BSTDを作成する。以下、処理の対象と
なるレベルLのブロツクをBとする。 The operation of circuit block 12 is as follows. Circuit block 12 first accesses register 3 and reads the value of variable L. Next, memory 2 is accessed, and if L=Lm, the process name included in each block of level L is accessed, and if L<Lm, the level (L+
1) Read the block name. Next, a block state transition diagram BSTD is created for each block at level L using the following procedure. Hereinafter, the block of level L to be processed will be referred to as B.
(ア) メモリ1にアクセスして、ブロツクBに含
まれる全プロセスの状態遷移図を入力する。 (a) Access memory 1 and input the state transition diagram of all processes included in block B.
(イ) メモリ4にアクセスして、その時点におけ
るブロツクBのBSTDを入力する。さらに、
L<LmのときはブロツクBに含まれるレベ
ル(L+1)のブロツクのBSTDを入力す
る。 (b) Access the memory 4 and input the BSTD of block B at that point. moreover,
When L<Lm, input the BSTD of the block at level (L+1) included in block B.
(ウ) (ア)と(イ)で入力した各種情報を用いて(イ)で
入
力したブロツクBのBSTDを、従来方式によ
り更新する。即ち、L=Lmのときは、ブロ
ツクBに含まれる各プロセスの状態遷移図を
基にして、ブロツクBのグローバル状態遷移
図を作成する。またL<Lmのときはブロツ
クBに含まれるレベル(L+1)のBSTDを
プロセス状態遷移図とみなし、つまり、これ
ら各BSTDのブロツク状態をプロセス状態と
みなし、ブロツク状態間遷移をプロセス間遷
移とみなして、従来の技術を適用することに
よりグローバル状態遷移図を作成する。ただ
し、過去に実行可能と判定されたレベルLの
受信があれば、そのような受信およびそれ以
降実行可能な送受信遷移を含むようグローバ
ル状態遷移図を作成する。このようにして従
来方式により作成されたグローバル状態遷移
図がブロツクBのBSTDとなる。ここでグロ
ーバル状態、グローバル遷移がそれぞれブロ
ツク状態、ブロツク遷移に対応する。 (c) Using the various information input in (a) and (b), update the BSTD of block B input in (b) using the conventional method. That is, when L=Lm, a global state transition diagram of block B is created based on the state transition diagram of each process included in block B. Furthermore, when L<Lm, the BSTD of level (L+1) included in block B is regarded as a process state transition diagram, that is, the block state of each of these BSTDs is regarded as a process state, and the transition between block states is regarded as an interprocess transition. Then, a global state transition diagram is created by applying conventional techniques. However, if there has been a level L reception determined to be executable in the past, a global state transition diagram is created to include such reception and subsequent executable transmission/reception transitions. The global state transition diagram created by the conventional method in this way becomes the BSTD of block B. Here, the global state and global transition correspond to the block state and block transition, respectively.
このグローバル状態遷移図作成処理におい
て、Lより上位のレベルの受信、即ち、相手
プロセスがブロツクBに含まれないような受
信はすべて実行不可能なものとして扱う。 In this global state transition diagram creation process, all receptions at a level higher than L, that is, receptions where the other process is not included in block B, are treated as unexecutable.
また、ブロツクBに含まれるプロセスが1
個のときは、そのプロセスの状態遷移図の内
実行可能と判定される部分をブロツクBの
BSTDとする。 Also, the process included in block B is 1
, the part of the state transition diagram of the process that is determined to be executable is transferred to block B.
BSTD.
(エ) (ウ)の処理の結果生成したBSTDをメモリ4
に出力する。たゞしこのBSTDは、(ウ)の処理
で実行不可能として扱つた上位レベルの受信
遷移までを含めたものであり、そのような受
信遷移には識別のための印を付けておく。 (d) The BSTD generated as a result of the processing in (c) is stored in memory 4.
Output to. However, this BSTD includes the upper-level reception transitions that were treated as unexecutable in the process (c), and such reception transitions are marked for identification.
(オ) レジスタ5内のレベルLのフラグをリセツ
トする。 (e) Reset the level L flag in register 5.
(カ) (ウ)の処理であらたに実行可能と判定された
レベルLの受信遷移があつた場合、L<Lm
であれば過去にそのような受信遷移を実行不
可能なものとしてレベル(L+1)のBSTD
を作成していたので、レベル(L+1)の
BSTDにおけるそのような受信に実行可能で
あることを示す特別な印を付ける。そして、
レベル(L+1)のBSTDをメモリ4に出力
する。この場合、レベル(L+1)以下の
BSTDをさらに更新する必要があるので、レ
ジスタ5内のレベルLに相当するフラグをセ
ツトする。 (f) If there is a reception transition of level L that is newly determined to be executable in the process of (c), then L<Lm
If so, the BSTD of level (L+1) is assumed to be infeasible in the past such a reception transition.
Since I was creating a level (L+1)
Mark such receptions in BSTD with a special mark to indicate that they are actionable. and,
Output the BSTD of level (L+1) to the memory 4. In this case, below level (L+1)
Since it is necessary to further update BSTD, a flag corresponding to level L in register 5 is set.
なお、(ウ)の処理で、従来方式により実行可能な
未定義受信を検出したときは、その情報を併せて
メモリ4に出力する。また、L=0のとき、実行
可能送受信を一切持たないブロツク状態はデツド
ロツク状態である。デツドロツク状態を検出した
ときはその情報を併せてメモリ4に出力する。 In addition, in the process (c), when undefined reception that can be executed by the conventional method is detected, that information is also output to the memory 4. Also, when L=0, a block state that has no executable transmission/reception is a deadlock state. When a deadlock state is detected, that information is also output to the memory 4.
第2,4図の例では、以上の回路ブロツク12
の動作によりブロツクB11とブロツクB12のBSTD
が作成される。 In the example of FIGS. 2 and 4, the above circuit block 12
The BSTD of block B 11 and block B 12 is
is created.
ブロツクB11については、まず(ア)により、プロ
セス1と2の状態遷移図をメモリ1から入力す
る。メモリ4は初期設定された後なので、(イ)で入
力される情報はない。次に、(ウ)において、プロセ
ス1とプロセス2の状態遷移図を基にして、従来
方式によりブロツクB11のBSTDが作成される。
その結果得られるBSTDは第12図(1)のの部分
である。この図で、点線の太い矢印==+x
は、上位レベルに属す受信であり、このBSTDを
作成する時点では実行不可能なものとして扱つた
ものである。 For block B 11 , first, the state transition diagrams of processes 1 and 2 are input from memory 1 in (a). Since the memory 4 has been initialized, there is no information to be input in (a). Next, in (c), the BSTD of block B11 is created using the conventional method based on the state transition diagram of process 1 and process 2.
The resulting BSTD is the part shown in FIG. 12 (1). In this figure, the thick dotted arrow ==+x
is a reception that belongs to a higher level, and was treated as unexecutable at the time of creating this BSTD.
一方、ブロツクB12については、それに含まれ
るプロセスはプロセス3のみである。従つて、ブ
ロツクB12のBSTDは、プロセス3の状態遷移図
の中で実行可能と判定することができない受信+
zを除いた部分となる。第13図(2)のが、この
ようにして作成されたB12のBSTD部分である。 On the other hand, as for block B12 , the only process included in it is process 3. Therefore, the BSTD of block B 12 is the reception +
This is the part excluding z. Figure 13(2) shows the BSTD portion of B12 created in this way.
メモリ4には第13図のとが出力される
が、このとき先に述べた通りこれらBSTDを作成
する際実行不可能として扱われた上位レベルの受
信+x,+zに特別なマークが付加されてこれら
も併せて出力される。 The data shown in Figure 13 is output to the memory 4, but at this time, as mentioned earlier, special marks are added to the upper level receptions +x and +z that were treated as infeasible when creating these BSTDs. These are also output.
また、第13図のBSTD部分を作成する際、
例えばブロツク状態(B,D)において+aを実
行可能な未定義受信を検出し、そのような未定義
受信も併せてメモリ4に出力する。 Also, when creating the BSTD part in Figure 13,
For example, in the block state (B, D), an undefined reception that can execute +a is detected, and such undefined reception is also output to the memory 4.
さらに、第13図を作成する際、実行可能な
受信として+aおよび+bを検出したので、レジ
スタ5内のレベルL=1に相当するフラグをセツ
トする。 Furthermore, when creating FIG. 13, since +a and +b were detected as executable reception, a flag corresponding to level L=1 in register 5 is set.
回路ブロツク12は以上の動作を終えると回路
ブロツク13を起動する。回路ブロツク13の動
作は次の通りである。回路ブロツク13はメモリ
2にアクセスしてLmの値を読みとる。次にレジ
スタ3にアクセスしてLの値を読みとる。さらに
レジスタ5にアクセスしてレベルLのフラグを読
みとる。そのフラグがセツトされている場合、即
ち、回路ブロツク12においてレベルLのブロツ
クのBSTDを更新する際レベルLの実行可能受信
を検出した場合は、さらにLの値を検査し、L<
Lmであれば回路ブロツク14を起動する。ま
た、前記フラグがリセツトされたまま、あるいは
L=Lmの場合は回路ブロツク15を起動する。 When the circuit block 12 completes the above operations, it starts the circuit block 13. The operation of circuit block 13 is as follows. Circuit block 13 accesses memory 2 and reads the value of Lm. Next, access register 3 and read the value of L. Furthermore, the register 5 is accessed and the level L flag is read. If the flag is set, that is, if circuit block 12 detects an executable reception of level L when updating the BSTD of the block of level L, the value of L is further checked and L<
If it is Lm, circuit block 14 is activated. Further, if the flag remains reset or if L=Lm, the circuit block 15 is activated.
第2,4図の例では、L=Lm(=1)である
ため、回路ブロツク15が起動される。 In the example of FIGS. 2 and 4, since L=Lm (=1), the circuit block 15 is activated.
回路ブロツク14は、レジスタ3にアクセスし
て変数Lの値を読みとり、Lの値を1だけ増加さ
せてその結果をレジスタ3に転送する。その後回
路ブロツク12を起動する。 Circuit block 14 accesses register 3, reads the value of variable L, increments the value of L by 1, and transfers the result to register 3. Thereafter, circuit block 12 is activated.
回路ブロツク15は、まず、レジスタ3にアク
セスして変数Lの値を読みとり、Lの値が0であ
るか否か判定する。判定の結果Lが0でなければ
回路ブロツク16を起動する。またLが0であれ
ば、回路ブロツク17を起動する。 Circuit block 15 first accesses register 3, reads the value of variable L, and determines whether the value of L is 0 or not. If the result of the determination is that L is not 0, the circuit block 16 is activated. If L is 0, circuit block 17 is activated.
第2,4図の例ではL=1であるので回路ブロ
ツク16が起動される。 In the example of FIGS. 2 and 4, since L=1, circuit block 16 is activated.
回路ブロツク16は、まずレジスタ3にアクセ
スして変数Lの値を読みとる。次にメモリ2にア
クセスして、レベルLのブロツク名を読みとり、
それら各ブロツクについて以下の手順によりその
ブロツク状態遷移図BSTDを圧縮処理する。以下
処理の対象となるレベルLのブロツクをBとす
る。 Circuit block 16 first accesses register 3 and reads the value of variable L. Next, access memory 2, read the block name of level L,
For each block, the block state transition diagram BSTD is compressed using the following procedure. Let B be the block of level L to be processed below.
(ア) メモリ1にアクセスしてブロツクBに含ま
れる全プロセスの状態遷移図を入力する。 (a) Access memory 1 and input the state transition diagram of all processes included in block B.
(イ) メモリ4にアクセスしてその時点における
ブロツクBのBSTDを入力する。 (b) Access the memory 4 and input the BSTD of block B at that time.
(ウ) (ア)と(イ)で入力した情報を用いて(イ)で入力
し
たブロツクBのBSTDを圧縮する。即ち、
BSTDに含まれる各ブロツク内遷移について
先に述べた圧縮条件が成立するか否か検査
し、圧縮条件が成立するときのみ、そのブロ
ツク内遷移を削除し、その遷移元状態と遷移
先状態とを一つの状態にまとめる。 (c) Compress the BSTD of block B input in (b) using the information input in (a) and (b). That is,
It is checked whether the compression condition described above is satisfied for each intra-block transition included in the BSTD, and only when the compression condition is satisfied, that intra-block transition is deleted, and its transition source state and transition destination state are combine into one state.
(エ) (ウ)で得られた圧縮BSTDをメモリ4に出力
する。 (d) Output the compressed BSTD obtained in (c) to the memory 4.
(オ) Lの値を1だけ減少させ、その結果をレジ
スタ3に出力する。 (e) Decrease the value of L by 1 and output the result to register 3.
第2,4図の例では、レベル1のブロツクとし
てブロツクB11とB12とがあるが、その内ブロツ
クB11のBSTD部分にブロツク内遷移が含まれ
ている。これらの各々について圧縮のための条件
が成立するか否か検査し、成立する遷移を除去す
ると、例えばブロツク状態(A,A),(B,A),
(B,B),(B,C),(C,C),(A,C)が一
つのブロツク状態にまとめられる。このような圧
縮処理の結果、ブロツクB11のBSTD部分は、
第13図(1)に示す通り、S1,S2およびS3の
3個のブロツク状態と+c,+a,+xの3種のブ
ロツク遷移のみとなる。 In the examples shown in FIGS. 2 and 4, there are blocks B 11 and B 12 as level 1 blocks, and the BSTD portion of block B 11 includes an intra-block transition. By checking whether the conditions for compression hold for each of these and removing the transitions that hold, for example, block states (A, A), (B, A),
(B, B), (B, C), (C, C), (A, C) are combined into one block state. As a result of this compression process, the BSTD part of block B 11 is
As shown in FIG. 13(1), there are only three block states S1, S2, and S3 and three types of block transitions +c, +a, and +x.
以上の処理結果はメモリ4に出力される。その
後Lの値は0となる。 The above processing results are output to the memory 4. After that, the value of L becomes 0.
回路ブロツク16は以上の動作を終えると回路
ブロツク12を起動する。 After completing the above operations, circuit block 16 activates circuit block 12.
回路ブロツク12の動作は先に説明した通りで
ある。第2,4図の例ではL=0となつているの
で、今度はレベル0即ちブロツクB01のBSTDが
作成される。即ち、メモリ4内に蓄蓄積されてい
る。第13図のブロツクB11のBSTD部分とブ
ロツクB12のBSTD部分を基にして、ブロツク
B01のBSTDが作成される。その結果は第13図
(3)のBSTD部分に示す通りである。このBSTD
部分の作成においてレベル0の受信+xが実行
可能であると判定される。従つて、レベル1のブ
ロツクB11のBSTD部分の+xに、実行可能で
あることを示すマークが付加され、このように更
新されたブロツクB11のBSTD部分がメモリ1
に出力される。また、レジスタ5内のレベル0に
相当するフラグをセツトする。 The operation of circuit block 12 is as previously described. In the examples shown in FIGS. 2 and 4, L=0, so this time a BSTD of level 0, that is, block B01 , is created. That is, it is stored in the memory 4. Based on the BSTD part of block B 11 and the BSTD part of block B 12 in Figure 13, the block
BSTD of B 01 is created. The result is shown in Figure 13.
As shown in the BSTD part of (3). This BSTD
It is determined that level 0 reception+x is executable in the creation of the part. Therefore, a mark indicating executable is added to +x of the BSTD part of block B 11 at level 1, and the BSTD part of block B 11 updated in this way is stored in memory 1.
is output to. Also, a flag corresponding to level 0 in register 5 is set.
回路ブロツク12が以上の動作を終えると回路
ブロツク13が起動される。回路ブロツク13の
動作は先に説明した通りである。第2,4図の例
では、レジスタ5内のレベルLのフラグがセツト
されており、かつL<Lm(L=0,Lm=1)で
あるため、回路ブロツク14が起動される。 When circuit block 12 completes the above operations, circuit block 13 is activated. The operation of circuit block 13 is as described above. In the example shown in FIGS. 2 and 4, since the level L flag in the register 5 is set and L<Lm (L=0, Lm=1), the circuit block 14 is activated.
回路ブロツク14の動作は先に述べた通りであ
り、第2,4図の例では、Lの値が1加算されて
1となる。その後、再び回路ブロツク12が起動
される。 The operation of the circuit block 14 is as described above, and in the examples shown in FIGS. 2 and 4, the value of L is added by 1 to become 1. Thereafter, circuit block 12 is activated again.
回路ブロツク12の動作は既に説明した通りで
あり、第2,4図の例では、今回はレベル1のブ
ロツクB11のBSTDが更新され、第13図(1)の
BSTD部分が追加される。 The operation of the circuit block 12 is as already explained, and in the example shown in Figs. 2 and 4, the BSTD of the level 1 block B 11 is updated this time, and the BSTD of the block B 11 in Fig. 13 (1) is updated.
BSTD part is added.
以下、回路ブロツク16と14が交互にくり返
し起動されるが、その都度回路ブロツク12が起
動される。その結果、第13図のBSTD部分,
,が順に作成され、第13図に示すBSTDが
完成する。このときL=0であり、回路ブロツク
15により回路ブロツク17が起動される。 Thereafter, circuit blocks 16 and 14 are activated repeatedly, and circuit block 12 is activated each time. As a result, the BSTD part in Figure 13,
, are created in order, and the BSTD shown in FIG. 13 is completed. At this time, L=0, and circuit block 17 is activated by circuit block 15.
回路ブロツク17は、メモリ1にアクセスして
プロトコル仕様に含まれる全ての送受信遷移を入
力する。また、メモリ4にアクセスして全ブロツ
クのBSTDを入力する。そして、両者の情報を比
較し、メモリ1から得た送受信遷移の内、どの
BSTDにも含まれないものを実行不可能送受信と
してメモリ4に出力する。 Circuit block 17 accesses memory 1 to input all transmit and receive transitions included in the protocol specification. It also accesses the memory 4 and inputs the BSTD of all blocks. Then, compare the information on the two and select which of the transmission/reception transitions obtained from memory 1.
Those that are not included in the BSTD are output to the memory 4 as unexecutable transmission/reception.
第2,4図の例では、プロセス3に定義されて
いる遷移+zが実行不可能な遷移として検出され
る。 In the examples shown in FIGS. 2 and 4, transition +z defined in process 3 is detected as an unexecutable transition.
以上の実施例では、各レベルのブロツクのブロ
ツク状態遷移図の作成には第2,3図を用いて説
明した従来方式を応用したが、他の方式を応用す
ることも可能である。例えば“グローバル状態遷
移一括処理方式”(特願昭59−192491(昭和59年9
月17日))“プロセス別状態遷移展開法”(特願昭
59−271938(昭和59年12月25日))を応用すること
もできる。 In the above embodiment, the conventional method explained using FIGS. 2 and 3 was applied to create the block state transition diagram of the blocks at each level, but it is also possible to apply other methods. For example, “Global state transition batch processing method” (Patent application 1982-192491
17th)) “Process-specific state transition expansion method” (Tokugan Sho
59-271938 (December 25, 1981)) can also be applied.
(発明の効果)
以上詳細に説明したように、本発明による方式
は、与えられたプロトコル仕様をプロセスを単位
として複数のブロツクに分割し、ブロツク毎に状
態遷移図を作成して仕様誤りを検査する。このた
め、従来方式に比較すると、同時に処理するプロ
セス数が少なく、その結果生成される状態数およ
び遷移数は共に減少する。その結果、従来方式に
比較して、本出願による方式は検証処理に必要と
なる処理量が大幅に減少するとともに、グローバ
ル状態遷移図等を蓄積するために必要となるメモ
リの容量を大幅に削減することができるという利
点がある。(Effects of the Invention) As explained in detail above, the method according to the present invention divides a given protocol specification into a plurality of blocks with each process as a unit, creates a state transition diagram for each block, and checks for specification errors. do. Therefore, compared to the conventional method, the number of processes processed simultaneously is small, and as a result, both the number of states and the number of transitions generated are reduced. As a result, compared to conventional methods, the method proposed in this application significantly reduces the amount of processing required for verification processing, and also significantly reduces the memory capacity required to store global state transition diagrams, etc. The advantage is that it can be done.
第1図は本発明の実施例を示すブロツク図、第
2図は検証対象プロトコル、第3図はグローバル
遷移図、第4図と第5図はプロトコル仕様の分割
例を示す図、第6図は圧縮処理を示す図、第7図
は本発明の動作を示すフローチヤート、第8図は
第2図のプロトコル仕様のメモリ1への蓄積形式
の例を示す図、第9図と第10図は各プロトコル
仕様分割例及びその最大レベル値Lmをメモリ2
に蓄積する形式例、第11図はBSTDの蓄積形式
例、第12図は第2図のプロトコル例を第1図の
実施例に適用して得られる各BSTDを示す図であ
る。
Fig. 1 is a block diagram showing an embodiment of the present invention, Fig. 2 is a protocol to be verified, Fig. 3 is a global transition diagram, Figs. 4 and 5 are diagrams showing an example of division of protocol specifications, Fig. 6 7 is a flowchart showing the operation of the present invention, FIG. 8 is a diagram showing an example of the storage format of the protocol specifications in FIG. 2 in the memory 1, and FIGS. 9 and 10. stores each protocol specification division example and its maximum level value Lm in memory 2.
11 is an example of a BSTD storage format, and FIG. 12 is a diagram showing each BSTD obtained by applying the protocol example of FIG. 2 to the embodiment of FIG. 1.
Claims (1)
順を規定するプロトコル仕様を入力として、該プ
ロトコル仕様の有する論理誤りを検出・出力する
プロトコル検証回路において、 外部から与えられるプロトコル仕様を蓄積する
第1のメモリと、 プロトコル仕様をプロセスを単位として階層的
に複数のブロツクに分割して蓄積する第2のメモ
リと、 処理対象とするブロツクのレベルを表す変数値
を蓄積する第3のメモリと、 各レベルのブロツクのブロツク状態遷移図及び
検証の結果検出した仕様誤りを蓄積する第4のメ
モリと、 ブロツク状態遷移図の作成及び更新処理で検出
した実行可能な受信の有無をレベルごとに示すフ
ラグを蓄積する第5のメモリと、 前記変数値と第4のメモリを初期設定する初期
設定手段と、 ブロツク状態遷移図を更新するブロツク状態遷
移図更新手段と、 実行可能と判断された受信の有無及び変数値を
検査する第1の検査手段と、 前記変数値を1増やす加算手段と、 前記変数値が0に等しいか否かを検査する第2
の検査手段と、 前記変数値のレベルの各ブロツク状態遷移図を
圧縮処理した後前記変数値を1減じる圧縮手段
と、 実行不可能送受信を検出する誤り検査手段とか
らなることを特徴とするプロトコルの分割検証回
路。[Claims] 1. In a protocol verification circuit that receives as input a protocol specification that defines the signal format and procedure for transmission and reception in a communication system, and detects and outputs logical errors in the protocol specification, the protocol specification given from the outside is stored. A second memory that stores protocol specifications hierarchically divided into multiple blocks for each process, and a third memory that stores variable values representing the level of the block to be processed. and a fourth memory that stores specification errors detected as a result of block state transition diagrams and verification of blocks at each level; a fifth memory for accumulating a flag indicating the block status; initial setting means for initializing the variable value and the fourth memory; block state transition diagram updating means for updating the block state transition diagram; and reception determined to be executable. a first inspection means for inspecting the presence or absence of a variable and a variable value; an addition means for increasing the variable value by 1; and a second inspection means for inspecting whether the variable value is equal to 0 or not.
a compression means for reducing the variable value by 1 after compressing each block state transition diagram of the level of the variable value; and an error checking means for detecting infeasible transmission/reception. split verification circuit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60049364A JPS61208945A (en) | 1985-03-14 | 1985-03-14 | Split verification system of protocol |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60049364A JPS61208945A (en) | 1985-03-14 | 1985-03-14 | Split verification system of protocol |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61208945A JPS61208945A (en) | 1986-09-17 |
| JPH0458744B2 true JPH0458744B2 (en) | 1992-09-18 |
Family
ID=12828960
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60049364A Granted JPS61208945A (en) | 1985-03-14 | 1985-03-14 | Split verification system of protocol |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61208945A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05307511A (en) * | 1992-04-30 | 1993-11-19 | Toshiba Corp | Protocol simulation device |
-
1985
- 1985-03-14 JP JP60049364A patent/JPS61208945A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61208945A (en) | 1986-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3875999B2 (en) | System and method for providing dynamic data references in a generic data exchange environment | |
| US7080087B2 (en) | Automatic aggregation method, automatic aggregation apparatus, and recording medium having automatic aggregation program | |
| CN111736762B (en) | Synchronous updating method, device, equipment and storage medium of data storage network | |
| US7711891B1 (en) | Method, system, and computer-readable medium for updating memory devices in a computer system | |
| JPH0458743B2 (en) | ||
| US7725591B2 (en) | Detecting a timeout of elements in an element processing system | |
| JPH0458744B2 (en) | ||
| US5604842A (en) | Fuzzy reasoning processor and method, and rule setting apparatus and method | |
| US20050027977A1 (en) | Method and system for maintaining the boot order of mass storage devices in a computer system | |
| JPH07146810A (en) | Computer system | |
| CN117076953B (en) | Asynchronous service exception handling method, electronic device and computer readable storage medium | |
| JP2003122410A (en) | Method for causing controller to perform computation | |
| KR900001694B1 (en) | Data transmission system | |
| JP2003152812A (en) | Gateway device and gateway setting tool | |
| JPH08286951A (en) | Information processor and trace information storage method | |
| JPH04143841A (en) | Inter-host data base updating system | |
| JPH0281158A (en) | Inter-computer program online relocation method | |
| JPH0313779B2 (en) | ||
| CN109656539B (en) | A Software Adaptive Transformation Method Based on Object-Oriented Programming | |
| JPS63261430A (en) | Information processing method and device | |
| JP3179077B2 (en) | Centralized management of terms | |
| JP2633874B2 (en) | Extension processing method | |
| JP2629359B2 (en) | Logic simulator | |
| JP2000172307A (en) | Method of updating process data collection device | |
| CN119862139A (en) | Method, apparatus and computer program product for transmitting data |