JPS63286947A - プロトコルの自動検証方式 - Google Patents

プロトコルの自動検証方式

Info

Publication number
JPS63286947A
JPS63286947A JP62121250A JP12125087A JPS63286947A JP S63286947 A JPS63286947 A JP S63286947A JP 62121250 A JP62121250 A JP 62121250A JP 12125087 A JP12125087 A JP 12125087A JP S63286947 A JPS63286947 A JP S63286947A
Authority
JP
Japan
Prior art keywords
state
protocol
node
transition
petri net
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.)
Pending
Application number
JP62121250A
Other languages
English (en)
Inventor
Tomohiro Murata
智洋 村田
Norihisa Komoda
薦田 憲久
Makoto Saito
誠 斉藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62121250A priority Critical patent/JPS63286947A/ja
Publication of JPS63286947A publication Critical patent/JPS63286947A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は通信プロトコルの設定支援方式に係り。
特に、計算機によりプロトコル設計支援に好適なプロト
コル検証方式に関する。
〔従来の技術〕
本発明は、通信プロトコルの検証に、並行プロセスのモ
デルとして知られているペトリネットの解析技法を応用
したものであるが、ペトリネットの通信プロトコル検証
への応用例としては電子通信学会誌第66巻、第1号(
1983)の解説「ペトリネット」において論じられて
いる。
〔発明が解決しようとする問題点〕
上記従来技術は、ペトリネット解析技術の通信プロトコ
ル検証への理論的適用可能性を示しているが、通信プロ
トコルの設計者がプロトコルを表現するペトリネットモ
デルを作成する方法、あるいは、ペトリネットを用いた
解析結果をもとに、対話的に検証を進めるための方法に
ついては示されていない。本発明の目的はこれらの実用
化方式を提供する事にある。
〔問題点を解決するための手段〕
上記目的は、プロトコル設計者が一般に設計に用いるプ
ロトコルの状態遷移記述の内容を解析モデルであるペト
リネットに自動的に統合、変換する方法、及び、一般に
大量なデータとなるペトリネットの解析結果データの中
から、検証に必要な解析データを効率良く、対話的に検
索するための方法を提供する事により実現される。
〔作用〕
プロトコルの設計者が、プロトコル記述に一般的に用い
る状7!!遷移表現(個々の通信プログラム別に記述さ
れる。)をもとに、各通信プログラム間で交換される信
号名にもとづいて各通信プログラムの状態遷移の関係を
統合して表現する解析モデル(ペトリネット)を自動的
に生成する。これにより、プロトコル設計者が直接ペト
リネットモデルを作成する事なくペトリネットの解析技
術を用いたプロトコル検証が行なえる。
また、生成されたペトリネットモデルを解析して得られ
る通信プログラムの内部状態遷移の到達可能性を表わす
解析情報を、内部状態のコード化とハツシングを用いた
データ構造及び、族ポインタを用いた水橋造データ枯造
を組合せたデータ構造で表現記憶させることにより、設
計者が対話型で、効率的に解析情報の検索を行なえる。
〔実施例〕
以下、本発明の一実施例を説明する。第3図は、ネット
ワークを構成する要素の一部を示す。端末制御装置(T
C)301はネットワークプロセッサ(NP)304を
介してネットワーク305に接続している。TC301
には、ワークステーション端末(WS)300が接続さ
れている。TC301からWS 300に論理的な通信
路(コネクション)を張るための手順としてTC301
とws a o 。
の間にプロトコルを定める必要がある。このようなプロ
トコルを実装するため、TC301とWS300それぞ
れに定められたプロトコルを実現する通信プログラムを
組込む。これらの通信プログラムは、一般に状態遷移機
械として作成され、第4図(a)、(b)に示すような
状態遷移表の形式でその動作仕様が決められる。ここで
同図(a)の表400はWS 300側の通信プログラ
ム、同図(b)の表410はTC301側の通信プログ
ラムの動作仕様を表わしている。
表400において項目404に示す記号SL。
83等はWS300からTC301が受信する信号の種
別を示す。(φは無信号状態を示す。)また表410に
おいて項目408に示す記号S2゜84等は、TC30
1からWS 300が受信する信号の種別を示す。また
表400における項目401 (So−83)はTC3
01(7)通イごプログラムが取り得る内部状態、表4
10’、407における項目4.07(84〜S7)は
WS300が取り得る内部状態をそれぞれ示す。表40
0における斜線で示された枠406は各内部状態の遷移
定義枠であり、次の状態406と通信プログラムからの
出力402を定義する。例えば遷移定義枠406の場合
、TC301の通信プログラムの状態がSlのときWS
 300から信号S3が来ると、TC301の通信プロ
グラムはWS300に対し信号S4を出力し、内部状態
を82に遷移させる事を表わす。(表410も同様) さて、表400,410によって定義されたTC310
及びWS300間のプロトコルで、実際に意図したよう
な信号系列を経て目的状態、即ちTC301とWS30
0の間にコネクションが張られた状態を誤りなく実現で
きるかどうかをプロトコルを実際にインプリメントする
前に検証しておく事は有効である。以下本実施例におい
て、本発明によるプロトコル検証方式について述べる。
まず、表400.41.0に示した状態遷移表を入力と
して、w s a o oとTC301の通信プロダラ
ムの状態をすべて結合した解析モデル(ペトリネットモ
デル)を作る。ここでペトリネットモデルとは第8図に
示したようなモデルであり、プレース(丸印)、トラン
ジション(綿棒)、アーク(矢印)から成る。トランジ
ションの入力となっているプレースをトランジションの
入力ブレース(1−ランジション806の場合はプレー
ス805) 。
出力となっているプレースを出力ブレース(トランジシ
ョン806の場合はプレース807,808)と呼ぶ。
またプレース805、及び800中の黒丸(809,8
10) はト−’)’Jと呼び、TC301及びWS3
00の各通信プログラムがそれぞれ現在どの状態にある
かを示す。このトークンは、「トランジションのすべて
の入力プレートにトークンが存在し、すべての出力プレ
ートにトークンが存在しない時、すべての出力プレート
にトークンが発生し、すべての入力プレートのトークン
が消滅する」という規則に従ってネットモデル内を動く
。これをトランジションの発火と言う。これにより、通
信プログラム内部状態の遷移が表現される。
さて、第8図のペトリネットモデルは具体的には第6図
に示すテーブル601..600によって計算機内部に
記憶させる。第6図の各テーブルは表400、及び表4
10をもとに自動的に作成する。即ち、まず、テーブル
601については表400.410で定義されたすべて
の状態S1〜S7をもとに、プレース中のトークンの有
無を表すためのテーブル601を作成し、初期状態とし
てトークンが置かれているプレースにフラグ゛′1″を
セラl−する。次に、トランジションの接続関係テーブ
ル600の作成は、第5図のフローチャートに従って、
表400及び410に定義された遷移定義粋のすべてに
ついて、現在状frfA 、久方信号。
次の遷移状態の組合せを定義されたすべての状態につい
て読出し、各組合せに遷移番号t1を付けてテーブル6
00のように登録する(11は重複しない番号とする。
)。
さて1次に、作成したテーブル600,601を用いて
1表400、及び401で状態遷移表として定義された
プロトコルで、どのような信号系列が発生するかを解析
する方法を示す。
まず、テーブル600、及び601に表わされたペトリ
ネットモデルのデータを用いて、第9図に示すような、
可到達木と呼ぶ情報を生成する。
第9図において、900はノード情報であり、WS30
0及び’I”C301がとりうる状態の組合せの1つ(
システム状態と呼ぶ)を表わし、各ノードを識別するた
めのノードNo、を持つ。各ノードを結ぶ矢印904は
、システム状態が表400゜410に定義されたプロト
コルにおいてどの様に遷移するかを示しており、矢印に
付けられた出力信号902、及び発火遷移No、901
は、その矢印に対応するシステム状態の遷移で、テーブ
ル600のどの遷移N o、が発火し、どんな信号がW
S300とTC301の間で送受信されたかを表わす。
第9図の各ノードに対応する情報を表わす具体的データ
構造は第】0図であり、同図のデータの集合として第9
図の可達木が計算機に記憶される。
ノード情報1000には、ノード識別No、1001゜
そのノードが生成された時の発火遷移No、と出力信号
(1,002,1003)及びそのノードが表わすシス
テム状態(トークンが存在するプレース名のリスト)1
004.さらにそのノードが生成される前のシステム状
態を示す親ノードNo、+006が記憶される。
次に、以上述べた第9図に対応するノード情報の作成方
法を第7図のフローチャートをもとに説明する。まず、
テーブル600及び601 (第8図のペトリネットモ
デルに相当するデータ)を検索し、先述したトークンの
移動規則により発火可能なトランジション(テーブル6
00の遷移N00)をすべて探す。(701〜7o2)
次にそれらのトランジションのうちの1つを発火させて
得られるシステム状態を発火可能なトランジションすべ
てについて記憶する処理(705〜706)を新たなノ
ードが生成できなくなるまで繰返す。これにより、到達
可能なシステム状態を洗い出す。
さて、プロトコルの検証は1作成した可到達木中に、望
ましくない状態が存在するかどうかを検索する事により
行う。この処理を効率化する目的のために可到達木の生
成において、新たに得られたシステム状態をノード10
00のフォーマットで記憶させる際に、システム状態を
第11図に示すように、全状態をビット列で表現し、第
2図に示すフローチャートに従って、成立したシステム
状態に対応するプレースのビットに1、その他のビット
にOをセットしてコード化しくi 01)その状態コー
ドを適当なハツシュ関数201で変換して第1図に示す
ように状態コードとそれに対応する可達木のノードの格
納場所の対応をハツシュテーブル200に記憶させる(
102)。
以上の処理を行なった後、システム状態の検索を行なっ
てプロトコルを検証する。即ち、システム状態がある状
態に到達可能かどうかを調べるには、その状態を第11
図と同じようにコード化し、ハツシュ関数201を介し
てハツシュテーブル200を検索する。もしその状態が
存在しておれば、検索の結果としてそのシステム状態に
対応するノードの格納ポインタが得られる。もし、その
システム状態が存在しなければ、検索結果はn1Q(無
)となる。もし、あるシステム状態に到達可能であった
場合は、その状態に到達するまでのWS300とTC3
01との間の信号の送受信系列を検索する。これは第1
0図に示したノード情報1000の親ノードNo、を用
い、その状態に対応するノードから初期状態に対応する
ルートノードまで親ノードNo、を順次たどる事により
各ノードの出力信号をLIFO(ラストインファースト
アウト: La5t In First 0ut)スタ
ックに積み、ルートノードに達した時点でLIF○スタ
ックの内容を出力することで実現する。例えば、第9図
の可到達木の場合、ノードNO19の状態に到る場合の
WS 300とTC301との間の信号の送受信系列と
しては、(S2→S3→S1→S4)と(82→S3→
S4→81)の2通りが出力される。プロトコルの設計
者は、この信号の送受信系列をもとに、表400,40
1に定義されたプロトコルがどこで誤った信号系列に入
ったかを効率良く知る事ができる。
〔発明の効果〕
本発明によれば、プロトコルの設計者が一般に用いてい
る状態遷移表によるプロトコル仕様定義をもとに、その
プロトコル仕様で生起しうるすべての通信プログラムの
内部状態の遷移と1通信プログラム間で送受信される信
号の系列を自動的に計算機内部で生成する事ができ、そ
れをもとに。
システム状態の可到達性及び生起し得る送受信信号の系
列を効率良く検索してプロトコル設計の正しさを検証す
る事ができる。
なお、上記説明では、通信プロトコルの検証を対象に本
発明の実施例を示したが、装置と人間のオペレーション
の手順等、内部状態を持ち、並行に動作する複数の処理
実体間で何らかの情報交換が行なわれ、ある手順(プロ
トコル)が進行するシステムであれば、本発明の方法が
適用可能である。
【図面の簡単な説明】
各回は本発明の詳細な説明する図であり、第1図はシス
テム状態コードをキーとしたシステム状態記憶ノードの
記憶方式の説明図、第2図はシステム状態記憶ノードの
ハツシュテーブルへの登録手順のフロー図、第3図は通
信システムの構成モデル図、第4図は状態遷移表による
プロトコル仕様定義を示す図、第5図は状態遷移表から
ペトリネットへの変換アルゴリズムを示す−、第6図は
ペトリネットの計算機内部表現を示す図、第7図は可達
木の生成アルゴリズムを示す図、第8図はペトリネット
のモデル図、第9図は可達木を示す図、第10図は可達
木ノードのデータ構造を示す図、第11図はシステム状
態コードのデータ構造を示す図である。 200−゛・ハツシュテーブル、1100・・・システ
ム状態コード、1000・・・システム状態記憶ノード
、300・・・ワーク・ステーション端末、301・・
・端末コントローラ、400・・・ワークステーション
’;41A末側通信プログラムの内部状態遷移表、41
0・・・端末コントローラ側通信プログラムの内部状態
遷移表、600・・・プレース状態記憶テーブル、60
121.に弓−ノ・ヅ9−+ソ箒峙閏郁子−ブル。 第 5 区 2顎 第 7 図 M 8 図

Claims (1)

  1. 【特許請求の範囲】 1、あるプロトコルを実現する内部状態を有する複数の
    処理プログラムの動作を、各処理プログラムごとに定義
    したプログラム内部状態遷移情報と各処理プログラム間
    で通信する信号名称をもとにペトリネットモデルを自動
    合成し、合成したペトリネットモデルを用いて複数の処
    理プログラムの内部状態の組合せを抽出することを特徴
    とするプロトコルの自動検証方式。 2、上記処理プログラムの内部状態の組合せ抽出におい
    て、あるプロトコルを実現する複数の処理プログラムが
    取り得る状態の組合せのそれぞれを、各状態の組合せに
    1つの識別コードを対応させたノードとして表わし、状
    態の遷移関係を遷移後状態ノードから遷移前状態ノード
    への結合関係を示す木構造のデータ構造で記憶し、かつ
    、あるシステム状態を表わすノードが木構造データのう
    ちのどの位置に記憶されているかをシステム状態の識別
    コードをキーとしたハッシュテーブルにより記憶してお
    く事により、状態の存在の有無及び、任意の状態までの
    状態遷移系列を効率的に検索できるようにしたことを特
    徴とする第1項記載のプロトコルの自動検証方式。
JP62121250A 1987-05-20 1987-05-20 プロトコルの自動検証方式 Pending JPS63286947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62121250A JPS63286947A (ja) 1987-05-20 1987-05-20 プロトコルの自動検証方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62121250A JPS63286947A (ja) 1987-05-20 1987-05-20 プロトコルの自動検証方式

Publications (1)

Publication Number Publication Date
JPS63286947A true JPS63286947A (ja) 1988-11-24

Family

ID=14806612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62121250A Pending JPS63286947A (ja) 1987-05-20 1987-05-20 プロトコルの自動検証方式

Country Status (1)

Country Link
JP (1) JPS63286947A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210491A (ja) * 1991-07-16 1993-08-20 Alcatel Nv 通信オートマトンセットの開発を支援する方法
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210491A (ja) * 1991-07-16 1993-08-20 Alcatel Nv 通信オートマトンセットの開発を支援する方法
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é.

Similar Documents

Publication Publication Date Title
Probert et al. Synthesis of communication protocols: survey and assessment
CN110825375B (zh) 一种量子程序的转化方法、装置、存储介质和电子装置
US20200285634A1 (en) System for data sharing platform based on distributed data sharing environment based on block chain, method of searching for data in the system, and method of providing search index in the system
Billington et al. PROTEAN: a high-level Petri net tool for the specification and verification of communication protocols
Codetta-Raiteri The conversion of dynamic fault trees to stochastic Petri nets, as a case of graph transformation
KR100849223B1 (ko) Usb 장치 테스트 방법 및 그 시스템
CN103988212A (zh) 用于在状态机中路由的方法及系统
US20210365253A1 (en) Heterogeneity-agnostic and topology-agnostic data plane programming
CN103999035A (zh) 用于状态机中的数据分析的方法及系统
CN109740122A (zh) 思维导图用例文件的转换方法及装置
Koomen The design of communicating systems: a system engineering approach
CN110781091B (zh) 应用程序的测试方法、装置、电子设备及存储介质
CN104391796B (zh) 一种测试用例解析方法
CN102929596B (zh) 代码排查方法和相关装置
Ramani et al. Coin-flipping, ball-dropping, and grass-hopping for generating random graphs from matrices of edge probabilities
CN108153896A (zh) 针对输入数据、输出数据的处理方法及装置
JPS63286947A (ja) プロトコルの自動検証方式
US5761488A (en) Logic translation method for increasing simulation emulation efficiency
HROMKOVIČ et al. On the power of one-way synchronized alternating machines with small space
Vizovitin et al. Verifying UCM specifications of distributed systems using colored Petri nets
Archer et al. Specifying and proving properties of timed I/O automata using Tempo
Gorton et al. Engineering high quality parallel software using PARSE
Fogler et al. Accelerating black box testing with light-weight learning
CN116738900B (zh) 知识产权块的代码转换装置和方法
Hill et al. Platform-Agnostic Language to Map Control Primitives to SCADA Communication Protocols