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
Application number
JP60049364A
Other languages
English (en)
Other versions
JPS61208945A (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)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、通信プロトコルの仕様を入力し、そ
れに含まれる内部矛循を仕様誤りとして検出し出
力するプロトコル検証方式に関する。
(従来の技術) 近年の電気通信の高度化・多様化に伴い、交換
機・通信処理装置等の通信機器におけるソフトウ
エアは大規模化・複雑化する一方である。このた
め通信ソフトウエアの開発・保守における生産性
を向上させることは益々重要となつてきた。
通信ソフトウエアの開発・保守における生産性
を向上させる一つの有力な方策は、通信ソフトウ
エアの要求仕様を開発・保守の早い段階で正確に
かつ過不足なく定義することにより、それ以後の
段階からのフイードバツク的な作業をなくすこと
である。通信ソフトウエアの中で重要な位置を占
めるものとして、通信回線を介して各種の信号を
送受するための信号形式や手順を規定するプロト
コルがある。従つて、プロトコルの仕様に論理的
矛循やあいまいさがあつた場合、これを自動的に
検出するプロトコル検証技術が重要となる。
従来、この種のプロトコル検証方式としては、
与えられた通信プロトコル仕様に従つて、通信シ
ステムがとり得る動作および状態のすべての組合
せを順次列挙し、検査するものであつた。
この従来技術を第2図、第3図を用いて説明す
る。
第2図は、検証しようとするプロトコルの一例
であつて、プロセス1,2および3からなる通信
システムのプロトコル仕様を図示したものであ
る。ここで、通信システムとは、例えばプロセス
1および3が端末装置、プロセス2が交換機であ
るシステムであつてもよいし、また、プロセス
1,2,3がともに一つのCPU内にあつてもよ
い。すなわち、他の機能と信号の送受信(送信ま
たは受信だけであつてもよい)を行う処理単位を
プロセスと呼び、互いに信号の授受を行う複数の
プロセスを総称して通信システムと呼ぶ。第2図
はプロセス数3の場合のプロトコルの一例であ
る。
第2図において、丸印は状態を、矢印は遷移を
表わす。また矢印に付けられたラベルは信号の送
信又は受信を示し、一般に−aは信号aの送信
を、また+aはaの受信を表わす。従つて、プロ
セス1はAを初期状態として、プロセス2に対し
信号aを送信して状態Bに遷移し、プロセス2か
ら信号bを受信したとき状態Cに遷移し、プロセ
ス2に対して信号cを送信して初期状態Aに戻る
ように動作することが分かる。このように、各プ
ロセスの動作は比較的容易に理解できるが、プロ
セス1,2,3の相互間に論理矛循があるか否か
を判定することは容易でない。
前述したプロトコル検証の従来技術とは、一つ
の信号の送信又は受信による実行可能な遷移を初
期状態から遂一すべて順次に実行し、到達可能な
状態を全て含むような通信システム全体の状態遷
移図を作成し、その作成過程で論理矛循、すなわ
ち仕様誤りを検出していた。第2図のプロトコル
例に、この従来技術を適用した結果を第3図に示
す。この第3図はシステム全体の状態遷移を示す
ことからグローバル遷移図と呼ぶ。また、状態
は、丸印の中に各プロセスの状態が表示され、こ
れをグローバル状態と呼ぶ。
まず、初期グローバル状態(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)となる。
一方、初期グローバル状態(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における信号受信+z
が過剰な定義として検出される。
以上のように、初期グローバル状態(A,A,
A)から実行可能な遷移を遂一すべて順次に実行
することによりプロトコルの検証が行われる。
(発明が解決しようとする問題点) 上述した従来技術によつては、全ての実行可能
な遷移を検査の対象とするため、プロトコルが大
規模化・複雑化した場合、状態数や遷移数が膨大
となり、処理量すなわち処理時間が増大し、実質
的に検証が不可能となつていた。
(問題点を解決するための手段) 本発明は、上述した従来技術の欠点に鑑みなさ
れたもので、処理量の少ないプロトコル検証方式
を提供することを目的とし、その特徴は、仕様誤
りを検出するのに支障ない範囲で通信システムの
動作を一括し、必要最小限の状態と動作を列挙し
て検査することにある。
(実施例) 以下に、本発明の原理を説明するが、その前に
プロトコルに関する定義と仮定、および説明のた
めの用語について整理しておく。
本実施例では、検証対象とするプロトコルの仕
様は、以下に示すQi,OiMij,succ(i,j=1,
…,N;N:プロセスの個数)の4項の組み合せ
で与えられるものとする。
Qi:プロセスiの状態集合。
Oi:プロセスiの初期状態。
Mij:プロセスiからプロセスjに送る信号の
集合。ただしMij=φ(空集合)
(i=j,…,N)とする。
succ:プロセスが各状態で信号を送受信するこ
とにより遷移した結果とる状態を表わ
す関数で、succ(s,x)は、状態s
にあるプロセスが信号xの送信(x<
0)又は受信(x>0)により遷移し
た後の状態を表わす。
また、検証対象とするプロトコルに対し、以下
の仮定を設ける。
信号の送受により各プロセスが遷移する先の
状態は、その信号と元の状態に応じて一意に定
まる。
各プロセスは、容量が十分大きな信号受信用
バツフアを相手プロセス別に持つ。
プロセス相互間で送受する信号の受信順序は
送信順序と同一である。
プロトコルを用いて通信するシステム全体の状
態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,
N =1>を初期グローバル状態と呼びG0で表わ
す。尚、誤解することがない場合には、グローバ
ル状態を個々のプロセスの状態のみで表わすこと
もある。
グローバル状態Gにおいて、一つの信号を送信
或は受信することにより別のグローバル状態
G′に遷移するときGとG′の関係をG⊥G′で表わ
す。更に、初期グローバル状態G0からこのよう
な遷移をくり返すことにより到達するG、即ち
G0⊥…⊥GであるGは到達可能であるという。
あるプロセスの状態sと信号xより成る順序対
<s,x>を、x<0であれば信号送信遷移、x
>0であれば信号受信遷移と呼ぶ。与えられたプ
ロトコル仕様にsucc<s,x>が定義されている
とき、<s,x>を定義済遷移又は定義済送/受
信と呼ぶ。
定義済送信<s,x>(x<0)は、sを要素
として含む到達可能なグローバル状態が存在する
とき実行可能である。また定義済受信<s,x>
(x>0)は、sを要素として含みかつ該当する
信号受信バツフアの先頭に信号xを蓄積している
到達可能グローバル状態が存在するとき実行可能
である。
以上の準備に基づいて、本発明が検出するプロ
トコル仕様の誤りを示すと以下の通りである。
信号定義の過剰:プロトコル仕様に含まれる
信号の送受信の内実行し得ないもの。
信号定義の不足:プロトコル仕様に含まれな
いが実行可能である未定義受信。
デツドロツク状態:すべてのプロセスについ
て状態遷移が実行不可能であるグローバル状
態。
次に本発明の原理を説明する。本発明では、(1)
プロトコル仕様をプロセスを単位として階層的に
複数個のブロツクに分割し、(2)各ブロツクについ
てそれがとり得る状態、および遷移から構成され
るブロツク状態遷移図BSTDを作成して誤りを検
査する。各BSTDを作成するとき、冗長な状態お
よび遷移を削除する。その結果、検査する遷移数
と状態数を削減できるので、処理時間並びに所要
メモリ量が減少し、本発明の目的が達成される。
本発明によるプロトコル仕様の分割例を第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に分割した結果を表わす。このように一旦分
割を行つた後、さらに分割をくり返すこともでき
る。このような分割を階層的分割と呼ぶ。なお、
元のプロセス全体も便宜的にブロツクと呼ぶこと
がある。
階層的分割における階層を示す用語としてレベ
ルを用いる。
ブロツクのレベルは、そのブロツクを得るため
に元の全プロセス集合に対して施した分割のくり
返し回数とする。信号および信号送受信遷移のレ
ベルは、その信号を送受する二つのプロセスを含
むブロツクの内、レベル値が最大であるブロツク
のレベルとする。なお、レベル値が大きいものを
下位レベル、逆にレベル値が小さいものを上位レ
ベルと呼ぶ。
ここで以上で述べた階層的分割の仕方を説明す
る。
一般に本発明による効果はこの分割において信
号の送受信によるブロツク間の相互動作が少ない
ほど大きくなる。したがつて例えばブロツク間で
送受する様に定義された信号の個数が少なくなる
様に分割する事が一つの方針として考えられる。
さらに、ブロツク分割の別の方針としては、ブロ
ツク間で送受する信号を持つ他ブロツクのプロセ
ス数が少なくなるように分割するという考え方も
採れる。
次に、本発明におけるブロツク状態遷移図
BSTDの作成法を述べる。本発明ではすべてのレ
ベルのBSTDを作成する。各BSTDの作成並びに
BSTDを用いた誤り検査には、例えば先に述べた
従来技術を応用する。まずBSTDの作成順序を説
明する。
一般に、各レベルのブロツクのBSTDは、その
ブロツクに含まれるすぐ下位のレベルのブロツク
のBSTDをプロセス毎の状態遷移図とみなし、つ
まり下位レベルのブロツク状態をプロセス状態と
みなし、それらに従来技術を適用することにより
得られるグローバル状態遷移図をそのBSTDとす
ることにより作成する。
一方、従来技術で各BSTDを作成するには、そ
のブロツクに属すプロセスが持つ信号遷移の実行
可能性を判定する必要がある。そのような信号遷
移には、そのレベルより上位のものも下位のもの
も含まれる。しかし、これらの遷移の内、上位レ
ベルに属す受信遷移およびそれ以降の送受信遷移
の実行可能性はそのブロツクでは判定できず、そ
の受信遷移が属す上位のレベルでの検証処理によ
つて初めて判定できるものである。即ち、各レベ
ルのBSTDの作成は、他のレベルのBSTDの作成
と独立して行うことは不可能であり、全BSTDの
作成を並行して進める必要がある。ここで、「上
位レベルに属す受信」や「上位レベルの受信」
は、いずれも同じ意味であり、他ブロツクに含ま
れるプロセスから送信される信号を当該ブロツク
に含まれるプロセスが受信することを表す。
そこで、本発明では各レベルのBSTDを作成す
る場合一旦このような上位レベルの受信を除く、
即ち、そのような受信は実行不可能であると仮定
する。そして、そのブロツクの処理が終了した
後、順に上位レベルのブロツクを処理することと
し、その処理で下位レベルで実行不可能と仮定し
た受信遷移が実行可能であると判定された場合に
は、そのような受信遷移を実行不可能と仮定して
作成した下位レベルのBSTDを更新してその受信
遷移およびそれに引き続き実行できる遷移を付加
する。
このような下位レベルBSTDの更新は、上位レ
ベルのBSTDの作成(更新)において新たな実行
可能受信を検出する限りくりかえし行う。以上の
処理の結果、各レベルのBSTDは並行して段階的
に作成されることとなる。
先に述べたように、一般にレベルLのブロツク
のBSTDはそのブロツクに含まれるレベル(L+
1)のブロツクのBSTDを基にして作成する。し
かし、その前に先に示した論理誤りの検出に支障
のない範囲で、レベル(L+1)のBSTDに含ま
れるブロツク状態を統合し、それら結合されたブ
ロツク状態間のブロツク遷移を除去するという圧
縮処理を施す。そして、その後、圧縮されたこれ
らBSTDに従来技術を適用することによりレベル
LのBSTDを作成する。ただし、下位レベルのブ
ロツクが存在しない最下位レベルのブロツクにつ
いては、そのブロツクに属すプロセスの状態遷移
図から直接BSTDを作成する。尚、圧縮処理で除
去されなかつたレベルL以下の送受信遷移は、L
より上位のレベルのBSTDを作成する場合にはす
べて直ちに実行可能な遷移として扱う。また、以
下では、圧縮の対象となるBSTDより上位のレベ
ルに属す遷移をブロツク間遷移、またそのレベル
以下の遷移をブロツク内遷移と呼ぶ。
BSTDの圧縮処理法は次に示す通りである。即
ち、ブロツク状態遷移図BSTDに含まれる各ブロ
ツク内遷移について以下の処理を実行する。ブロ
ツク内遷移をT0、その遷移元ブロツク状態・遷
移先ブロツク状態をそれぞれS1・S2とする。こ
のとき以下に示す条件が成立し、かつ〜の
条件の内少なくとも一つが成立するとき、と
の処理を施す。
S1,S2を遷移元状態とする同一ラベルの遷
移が存在しないこと。
S1がブロツク内遷移のみによつてS2から到
達可能であること。
S2を遷移先状態とする遷移がT0以外一切定
義されていない、または定義されている場合そ
れらがすべて実行不可能なこと。
S1を遷移元状態とする遷移がT0以外一切定
義されていない、または定義されている場合そ
れらがすべて実行不可能なこと。
S1から到達可能なブロツク状態の内、それ
を遷移元状態とするブロツク間遷移が定義され
ているものは、必らずS2からブロツク内遷移
のみによつて到達可能なこと。
S1から到達可能なブロツク状態の内ブロツ
ク間遷移が定義されているものの集合をAと
し、S2に到達可能なブロツク状態の内それを
遷移先状態とするブロツク間遷移が定義されて
いるものの集合をBとする。このとき、Aに属
す任意のブロツク状態が、Bに属す各ブロツク
状態からブロツク内遷移のみにおいて到達可能
であること。
T0を除去するとともにS1とS2を一つの新し
いブロツク状態S12で置き替える。
S1・S2を遷移元/遷移先状態とする遷移の
遷移元/遷移先状態をすべてS12とする。
第6図は上記の圧縮処理を図示したものであ
る。第6図でT11,T12はそれぞれS1,S
2を遷移先状態とする遷移、またT21,T22
は、それぞれS1,S2を遷移元状態とする遷移
である。同図から分かるように、一般にブロツク
内遷移T0を除去してS1とS2を統合すると、
上位のレベルのBSTD作成時にS2に入る遷移T
12を実行した後、S1から出る遷移T21を実
行するという実在しない遷移系列を付加し、その
結果、論理誤りを正しく検出できなくなる可能性
が生じる。しかし、条件またはが成立すれば
このような実行可能な遷移系列が元々実際に存在
する。また、条件〜の一つが成立すればその
ような余分な遷移系列が付加されることはない。
従つて、上記の圧縮処理を施して上位レベルの
BSTDを作成することにより先に述べた論理誤り
をすべて検出することが言える。
第7図は、以上で説明した本発明の原理をフロ
ーチヤートで示したものである。
以下、実施例を用いてさらに詳しく本発明を説
明する。
第1図は本発明の一実施例を示す回路図であ
る。第1図で、1は外部から与えられる第2図の
如きプロトコル仕様を蓄積するメモリ、2は第4
図の如きプロトコル仕様の階層的分割を蓄積する
メモリ、3は処理対象とするブロツクのレベルを
表わす変数Lの値を蓄積するレジスタ、4は各レ
ベルのブロツクのブロツク状態遷移図BSTDおよ
び検証の結果検出した仕様誤りを蓄積するメモ
リ、5はBSTD作成(更新)処理で検出した実行
可能受信の有無をレベルごとに示すフラグを蓄積
するレジスタである。
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は実行不可能送
受信を検出する回路ブロツクである。
第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はメモリ2に
アクセスし、プロトコル仕様の分割における最大
レベル値Lmを読みとり、その値をレジスタ3に
送出する。この結果、変数LはLmに設定され
る。第2,4図の例ではLm=1でありレジスタ
3は1となる。次に回路ブロツク11はメモリ4
にアクセスし、これを初期設定する。回路ブロツ
ク11は以上の動作を終えると回路ブロツク12
を起動する。
回路ブロツク12の動作は次の通りである。回
路ブロツク12は、まずレジスタ3にアクセスし
て、変数Lの値を読みとる。次に、メモリ2にア
クセスし、L=LmであればレベルLの各ブロツ
クに含まれるプロセス名を、またL<Lmであれ
ばレベルLの各ブロツクに含まれるレベル(L+
1)のブロツク名を読みとる。次に、レベルLの
各ブロツクについて以下の手順によりブロツク状
態遷移図BSTDを作成する。以下、処理の対象と
なるレベルLのブロツクをBとする。
(ア) メモリ1にアクセスして、ブロツクBに含
まれる全プロセスの状態遷移図を入力する。
(イ) メモリ4にアクセスして、その時点におけ
るブロツクBのBSTDを入力する。さらに、
L<LmのときはブロツクBに含まれるレベ
ル(L+1)のブロツクのBSTDを入力す
る。
(ウ) (ア)と(イ)で入力した各種情報を用いて(イ)で

力したブロツクBのBSTDを、従来方式によ
り更新する。即ち、L=Lmのときは、ブロ
ツクBに含まれる各プロセスの状態遷移図を
基にして、ブロツクBのグローバル状態遷移
図を作成する。またL<Lmのときはブロツ
クBに含まれるレベル(L+1)のBSTDを
プロセス状態遷移図とみなし、つまり、これ
ら各BSTDのブロツク状態をプロセス状態と
みなし、ブロツク状態間遷移をプロセス間遷
移とみなして、従来の技術を適用することに
よりグローバル状態遷移図を作成する。ただ
し、過去に実行可能と判定されたレベルLの
受信があれば、そのような受信およびそれ以
降実行可能な送受信遷移を含むようグローバ
ル状態遷移図を作成する。このようにして従
来方式により作成されたグローバル状態遷移
図がブロツクBのBSTDとなる。ここでグロ
ーバル状態、グローバル遷移がそれぞれブロ
ツク状態、ブロツク遷移に対応する。
このグローバル状態遷移図作成処理におい
て、Lより上位のレベルの受信、即ち、相手
プロセスがブロツクBに含まれないような受
信はすべて実行不可能なものとして扱う。
また、ブロツクBに含まれるプロセスが1
個のときは、そのプロセスの状態遷移図の内
実行可能と判定される部分をブロツクBの
BSTDとする。
(エ) (ウ)の処理の結果生成したBSTDをメモリ4
に出力する。たゞしこのBSTDは、(ウ)の処理
で実行不可能として扱つた上位レベルの受信
遷移までを含めたものであり、そのような受
信遷移には識別のための印を付けておく。
(オ) レジスタ5内のレベルLのフラグをリセツ
トする。
(カ) (ウ)の処理であらたに実行可能と判定された
レベルLの受信遷移があつた場合、L<Lm
であれば過去にそのような受信遷移を実行不
可能なものとしてレベル(L+1)のBSTD
を作成していたので、レベル(L+1)の
BSTDにおけるそのような受信に実行可能で
あることを示す特別な印を付ける。そして、
レベル(L+1)のBSTDをメモリ4に出力
する。この場合、レベル(L+1)以下の
BSTDをさらに更新する必要があるので、レ
ジスタ5内のレベルLに相当するフラグをセ
ツトする。
なお、(ウ)の処理で、従来方式により実行可能な
未定義受信を検出したときは、その情報を併せて
メモリ4に出力する。また、L=0のとき、実行
可能送受信を一切持たないブロツク状態はデツド
ロツク状態である。デツドロツク状態を検出した
ときはその情報を併せてメモリ4に出力する。
第2,4図の例では、以上の回路ブロツク12
の動作によりブロツクB11とブロツクB12のBSTD
が作成される。
ブロツクB11については、まず(ア)により、プロ
セス1と2の状態遷移図をメモリ1から入力す
る。メモリ4は初期設定された後なので、(イ)で入
力される情報はない。次に、(ウ)において、プロセ
ス1とプロセス2の状態遷移図を基にして、従来
方式によりブロツクB11のBSTDが作成される。
その結果得られるBSTDは第12図(1)のの部分
である。この図で、点線の太い矢印==+x
は、上位レベルに属す受信であり、このBSTDを
作成する時点では実行不可能なものとして扱つた
ものである。
一方、ブロツクB12については、それに含まれ
るプロセスはプロセス3のみである。従つて、ブ
ロツクB12のBSTDは、プロセス3の状態遷移図
の中で実行可能と判定することができない受信+
zを除いた部分となる。第13図(2)のが、この
ようにして作成されたB12の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を起動する。ま
た、前記フラグがリセツトされたまま、あるいは
L=Lmの場合は回路ブロツク15を起動する。
第2,4図の例では、L=Lm(=1)である
ため、回路ブロツク15が起動される。
回路ブロツク14は、レジスタ3にアクセスし
て変数Lの値を読みとり、Lの値を1だけ増加さ
せてその結果をレジスタ3に転送する。その後回
路ブロツク12を起動する。
回路ブロツク15は、まず、レジスタ3にアク
セスして変数Lの値を読みとり、Lの値が0であ
るか否か判定する。判定の結果Lが0でなければ
回路ブロツク16を起動する。またLが0であれ
ば、回路ブロツク17を起動する。
第2,4図の例ではL=1であるので回路ブロ
ツク16が起動される。
回路ブロツク16は、まずレジスタ3にアクセ
スして変数Lの値を読みとる。次にメモリ2にア
クセスして、レベルLのブロツク名を読みとり、
それら各ブロツクについて以下の手順によりその
ブロツク状態遷移図BSTDを圧縮処理する。以下
処理の対象となるレベルLのブロツクをBとす
る。
(ア) メモリ1にアクセスしてブロツクBに含ま
れる全プロセスの状態遷移図を入力する。
(イ) メモリ4にアクセスしてその時点における
ブロツクBのBSTDを入力する。
(ウ) (ア)と(イ)で入力した情報を用いて(イ)で入力

たブロツクBのBSTDを圧縮する。即ち、
BSTDに含まれる各ブロツク内遷移について
先に述べた圧縮条件が成立するか否か検査
し、圧縮条件が成立するときのみ、そのブロ
ツク内遷移を削除し、その遷移元状態と遷移
先状態とを一つの状態にまとめる。
(エ) (ウ)で得られた圧縮BSTDをメモリ4に出力
する。
(オ) Lの値を1だけ減少させ、その結果をレジ
スタ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種のブ
ロツク遷移のみとなる。
以上の処理結果はメモリ4に出力される。その
後Lの値は0となる。
回路ブロツク16は以上の動作を終えると回路
ブロツク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に
相当するフラグをセツトする。
回路ブロツク12が以上の動作を終えると回路
ブロツク13が起動される。回路ブロツク13の
動作は先に説明した通りである。第2,4図の例
では、レジスタ5内のレベルLのフラグがセツト
されており、かつL<Lm(L=0,Lm=1)で
あるため、回路ブロツク14が起動される。
回路ブロツク14の動作は先に述べた通りであ
り、第2,4図の例では、Lの値が1加算されて
1となる。その後、再び回路ブロツク12が起動
される。
回路ブロツク12の動作は既に説明した通りで
あり、第2,4図の例では、今回はレベル1のブ
ロツクB11のBSTDが更新され、第13図(1)の
BSTD部分が追加される。
以下、回路ブロツク16と14が交互にくり返
し起動されるが、その都度回路ブロツク12が起
動される。その結果、第13図のBSTD部分,
,が順に作成され、第13図に示すBSTDが
完成する。このときL=0であり、回路ブロツク
15により回路ブロツク17が起動される。
回路ブロツク17は、メモリ1にアクセスして
プロトコル仕様に含まれる全ての送受信遷移を入
力する。また、メモリ4にアクセスして全ブロツ
クのBSTDを入力する。そして、両者の情報を比
較し、メモリ1から得た送受信遷移の内、どの
BSTDにも含まれないものを実行不可能送受信と
してメモリ4に出力する。
第2,4図の例では、プロセス3に定義されて
いる遷移+zが実行不可能な遷移として検出され
る。
以上の実施例では、各レベルのブロツクのブロ
ツク状態遷移図の作成には第2,3図を用いて説
明した従来方式を応用したが、他の方式を応用す
ることも可能である。例えば“グローバル状態遷
移一括処理方式”(特願昭59−192491(昭和59年9
月17日))“プロセス別状態遷移展開法”(特願昭
59−271938(昭和59年12月25日))を応用すること
もできる。
(発明の効果) 以上詳細に説明したように、本発明による方式
は、与えられたプロトコル仕様をプロセスを単位
として複数のブロツクに分割し、ブロツク毎に状
態遷移図を作成して仕様誤りを検査する。このた
め、従来方式に比較すると、同時に処理するプロ
セス数が少なく、その結果生成される状態数およ
び遷移数は共に減少する。その結果、従来方式に
比較して、本出願による方式は検証処理に必要と
なる処理量が大幅に減少するとともに、グローバ
ル状態遷移図等を蓄積するために必要となるメモ
リの容量を大幅に削減することができるという利
点がある。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロツク図、第
2図は検証対象プロトコル、第3図はグローバル
遷移図、第4図と第5図はプロトコル仕様の分割
例を示す図、第6図は圧縮処理を示す図、第7図
は本発明の動作を示すフローチヤート、第8図は
第2図のプロトコル仕様のメモリ1への蓄積形式
の例を示す図、第9図と第10図は各プロトコル
仕様分割例及びその最大レベル値Lmをメモリ2
に蓄積する形式例、第11図はBSTDの蓄積形式
例、第12図は第2図のプロトコル例を第1図の
実施例に適用して得られる各BSTDを示す図であ
る。

Claims (1)

  1. 【特許請求の範囲】 1 通信システムにおける送受信の信号形式や手
    順を規定するプロトコル仕様を入力として、該プ
    ロトコル仕様の有する論理誤りを検出・出力する
    プロトコル検証回路において、 外部から与えられるプロトコル仕様を蓄積する
    第1のメモリと、 プロトコル仕様をプロセスを単位として階層的
    に複数のブロツクに分割して蓄積する第2のメモ
    リと、 処理対象とするブロツクのレベルを表す変数値
    を蓄積する第3のメモリと、 各レベルのブロツクのブロツク状態遷移図及び
    検証の結果検出した仕様誤りを蓄積する第4のメ
    モリと、 ブロツク状態遷移図の作成及び更新処理で検出
    した実行可能な受信の有無をレベルごとに示すフ
    ラグを蓄積する第5のメモリと、 前記変数値と第4のメモリを初期設定する初期
    設定手段と、 ブロツク状態遷移図を更新するブロツク状態遷
    移図更新手段と、 実行可能と判断された受信の有無及び変数値を
    検査する第1の検査手段と、 前記変数値を1増やす加算手段と、 前記変数値が0に等しいか否かを検査する第2
    の検査手段と、 前記変数値のレベルの各ブロツク状態遷移図を
    圧縮処理した後前記変数値を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 JPS61208945A (ja) 1986-09-17
JPH0458744B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05307511A (ja) * 1992-04-30 1993-11-19 Toshiba Corp プロトコル・シミュレーション装置

Also Published As

Publication number Publication date
JPS61208945A (ja) 1986-09-17

Similar Documents

Publication Publication Date Title
JP3875999B2 (ja) 総称データ交換環境において動的データ参照を提供するシステムと方法
US7080087B2 (en) Automatic aggregation method, automatic aggregation apparatus, and recording medium having automatic aggregation program
CN111736762B (zh) 数据存储网络的同步更新方法、装置、设备及存储介质
US7711891B1 (en) Method, system, and computer-readable medium for updating memory devices in a computer system
JPH0458743B2 (ja)
US7725591B2 (en) Detecting a timeout of elements in an element processing system
JPH0458744B2 (ja)
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 (ja) 計算機システム
CN117076953B (zh) 异步服务异常处理方法、电子设备及计算机可读存储介质
JP2003122410A (ja) コントローラの演算実行方法
KR900001694B1 (ko) 데이터 전송 시스템
JP2003152812A (ja) ゲートウェイ装置とゲートウェイ設定ツール
JPH08286951A (ja) 情報処理装置及びトレース情報格納方法
JPH04143841A (ja) 複数ホスト間のデータベース更新方式
JPH0281158A (ja) 計算機間プログラムオンライン再配置方式
JPH0313779B2 (ja)
CN109656539B (zh) 一种基于面向对象编程的软件自适应改造方法
JPS63261430A (ja) 情報処理方式および装置
JP3179077B2 (ja) 用語の一元管理方式
JP2633874B2 (ja) 増設処理方式
JP2629359B2 (ja) 論理シミュレータ
JP2000172307A (ja) プロセスデータ収集装置の更新方法
CN119862139A (zh) 用于传输数据的方法、设备和计算机程序产品