JPS61191145A - Protocol logic verification system including infinite overflow detection - Google Patents
Protocol logic verification system including infinite overflow detectionInfo
- Publication number
- JPS61191145A JPS61191145A JP60030208A JP3020885A JPS61191145A JP S61191145 A JPS61191145 A JP S61191145A JP 60030208 A JP60030208 A JP 60030208A JP 3020885 A JP3020885 A JP 3020885A JP S61191145 A JPS61191145 A JP S61191145A
- Authority
- JP
- Japan
- Prior art keywords
- state
- protocol
- signal
- channel
- infinite
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は′通信プロトコルの仕様を入力し、それに含ま
れる内部矛盾を仕様誤りとして検出するとともに仕様誤
りを訂正するためのデータを出力するプロトコルの論理
検証方式に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention is a protocol that inputs communication protocol specifications, detects internal contradictions contained therein as specification errors, and outputs data for correcting specification errors. Concerning logical verification methods.
(゛従来の技術)
近年の情報通信システムの高度化・多様化に伴い、その
システムを実現するためのソフトウェアは大規模化・複
雑化してきた・。このためそのよう ′な大
規模ソフトウェアの生産性を向上させることが益々、1
革な課題となってきた。その解決には、ソフトウェア・
ライフサイクルにおける仕様設計段階での要求分析並び
に検証の成否が次、に述べる理由により重大な鍵を握っ
ている。(Prior art) As information and communication systems have become more sophisticated and diversified in recent years, the software used to implement those systems has become larger and more complex. For this reason, improving the productivity of such large-scale software is becoming increasingly important.
This has become a serious issue. The solution is to use software
The success or failure of requirements analysis and verification at the specification design stage of the life cycle holds an important key for the reasons described below.
ソフトウェアの非形式的要求を要求分析して形式的ソフ
トウェ、ア仕様に変換するとき、既存モジュ、−ルの再
利用を図れるようにソフトウェア仕様をいくつかのモジ
ー−ルに分割して作成し、これを組合せて全体として所
期の動作を達成するように構成すれば、既存の仕様モジ
。−ルの組合せによる効率的仕様化並びに既存の仕様モ
ジー−ル内部は検証済であるので、高品質化が図れる。When analyzing informal software requirements and converting them into formal software specifications, the software specifications are created by dividing them into several modules so that existing modules can be reused. , if you combine these to achieve the desired behavior as a whole, you can modify the existing specifications. - Efficient specification by combining modules and high quality because the internals of existing specification modules have been verified.
ところで、そのような仕様設計法において、仕様モジ・
−ル間の相互動作の検証は必須である。その結果、正し
いソフトウェア仕様の効率的作成が実現できる。更に、
そのようにして設計されたソフトウェア仕様の段階で検
証及び保守により論理誤りの早期発見及び仕様の追加・
変更を行えば、プログラム開発段階でそれらを行う必要
がなくソフトウェア・ライフサイクルのプログラム開発
段階から仕様設計段階へのフィードバックをなくすこと
ができるのでやはりソフトウェアの生産性が向上できろ
。By the way, in such a specification design method,
- Verification of interoperability between modules is essential. As a result, it is possible to efficiently create correct software specifications. Furthermore,
By verifying and maintaining the software specifications designed in this way, logical errors can be detected early, and specifications can be added and
If changes are made, there is no need to make them at the program development stage, and feedback from the program development stage to the specification design stage of the software life cycle can be eliminated, which can improve software productivity.
プロトコル論理検証は、多くのプロトコルに共通に守ら
れるべき性質を検証するものであり、メツセージの送信
・受信という基本手順に関するプツト1ツク等の論理誤
りを検出する。Protocol logic verification verifies properties that should be commonly observed in many protocols, and detects logical errors such as push-buttons related to the basic procedures of sending and receiving messages.
本願はプロセス単位でアザイクリノク状に展開して論理
検証を行う方式に係るので、特願昭59−271938
号の従来技術を図11図2を用いて説明する。図1は検
証しようとするプロトコルの一例であって、プロセス1
及び2からなる通信システムのプロトコル仕様を図示し
たものである。ここで、通信システムとは、例えばプロ
セス1及び2が端末装置及び交換機の如きシステムであ
ってもよいし、ともに一つのCPU内にあってもよい。Since this application relates to a method of performing logic verification by expanding each process in an azaicrinok shape, the patent application No. 59-271938
The prior art of this issue will be explained using FIG. 11 and FIG. 2. Figure 1 shows an example of the protocol to be verified, with process 1
2 is a diagram illustrating the protocol specifications of a communication system consisting of Here, the communication system may be, for example, a system in which processes 1 and 2 are a terminal device and a switch, or both may be located within one CPU.
即ち、他の機能と信号の送受信(送信または受信だけで
あってもよし・)を行う処理単位をプロセスと呼ぶ。That is, a processing unit that performs transmission and reception of signals (or only transmission or reception) with other functions is called a process.
第1図はプロセス数2の場合のプロトコルの一例である
。FIG. 1 is an example of a protocol when the number of processes is two.
図1において、丸印はプロセスの状態、矢印は状態遷移
、矢印上のラベル−X及び+Xはそれぞれ信号Xの送信
及び受信を表わす。各プロセスの初期状態はOとする。In FIG. 1, circles represent process states, arrows represent state transitions, and labels -X and +X on the arrows represent transmission and reception of signal X, respectively. The initial state of each process is O.
プロセス1はOを初期状態として、プロセス2に対し信
号1を送信すれば状態Iに遷移し、プロセス2から信号
3を受信すれば状態2に遷移する等、動作していること
がわかる。このように、各プロセスの動作は比較的容易
に理解できるが、プロセス1,2の相互間に論理矛盾が
あるか否かを判定することは容易でない。It can be seen that process 1 is operating with O as its initial state, and when it sends signal 1 to process 2 it transitions to state I, and when it receives signal 3 from process 2 it transitions to state 2. 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 and 2.
プロトコル論理検証の従来技術では、プロセス間のチャ
ネル上に蓄積されうる信号数が有限であるプロトコルに
対し、一つの信号の送信又は受信による実行可能な状態
遷移を初期状態から実行することにより各プロセスの状
態遷移をアサイクリノク状に展開し、その過程で論理矛
盾、即ち仕様誤りを検出していた。図1のプロトコル例
に、この従来技術を適用した結果を図2に示す。この図
2は各プロセスの状態遷移を展開したものであるので状
態遷移展開図と呼ぶ。又、システム状態はプロセスの状
態にその状態に到達するために必ず到達しているはずの
他のプロセスの状態りを付けるとiで把握している。In the conventional technique of protocol logic verification, for a protocol in which the number of signals that can be accumulated on a channel between processes is limited, each process is The state transitions were developed in an acyclic manner, and in the process, logical contradictions, that is, specification errors were detected. FIG. 2 shows the result of applying this conventional technique to the protocol example of FIG. 1. Since FIG. 2 is an expanded view of the state transitions of each process, it is called a state transition expanded diagram. In addition, the system state is understood as i, which is the state of a process plus the state of other processes that must be reached in order to reach that state.
以降、図1のプロトコル例に対する状態遷移展開図の描
き方及び各状態のL値の計算法を説明する。記述の便宜
上、展開されたときの状態名、信号名はプロトコル例の
それと同じものを使っているが、2度以上現れる状態名
、信号名を区別するため”・パ以下に、最初に現れたと
きO12度目に現れたとき1.3度目に現れたとき2.
・・・とつげる。Hereinafter, a method of drawing a state transition development diagram for the protocol example of FIG. 1 and a method of calculating the L value of each state will be explained. For convenience of description, the state names and signal names when expanded are the same as those in the protocol example, but in order to distinguish between state names and signal names that appear more than once, When O appears for the 12th time 1. When it appears for the 3rd time 2.
...Totsugeru.
先ず、各プロセスの初期状態は0であるので、各プロセ
スに対しCを描き、0のL値をそれぞれ(o、o 、
O,o )と初期設定する。例えば、プロセスlの状態
0のL値(o、o、0.0)において、第1要素00は
プロセス1自身のプロセスの状態がOであることを示し
、第2要素OOはプロセス2の状態がOであることをプ
ロセス1が知っていることを示している。この時点で実
行可能な送信遷移はプロセス1の−1,プロセス2の−
3である。プロセス1の送信遷移−1の実行に対し、ラ
ベル−1,0のついた矢印と○を描く。−1の送信によ
りプロセス1はプロセス2の状態の変化を知らないので
、プロセス1の状態1.0のL値を(1,0、0,0)
とする。第1要素1.0はプロセス1自身の状態が1で
あることを示している。プロセス2の状態0でプロセス
lの状態をOと認識しているので、プロセス1の送信遷
移−1の実行によりプロセス2には信号■の受信遷移+
1があるべきと判定できる。First, since the initial state of each process is 0, draw C for each process and calculate the L value of 0 as (o, o,
O, o). For example, in the L value (o, o, 0.0) of state 0 of process l, the first element 00 indicates that the process state of process 1 itself is O, and the second element OO indicates the state of process 2. This shows that process 1 knows that is O. The send transitions that can be executed at this point are -1 for process 1 and -1 for process 2.
It is 3. Draw an arrow with labels -1, 0 and a circle for the execution of send transition -1 of process 1. Since process 1 does not know about the change in the state of process 2 by sending -1, the L value of process 1's state 1.0 is set to (1, 0, 0, 0).
shall be. The first element 1.0 indicates that the state of process 1 itself is 1. Since the state of process l is recognized as O in state 0 of process 2, the execution of process 1's sending transition -1 causes process 2 to receive signal ■ receiving transition +
It can be determined that there should be 1.
このため、ラベル+1の矢印を描こうとする。しかし、
図1のプロトコル例ではプロセス2の状態Oで受信遷移
+1が定義されていないため、未定義実行可能遷移と判
定する。これを表現するために便宜上、ラベル+1の点
線矢印を描く。プロセス2の送信遷移−3の実行に対し
、ラベル−30のついた矢印と○を描く。−3,0の送
信によりプロセス2はプロセスlの状態遷移の変化を知
らないので、プロセス2の状態10のL値を(0,0,
1,0)とする。第2要素10はプロセス2自身の状態
が1であることを示している。プロセス2の送信遷移−
3に対応してプロセスlの受信遷移+3を実行する。こ
の実行に対しラベル+3のついた矢印と○を描(。+3
の受信によりプロセス1はプロセス2の状態が1.0で
あることを知ることができるので、プロセス■の状態2
0のL値を(2,0。Therefore, try to draw an arrow with label +1. but,
In the protocol example of FIG. 1, since reception transition +1 is not defined in state O of process 2, it is determined that it is an undefined executable transition. To represent this, for convenience, draw a dotted arrow with label +1. Draw an arrow with label -30 and a circle for execution of send transition -3 of process 2. Since process 2 does not know the change in the state transition of process l by sending -3,0, the L value of state 10 of process 2 is changed to (0, 0,
1,0). The second element 10 indicates that the state of process 2 itself is 1. Transmission transition of process 2 -
In response to step 3, process l's receive transition +3 is executed. Draw an arrow with the label +3 and a circle for this execution (.+3
By receiving , process 1 can know that the state of process 2 is 1.0, so process 1's state 2
The L value of 0 is (2,0.
1.0)とする。第1要素2.0はプロセスl自身の状
態が2.0であることを示している。このとき、プロセ
ス1.2のそれぞれの状態2.0.1.0ではチャネル
上に信号が残っていす、実行可能な送信遷移及び受信遷
移が存在しない。この状態をデッドロックと判定する。1.0). The first element 2.0 indicates that the state of process l itself is 2.0. At this time, in each state 2.0.1.0 of process 1.2, there remains a signal on the channel and there are no viable transmit and receive transitions. This state is determined to be a deadlock.
プローセスの状態OOから1.0への送信遷移−3,0
に対し、状態0.0で受信遷移+10が実行可能である
ので、状態10でも+1.0が実行可能であることがわ
かる。そこで、この実行に対しラベル+10のついた矢
印と○を描く。以上説明したような規則に従って、図1
のプロトコル例を展開したものを図2に示している。Send transition from process state OO to 1.0 - 3,0
On the other hand, since reception transition +10 is executable in state 0.0, it can be seen that +1.0 is executable in state 10 as well. Therefore, draw an arrow with the label +10 and a circle for this execution. According to the rules explained above, Figure 1
An expanded version of an example protocol is shown in FIG.
次に、展開の停止法を上の例を用いて説明する。Next, a method for stopping expansion will be explained using the above example.
プロセス1の状態06のL値は(0,6,1,5)であ
り、各プロセスのL値までの送信遷移、受信遷移により
チャネルに蓄積される信号は1.3・2.3である。The L value of state 06 of process 1 is (0, 6, 1, 5), and the signals accumulated in the channel due to the transmission transition and reception transition up to the L value of each process are 1.3 and 2.3. .
プロセスlの状態01のL値は(0,1、1,C1)で
あり、各プロセスのL値までの送信遷移、受信遷移によ
りチャネルに蓄積される信号は10・20である。The L value of state 01 of process l is (0, 1, 1, C1), and the number of signals accumulated in the channel due to the transmission transition and reception transition up to the L value of each process is 10.20.
状態06とOlに対するこれらの信号が等しいため状態
o、iと0.6の間の状態遷移−1,2,−2,2,+
3..1゜−1,3,−2,3,+3.2. +3.4
. +3.5が06以降反復される。但し、′・″以下
の数字は異なる。従って、状態0.6で展開が停止され
る。同様の理由で状態0.8で停止される。プロセス1
の状態0.0とプロセス2の状態0.0からなるシステ
ム状態はチャネルに蓄積される信号が全くない安定状態
である。プロセス1の状態0.5とプロセス2の状態0
6からなるシステム状態及びプロセスlの状態0.3と
プロセス2の状態04かもなるシステム状態は同様な安
定状態である。これらの安定状態の各翠素は一致するの
で、それ以降の展開が反復されるため状態0.5.0.
3.0.4で停止される。図2ではL値を略記するため
、プロセス自身を除いた他のプロセスの状態のみを一部
に示している。又、L値までの送信遷移、受信遷移によ
りチャネルに蓄積される信号のうち、プロセス1から2
へのチャネル上の信号ヲ中に、プロセス2から1へのチ
ャネル上の信号を傷に示している。Since these signals for states 06 and Ol are equal, the state transitions between states o, i and 0.6 -1, 2, -2, 2, +
3. .. 1°-1, 3, -2, 3, +3.2. +3.4
.. +3.5 is repeated from 06 onwards. However, the numbers below '・'' are different. Therefore, the expansion is stopped at state 0.6. For the same reason, it is stopped at state 0.8. Process 1
The system state consisting of state 0.0 of process 2 and state 0.0 of process 2 is a stable state in which no signal is accumulated in the channel. Process 1 state 0.5 and process 2 state 0
The system state consisting of 6 and also consisting of state 0.3 of process l and state 04 of process 2 are similar stable states. Since each element in these stable states matches, the subsequent expansion is repeated, so the state 0.5.0.
It will be stopped in 3.0.4. In order to abbreviate the L value in FIG. 2, only the states of other processes other than the process itself are partially shown. Also, among the signals accumulated in the channel due to the transmission transition and reception transition up to the L value, processes 1 to 2
The signal on the channel from process 2 to 1 is shown as a scratch while the signal on the channel from process 2 to 1 is shown.
図1のプロトコル例に対し図2の状態遷移展開図が得ら
れるが、上述の従来技術による展開停止法だけでは、へ
以下の展開を無限に繰り返し停止できない。図1のプロ
トコルはプロセス間のチャネル上に蓄積されうる信号数
が無限となるからである。Although the state transition diagram shown in FIG. 2 is obtained for the protocol example shown in FIG. 1, it is not possible to repeatedly stop the following expansions by using only the above-mentioned conventional technique for stopping the expansion. This is because the protocol of FIG. 1 allows an infinite number of signals to be accumulated on channels between processes.
(発明が解決しようとする問題点)
上述した従来技術では、プロセス間のチャネルに蓄積さ
れる信号数が有限であるプロトコルに対してだけ論理矛
盾を検出できる。本発明で提案する技術では、プロセス
間のチャネルに蓄積される信号数が有限であるプロトコ
ルに加えて無限である一部のプロトコルに対しプロトコ
ル論理検証が(問題点を解決するための子株) 、本
発明は上述見た従来技術の欠点に鑑みなされたもので、
プロセス間のチャネルに蓄積される信号数が無限となる
プロトコルに対しても論理矛盾を検出できるプロトコル
論理検証方式を提供することを目的とし、その特徴は信
号数が無限となることの展開の体止条件を加えてもデッ
ドロック等の論理矛盾を検出し損うことがないことであ
る。(Problems to be Solved by the Invention) In the above-described conventional technology, logical contradictions can be detected only for protocols in which the number of signals accumulated in channels between processes is limited. In the technology proposed in this invention, protocol logic verification is performed for some protocols in which the number of signals accumulated in channels between processes is infinite in addition to protocols in which the number of signals accumulated in channels between processes is finite (subsidiary stock for solving problems). The present invention was made in view of the above-mentioned drawbacks of the prior art.
The purpose is to provide a protocol logic verification method that can detect logical contradictions even in protocols where the number of signals accumulated in channels between processes is infinite. Even if a stopping condition is added, logical contradictions such as deadlocks will not fail to be detected.
又、論理矛盾を検出するのに支障のない範囲で展開すべ
き状態数及び状態遷移数も削減できる。Further, the number of states and the number of state transitions to be developed can be reduced within a range that does not interfere with detecting logical contradictions.
(作用)
本発明によって、プロセス間のチャネル上に蓄積される
信号数が有限であるプロトコルと無限となる一部のプロ
トコルに対し、プロセス単位で状態遷移のアザイクリノ
ク状展開を行いながら、到達した状態が以前に出現した
状態と同じであるときは、それ以降の状態遷移の展開は
、以前に出現した状態以降の状態遷移の展開と同一とみ
なして、展開動作を停止することにより、未定義実行可
能遷移、定義済実行不能遷移、デッドロック及びオーバ
フローを検出する。(Operation) According to the present invention, for protocols in which the number of signals accumulated on channels between processes is finite and some protocols in which it is infinite, the state reached while performing azaicrinok-like expansion of state transitions for each process. When is the same as the state that appeared before, the expansion of the subsequent state transition is considered to be the same as the expansion of the state transition after the previously appeared state, and the expansion operation is stopped, resulting in undefined execution. Detect possible transitions, defined infeasible transitions, deadlocks, and overflows.
(実施例)
本実施例が検証の対象とするプロトコルは、従来技術と
同様第1図に示したプロトコル例とする。(Example) The protocol to be verified in this example is the example protocol shown in FIG. 1, as in the prior art.
ここで、プロトコル仕様と仮定及び説明のための用語に
ついて整理しておく。Here, we will summarize the protocol specifications, assumptions, and terms for explanation.
プロトコルは一般に次に示す4項組P−(Ql’O1M
、 5ucc )で表す。但し、Q−(Q、、 −、Q
N )、 o=(01,・・・+ ON)+ M−(M
、、、・・・、 MNN )、 5LICCは(Jx(
Mij UMji )→Q1(1く1くN、]くjくN
)の部分量する。The protocol generally consists of the following 4-term set P-(Ql'O1M
, 5ucc). However, Q-(Q,, -,Q
N), o=(01,...+ON)+M-(M
,,,..., MNN ), 5LICC is (Jx(
Mij UMji )→Q1(1ku1kuN,]kujkuN
).
ここで、NはPを構成するプロセス数、Qlはプロセス
1の状態集合、o 16 Q ;はプロセスlの初期状
態、MllはプロセスiからJにチャネル(i、i)を
通して送信する信号の集合、5ucc (sH。Here, N is the number of processes making up P, Ql is the state set of process 1, o 16 Q ; is the initial state of process l, and Mll is the set of signals transmitted from process i to J through channel (i, i). , 5ucc (sH.
X ) −1i (s 1.(:Ql、 ti6Q1)
ハxgM1; テアhハ状態S1で信号Xを送信する
と状態t1になることを表し、x G M J 、であ
れば状態S1で信号Xを受信すると状態tiになること
を表す。即ち、5uccは状態遷移である。X ) -1i (s 1.(:Ql, ti6Q1)
xgM1; Thea indicates that transmitting the signal X in state S1 will result in state t1, and x G M J indicates that receiving signal X in state S1 will result in state ti. That is, 5ucc is a state transition.
プロトコルを有限状態機械で記述し、記述の便宜上、ラ
ベル付有向グラフI山−(Vi、”’i ) (l<i
くN)のN項組P−(i山、・・・l HN )で表す
。節点の集合■i = Q iとし、有向枝の集合E、
(壬V1XV1)は次のように定める。SlとQl +
t 16 Q l、X’MIJ。The protocol is described by a finite state machine, and for convenience of description, a labeled directed graph I-(Vi, ”'i ) (l<i
It is expressed as an N-item set P-(i-mount, . . . l HN ) of N). Set of nodes ■i = Q i, set of directed edges E,
(壬V1XV1) is defined as follows. Sl and Ql +
t 16 Q l, X'MIJ.
LIMJl、 5ucc (si、 x )−1,のと
き、かつそのときに限りN (S+ + ti )’
E EIとする。更に、各(sl、tl)(9Eiに対
し X e M HJテあればラヘルーX、XeMJl
であればラベル+Xを伺ける。ここで、vlはプロセス
1の状態、E、はプロセスIの状態遷移を表す。−X及
び+Xはそれぞれ信号Xの送信及び受信を表す。LIMJl, 5ucc (si, x)-1, and only then N (S+ + ti)'
E EI. Furthermore, each (sl, tl) (for 9Ei, if
If so, you can ask for the label +X. Here, vl represents the state of process 1, and E represents the state transition of process I. -X and +X represent transmission and reception of signal X, respectively.
プロトコルの記述において、次の仮定をおく。In describing the protocol, we make the following assumptions.
■ プロ′セス間の信号伝送に要する時間は有限な非負
数値とする。■ The time required for signal transmission between processes is a finite non-negative value.
■゛ プロセス内の状態遷移は決定的であり、それに要
する時間は零とする。■゛ The state transition within the process is deterministic, and the time required for it is assumed to be zero.
■ プロセス相互間で送受される信号の受信順序は送信
順序と同じである。■ The reception order of signals sent and received between processes is the same as the transmission order.
プロトコルPのグロ−バル状態は次に示す2項組G、=
’(S、C)とする。但し、S−(sI + ”’+
”N ) rs11E’ Q+’(I<i <N’)+
C−(CIJ +−9CNN)l cijg Mi’
jである。cBeM、*jはcHj=g(全系列)ある
いはCIJ E MIJ X □”・x M、、 (n
> 1. )を表す。The global state of protocol P is the following binary set G, =
'(S, C). However, S−(sI + ”'+
"N) rs11E'Q+'(I<i<N')+
C-(CIJ+-9CNN)l cijg Mi'
It is j. cBeM, *j is cHj=g (all series) or CIJ E MIJ
> 1. ) represents.
″・ n個
ここで、Sは各プロセスの状態、Cはプロセス間の各チ
ャネルに残っている信号系列を表す。″·n Here, S represents the state of each process, and C represents the signal sequence remaining in each channel between processes.
グローバル状態はシステム状態を表す。Cij”Xl、
・・・、XmはプロセスiがJに信号を送信し、かつ、
プロセスJが1から信号を受信していない信号系列を表
す。・は信号系列の連結(concatenation
)を表す。プロセスIの送信順序及びプロセスJの受
信順序は共に左からXI、・・・、Xmの順序となる。Global state represents system state. Cij"Xl,
..., Xm is a process i sends a signal to J, and
represents a signal sequence in which process J has not received a signal from 1;・Concatenation of signal sequences
) represents. The transmission order of process I and the reception order of process J are both XI, . . . , Xm from the left.
Mii−φより全てのi (1くi<:N)に対しC1
1=εである。以降では、このような信号系列をチャネ
ル(i、 j )上の未処理信号と呼ぶ。From Mii-φ, C1 for all i (1 x i<:N)
1=ε. Hereinafter, such a signal sequence will be referred to as the unprocessed signal on channel (i, j).
Gの集合上゛で2項関係1−を定義する。今、Q−(S
、 C)、 S−(s、 、・・・+ ’ ”N )+
C−(CIJ +・・・r CNN ) + G’−
(Bt、 Ct )、 Bt−(イ、・・・、愉)、
C/=(C/I、・・・、C鍮)とする。Gl−G’で
あるための必要十分条件は次の条件(I)あるいは(2
)を満たすプロセスL 3及びメツセージXが存在する
ことである。Define a binary relation 1- on the set of G. Now, Q-(S
, C), S-(s, ,...+'"N)+
C-(CIJ +...r CNN) + G'-
(Bt, Ct), Bt-(I..., pleasure),
Let C/=(C/I, . . . , C brass). The necessary and sufficient condition for Gl-G' is the following condition (I) or (2
) there exists a process L3 and a message X that satisfy
の他の要素はG、G’とも同じ。このとき、チャネル(
i、Dに信号Xを挿入したという。The other elements of are the same for G and G'. At this time, the channel (
It is said that signal X was inserted into i and D.
の要素はG、 G’とも同じ。このとき、チャネル(i
、J)から信号Xを削除したという。The elements of are the same for both G and G'. At this time, channel (i
, J).
ここで、(11,(21はそれぞれ一つの信号Xの送信
、受信によりプロセスi、Jの状態がSl、 S)から
Sr。Here, (11 and (21) change the states of processes i and J from Sl and S to Sr by transmitting and receiving one signal X, respectively.
S′に変化しチャネル(i、i)の状態が01.から0
1′Iに変化したことを表す。S' and the state of channel (i, i) becomes 01. from 0
1'I.
014G′であるための必要十分条件はあるn(n〉O
) K対し G=G0トG、 1−−−・1−Gn=G
’テアル。There is a necessary and sufficient condition for 014G' to be n(n〉O
) For K, G = G0 to G, 1----・1-Gn=G
'Theal.
1iは1−の反射的かつ推移的閉包(reflecti
ve andtransitive closure
)とする。つまり、全てのGに対しa 1j−aであり
、相異なるG、 Gl、 G“に対しG−GlかつG′
l−!−G”であればGにqである。G51−!−c+
ならGはG、から到達可能であるという。C8−G。な
ら単にGは到達可能であるという。但し、Go ””
(so、 co )、 5o−(ol+ ”’、0′N
)+ Co−(Sr ”’+ε)である。1i is the reflective and transitive closure of 1-.
ve and transitive closure
). That is, for all G, a 1j-a, and for different G, Gl, G", G-Gl and G'
l-! -G”, then G is q.G51-!-c+
Then, we say that G is reachable from G. C8-G. Then we simply say that G is reachable. However, Go ””
(so, co), 5o-(ol+ ”', 0'N
)+Co-(Sr''+ε).
プロトコルPにおいて、順序対(Sr X) r s
6 Q r 。In protocol P, ordered pair (Sr X) r s
6 Qr.
x6Mを送信対といい、順序対(s、 X)、 S f
E Qi rX G MJ +を受信対という。5uc
c (s、 x )がプロトコルPで定義されていると
き、(s、 x)は指定されている( 5peci f
ied )という。G =(S、C)、 S =(s
、。x6M is called a transmission pair, and the ordered pair (s, X), S f
E Qi rX G MJ + is called a receiving pair. 5uc
c (s, x) is defined in protocol P, then (s, x) is specified (5peci f
ied ). G = (S, C), S = (s
,.
”’r Si + ”・+ sN) + C−(CI+
+ ”’y CNN)が到達可能であれば、送信対(s
i、x)、xεM1.は実行可能であるという。G =
(、S、 C)、 S−(s、、・・・+Si+・・
・。``'r Si + ''・+ sN) + C-(CI+
+ ”'y CNN) is reachable, then send pair (s
i, x), xεM1. is said to be feasible. G=
(, S, C), S-(s,,...+Si+...
・.
SN)、C−(C11,・・・+Cji+・・・1CN
N)が到達可能であり、かつC・= x−Y、 x4’
M31. YとM、i であれば、受信対(sl、x
)は実行可能である( executable )とい
う。SN), C-(C11,...+Cji+...1CN
N) is reachable and C = x-Y, x4'
M31. If Y and M,i, then the receiving pair (sl, x
) is said to be executable.
以上の準備のもとに、本発明のプロトコル論理検証では
次の5項目を検証対象とする。Based on the above preparations, the following five items are to be verified in the protocol logic verification of the present invention.
(1)未定義実行可能遷移(unspeci f ie
d executablet rans i t io
n )
プロトコル仕様に含まれないが、実行可能である受信遷
移。(1) Undefined executable transition
d executable rans itio
n) Receive transitions that are not included in the protocol specification but are executable.
(2)定義済実行不能遷移(5pecified un
executabletransition )
プロトコル仕様に含まれるが、実行可能でない送信遷移
あるいは受信遷移。(2) 5specified unexecutable transition
executabletransition) A send or receive transition that is included in the protocol specification but is not executable.
(3) デッドロック(deadlock)全てのプ
ロセスの状態遷移が実行不能で、かつ、プロセス間のチ
ャネルに残っている信号が全熱ないシステム状態。(3) Deadlock: A system state in which the state transitions of all processes are impossible to execute, and the signals remaining in the channels between processes are not fully active.
(4)有限オーパフo −(bounded、over
f low )プロセス間のあるチャネル上に蓄えられ
る信号数が受信プロセスのバッファ容量を超えるシステ
ム状態。(4) Finite opaf o − (bounded, over
f low ) A system condition in which the number of signals stored on a channel between processes exceeds the buffer capacity of the receiving process.
(5)無限オーパフq = (unbounded o
verflow)プロセス間のある。チャネル上に蓄え
られる信号が無限となるシステム状態。(5) Infinite opuff q = (unbounded o
verflow) between processes. A system state in which the amount of signal stored on a channel is infinite.
第3図は本発明の一実施例を示すブロック図である。第
3図で、1は外部から与えられるプロトコル仕様を蓄積
するメモリ、2は検証処理に使用する各種変数の初期値
を設定する初期設定ブロック、3は展開された状態にお
いて実行可能な送信遷移を抽出するブロック、4は送信
遷移の実行に・より新たに状態及び送信遷移を展開図に
追加し、その状態のL値を計算するとともに、この状態
で展開が停止できるか否かを判定するブロック、5は4
の送信遷移に対応する受信遷移の実行により新たに状態
及び受信遷移を展開図に追加し、その状態のL値を計算
するとともにこの状態で展開が停止できるか否かを判定
するブロック、6は送信遷移の遷移元の状態で実行可能
な受信遷移系列を遷移先の状態に移し、新たな状態及び
受信遷移を展開図に追加し、それらの状態のL値を計算
するとともにこの状態で展開が停止できるか否かを判定
するブロック、7は未定義実行可能遷移、定義済実行不
能遷移、デッドロック、有限オーバフローを検出するブ
ロック、8はプロセス間のチャネル上に蓄積される信号
数が無限となる状態、つまり無限オーバフローを検出す
るブロック、9は検証結果である展開図等及び各種の変
数を蓄積するメモリである。図4はプロトコル仕様をメ
モリ1に蓄積する場合の一蓄積形式を表す。又、図5は
展開図及び仕°様誤りを表形式でメモリ9に蓄積する場
合の一蓄積形式を示す。図1のプロトコル例を図3の実
施例に適用した結果得られた展開図は図2のA以下の展
開をとり除いたものとなる。図3の実施例の動作はブロ
ック8を除いて従来技術と等しいので、展開の停止法と
ブロック8についてのみ述べる。FIG. 3 is a block diagram showing one embodiment of the present invention. In Fig. 3, 1 is a memory that stores protocol specifications given from the outside, 2 is an initial setting block that sets initial values of various variables used in verification processing, and 3 is a block that stores executable transmission transitions in the expanded state. The block to be extracted, 4, is a block that adds a new state and transmission transition to the expansion diagram by executing the transmission transition, calculates the L value of that state, and determines whether the expansion can be stopped in this state. , 5 is 4
A block 6 adds a new state and reception transition to the expansion diagram by executing the reception transition corresponding to the transmission transition, calculates the L value of that state, and determines whether expansion can be stopped in this state. Move the receive transition sequence that is executable in the source state of the send transition to the destination state, add the new state and receive transition to the expansion diagram, calculate the L values of those states, and perform the expansion in this state. 7 is a block that detects undefined executable transitions, defined unexecutable transitions, deadlocks, and finite overflows; 8 is a block that determines whether or not it can be stopped; 8 is a block that determines whether the number of signals accumulated on the channel between processes is infinite; A block 9 detects a state in which the current state occurs, that is, an infinite overflow, and a block 9 is a memory that stores a developed diagram, etc., which is a verification result, and various variables. FIG. 4 shows a storage format when protocol specifications are stored in the memory 1. Further, FIG. 5 shows a storage format in which developed diagrams and specification errors are stored in the memory 9 in tabular form. The development diagram obtained as a result of applying the protocol example of FIG. 1 to the embodiment of FIG. 3 is obtained by removing the development from A onward in FIG. 2. Since the operation of the embodiment of FIG. 3 is the same as the prior art except for block 8, only the method of stopping the expansion and block 8 will be described.
アサイクリノク状展開の停止法について述べる。We will describe a method for stopping acyclone expansion.
次の3つの条件(11〜(3)を満たすとき、iiはS
lの前出状態という。このとき、S、はタイプ0でマー
クされたという。X、Yは0.から1゜、s、へのそれ
ぞれの遷移系列とする。When the following three conditions (11 to (3)) are satisfied, ii is S
This is called the preceding state of l. At this time, S is said to be marked with type 0. X and Y are 0. Let the transition series be from 1° to 1°, s, respectively.
(1)XはYの部分系列である。(1) X is a subsequence of Y.
(2)全てのプロセスj(iを含む)に対しL J (
t + 。(2) For all processes j (including i), L J (
t+.
X)と1勺(sl、Y)は一致する。X) and 1 (sl, Y) match.
(3)全テノフロセスJに対するX及びR7(tl、X
)上の信号の送信及び受信後の任意のチャネル(に1)
(]<k、 l<N)に残っている未処理信号系列(
これを以降0品と表す)がY及び馬(SI、Y)上の信
号の送信及び受信後の輸と同じである。(3) X and R7 (tl, X
) after sending and receiving signals on any channel (in 1)
(]<k, l<N) remaining unprocessed signal sequence (
This is hereinafter referred to as 0 item) is the same as the transmission after the signal transmission and reception on Y and horse (SI, Y).
上述の定義において(1)が成立せずども(2)(3)
が成立するときにはSiはタイプ0でマークされたとい
う。このとき、以降X、Yの一方のみを展開する。Although (1) does not hold in the above definition, (2) and (3)
When the following holds true, Si is said to be marked with type 0. At this time, only one of X and Y will be expanded.
次の3つの条件(1)〜(3)を満たすとき、tlから
51に送れるという。X、Yは01からtl、 slへ
のそれぞれの遷移系列とする。It is said that when the following three conditions (1) to (3) are met, the data can be sent from tl to 51. Let X and Y be transition series from 01 to tl and sl, respectively.
(1)プロセスlから受信するX上の最後の信号とプロ
セスJに送信するY上の最後の信号は一致する。(1) The last signal on X received from process l and the last signal on Y sent to process J match.
(2)J以外の全てのプロセスkに対しLk(tl、Y
)とT−k(SJ 、 X )は同一遷移系列上にある
。(2) Lk(tl, Y
) and Tk(SJ, X) are on the same transition series.
(31SjはLJ(tl、Y)から到達可能である。t
lが送れるS3が全てタイプOでマークされているなら
、tlはタイプ1でマークされたという。(31Sj is reachable from LJ(tl, Y).t
If all S3s to which l can be sent are marked with type O, then tl is said to be marked with type 1.
アサイクリノク状に展開されたプロトコルにおいて、安
定グローバル状態G=(S 、 C) 、 S =(s
、。In the acyclically expanded protocol, the stable global states G = (S, C), S = (s
,.
・・・+ si+・・・、S4.・・・l5N)に一致
するものが既に存在し、tlがSiから到達可能であり
、更に、更てのjに対しIg、(t、 L X)がS、
から到達可能であるなら、tiはタイプ2でマークされ
たという。...+si+..., S4. ...l5N) already exists, tl is reachable from Si, and for further j Ig, (t, L X) is S,
ti is said to be marked with type 2 if it is reachable from .
上述の定義において81に入る状態遷移が受信遷移であ
ればslは直ちにタイプ2でマークされる。If the state transition entering 81 in the above definition is a receive transition, sl is immediately marked with type 2.
(]9)
無限オーバフローを判定するためアサイクリソク状展開
の停止法に次に述べる定義を追加する。(]9) In order to determine infinite overflow, the following definition is added to the stopping method of acyclohex-like expansion.
次の3つの条件(1)〜(3)を満たす状態s;、 J
が存在するとき、状態U、はタイプ3でマークされたと
いう。X、 Y、 Zは0゜からSl、tl、ulへの
それぞれの遷移系列とする。A state s that satisfies the following three conditions (1) to (3);, J
A state,U,is said to be marked with type 3 if,. Let X, Y, and Z be the respective transition series from 0° to Sl, tl, and ul.
(1)XはYの部分系列であり、YはZの部分系列であ
る。(1) X is a subsequence of Y, and Y is a subsequence of Z.
(2)全てのプロセスJに対し1勺(sl、X)、1勺
(ti。(2) 1 x (sl, X), 1 x (ti) for every process J.
Y ) 、 LJ (u + 、 Z )は一致する。Y) and LJ (u+, Z) match.
(3)全てのプロセスjに対しRj(ul、 Z )上
の信号の送信あるいは受信後の任意のチャネル<k、l
)(1<:に、 l<N )に残っている未処理信号系
列Ck。(3) Any channel < k, l after sending or receiving a signal on Rj (ul, Z ) for all processes j
) (1<:, l<N) remaining unprocessed signal sequence Ck.
(1<:にくN、tく6くN)はRJ (t r 、Y
)及び馬(Sl。(1<:N, t6N) is RJ (t r , Y
) and horses (Sl.
X)上の信号の送信あるいは受信後のそれぞれのC1′
及びCSlと次の関係にある。dはある系列ke
u
とする。X) each C1' after sending or receiving the above signal
and has the following relationship with CSl. d is a certain series ke
Let it be u.
慣−(d)pp〉O
C品=(diqq〉O,q〉p
C罷−+d)2qr)
但し、少なくとも1組のに、lに対しq > p oこ
と9個
上述の定義より直観的にはCklの状態が単調に増加し
ていることがわかるので無限オーバフローと判定され、
展開が停止される。(d) pp〉O C product = (diqq〉O, q〉p C-+d)2qr) However, at least one set of q > p o for l is more intuitive than the above definition. It can be seen that the state of Ckl is monotonically increasing, so it is determined that there is an infinite overflow,
Deployment is stopped.
上述の定義の無限オーバフローの判定法において、即ち
削除メソセージ系列の全くないときにはと非負整数qが
存在すれば無限オーバフローと判定される。但し、少な
くとも1つのチャネル(k。In the method for determining infinite overflow as defined above, if there is no deletion message sequence, and if a non-negative integer q exists, it is determined that there is an infinite overflow. However, at least one channel (k.
l)に対しq〜O8
実行可能な送信対あるいは受信対が付加されつる各プロ
セスの状態が全てマークされたとき、アサイクリック状
のプロトコルの展開が停止される。q~O8 for l) When all executable send or receive pairs are added and the states of each process are marked, the acyclic protocol evolution is stopped.
図1のプロトコル例に対し図3の実施例のブロック8は
次のように動作する。プロセス1の状態0.1のL値は
1.0であり、チャネル(12)の未処理信号系列は1
.0・2.0である。プロセス1の状態05のL値は1
2であり、チャネル(1,2)の未処理信号系列は12
・22・13・23である。プロセス1の状態09のL
値は1.5であり、チャネル(12)の未処理信号系列
は13・2.3・14・24・1.5・24である。For the example protocol of FIG. 1, block 8 of the embodiment of FIG. 3 operates as follows. The L value of state 0.1 of process 1 is 1.0, and the unprocessed signal sequence of channel (12) is 1
.. It is 0.2.0. The L value of state 05 of process 1 is 1
2, and the unprocessed signal sequence of channel (1, 2) is 12
・22・13・23. Process 1 state 09 L
The value is 1.5, and the unprocessed signal sequence of channel (12) is 13.2.3.14.24.1.5.24.
従って、状態09はタイプ3でマークされる。Therefore, state 09 is marked with type 3.
09以降、状態遷移系列−1,、−2,+3.−1.−
2.+3が反復され、信号1,2が蓄積されていくため
無限オーバフローと判定される。同様にプロセス2の状
態0.7もタイプ3でマークされる。以□上の結果によ
り、図1のプロトコル例に対するアサイクリノク状の展
開が停止される。After 09, the state transition series -1, -2, +3. -1. −
2. +3 is repeated and signals 1 and 2 are accumulated, so it is determined that there is an infinite overflow. Similarly, state 0.7 of process 2 is also marked with type 3. As a result of the above results, the acyclic expansion for the example protocol of FIG. 1 is stopped.
なお、本発明の無限オーバフローの検出法はグローバル
状態を生成していくプロトコル論理検証方式←特願昭5
9−192491 )にも適用可能である。The infinite overflow detection method of the present invention is a protocol logic verification method that generates a global state.
9-192491).
無限オーバフロー判定法を拡張し、実際によく現れるタ
イムアウト機能をもつプロトコルに適用可能な判定法を
示す。We extend the infinite overflow test method and show a method that can be applied to protocols with timeout functions that often appear in practice.
無限オーバフローの判定を含むプロセス対応状態遷移展
開法を実際に運用されているプロトコルに適用する。そ
の−例としてAtternating BitProt
ocol (以下、A、13 Pと略す。)をとりあげ
る。We apply a process-aware state transition expansion method that includes determination of infinite overflow to protocols that are actually in use. An example of this is Alternating BitProt.
ocol (hereinafter abbreviated as A, 13P) will be taken up.
このプロトコルはアメリカのA R,P A (Adv
ancedResearch Project Age
ncy )ネットワークやヨーロッパのBIN (Eu
ropean Informatics Networ
k )で使用されている。図6−(a)にABPの状態
遷移図を示す。This protocol is the American AR, PA (Adv
ancedResearch Project Age
ncy) network and European BIN (Eu
ropean Informatics Network
k). FIG. 6-(a) shows a state transition diagram of ABP.
同図でErrorはメソセージ送受信エラー、Tはタイ
ムアウトを表す。説明の都合上、エラーはないもノド仮
定する。図6−(a)をNew data、 Del
1ver data等を除いて簡略化すると図6−(b
lになる。同図で同じ状態に戻る状態遷移であるセルフ
ループはタイムアウト遷移を表す。同一送信メツセージ
の区別のため、肩添字をつけている。例えば、−Doは
−D’ 、 −Do2 、− D。3と区別する。この
うち、−1)。2はタイムアウトを表す。+ D oは
+Do’ 、 + Do”、+Do”の3つのメソセー
ジを表している。状態1が初期状態である。In the figure, Error represents a message transmission/reception error, and T represents a timeout. For convenience of explanation, it is assumed that there are no errors. Figure 6-(a) as New data, Del
Figure 6-(b) is simplified by excluding 1ver data etc.
It becomes l. In the figure, a self-loop that is a state transition that returns to the same state represents a timeout transition. A superscript is added to distinguish between the same sent messages. For example, -Do is -D', -Do2, -D. Distinguish from 3. Of these, -1). 2 represents timeout. +Do represents three messages: +Do', +Do'', and +Do''. State 1 is the initial state.
図6−(b)のプロトコルに対し前述した本発明手法を
適用する。但し、そのまま適用するとアサイクリック状
に展開される状態及び状態遷移の総数が増大するので、
それを減少させるため次のような展開法の拡張を行う。The method of the present invention described above is applied to the protocol shown in FIG. 6-(b). However, if applied as is, the total number of states and state transitions that are expanded acyclically will increase, so
In order to reduce this, we expand the expansion method as follows.
プロセスiの初期状態から再び初期状態に戻るまでの状
態遷移系列の集合なR1とする。無限反復信号系列をj
(〉0)回含むものをR1とすれば、R1= n、y
u rtHu・・・uaiu・・・と表せる。再び戻っ
てきた初期状態でのチャネル状態がR,のjに関する帰
納的性質を満たすプロトコルであれば、R1を全て展開
する必要がなく、R,g、 R%のみえ展開すればよい
。以上の処理を各プロセスに対して行う。Let R1 be a set of state transition sequences from the initial state of process i to return to the initial state again. An infinitely repeated signal sequence is j
If R1 includes (>0) times, then R1= n, y
It can be expressed as urtHu...uaiu... If the channel state in the initial state returned again is a protocol that satisfies the recursive property regarding j of R, it is not necessary to expand all of R1, but only R, g, and R% need to be expanded. The above processing is performed for each process.
図6−(blのプロトコルに対し拡張展開法を適用した
結果を図7.8に示す。A以下の展開を省略している。Figure 7.8 shows the results of applying the extended expansion method to the protocol in Figure 6-(bl).The expansions below A are omitted.
同図で→、+はそ、れぞれ1回目、2回目のタイムアウ
ト信号遷移を表す。このタイムアウト遷移が上述の無限
反復系列に対応する。例えば、図7で(−D3.0)・
(+A八へ〇)・(−D:;0)・(十゛A+’;o)
はR?に属し、(−DL;0)・(D、!;o)・(+
へへ;0)・ (−Di ; t) ・(+Aoo;
O)・ (”? 二〇)・(+Al;l)はR1に属す
る。前者をr4、後者なr2とおく。In the figure, → and + represent the first and second timeout signal transitions, respectively. This timeout transition corresponds to the infinite repeat sequence described above. For example, in Figure 7 (-D3.0)
(+A8〇)・(-D:;0)・(10゛A+';o)
Is it R? belongs to (-DL;0)・(D,!;o)・(+
Hehe;0)・(-Di;t)・(+Aoo;
O)・(”? 20)・(+Al;l) belongs to R1. Let the former be r4 and the latter r2.
ABPの場合、R,に属する状態遷移系列に対し次の帰
納的性質が成立する。In the case of ABP, the following recursive property holds for the state transition sequence belonging to R.
rεR1上にi個のタイムアウト遷移(−Dg)が含ま
れていれば、再び戻った初期状態でのチャネル状態””
(CI2+ 021 )は次のようになる。If rεR1 contains i timeout transitions (-Dg), the channel state returns to the initial state ""
(CI2+ 021) becomes as follows.
チャネル(1,、2)に対し、c、2=(D、)’。For channels (1,,2), c,2=(D,)'.
チャネル(2,j)に対し、C2+−ε(学系列)。For channel (2,j), C2+-ε (academic series).
例えば、r、に対しタイムアウト遷移を含まないので、
Cl2=ε+C21””ε、r2に対しタイムアウト°
遷移を1個含むので、c、2= DL c2. =ε
となっている。For example, since it does not include a timeout transition for r,
Cl2=ε+C21""ε, timeout for r2°
Since it includes one transition, c,2=DL c2. =ε
It becomes.
ところ環R1終了後の族1開はR1の反復であるので、
その停止法は無限オーバフローの判定法を用以上説明し
たようにプロセメ対応状態遷移展開法を拡張すればQ
ABPの論理検証は可能となる。However, since the group 1 opening after the end of ring R1 is a repetition of R1,
The stopping method can be obtained by extending the process-compatible state transition expansion method as explained above using the method for determining infinite overflow.
Logical verification of ABP becomes possible.
=般に、拡張展開法はABPのようにタイムアウト遷移
をもつプロトコルに対し有効である。In general, the extended expansion method is effective for protocols with timeout transitions, such as ABP.
(発明の効果)
以上詳細に説明したように本出願によるプロトコル論理
方式は従来方式に比較するとプロセス間のチャネル上に
蓄積される信号数が有限なプロトコルだけでなく、信号
数が無限なプロトコルの一部に対しても論理検証が可能
である。この方式により実際のプロトコルによく現れる
無限オーバフローを含めて、未定義実行可能遷移、定義
法実行不能遷移、デッドロック、有限オーバフローを全
て検出できる。更に、本方式を拡張して、実用的なプロ
トコルの一例であるクイムアウ1機能をもツAltトt
ingBit Protocolの論理検証が検証処理
に必要な処理量を削減して可能となった。(Effects of the Invention) As explained in detail above, the protocol logic method according to the present application, compared to the conventional method, can be used not only for protocols with a finite number of signals accumulated on channels between processes, but also for protocols with an infinite number of signals. Logical verification is also possible for some parts. This method can detect all undefined executable transitions, undefined executable transitions, deadlocks, and finite overflows, including infinite overflows that often appear in actual protocols. Furthermore, this method can be extended to include the Quim-Au1 function, which is an example of a practical protocol.
Logical verification of ingBit Protocol has become possible by reducing the amount of processing required for verification processing.
図1は検証しようとするプロトコルの例を示す図、図2
は図1のプロトコルの状態遷移展開図、図3は本発明の
実施例を示すブロック図、図4は図3のメモリ1の蓄積
形式例を示す図、図5は検証結果を示す図、図6はA、
BPの状態遷移図、図7と図8はプロトコルに対する拡
張展開法を適用した結果を示す図である。
第1図
プロセス1 プロセフ2(α)
(b)第
4に
巧う閏
(d) デーy¥ U−t716” iEiIg(e
) 七Tlレースーパブロー
げ)黒↑Δx−)<’フロー
為6図
<O,)Figure 1 shows an example of the protocol to be verified, Figure 2
is a state transition development diagram of the protocol in FIG. 1, FIG. 3 is a block diagram showing an embodiment of the present invention, FIG. 4 is a diagram showing an example of the storage format of the memory 1 in FIG. 3, and FIG. 5 is a diagram showing verification results. 6 is A,
The state transition diagrams of BP, FIGS. 7 and 8, are diagrams showing the results of applying the extended expansion method to the protocol. Figure 1 Process 1 Process 2 (α)
(b) Fourth skillful leap (d) Dayy¥ U-t716” iEiIg(e
) 7 Tl race-pa lowe) black ↑Δx-) <'flow for 6 figure <O,)
Claims (1)
トコル仕様を入力し、該プロトコル仕様の有する遷移情
報に従って各プロトコルの状態を遷移しつつ該プロトコ
ル仕様を検証するプロトコルの論理検証方式において、 前記プロセスごとに送信遷移と受信遷移とを対応させて
状態の遷移を行いながら各プロセス状態とチャネルの信
号状態とから規定されるシステム状態を監視しながら展
開を実行し、展開されたシステム状態のうちのプロセス
状態が既に出現したシステム状態でのプロセス状態と同
一である場合は既に出現したシステム状態でのチャネル
の信号状態と現システム状態でのチャネルの信号状態と
を比べ現システム状態でのチャネルの信号量が多いとき
はプロセス状態とチャネルの信号状態の増加信号系列と
をメモリに記憶しておき、以降の展開において再度該記
憶されたシステム状態と同一のプロセス状態でかつ同一
のチャネルの信号状態の増加信号系列を有するシステム
状態が出現したら該状態のチャネルは無限オーバフロー
すると判定して展開を中止し仕様誤りを表わす電気信号
を出力する手段を少なくとも有することを特徴とするプ
ロトコル論理検証方式。[Claims] A logical verification of a protocol that inputs a protocol specification between a plurality of processes expressed by electrical signals, and verifies the protocol specification while transitioning the state of each protocol according to transition information included in the protocol specification. In this method, expansion is executed while performing state transitions by associating transmission transitions and reception transitions for each process, while monitoring the system state defined by each process state and the signal state of the channel, and If the process state in the system state is the same as the process state in the system state that has already appeared, compare the signal state of the channel in the system state that has already appeared with the signal state of the channel in the current system state. When the channel signal amount is large, the process state and the increasing signal sequence of the channel signal state are stored in memory, and in subsequent deployment, the process state and the same process state and the same as the stored system state are stored again. A protocol logic characterized by having at least means for determining that, when a system state having an increasing signal sequence of channel signal states appears, the channel in that state has an infinite overflow, halting expansion, and outputting an electrical signal representing a specification error. Verification method.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60030208A JPS61191145A (en) | 1985-02-20 | 1985-02-20 | Protocol logic verification system including infinite overflow detection |
CA000484679A CA1224880A (en) | 1984-12-25 | 1985-06-20 | Protocol validation system |
US06/749,591 US4694422A (en) | 1984-12-25 | 1985-06-24 | Protocol validation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60030208A JPS61191145A (en) | 1985-02-20 | 1985-02-20 | Protocol logic verification system including infinite overflow detection |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61191145A true JPS61191145A (en) | 1986-08-25 |
JPH0320186B2 JPH0320186B2 (en) | 1991-03-18 |
Family
ID=12297313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60030208A Granted JPS61191145A (en) | 1984-12-25 | 1985-02-20 | Protocol logic verification system including infinite overflow detection |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61191145A (en) |
-
1985
- 1985-02-20 JP JP60030208A patent/JPS61191145A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0320186B2 (en) | 1991-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Neider et al. | Learning linear temporal properties | |
Brand et al. | On communicating finite-state machines | |
Ben-Abdallah et al. | Syntactic detection of process divergence and non-local choice in message sequence charts | |
Devillers et al. | Verification of a leader election protocol: Formal methods applied to IEEE 1394 | |
Rudie et al. | Minimal communication in a distributed discrete-event system | |
US7003779B2 (en) | Hierarchical connected graph model for implementation of event management design | |
JPH07334566A (en) | On-the-fly model according to system for execution of check using reduced partial sequence state space | |
Yu et al. | Deadlock detection for a class of communicating finite state machines | |
US5491639A (en) | Procedure for verifying data-processing systems | |
CN113421073A (en) | Method and apparatus for concurrently executing transactions in a blockchain | |
Tian et al. | Propositional Projection Temporal Logic, B chi Automata and ω-Regular Expressions | |
Genest et al. | Infinite-state high-level MSCs: Model-checking and realizability | |
US6516306B1 (en) | Model checking of message flow diagrams | |
CN111222022B (en) | Regular expression-based matching method and device | |
JPS61191145A (en) | Protocol logic verification system including infinite overflow detection | |
Karaçali et al. | Model checking based on simultaneous reachability analysis | |
Hagiya et al. | Analysis of synchronous and asynchronous cellular automata using abstraction by temporal logic | |
Ball et al. | Threshold reliability of networks with small failure sets | |
Balan et al. | Incremental subset construction revisited | |
US9002861B2 (en) | Matching device and computer-readable storage medium | |
Balan et al. | Metrics-based incremental determinization of finite automata | |
Ahmad et al. | LANG–algorithm for constructing unique input/output sequences in finite-state machines | |
US10067816B2 (en) | Model checking apparatus and method, and storage medium having program stored therein | |
Chen et al. | Construction of deadlock-free designs of communication protocols from observations | |
JP6602259B2 (en) | State transition evaluation device, state transition evaluation method, and state transition evaluation program |