JPS61208945A - プロトコルの分割検証回路 - Google Patents

プロトコルの分割検証回路

Info

Publication number
JPS61208945A
JPS61208945A JP60049364A JP4936485A JPS61208945A JP S61208945 A JPS61208945 A JP S61208945A JP 60049364 A JP60049364 A JP 60049364A JP 4936485 A JP4936485 A JP 4936485A JP S61208945 A JPS61208945 A JP S61208945A
Authority
JP
Japan
Prior art keywords
block
level
state
bstd
transition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP60049364A
Other languages
English (en)
Other versions
JPH0458744B2 (ja
Inventor
Yasushi Wakahara
若原 恭
Yoshiaki Tsunoda
良明 角田
Masamitsu Norikoshi
乗越 雅光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
Kokusai Denshin Denwa KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kokusai Denshin Denwa KK filed Critical Kokusai Denshin Denwa KK
Priority to JP60049364A priority Critical patent/JPS61208945A/ja
Publication of JPS61208945A publication Critical patent/JPS61208945A/ja
Publication of JPH0458744B2 publication Critical patent/JPH0458744B2/ja
Granted legal-status Critical Current

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、通信プロトコルの仕様を入力し、それに含ま
れる内部矛盾を仕様誤シとして検出し出力するプロトコ
ル検証方式に関する。
(従来の技術) 近年の電気通信の高度化・多様化に伴い、交換機・通信
処理装置等の通信機器におけるソフトウェアは大規模化
・複雑化する一方である。このため通信ソフトウェアの
開発・保守における生産性を向上させることは益々重要
となってきた。
通信ソフトウェアの開発・保守における生産性を向上さ
せる一つの有力な方策は、通信ソフトウェアの要求仕様
を開発・保守の早い段階で正確にかつ過不足なく定義す
ることにより、それ以後の段階からのフィードバック的
な作業をなくすことである。通信ソフトウェアの中で重
要な位置を占めるものとして、通信回線を介して各種の
信号を送受するだめの信号形式や手順を規定するプロト
コルがある。従って、プロトコルの仕様に論理的矛盾や
あいまいさがあった場合、とれを自動的に検出するプロ
トコル検証技術が重要となる。
従来、この種のプロトコル検証方式としては、与えられ
た通信プロトコル仕様に従って、通信システムがとり得
る動作および状態のすべての組合せを順次列挙し、検査
するものであった。
この従来技術を第2図、第3図を用いて説明する。
第2図は、検証しようとするプロトコルの一例であって
、プロセスL2および3からなる通信システムのプロト
コル仕様を図示したものである。
ここで、通信システムとは、例えばプロセス1および3
が端末装置、プロセス2が交換機であるシステムであっ
てもよいし、また、プロセス1.2.5がともに一つの
CPU内にあってもよい。すなわち、他の機能と信号の
送受信(送信または受信だけであってもよい)を行う処
理単位をプロセスと呼び、互いに信号の受授を行う複数
のプロセスを総称して通信システムと呼ぶ。第2図はプ
ロセス数3の場合のプロトコルの一例である。
第2図において、丸印は状態を、矢印は遷移を表わす。
また矢印に付けられたラベルは信号の送信又は受信を示
し、一般に−aは信号aの送信を、また+aはaの受信
を表わす。従って、プロセス1はAを初期状態として、
プロセス2に対し信号aを送信して状態Bに遷移し、プ
ロセス2から信号すを受信したとき状態Cに遷移し、プ
ロセス2に対して信号Cを送信して初期状態Aに戻るよ
うに動作することが分かる。このように、各プロセスの
動作は比較的容易に理解できるが、プロセスド2・5の
相互間に論理矛盾があるか否かを判定することは容易で
ない。
前述したプロトコル検証の従来技術とは、一つの信号の
送信又は受信による実行可能な遷移を初期状態から遂−
すべて順次に実行し、到達可能な状態を全て含むような
通信システム全体の状態遷移図を作成し、その作成過程
で論理矛盾、すなわち仕様誤りを検出していた。第2図
のプロトコル例に、この従来技術を適用した結果を第3
図に示す。この第3図はシステム全体の状態遷移を示す
ことからグローバル遷移図と呼ぶ。また、状態は、丸印
の中に各プロセスの状態が表示され、これをグローバル
状態と呼ぶ。
先ず、初期グローバル状態(A・A・A)において、即
実行可能な遷移を検出すると、プロセス1における一a
とプロセス3におけるーXである。
プロセス2においてはaの受信のみであシ、かつ信号a
はプロセス1から末だ送信されていないので、+aは実
行不可能である。そこで先ず−aの遷移についてテスト
するとグローバル状態(B、A。
A)となる。この状態で再度即実行可能な遷移を検出す
ると、+aと−Xとがある。このうち例えば+aについ
てテストするとグローバル状態(B。
B、A)となる。
一方、初期グローバル状態(A、A、A)において、も
う一つの実行可能な遷移−Xについてテストするとグロ
ーバル状態(A、A、B)となる。
以上の処理を可能な限り<シ返すことにより第3図のグ
ローバル状態遷移図を得ることができる。
第3図と第2図を用いることにより、デッドロック、(
実行可能)未定義受信、実行不可能送受信等の仕様誤り
を検出することができる。例えば、第3図で、グローバ
ル状態(B、F、C)は、どのプロセスについても実行
可能遷移がないためデッドロック状態となる。また、第
3図のグローバル状態(A、A、B)では、プロセス3
が既に信号Xを送信したので、第2図のプロセス2の状
態Aで信号Xの受信+Xが定義されていればこれを実行
することが可能なはずである。この遷移は第2図に不足
している定義であシ、未定義受信として検出される。
また、第3図は、システムの実行可能な全ての遷移を実
行した結果であるから、第3図に含まれない第2図の遷
移は過剰であるといえる。この観点からプロセス3の状
態Cにおける信号受信+2が過剰な定義として検出され
る。
以上のように、初期グローバル状態(A、・A、A)か
ら実行可能な遷移を遂−すべて順次に実行することによ
りプロトコルの検証が行われる。
(発明が解決しようとする問題点) 上述した従来技術によっては、全ての実行可能な遷移を
検査の対象とするため、プロトコルが大規模化・複雑化
した場合、状態数や遷移数が膨大となり、処理費すなわ
ち処理時間が増大し、実質的に検証が不可能となってい
た。
(問題点を解決するための手段) 本発明は、上述した従来技術の欠点に鑑みなされたもの
で、処理量の少ないプロトコル検証方式を提供すること
を目的とし、その特徴は、仕様誤りを検出するのに支障
ない範囲で通信システムの動作を一括し、必要最小限の
状態と動作を列挙して検査することにある。
(実施例) 以下に、本発明の詳細な説明するが、その前にプロトコ
ルに関する定義と仮定、および説明のだめの用語につい
て整理しておく。
本実施例では、検証対象とするプロトコルの仕様は、以
下に示すQi 、Oi +Mij+ 5ucc(i+j
==11・・・・NUN:プロセスの個数)の4項の組
み合せで与えられるものとする。
Qi’プロセスiの状態集合。
Ol:プロセスiの初期状態。
Mij:プロセスiからプロセスjに送る信号の集合。
ただしMii=Φ(全集合)(i=1゜・・・、N)と
する。
5ucc:プロセスが各状態で信号を送受信することに
より遷移した結果とる状態を表わす関数で、5ucc 
(s +x)は、状態Sにあるプロセスが信号Xの送信
(x(0)又は受信(x>O)により遷移した後の状態
を表わす。
まだ、検証対象とするプロトコルに対し、以下の仮定を
設ける。
■ 信号の送受により各プロセスが遷移する先の状態は
、その信号と元の状態に応じて一意に定まる。
■ 各プロセスは、容量が十分大きな信号受信用バッフ
ァを相手プロセス別に持つ。
■ プロセス相互間で送受する信号の受信順序は送信順
序と同一である。
プロトコルを用いて通信するシステム全体の状態GをS
とCの2項の組み合せ、即ちG=<S、C>で定義し、
Gをグローバル状態と呼ぶ。ここで、S=(町1℃8 
N ) −〇=((!111 C12+ =010NN
)でありs Slはプロセスiの状態、cijはプロセ
スiからプロセスjに送出されたが末だ受信処理されて
いない信号受信バッファ上の信号の系列である。信号受
信バッファがすべて空のグローバル状態G=<S・、N くε>i、J=1>を安定グローバル状態と呼ぶ。特に
各プロセスの初期状態を含む安定グローバル状態G=ぐ
Qi>i=1.くε)i、j=1)を初期2グローバル
状態と呼びGoで表わす。尚、誤解することがない場合
には、グローバル状態を個々のプロセスの状態のみで表
わすこともある。
クローバル状態Gにおいて、一つの信号を送信或は受信
することにより別のグローバル状態げに遷移するときG
とσの関係をGドσで表わす。更に、初期グローバル状
態−為らこのような遷移を(シ返すことにより到達する
G、即ちG。旨・・・トGであるGは到達可能であると
いう。
あるプロセスの状態Sと信号Xよ構成る順序対くs、X
〉を、x<oであれば信号送信遷移、X>0であれば信
号受信遷移と呼ぶ。与えられたプロトコル仕様に5uc
c(s + x)が定義されているとき、と。、v′″
−>冬中丼溶1玖マは常丼溶喜/尋稽シ睡ジ一定義済送
信くS・x>(x<O)は、Sを要素として含む到達可
能なグローバル状態が存在するとき実行可能である。ま
た定義済受信(s 、 x)(x>0 )は。
Sを要素として含みかつ該当する信号受信バッファの先
頭に信号Xを蓄積している到達可能グローバル状態が存
在するとき実行可能である。
以上の準備に基づいて、本発明が検出するプロトコル仕
様の誤りを示すと以下の通シである。
■ 信号定義の過剰:プロトコル仕様に含まれる信号の
送受信の内実行し得ないもの。
■ 信号定義の不足:プロトコル仕様に含まれないが実
行可能である未定義受信。
■ デッドロック状態:すべてのプロセスについて状態
遷移が実行不可能であるグローバル状態。
次に本発明の詳細な説明する。本発明では、(1)プロ
トコル仕様をプロセスを単位として階層的に複数個のブ
ロックに分割し、(2)各ブロックについてそれがとシ
得る状態、および遷移から構成されるブロック状態遷移
図BSTDを作成して誤りを検査する。各BSTDを作
成するとき、冗長な状態および遷移を削除する。その結
果、検査する遷移数と状態数を削減できるので、処理時
間並びに所要メモリ量が減少し、本発明の目的が達成さ
れる。
本発明によるプロトコル仕様の分割例を第4図と第5図
に示す。第4図は第2図のプロトコル仕様の一分割例を
示す図で、プロセス1〜5よシ構成すれるシステム13
otを、プロセス1と2とから構成されるブロックBl
lと残りのプロセス3から構成されるブロックB12と
に分割した結果を表わす。第4図(atで節点はプロセ
スを、また枝はその両端の節点が表わすプロセス間に信
号の送信又は受信が定義されていることを表わす。また
第4図(b)は同図(atの分割を木で表わした結果で
、頂点、各端点がそれぞれシステム全体、各プロセスに
対応し、残シの節点が各ブロックに対応する。第5図は
別のプロトコル仕様の分割例を示す図であシ、1〜8の
8個のプロセスから構成されるプロトコル仕様を、まず
プロセス1〜5から成るブロックBllとプロセス6〜
8から成るブロックB12とに分割し、さらにBllを
プロセス1と2から成るブロックB21とプロセス3〜
5から成るブロックB22に分割法結果を表わす。この
ように一旦分割を行った後、さらに分割を〈シ返すこと
もできる。このような分割を階層的分割と呼ぶ0なお、
元のプロセス全体も便宜的にブロックと呼ぶことがある
階層的分割における階層を示す用語としてレベルを用い
る。
ブロックのレベルは、そのブロックを得るために元の全
プロセス集合に対して施した分割のくシ返し回数とする
。信号および信号送受信遷移のレベルは、その信号を送
受する二つのプロセス全体むブロックの内、レベル値が
最大であるブロックのレベルとする。なお、レベル値が
大きいものを下位レベル、逆にレベル値が小さいものを
上位レベルと呼ぶ。
ここで以上で述べた階層的分割の仕方を説明する。
一般に本発明による効果はこの分割において信号の送受
信によるブロック間の相互動作が少ないほど大きくなる
。したがって例えばブロック間で送受する様に定義され
た信号の個数が少なくなる様に分割する事が一つの方針
として考えられる。
次に、本発明におけるブロック状態遷移図BSTDの作
成法を述べる。本発明ではすべてのレベルのBSTDを
作成する。各BSTDの作成並びにBSTDを用いた誤
り検査には、例えば先に述べた従来技術を応用する。ま
ずBSTDの作成順序を説明する。
一般に、各レベルのブロックのBSTDは、そのブロッ
クに含まれるすぐ下位のレベルのブロックのBSTDを
プロセス毎の状態遷移図とみなし、それらに従来技術を
適用することにより得られるグローバル状態遷移図をそ
のBSTDとすることにより作成する。
一方、従来技術で各BSTDを作成するには、そのブロ
ックに属すプロセスが持つ信号遷移の実行可能性を判定
する必要がある。そのような信号遷移には、そのレベル
よシ上位のものも下位のものも含まれる。しかし、これ
らの遷移の内、上位レベルに属す受信遷移およびそれ以
降の送受信遷移の実行可能性はそのブロックでは判定で
きず、その受信遷移が属す上位のレベルでの検証処理に
よって初めて判定できるものである。即ち、各レベルの
BSTDの作成は、他のレベルのBSTDの作成と独立
して行うことは不可能で1、全BSTDの作成を並行し
て、進める必要がある。
そこで、本発明では各レベルのBSTDを作成する場合
一旦このような上位レベルの受信を除く、即ち、そのよ
うな受信は実行不可能であると仮定する。そして、その
ブロックの処理が終了した後、順に上位レベルのブロッ
クを処理することとし、その処理で下位レベルで実行不
可能と仮定した受信遷移が実行可能であると判定された
場合には、そのような受信遷移を実行不可能と仮定して
作成した下位レベルのBSTDを更新してその受信遷移
およびそれに引き続き実行できる遷移を付加する。
このような下位レベルBSTDの更新は、上位レベルの
BSTDの作成(更新)において新たな実行可能受信を
検出する限シ〈りかえし行う。以上の処理の結果、各レ
ベルのBSTDは並行して段階的に作成されることとな
る。
先に述べたように、一般にレベルLのブロックのBST
Dはそのブロックに含まれるレベル(L+1)のブロッ
クのBSTDを基にして作成する。しかし、その前に先
に示した論理誤シの検出に支障のない範囲で、レベル(
L+1)のBSTDに含まれるブロック状態を統合し、
それら統合されたブロック状態間のブロック遷移を除去
するという圧縮処理を施す。そして、その後、圧縮され
たこれらBSTDに従来技術を適用することによりレペ
ルLOBSTDを作成する。ただし、下位レベルのブロ
ックが存在しない最下位レベルのブロックについては、
そのブロックに属すプロセスの状態遷移図から直接BS
TDを作成する。尚、圧縮処理で除去されなかったレベ
ルL以下の送受信遷移は、Lよシ上位のレベルのBST
Dを作成する場合にはすべて直ちに実行可能な遷移とし
て扱う。また、以下では、圧縮の対象となるBSTDよ
り上位のレベルに属す遷移をブロック間遷移、またその
レベル以下の遷移をブロック内遷移と呼ぶ。
BSTDの圧縮処理法は次に示す通りである。即ち、ブ
ロック状態遷移図BSTDに含まれる各ブロック内遷移
について以下の処理を実行する。ブロック内遷移をTo
、その遷移光ブロック状態・遷移先ブロック状態をそれ
ぞれSl・S2とする。このとき以下に示す条件■が成
立し、かつ■〜■の条件の肉食なくとも一つが成立する
とき、■と■の処理を施す。
■ 31.S2を遷移元状態とする同一ラベルの遷移が
存在しないこと。
■ Slがブロック内遷移のみによって82から到達可
能であること。
■ S2を遷移先状態とする遷移がTo以外−切定義さ
れていない、または定義されている場合それらがすべて
実行不可能なこと。
■ Slを遷移元状態とする遷移がTo以外−切定義さ
れていない、または定義されている場合それらがすべて
実行不可能なこと。
■ Slから到達可能なブロック状態の内、それを遷移
元状態とするブロック間遷移が定義されているものは、
必らずS2からブロック内遷移のみによって到達可能な
こと。
■ Slから到達可能なブロック状態の内ブロック間遷
移が定義されているものの集合をAとし、S2に到達可
能なブロック状態の内それを遷移先状態とするブロック
間遷移が定義されているものの集合をBとする。このと
き、Aに属す任意のブロック状態が、Bに属す各ブロッ
ク状態からブロック内遷移のみにおいて到達可能である
こと。
■ Toを除去するとともに81と82を一つの新しい
ブロック状態S12で置き替える。
■ Sl・S2を遷移元/遷移先状態とする遷移の遷移
元/遷移先状態をすべて812とする。
第6図は上記の圧縮処理を図示したものである。
第6図テT11.T12はそれぞれSl、s2を遷移先
状態とする遷移、またT21.T22は、それぞれSl
、S2を遷移元状態とする遷移である。同図から分かる
ように、一般にブロック内遷移Toを除去して81と8
2を統合すると、上位のレベルのBSTD作成時に82
に入る遷移T−12を実行した後、Slから出る遷移T
21を実行するという実在しない遷移系列を付加し、そ
の結果、論理誤りを正しく検出できなくなる可能性が生
じる。しかし、条件■または■が成立すればこのような
実行可能な遷移系列が元々実際に存在する。また、条件
■〜■の一つが成立すればそのような余分な遷移系列が
付加されることはない。従って、上記の圧縮処理を施し
て上位レベルのBSTDを作成することにより先に述べ
た論理誤りをすべて検出することが言える。
第7図は、以上で説明した本発明の原理をフローチャー
トで示したものである。
以下、実施例を用いてさらに詳しく本発明を説明する。
第1図は本発明の一実施例を示す回路図である。
第1図で、1は外部から与えられる第2図の如きプロト
コル仕様を蓄積するメモリ、2は第4図の如きプロトコ
ル仕様の階層的分割を蓄積するメモリ、3は処理対象と
するブロックのレベルを表わす変数りの値を蓄積するレ
ジスタ、4は各レベルのブロックのブロック状態遷移図
BSTDおよび検証の結果検出した仕様誤りを蓄積する
メモリ、5はBSTD作成(更新)処理で検出した実行
可能受信の有無をレベルごとに示すフラグを蓄積するレ
ジスタである。
11は、レジスタ3のL値およびメモリ4を初期設定す
る回路ブロック、12はレジスタ3で示されるレベルの
各ブロックのBSTDを更新する回路ブロック、13は
回路ブロック12で実行可能と判定された受信の有無お
よびレジスタ3内のL値を検査する回路ブロック、14
はレジスタ3内のL値を1だけ増やす回路ブロック、1
5はレジスタ3内のL値が0に等しいか否かを検査する
回路プロ゛ツク、16はレジスタ3の示す値のレベルの
各BSTDを圧縮処理した後、レジスタ3の値を1だけ
減じる回路ブロック、17は実行不可能送受信を検出す
る回路ブロックである。
第8図は、第2図のプロトコル仕様をメモリ1に蓄積す
る場合の一蓄積形式を示す。第9,10図はそれぞれ第
4,5図のプロトコル仕様分割例およびその最大レベル
値Lmをメモリ2に蓄積する場合の一蓄積形式を示す。
第11図は後で示す第12図のBSTDをメモリ4に蓄
積する場合の一蓄積形式を示す。
第12図は第2図のプロトコル例を第1図の実施例に適
用した結果得られる各BSTDを示す。以下、第2・4
図の例を用いて第1図の実施例の動作を説明するが、プ
ロトコル仕様およびその分割はそれぞれ第8図、第9図
の形式で既にメモリ1.2に蓄積されているものとする
第1図の回路図では、最初に初期設定ブロック11が動
作する。初期設定ブロック11はメモリ2にアクセスし
、プロトコル仕様の分割における最大レベル値Lmを読
みとシ、その値をレジスタ3に送出する。この結果、変
数りはLmに設定される。第2・4図の例ではLm=1
でありレジスタ3は1となる。次に回路ブロック11は
メモリ4にアクセスし、これを初期設定する。回路ブロ
ック11は以上の動作を終えると回路ブロック12を起
動する。
回路ブロック12の動作は次の通シである。回路ブロッ
ク12は、まずレジスタ5にアクセスして、変数りの値
を読みとる。次に、メモリ2にアクセスし、LmLmで
あればレベルLの各ブロックに含まれるプロセス名を、
またL(LmであればレベルLの各ブロックに含まれる
レベル(L−H)のブロック名を読みとる。次に、レベ
ルLの各ブロックについて以下の手順によジブロック状
態遷移図BSTDを作成する。以下、処理の対象となる
レベルLのブロックをBとする。
(7) メモリ1にアクセスして、ブロックBに含まれ
る全プロセスの状態遷移図を入力する。
(イ)メモリ4にアクセスして、その時点におけるブロ
ックBのBSTDを入力する。さらに、L(Lmのとき
はブロックBに含まれるレベル(L+1)のブロックの
BSTDを入力する。
(つ)(カと(イ)で入力した各種情報を用いて(イ)
で入力したブロックBのBSTDを、従来方式により更
新する。即ち、LmLmのときは、ブロックBに含まれ
る各プロセスの状態遷移図を基にして、ブロックBのグ
ローノ(層状態遷移図を作成する。またしくLmのとき
はブロックBに含まれるレベル(L+1)のBSTDを
プロセス状態遷移図とみなし、それらを基にしてグロー
バル状態遷移図を作成する。ただし、過去に実行可能と
判定されたレベルLの受信があれば、そのような受信お
よびそれ以降実行可能な送受信遷移を含むようグローノ
(層状態遷移図を作成する。このようにして従来方式に
より作成されたグローバル状態遷移図がブロックBのB
STDとなる。ここでグローノ(層状態、グローバル遷
移がそれぞれブロック状態、ブロック遷移に対応する。
このグローバル状態遷移図作成処理において、Lより上
位のレベルの受信、即ち、相手プロセスがブロックBに
含まれないような受信はすべて実行不可能なものとして
扱う。
また、ブロックBに含まれるプロセスが1個のときは、
そのプロセスの状態遷移図の内実性可能と判定される部
分をブロックBのBSTDとする。
に)(つ)の処理の結果生成したBSTDをメモリ4に
出力する。たソしこのBSTDは、(つ)の処理で実行
不可能として扱った上位レベルの受信遷移までを含めた
ものであり、そのような受信遷移には識別のための印を
付けておく。
(3) レジスタ5内の7ベルLのフラグをリセットす
る。
(カ(つ)の処理であらたに実行可能と判定されたレベ
ルLの受信遷移があった場合、しくLmであれば過去に
そのような受信遷移を実行不可能なものとしてレベル(
L+1)のBSTDを作成していたので、レベル(L−
H)のBSTDにおけるそのような受信に実行可能であ
ることを示す特別な印を付ける。そして、レベル(L+
1)のBSTDをメモリ4に出力する。この場合、レベ
ル(L+1)以下のBSTDをさらに更新する必要があ
るので、レジスタ5内のレベルLに相当するフラグをセ
ントする。
なお、(つ)の処理で、従来方式により実行可能な未定
義受信を検出したときは、その情報を併せてメモリ4に
出力する。また、Lm0のとき、実行可能送受信を一切
持たないブロック状態はデッドロック状態である。デッ
ドロック状態を検出したときはその情報を併せてメモリ
4に出力する。
第2・4図の例では、以上の回路ブロック12の動作に
よジブロックBllとブロックB12のBSTDが作成
される。
ブロックBuについては、まず(7)により、プロセス
1と2の状態遷移図をメモリ1から入力する。
メモリ4は初期設定された後なので、(イ)で入力され
る情報はない。次に、(つ)において、プロセス1とプ
ロセス2の状態遷移図を基にして、従来方式によりブロ
ックBnのBSTDが作成される。その結果得られるB
STDは第12図(1)の■の部分である。
この図で、点線の太い矢印==今+又は、上位レベルに
属す受信でアシ、このBSTDを作成する時点では実行
不可能なものとして扱ったものである。
一方、ブロックB12については、それに含まれるプロ
セスはプロセス3のみである。従って、ブロックBI2
のBSTDは、プロセス3の状態遷移図の中で実行可能
と判定することができない受信+2を除いた部分となる
。第13図(2)の■が、このようにして作成されたB
12のBSTD部分である。
メモリ4には第13図の■と■が出力されるが、このと
き先に述べた通りこれらBSTDを作成する際実行不可
能として扱われた上位レベルの受信子X+十Zに特別な
マークが付加されてこれらも併せて出力される。
また、第13図のBSTD部分■部分酸する際、例えば
ブロック状態(B、D)において+aを実行可能な未定
義受信を検出し、そのような未定義受信も併せてメモリ
4に出力する。
さらに、第13図■を作成する際、実行可能な受信とし
て+aおよ−び+bを検出したので、レジスタ5内のレ
ベルL=1に相当するフラグをセットする。
回路ブロック12は以上の動作を終えると回路ブロック
13を起動する。回路ブロック13の動作は次の通りで
ある。回路ブロック13はメモリ2にアクセスしてLm
の値を読みとる。次にレジスタ3にアクセスしてLの値
を読みとる。さらにレジスタ5にアクセスしてレベルL
のフラグを読みとる。そのフラグがセットされている場
合、即ち、回路ブロック12においてレベルLのブロッ
クのBSTDを更新する際レベルLの実行可能受信を検
出した場合は、さらにLの値を検査し、L(Lmであれ
ば回路ブロック14を起動する。また、前記フラグがリ
セットされたまま、あるいはLmLmの場合は回路ブロ
ック15を起動する。
第2,4図の例では、LmLm(=1)であるため、回
路ブロック15が起動される。
回路ブロック14は、レジスタ5にアクセスして変数り
の値を読みとり、Lの値を1だけ増加させてその結果を
レジスタ3に転送する。その後回路ブロック12を起動
する。
回路ブロック15は、まず、レジスタ3にアクセスして
変数りの値を読みとり、Lの値が0であるか否か判定す
る。判定の結果りが0でなければ回路ブロック16を起
動する。またLが0であれば、回路ブロック17を起動
する。
第2,4図の例ではI、=1であるので回路ブロック1
6が起動される。
回路ブロック16は、まずレジスタ6にアクセスして変
数りの値を読みとる。次にメモリ2にアクセスして、レ
ベルLのブロック名を読みとシ、それら各ブロックにつ
いて以下の手順によりそのブロック状態遷移図BSTD
を圧縮処理する。以下処理の対象となるレベルLのブロ
ックをBとする。
(7)メモリ1にアクセスしてブロックBに含まれる全
プロセスの状態遷移図を入力する。
(イ)メモリ4にアクセスしてその時点におけるブロッ
クBのBSTDを入力する。
(つ)(7)と(イ)で入力した情報を用いて(イ)で
入力したブロックBのBSTDを圧縮する。即ち、BS
TDに含まれる各ブロック内遷移について先に述べた圧
縮条件が成立するか否か検査し、圧縮条件が成立すると
きのみ、そのブロック内遷移を削除し、その遷移元状態
と遷移先状態とを一つの状態にまとめる。
GT−)(つ)で得られた圧縮BSTDをメモリ4に出
力する。
(3) Lの値を1だけ減少させ、その結果をレジスタ
3に出力する。
第2,4図の例では、レベル1のブロックとしてブロッ
クB11とB12とがあるが、その内ブロックBitの
BSTD部分■部分口ック内遷移が含まれている。
これらの各々について圧縮のだめの条件が成立するか否
か検査し、成立する遷移を除去すると、例えばブロック
状態(A、A)、(B、A)、(B、B)。
(B 、C) 、 (C、C) 、 (A、C)が一つ
のブロック状態にまとめられる。このような圧縮処理の
結果、ブロックBllのBSTD部分■部分口13図(
1)に示す通り、Sl・SlおよびS3の3個のブロッ
ク状態と+C+−a++Xの3種のブロック遷移のみと
なる。
以上の処理結果はメモリ4に出力される。その後りの値
は0となる。
回路ブロック16は以上の動作を終えると回路ブロック
12を起動する。
回路ブロック12の動作は先に説明した通シである。第
2,4図の例ではLm0となっているので、今度ヒレベ
ル0即ちブロック13otのBSTDが作成される。即
ち、メモリ4内に蓄積されている、第15図のブロック
BllのBSTD部分■部分口ックB12のBSTD部
分■部分例して、ブロックBOIのBSTDが作成され
る。その結果は第13図(3)のBSTD部分■部分酸
通シである。このBSTD部分■部分酸においてレベル
0の受信+Xが実行可能であると判定される。従って、
レベル1のブロックBlrのBSTD部分■部分口に、
実行可能であることを示すマークが付加され、このよう
に更新されたブロックBllのBSTD部分■部分口リ
1に出力される。
また、レジスタ5内のレベル0に相当するフラグをセッ
トする。
回路ブロック12が以上の動作を終えると回路ブロック
13が起動される。回路ブロック13の動作は先に説明
した通シである。第2,4図の例では、レジスタ5内の
レベルLのフラグがセットされており、かつL(Lm 
(L= O、Lm= 1 )であるため、回路ブロック
14が起動される。
回路ブロック14の動作は先に述べた通シであシ、第2
,4図の例では、Lの値が1加算されて1となる。その
後、再び回路ブロック12が起動される。
回路ブロック12の動作は既に説明した通シであシ、第
2,4図の例では、今回はレベル1のブロックBllの
BSTDが更新され、第13図(1)のBSTD部分■
部分酸される。
以下、回路ブロック16と14が交互にくり返し起動さ
れるが、その都度回路ブロック12が起動される。その
結果、第13図のBSTD部分■・■・■が順に作成さ
れ、第16図に示すBSTDが完成する。このときLm
0であり、回路ブロック15により回路ブロック17が
起動される。
回路ブロック17は、メモリ1にアクセスしてプロトコ
ル仕様に含まれる全ての送受信遷移を入力する。また、
メモリ4にアクセスして全ブロックのBSTDを入力す
る。そして、両者の情報を比較し、メモリ1から得た送
受信遷移の内、どのBSTDにも含まれないものを実行
不可能送受信としてメモリ4に出力する。
第2,4図の例では、プロセス3に定義されている遷移
+2が実行不可能な遷移として検出される。
以上の実施例では、各レベルのブロックのブロック状態
遷移図の作成には第2.3図を用いて説明した従来方式
を応用したが、他り方式を応用することも可能である。
例えば”グローバル状態遷移一括処理方式″(特願昭5
9−192491(昭和59年9月17日))”プロセ
ス別状態遷移展開法”(特願昭59−271938(昭
和59年12月25印)を応用することもできる。
(発明の効果) 以上詳細に説明したように、本発明による方式は、与え
られたプロトコル仕様をプロセスを単位として複数のブ
ロックに分割し、ブロック毎に状態遷移図を作成して仕
様誤りを検査する。このため、従来方式に比較すると、
同時に処理するプロセス数が少なく、その結果生成され
る状態数および遷移数は共に減少する。その結果、従来
方式に比較して、本出願による方式は検証処理に必要と
なる処理量が大幅に減少するとともに、グローバル状態
遷移図等を蓄積するために必要となるメモリの容量を大
幅に削減することができるという利点がある。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は検
証対象プロトコル、第5図はグローバル遷移図、第4図
と第5図はプロトコル仕様の分割例を示す図、第6図は
圧縮処理を示す図、第7図は本発明の動作を示すフロー
チャート、第8図は第2図のプロトコル仕様のメモリ1
への蓄積形式の例を示す図、第9図と第10図は各プロ
トコル仕様分割例及びその最大レベル値Lmをメモリ2
゜に蓄積する形式例、第11図はBSTDの蓄積形式例
、第12図は第2図のプロトコル例を第1図の実施例に
適用して得られる各BSTDを示す図である。 特許出願人 国際電信電話株式会社 特許出願代理人 弁理士山本恵 − 第2図 第4図 (a) Rn+ 第3図 −−−−(貧打可能)宋定l!1文信 第8図 第9図 第10図 第11図

Claims (1)

    【特許請求の範囲】
  1. 電気的信号により表現されたプロトコル仕様を入力とし
    て、該プロトコル仕様の有する論理誤りを検出・出力す
    るプロトコル検証方式において、前記プロトコル仕様を
    プロセスを単位として階層的に複数のブロックに分割し
    、各ブロックについて該ブロックに含まれるプロセス毎
    の状態と該プロセス間の信号受信バッファ内の信号系列
    とから構成されるブロック状態を生成し、該ブロック状
    態で実行可能なブロック遷移に従ってブロック状態を遷
    移しつつプロトコル仕様を検証することを特徴とするプ
    ロトコルの分割検証方式。
JP60049364A 1985-03-14 1985-03-14 プロトコルの分割検証回路 Granted JPS61208945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60049364A JPS61208945A (ja) 1985-03-14 1985-03-14 プロトコルの分割検証回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60049364A JPS61208945A (ja) 1985-03-14 1985-03-14 プロトコルの分割検証回路

Publications (2)

Publication Number Publication Date
JPS61208945A true JPS61208945A (ja) 1986-09-17
JPH0458744B2 JPH0458744B2 (ja) 1992-09-18

Family

ID=12828960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60049364A Granted JPS61208945A (ja) 1985-03-14 1985-03-14 プロトコルの分割検証回路

Country Status (1)

Country Link
JP (1) JPS61208945A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2690803A1 (fr) * 1992-04-30 1993-11-05 Toshiba Kk Appareil de simulation de protocole permettant de vérifier dynamiquement un protocole de communication, et procédé associé.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2690803A1 (fr) * 1992-04-30 1993-11-05 Toshiba Kk Appareil de simulation de protocole permettant de vérifier dynamiquement un protocole de communication, et procédé associé.

Also Published As

Publication number Publication date
JPH0458744B2 (ja) 1992-09-18

Similar Documents

Publication Publication Date Title
CN110597925B (zh) 一种基于区块链的跨链数据处理方法及装置
US7512954B2 (en) Method and mechanism for debugging a series of related events within a computer system
RU2430409C2 (ru) Методология измерения покрытия в структурном состоянии взаимного соединения
CN110597814B (zh) 结构化数据的序列化、反序列化方法以及装置
JPS62502151A (ja) 大型コンピユ−タシステムのコンピユ−タ機能をシミユレ−トするための配列
CN110908967A (zh) 用于存储日志的方法、装置、设备和计算机可读介质
JPH0458743B2 (ja)
US5313632A (en) Method for processing data in a distributed processing system
CN114912619B (zh) 一种量子计算任务调度方法、装置及量子计算机操作系统
JPS61208945A (ja) プロトコルの分割検証回路
CN113961566A (zh) 一种交易流水的处理方法及系统
CN1115628C (zh) 一种软件模拟测试方法
CN116795605A (zh) 一种外围器件互联扩展设备异常自动恢复系统以及方法
US20230054774A1 (en) User constrained process mining
CN114817252A (zh) 一种异步接口的多系统通用数据变更方法
CN114490864A (zh) 轨道交通数据同步方法、装置、设备、及介质
JP3491379B2 (ja) 情報処理装置及びトレース情報格納方法
CN117076953B (zh) 异步服务异常处理方法、电子设备及计算机可读存储介质
CN113792095B (zh) 信号系统接口信息转换方法、装置、电子设备和存储介质
JP3196786B2 (ja) プロセスデータ処理システム、プロセス制御装置、および端末
JPH04143841A (ja) 複数ホスト間のデータベース更新方式
CN117033521A (zh) 一种基于dds日志实体交互逻辑图的构建方法及相关装置
JPH0240759A (ja) 外部データ組込み方式
CN121705241A (zh) 数据读写方法、装置、设备、介质和程序产品
CN118069502A (zh) 一种测试系统、方法、装置及存储介质