(57)【要約】【課題】通信プロトコルに依存することなく被試験装置に所定の条件を設定すること。【解決手段】被試験装置１０２Ａ，１０２Ｂに接続可能なプロトコル試験装置１００は、被試験装置１０２Ａ，１０２Ｂそれぞれから受信したデータまたはそれぞれに送信したデータを記憶するキャプチャメモリ２０５Ａ，２０５Ｂと、送信元の被試験装置１０２Ａから受信したデータの少なくとも一部を所定の比較情報と比較し、比較結果に応じて、送信先の被試験装置１０２Ｂに送信するデータを操作する命令実行部２０３とを備える。受信したデータを比較情報と比較して所定のデータを検出するため、被試験装置１０２Ａ，１０２Ｂとの間の通信で用いられるプロトコルに依存することなく、被試験装置１０２Ａ，１０２Ｂを所定の条件に設定することができる。【選択図】        図２
2005018245.tif 000002
【特許請求の範囲】
【請求項１】
複数の被試験装置に接続可能なプロトコル試験装置であって、
前記複数の被試験装置それぞれから受信したデータまたは前記複数の被試験装置それぞれに送信したデータを記憶する記憶手段と、
送信元の被試験装置から受信したデータの少なくとも一部を、所定のパターンデータと比較する比較手段と、
前記比較手段による比較結果に応じて、送信先の被試験装置に送信するデータを操作する操作手段とを備えた、プロトコル試験装置。
【請求項２】
前記操作手段は、前記送信先の被試験装置に送信する送信データを前記送信元の被試験装置から受信された受信データとする転送手段を含む、請求項１に記載のプロトコル試験装置。
【請求項３】
前記操作手段は、前記送信先の被試験装置に送信する送信データを前記送信元の被試験装置から受信したデータとは異なるデータとする変更手段を含む、請求項１に記載のプロトコル試験装置。
【請求項４】
前記操作手段は、前記送信元の被試験装置から受信したデータを前記送信先の被試験装置に送信することなく消去する消去手段を含む、請求項１に記載のプロトコル試験装置。
【請求項５】
前記操作手段は、前記送信先の被試験装置に送信する時間を遅延させる遅延手段をさらに含む、請求項２または３に記載のプロトコル試験装置。
【請求項６】
前記操作手段は、前記送信先の被試験装置に送信する送信データを前記送信元の被試験装置から受信された受信データとする転送手段と、
前記送信先の被試験装置に送信する送信データを前記送信元の被試験装置から受信したデータとは異なるデータとする変更手段と、
前記送信元の被試験装置から受信したデータを前記送信先の被試験装置に送信することなく消去する消去手段と、
前記送信先の被試験装置に送信する時間を遅延させる遅延手段と、
前記転送手段、前記変更手段、前記消去手段および前記遅延手段の少なくとも１つを予め定められた順に従って能動化する制御手段とをさらに備える、請求項１に記載のプロトコル試験装置。
【請求項７】
複数の被試験装置に接続可能であり、前記複数の被試験装置それぞれから受信したデータまたは前記複数の被試験装置それぞれに送信したデータを記憶する記憶手段を備えたプロトコル試験装置で実行されるプロトコル試験方法であって、
送信元の被試験装置から受信したデータの少なくとも一部を予め記憶されたパターンデータと比較するステップと、
前記比較ステップによる比較結果に応じて、送信先の被試験装置に送信するデータを操作するステップとを含む、プロトコル試験方法。
【請求項８】
複数の被試験装置に接続可能であり、前記複数の被試験装置それぞれから受信したデータまたは前記複数の被試験装置それぞれに送信したデータを記憶する記憶手段を備えたプロトコル試験装置で実行されるプロトコル試験プログラムであって、
送信元の被試験装置から受信したデータの少なくとも一部を予め記憶されたパターンデータと比較するステップと、
前記比較ステップによる比較結果に応じて、送信先の被試験装置に送信するデータを操作するステップとを前記プロトコル試験装置に実行させる、プロトコル試験プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プロトコル試験装置、プロトコル試験方法およびプロトコル試験プログラムに関し、被試験装置の通信プロトコルを試験するためのプロトコル試験装置、プロトコル試験方法およびプロトコル試験プログラムに関する。
【０００２】
【従来の技術】
従来、通信端末等に実装された通信プログラムのプロトコルの規格適合性を試験するためのプロトコル試験装置が知られている。特開平２−２３８５４５号公報（特許文献１）には、プロトコル処理部と下位プロトコル処理部との間に異常処理を行なうための外乱発生部を設け、この外乱発生部には、プロトコル処理部や通信制御部からの試験データに対し異常処理を施す機能を持たせ、このために、異常処理を行なう対象としての試験データを識別するための条件や異常処理内容を盛り込んだ異常処理情報を付与して蓄積する格納部と、プロトコル処理部や下位プロトコル処理部から受け渡される試験データを監視し異常処理を施すための条件と比較することにより異常処理を行なうかどうかの判断を行なう比較監視部と、その試験データに対し異常処理を行なう異常処理部と、１つの異常処理が済んだら次の処理に備えて、格納部から次の異常処理情報を取出して比較監視部や異常処理部へ転送する変更部とを備えるとともに、試験を実施する試験シナリオ内のすべての異常処理内容とそれを施すための条件と試験の実施前に予め試験実行管理部から格納部に受け渡すようにしたプロトコル試験装置が記載されている。
【０００３】
【特許文献１】
特開平２−２３８５４５号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、特開平２−２３８５４５号公報に記載のプロトコル試験装置では、プロトコル試験装置自体が被試験装置と通信する相手方となるため、通信端末をエミュレートしている。このため、プロトコル試験装置は規格に適合したプロトコルで通信可能な通信プログラムを実装していることが条件となる。また、一度に１台の被試験装置しか試験することができない。
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、通信プロトコルに依存することなく被試験装置に所定の条件を設定することが可能なプロトコル試験装置、プロトコル試験方法およびプロトコル試験プログラムを提供することである。
【０００６】
【課題を解決するための手段】
上述した目的を達成するためにこの発明のある局面によれば、プロトコル試験装置は、複数の被試験装置に接続可能なプロトコル試験装置であって、複数の被試験装置それぞれから受信したデータまたは複数の被試験装置それぞれに送信したデータを記憶する記憶手段と、送信元の被試験装置から受信したデータの少なくとも一部を、所定のパターンデータと比較する比較手段と、比較手段による比較結果に応じて、送信先の被試験装置に送信するデータを操作する操作手段とを備える。
【０００７】
この発明に従えば、複数の被試験装置それぞれから受信したデータまたは複数の被試験装置それぞれに送信したデータが記憶される。送信元の被試験装置から受信したデータの少なくとも一部が所定のパターンデータと比較され、比較結果に応じて送信先の被試験装置に送信するデータが操作される。受信したデータがパターンデータと比較されるので、通信プロトコルに依存することなく、送信元の被試験装置から所定のデータが受信されたことが検出される。また、パターンデータとの比較結果に基づいて、送信先の被試験装置に送信するデータが操作されるので、送信先の被試験装置に所定の条件を設定することが可能となる。その結果、プロトコルに依存することなく被試験装置に所定の条件を設定することが可能なプロトコル試験装置を提供することができる。
【０００８】
好ましくは、操作手段は、送信先の被試験装置に送信する送信データを送信元の被試験装置から受信された受信データとする転送手段を含む。
【０００９】
この発明に従えば、パターンデータを含むデータが送信元の被試験装置から受信されたこと、および、パターンデータを含むデータが送信先の被試験装置に送信されたことを検出することができる。
【００１０】
好ましくは、操作手段は、送信先の被試験装置に送信する送信データを送信元の被試験装置から受信したデータとは異なるデータとする変更手段を含む。
【００１１】
この発明に従えば、パターンデータを含むデータが送信元の被試験装置から受信されたことを検出するとともに、送信先の被試験装置に所定の条件を設定することができる。
【００１２】
好ましくは、操作手段は、送信元の被試験装置から受信したデータを送信先の被試験装置に送信することなく消去する消去手段を含む。
【００１３】
この発明に従えば、パターンデータを含むデータが送信元の被試験装置から受信されたことを検出するとともに、送信先の被試験装置に所定の条件を設定することができる。
【００１４】
好ましくは、操作手段は、送信先の被試験装置に送信する時間を遅延させる遅延手段をさらに含む。
【００１５】
この発明に従えば、パターンデータを含むデータが送信元の被試験装置から受信されたことを検出するとともに、送信元および送信先の被試験装置に所定の条件を設定することができる。
【００１６】
好ましくは、操作手段は、送信先の被試験装置に送信する送信データを送信元の被試験装置から受信された受信データとする転送手段と、送信先の被試験装置に送信する送信データを送信元の被試験装置から受信したデータとは異なるデータとする変更手段と、送信元の被試験装置から受信したデータを送信先の被試験装置に送信することなく消去する消去手段と、送信先の被試験装置に送信する時間を遅延させる遅延手段と、転送手段、変更手段、消去手段および遅延手段の少なくとも１つを予め定められた順に従って能動化する制御手段とをさらに備える。
【００１７】
この発明に従えば、転送手段、変更手段、消去手段および遅延手段の少なくとも１つが予め定められた順に従って能動化されるので、パターンデータを含むデータが送信先の被試験装置から受信されたことを検出するとともに、送信元および送信先の被試験装置に所定の条件を設定することができる。
【００１８】
この発明の他の局面によれば、プロトコル試験方法は、複数の被試験装置に接続可能であり、複数の被試験装置それぞれから受信したデータまたは複数の被試験装置それぞれに送信したデータを記憶する記憶手段を備えたプロトコル試験装置で実行されるプロトコル試験方法であって、送信元の被試験装置から受信したデータの少なくとも一部を予め記憶されたパターンデータと比較するステップと、比較ステップによる比較結果に応じて、送信先の被試験装置に送信するデータを操作するステップとを含む。
【００１９】
この発明に従えば、通信プロトコルに依存することなく被試験装置に所定の条件を設定することが可能なプロトコル試験方法を提供することができる。
【００２０】
この発明のさらに他の局面によれば、プロトコル試験プログラムは、複数の被試験装置に接続可能であり、複数の被試験装置それぞれから受信したデータまたは複数の被試験装置それぞれに送信したデータを記憶する記憶手段を備えたプロトコル試験装置で実行されるプロトコル試験プログラムであって、送信元の被試験装置から受信したデータの少なくとも一部を予め記憶されたパターンデータと比較するステップと、比較ステップによる比較結果に応じて、送信先の被試験装置に送信するデータを操作するステップとをプロトコル試験装置に実行させる。
【００２１】
この発明に従えば、通信プロトコルに依存することなく被試験装置に所定の条件を設定することが可能なプロトコル試験プログラムを提供することができる。
【００２２】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２３】
図１は、本発明の実施の形態におけるプロトコル試験装置の接続形態の例を示す図である。図１（Ａ）を参照して、プロトコル試験装置１００は、通信回線１０３を介して被試験装置１０２Ａと接続される。また、プロトコル試験装置１００は、制御回線１０４を介して外部制御端末１０１と接続される。この接続形態においては、プロトコル試験装置１００と１台の被試験装置１０２Ａとが１対１の関係で接続される。ここでは、このような接続形態を単接続と呼ぶ。
【００２４】
図１（Ｂ）を参照して、プロトコル試験装置１００は、被試験装置１０２Ａと通信回線１０３Ａを介して接続されるとともに、被試験装置１０２Ｂと通信回線１０３Ｂを介して接続される。また、プロトコル試験装置１００は、制御回線１０４を介して外部制御端末１０１と接続される。図１（Ｂ）に示す接続形態では、プロトコル試験装置１００は、２台の被試験装置１０２Ａ，１０２Ｂと接続される。プロトコル試験装置１００が複数の被試験装置１０２Ａ，１０２Ｂと接続される接続形態を複接続と呼ぶ。
【００２５】
プロトコル試験装置１００と外部制御端末１０１とは、シリアルインターフェイスなどの制御回線１０４で接続される。外部制御端末１０１は、一般的なパーソナルコンピュータを用いることができる。
【００２６】
接続形態が単接続および複接続のいずれの場合であっても、プロトコル試験装置１００への試験条件の設定、試験の開始指示、試験の終了検出、およびプロトコル試験装置１００からの試験結果の取得等は外部制御端末１０１で行なわれる。また、プロトコル試験装置１００に対して単接続または複接続のいずれで動作すべきかの指示は、試験開始時の初期化処理において行なわれる。
【００２７】
図２は、本実施の形態におけるプロトコル試験装置の機能の概略を示すブロック図である。図を参照して、プロトコル試験装置１００は、外部制御端末１０１と接続され、プロトコル試験装置の全体を制御するユーザインターフェイス部２０１と、ユーザインターフェイス部２０１にそれぞれ接続された、プログラムメモリ２０４、キャプチャメモリ２０５Ａ，２０５Ｂおよびデータメモリ２０６と、ユーザインターフェイス部２０１からの指示に基づいてプログラムメモリ２０４から命令を読出して解読する命令解読部２０２と、命令解読部２０２からの指示に基づいて、命令を実行するための命令実行部２０３と、被試験装置１０２Ａから送信されてくるデータを一時的に記憶するためのデータバッファ２０７Ａと、被試験装置１０２Ｂから送られてくるデータを一時的に記憶するためのデータバッファ２０７Ｂとを含む。
【００２８】
ユーザインターフェイス部２０１は、外部制御端末１０１と通信を行ない、外部制御端末１０１から受信する試験条件の設定要求に基づいて、試験条件を解読し、プログラムメモリ２０４およびデータメモリ２０６への書込を行なう。プログラムメモリ２０４に書込む情報としては、プロトコル試験装置１００で試験シナリオを実行するために後述する命令を予め定められた順番で記述したプロトコル試験プログラムである。データメモリ２０６に書込む情報としては、プログラムメモリ２０４に書込まれたプロトコル試験プログラムが、プロトコル試験装置１００で実行されるときに用いられる情報である。これについては後で詳しく説明する。
【００２９】
また、ユーザインターフェイス部２０１は、外部制御端末１０１より試験の開始要求を受信した場合、命令解読部２０２に対して試験の開始を指示する信号を出力する。また、命令解読部２０２より試験の終了を示す信号を受信した場合には、外部制御端末１０１に対して試験が終了したことを通知する。さらに、ユーザインターフェイス部２０１は、外部制御端末１０１より試験結果の取得要求を受信した場合には、キャプチャメモリ２０５Ａ，２０５Ｂからデータを読出して、外部制御端末１０１に読出したデータを送信する。
【００３０】
命令解読部２０２は、プログラムメモリ２０４に記憶されたプログラムに記述された命令の解読を行なう。命令解読部２０２は、ユーザインターフェイス部２０１から試験の開始を指示する信号を受信すると、プログラムメモリ２０４に記憶された命令を１つずつ読出す。そして、読出した命令を命令実行部２０３に送信することにより、命令開始を指示する。ただし、プログラムメモリ２０４から読出した命令が、ホルト（ＨＡＬＴ）命令の場合には、命令実行部２０３に命令の開始を指示する信号を出力することなく、ユーザインターフェイス部２０１に対して試験の終了を示す信号を出力する。また、命令解読部２０２は、命令実行部２０３から命令を実行したことを示す命令終了信号が受信される場合には、次の命令をプログラムメモリ２０４から読出し、上述した処理を繰返し実行する。
【００３１】
命令実行部２０３は、データバッファ２０７Ａから受信したデータを保持するためのデータ保持部２０３Ａと、データバッファ２０７Ｂから受信したデータを保持するためのデータ保持部２０３Ｂとを含む。データ保持部２０３Ａ，２０３Ｂは、たとえば不揮発性のランダムアクセスメモリ（ＲＡＭ）である。
【００３２】
命令実行部２０３は、命令解読部２０２からの命令開始指示に基づいて、命令を実行する処理の他、被試験装置１０２Ａ，１０２Ｂに対して、データの送受信を実行する。命令実行部２０３は、命令解読部２０２から命令開始指示を受信すると、受信した命令に定義された処理を実行する。受信する命令およびその処理については後で詳しく説明する。さらに、命令実行部２０３は、データバッファ２０７Ａ，２０７Ｂからデータを受信すると、受信したデータを一時的にデータ保持部２０３Ａ，２０３Ｂに記憶する。そして、命令実行部２０３は、命令解読部２０２より受信した命令種別に応じてデータ操作の有無を判定し、必要に応じてデータを操作する。
【００３３】
命令実行部２０３が行うデータ操作には、保持データを他の被試験装置１０２Ｂ，１０２Ａに出力する処理、保持データをデータメモリ２０６に予め記憶されているデータに置換えて他の被試験装置１０２Ｂ，１０２Ａに出力する処理、保持データを他の被試験装置１０２Ｂ，１０２Ａに遅延させて出力する処理、および、保持データを消去する処理が含まれる。
【００３４】
一方、命令実行部２０３は、被試験装置１０２Ａから受信された受信データと被試験装置１０２Ａへ出力する送信データとをキャプチャメモリ２０５Ａに記憶する。また、命令実行部２０３は、被試験装置１０２Ｂから受信された受信データと被試験装置１０２Ｂに送信する送信データとをキャプチャメモリ２０５Ｂに記憶する。キャプチャメモリ２０５Ａ，２０５Ｂに記憶される送信データおよび受信データは、被試験装置１０２Ａ，１０２Ｂそれぞれに実際に送信または受信されたデータである。
【００３５】
なお、図１（Ａ）に示した単接続の形態で被試験装置１０２Ａとプロトコル試験装置１００とが接続される場合、被試験装置１０２Ａから受信したデータの送信先は被試験装置１０２Ａとなる。また、複接続形態で接続される場合には、被試験装置１０２Ａから受信したデータの送信先は被試験装置１０２Ｂであり、被試験装置１０２Ｂから受信したデータの送信先は被試験装置１０２Ａである。命令実行部２０３は、命令解読部２０２より受信した命令の実行を終了すると、命令が終了したことを示す命令終了信号を命令解読部２０２へ出力する。
【００３６】
キャプチャメモリ２０５Ａ，２０５Ｂに記憶された送受信データは、ユーザインターフェイス部２０１により読出され、外部制御端末１０１に送信される。
【００３７】
データバッファ２０７Ａ，２０７Ｂは、被試験装置１０２Ａ，１０２Ｂから受信したデータを一時的に記憶するためのファーストインファーストアウト（ＦＩＦＯ）メモリである。データバッファ２０７Ａ，２０７Ｂは、命令実行部２０３から出力される出力オン／オフ信号に基づいて、記憶しているデータを出力する。すなわち、命令実行部２０３から出力オン信号が受信されると、命令実行部２０３へのデータ出力を開始する。また、命令実行部２０３から出力オフ信号が受信されると、命令実行部２０３へのデータ出力を停止する。データバッファ２０７Ａ，２０７Ｂは、ファーストインファーストアウトメモリであるため、データバッファ２０７Ａ，２０７Ｂに入力された順にデータを出力する。データバッファ２０７Ａ，２０７Ｂは、また、命令実行部２０３にデータを出力していない出力オフ状態においては、データが滞留している場合には命令実行部２０３にノットエンプティ通知を出力し、データが滞留していない場合にはエンプティ通知を出力する。
【００３８】
なお、命令解読部２０２と命令実行部２０３を一体としてもよい。
図３は、本実施の形態におけるプロトコル試験装置および外部制御端末で実行される処理の流れを示すフローチャートである。図３を参照して、まず、外部制御端末１０１より、試験条件が設定される（ステップＳ０１）。これは、ユーザが外部制御端末を操作することにより、試験シナリオを実現するためのプログラムが外部制御端末１０１からプロトコル試験装置１００に送信される。試験条件には、上述した接続形態が単接続であるのか複接続であるのかが含まれる。
【００３９】
外部制御端末１０１よりプロトコル試験装置１００に試験の起動信号が送信されることにより、プロトコル試験装置１００で試験が起動される（ステップＳ０２）。これは、外部制御端末１０１のユーザが、試験の開始を指示する信号を入力することにより、その試験の開始を指示する信号がプロトコル試験装置１００に出力される。そして、プロトコル試験装置１００において、外部制御端末１０１より受信したプログラムを実行することにより、試験が実行される（ステップＳ０３）。
【００４０】
プロトコル試験装置１００において、外部制御端末１０１より受信したプログラムのすべてが実行されると、外部制御端末１０１に対して、プログラムの実行が終了したことを示す信号が出力される。外部制御端末１０１では、ディスプレイ等に試験が終了したことを示すメッセージ等を出力する（ステップＳ０４）。これにより、外部制御端末１０１のユーザは、試験が終了したことを確認することができる。
【００４１】
その後、ユーザが試験結果の取得を指示すると、プロトコル試験装置１００から被試験装置１０２Ａ，１０２Ｂに送受信したデータのすべてがプロトコル試験装置１００から外部制御端末１０１に送信される（ステップＳ０５）。このようにしてプロトコル試験装置１００から外部制御端末１０１に送信されるデータが、試験結果である。
【００４２】
図４は、本実施の形態における通信装置で実行される命令の形式の一例を示す図である。上述した試験シナリオを実現するためのプロトコル試験プログラムは、図４に示す命令を並べて記述される。図４（Ａ）を参照して、命令形式は、命令コードとオペランドとよりなり、１つの命令は固定長である。命令を固定長とすることにより、命令解読部２０２および命令実行部２０３で命令の呼出を簡単に行なうことができ、それらの構成を簡単にすることができる。
【００４３】
図４（Ｂ）は、初期化命令の命令形式を示す図である。初期化命令は、命令コードに「ＩＮＩＴＩＡＴＥ」が定義され、オペランドに構成定義情報が定義される。構成定義情報は、プロトコル試験装置１００と被試験装置１０２Ａ，１０２Ｂとの接続形態が含まれる。
【００４４】
図４（Ｃ）は、ウエイト命令の命令形式を示す。ウエイト命令は、命令コードに「ＷＡＩＴ」が定義され、オペランドには、入出力（Ｉ／Ｏ）情報と、比較情報とが定義される。Ｉ／Ｏ情報はデータバッファ識別子であり、どちらのデータバッファ２０７Ａ，２０７Ｂからのデータを処理対象とするかを示す情報である。比較情報は、受信データの一部をパターンマッチングするために用いられる情報であり、フォーマットについては特に規定されない。なお、ここではウエイト命令中に比較情報を含めるようにしたが、データメモリのデータ格納位置情報とするようにしてもよい。すなわち、比較情報は、ユーザインターフェイス部２０１により、外部制御端末１０１から受信され、データメモリ２０６に予め記憶されるデータを特定するためのアドレスまたはポインタであってもよい。ウエイト命令は、特定のプロトコルデータを受信した場合に待機するために使用される命令である。
【００４５】
図４（Ｄ）は、スキップ命令の命令形式を示す。スキップ命令は、命令コードに「ＳＫＩＰ」が定義され、オペランドにはＩ／Ｏ情報と比較情報とが定義される。Ｉ／Ｏ情報と比較情報とは、ウエイト命令の場合と同様であるのでここでは説明を繰返さない。スキップ命令は、ウエイト命令と類似した処理を実行させるためのものであるが、ウエイト命令との違いは、パターンマッチングに成功した場合に受信データをそのまま他方の送信先の被試験装置に送信する点が異なる。
【００４６】
図４（Ｅ）は、スリープ命令の命令形式を示す。スリープ命令は、命令コードに「ＳＬＥＥＰ」が定義され、オペランドには待機時間情報が定義される。待機時間情報の時間の単位については特に規定しない。スリープ命令は、オペランドに定義された待機時間情報で定まる時間の間だけ命令の実行を中断する命令である。
【００４７】
図４（Ｆ）は、トランスファ命令の命令形式を示す。トランスファ命令は、命令コードに「ＴＲＡＮＳＦＥＲ」が定義され、オペランドには方向情報が定義される。トランスファ命令は、ウエイト命令を基点に命令実行部２０３にて保持されている受信データを送信先の被試験装置に送信するために使用される。
すなわち、トランスファ命令は、命令実行部２０３のデータ保持部２０３Ａ，２０３Ｂに記憶されている受信データを、他の被試験装置１０２Ａ，１０２Ｂに送信することを指示するための命令である。このため、方向情報は、被試験装置１０２Ａ，１０２Ｂのいずれかを示すための情報である。また、方向情報として、データ保持部２０３Ａ，２０３Ｂのいずれかを示す情報とするようにしてもよい。
【００４８】
図４（Ｇ）は、ドロップ命令の命令形式を示す。ドロップ命令は、命令コードに「ＤＲＯＰ」が定義され、オペランドには方向情報が定義される。この方向情報は、上述したように被試験装置１０２Ａ，１０２Ｂのいずれかを示す情報であり、換言すれば、命令実行部２０３のデータ保持部２０３Ａ，２０３Ｂのいずれかを示す情報である。ドロップ命令は、ウエイト命令を基点として命令実行部２０３に保持されている受信データを廃棄するために使用される。すなわち、ドロップ命令は、命令実行部２０３のデータ保持部２０３Ａ，２０３Ｂに記憶されている受信データを、消去することを指示するための命令である。
【００４９】
図４（Ｈ）は、オーバーライト命令の命令形式を示す。オーバーライト命令は、命令コードに「ＯＶＥＲＷＲＩＴＥ」が定義され、オペランドには、方向情報とデータ格納位置情報とが定義される。方向情報は、トランスファ命令およびドロップ命令で説明したのと同様の情報である。データ格納位置情報は、データメモリ２０６のアドレスまたはポインタを示し、データ保持部２０３Ａ，２０３Ｂに書込むデータが記憶されているアドレスまたはポインタを示す情報であり、フォーマットについては特に規定しない。オーバーライト命令は、ウエイト命令を基点に命令実行部にて保持されている受信データを上書きするために使用される。すなわち、オーバーライト命令は、命令実行部２０３のデータ保持部２０３Ａ，２０３Ｂに記憶されている受信データを、データメモリ２０６に記憶されているデータに置換えることを指示するための命令である。
【００５０】
図４（Ｉ）は、センド命令の命令形式を示す。センド命令は、命令コードに「ＳＥＮＤ」が定義され、オペランドには方向情報とデータ格納位置情報とが定義される。方向情報およびデータ格納位置情報とは、オーバーライト命令で説明したのと同様であるのでここでは説明を繰返さない。センド命令は、特定の受信データを送信先の被試験装置に送信するために使用される。すなわち、センド命令は、データメモリ２０６に記憶されているデータを、一旦データ保持部２０３Ａ，２０３Ｂに書込み、被試験装置１０２Ａ，１０２Ｂに送信することを示すコマンドである。センド命令は、たとえば送信元の被試験装置１０２Ａから、送信先の被試験装置１０２Ｂにデータを転送するのではなく、一方の被試験装置１０２Ａまたは被試験装置１０２Ｂにデータメモリ２０６に記憶されているデータを送信することが可能となる。
【００５１】
図４（Ｊ）は、ネクスト命令の命令形式を示す。ネクスト命令は、命令コードに「ＮＥＸＴ」が定義され、オペランドにはＩ／Ｏ情報が定義される。Ｉ／Ｏ情報は、データバッファ２０７Ａ，２０７Ｂのいずれかを示す情報である。ネクスト命令は、ウエイト命令を基点に用いられ、出力をオフにしたデータバッファ２０７Ａ，２０７Ｂを再度出力オンにするために使用される。すなわち、ネクスト命令は、データバッファ２０７Ａ，２０７Ｂのいずれかから、次の受信データを読出すことを指示するためのコマンドである。
【００５２】
図４（Ｋ）は、ホルト命令の命令形式を示す。ホルト命令は、命令コードに「ＨＡＬＴ」が定義され、オペランドには何も定義されない。しかしながら、上述したように命令データは固定長であるため、何も割当てられていないオペランドの領域を含むことになる。ホルト命令は、命令解読部２０２に対してプログラムが終了したことを指示するために使用される。
【００５３】
図５は、本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の流れを示すフローチャートである。この図５に示すプロトコル試験処理は、図３のステップＳ０３で実行される処理である。プロトコル試験処理では、命令解読部２０２がプログラムメモリ２０４から命令を読出す（ステップＳ１１）。プログラムメモリ２０４に記憶されている試験シナリオを実行するためのプロトコル試験プログラムは、上述した命令を順に並べて記載したものであった。また、それぞれの命令は固定長で記憶されている。命令解読部２０２は、命令を記憶されている順に従って１つずつ読み出す。このため、命令解読部２０２は、命令の長さのデータを読み出せばよく、その構成を簡単にすることができ、また、処理速度を向上させることができる。
【００５４】
ステップＳ１２では、読出した命令がホルト命令か否かが判断される。ホルト命令の場合には試験を終了し、そうでない場合にはステップＳ１３に進む。ステップＳ１３では、読出した命令ごとに個別の処理を実行する。
【００５５】
図６は、本実施の形態に係るプロトコル試験装置で実行される初期化処理の流れを示すフローチャートである。初期化処理は、命令解読部２０２で初期化命令が読出された場合に、命令実行部２０３で実行される処理である。図６を参照して、初期化命令が読出されると、命令実行部２０３では、オペランドで定義されている構成定義情報で指定されるモードで内部初期化を実行する（ステップＳ２１）。構成定義情報は、上述したように、プロトコル試験装置１００と被試験装置１０２Ａ，１０２Ｂとの接続形態を含むものであった。したがって、ここで言うモードとは、単接続形態における試験モードであるのか、複接続形態における試験モードのいずれかを示す。それぞれのモードに応じてデータバッファ２０７Ａ，２０７Ｂおよび命令実行部２０３の初期化が実行される。
【００５６】
図７は、本実施の形態におけるプロトコル試験装置で実行されるウエイト処理の流れを示すフローチャートである。このウエイト処理は、命令実行部２０３で命令解読部２０２よりウエイト命令が受信された場合に実行される処理である。図を参照して、ステップＳ３１では、ウエイト命令のオペランドに定義されたＩ／Ｏ情報で指定されるデータバッファ２０７Ａ，２０７Ｂの出力をオフにする。ここでは説明のため、Ｉ／Ｏ情報でデータバッファ２０７Ａが指定されたとする。命令実行部２０３は、データバッファ２０７Ａに出力オフ信号を出力する。すると、データバッファ２０７Ａは、被試験装置１０２Ａから受信された受信データを出力することなく蓄積する。
【００５７】
ステップＳ３２では、データバッファ２０７Ａからのノットエンプティ通知を監視する。データバッファ２０７Ａは、被試験装置１０２Ａから受信された受信データが１つでも蓄積されている場合には、ノットエンプティ通知を出力し、１つも蓄積されていない場合には、ノットエンプティ通知を出力しない。
【００５８】
命令実行部２０３は、データバッファ２０７Ａからノットエンプティ通知が出力されている場合には、ステップＳ３３において、データバッファ２０７Ａの出力をオンにして１つの受信データを読込み、再度データバッファ２０７Ａの出力をオフにする。命令実行部２０３は、データバッファ２０７Ａに出力オン信号を出力した後、受信データを１つ読込む。その後、データバッファ２０７Ａに出力オフ信号を出力する。
【００５９】
そして、読込んだ受信データとオペランドに含まれる比較情報とをパターンマッチングする（ステップＳ３４）。このとき、読込んだ受信データのすべてをパターンマッチングするのではなく、一部のデータをパターンマッチングの対象とするようにしてもよい。そして、マッチングが成功したか否かが判断され（ステップＳ３５）、成功した場合にはステップＳ３７に進み、そうでない場合にはステップＳ３６に進む。マッチングの成功とは、オペランドに含まれる比較情報が受信データに含まれる場合に成功と判断し、含まれない場合には成功でないと判断する。
【００６０】
ステップＳ３７では、データバッファ２０７Ａより読込んだ受信データをデータ保持部２０３Ａに保持する。
【００６１】
一方、ステップＳ３６では、比較情報が読込んだ受信データに含まれない場合であり、この場合にはデータバッファ２０７Ａより読込んだ受信データを被試験装置１０２Ｂに送信する（ステップＳ３６）。そして、ステップＳ３２へ戻る。
【００６２】
このように、ウエイト命令が命令実行部２０３で実行されると、命令実行部２０３は、予め定められた比較情報を含む受信データが受信されるまで受信されたデータを被試験装置１０２Ｂに転送し続け、比較情報を含む受信データが受信された場合には、その受信データをデータ保持部２０３Ａに記憶する。
【００６３】
図８は、本実施の形態におけるプロトコル試験装置で実行されるスキップ処理の流れを示すフローチャートである。このスキップ処理は、命令実行部２０３で命令解読部２０２よりスキップ命令が受信された場合に実行される処理である。図を参照して、ステップＳ４１〜ステップＳ４４までの処理は、図７で示したウエイト処理のステップＳ３１〜ステップＳ３４までの処理とそれぞれ同じである。したがって、ここでは説明を繰返さない。
【００６４】
ステップＳ４５では、ステップＳ４４におけるパターンマッチングが成功したか否かが判断され、成功した場合にはステップＳ４７に進み、そうでない場合にはステップＳ４６に進む。パターンマッチングの成功とは、オペランドに含まれる比較情報が受信データに含まれる場合に成功と判断し、含まれない場合には成功でないと判断する。
【００６５】
ステップＳ４７では、データバッファ２０７Ａより読込んだ受信データを被試験装置１０２Ｂに転送して、データバッファ２０７Ａの出力をオンにする。
【００６６】
一方、ステップＳ４６では、比較情報が読込んだ受信データに含まれない場合であり、この場合にはデータバッファ２０７Ａより読込んだ受信データを被試験装置１０２Ｂに送信する。そして、ステップＳ４２へ戻る。
【００６７】
このように、スキップ命令が命令実行部２０３で実行されると、命令実行部２０３は、比較情報を含む受信データが受信されるまで受信データを被試験装置１０２Ｂに送信し、比較情報を含む受信データが受信された場合には、受信データを被試験装置１０２Ｂに送信して、データバッファ２０７Ａに出力オン信号を出力する。このため、スキップ処理においては、比較情報を含む受信データが受信されたことを検出することができる。
【００６８】
図９は、本実施の形態におけるプロトコル試験装置で実行されるスリープ処理の流れを示すフローチャートである。このスリープ処理は、命令実行部２０３で命令解読部２０２よりスリープ命令が受信された場合に実行される処理である。図を参照して、スリープ処理は、データ保持部２０３Ａ，２０３Ｂに受信データを保持したままオペランドに定義される待機時間情報で指定される時間を消費する（ステップＳ５１）。このため、スリープ処理はウエイト処理と組合せて用いられる。すなわち、ウエイト処理の直後にスリープ処理が実行されることにより、ウエイト処理でデータ保持部２０３Ａ，２０３Ｂに保持された受信データを、所定時間の間保持し続けることができる。
【００６９】
図１０は、本実施の形態におけるプロトコル試験装置で実行されるトランスファ処理の流れを示すフローチャートである。このトランスファ処理は、命令実行部２０３で命令解読部２０２よりトランスファ命令が受信された場合に実行される処理である。図を参照して、トランスファ命令が命令実行部２０３で実行されると、命令実行部２０３は、トランスファ命令のオペランドで定義される方向情報で指定される方向の保持データを転送する（ステップＳ６１）。ここでは、方向情報がデータ保持部２０３Ａを指定するものとすると、データ保持部２０３Ａで保持されている受信データが、被試験装置１０２Ｂに送信される。
【００７０】
図１１は、本実施の形態におけるプロトコル試験装置で実行されるドロップ処理の流れを示すフローチャートである。このドロップ処理は、命令実行部２０３で命令解読部２０２よりドロップ命令が受信された場合に実行される処理である。図を参照して、ドロップ命令が命令実行部２０３で実行されると、命令実行部２０３は、オペランドで定義される方向情報で指定される方向の保持データを廃棄する（ステップＳ７１）。方向情報で指定される方向を、データ保持部２０３Ａとすると、データ保持部２０３Ａに記憶されている受信データが消去される。
【００７１】
図１２は、本実施の形態におけるプロトコル試験装置で実行されるオーバーライト処理の流れを示すフローチャートである。このオーバーライト処理は、命令実行部２０３で命令解読部２０２よりオーバーライト命令が受信された場合に実行される処理である。図を参照して、オーバーライト命令が命令実行部２０３で実行されると、命令実行部２０３は、オーバーライト命令のオペランドに定義されているデータ格納位置情報で指定されるデータメモリ領域からデータを読込む（ステップＳ８１）。データメモリ領域は、データメモリ２０６の領域を言う。データメモリ２０６には、ユーザインターフェイス部２０１から外部制御端末１０１より受信したデータが予め記憶されている。オーバーライト命令のオペランドに定義されるデータ格納位置情報は、データメモリ２０６に記憶されているそのデータのアドレスを示す情報である。
【００７２】
ステップＳ８２では、オーバーライト命令のオペランドで定義されている方向情報で指定される方向の保持データを、ステップＳ８１で読込んだデータで上書きする。ここでは、方向情報で指定される方向を、データ保持部２０３Ａとすると、データ保持部２０３Ａに記憶されている受信データが廃棄され、データメモリ２０６より読出したデータが書込まれる。これにより、被試験装置１０２Ａから受信された受信データをデータメモリ２０６に予め記憶されているデータに変更して、被試験装置１０２Ｂに送信することができる。
【００７３】
図１３は、本実施の形態におけるプロトコル試験装置で実行されるセンド処理の流れを示すフローチャートである。このセンド処理は、命令実行部２０３で命令解読部２０２よりセンド命令が受信された場合に実行される処理である。図を参照して、センド命令が命令実行部２０３で実行されると、命令実行部２０３は、まず、センド命令のオペランドで定義されているデータ格納位置情報で指定されるデータメモリ領域からデータを読込む（ステップＳ９１）。これは、上述した図１２のステップＳ８１の処理と同様である。
【００７４】
そして、センド命令のオペランドの方向情報でオペランドに定義された方向情報で指定される方向へ読込んだデータを送出する（ステップＳ９２）。センド命令がオーバーライト命令と異なる点は、オーバーライト命令は、被試験装置１０２Ａから受信した受信データを他のデータに置き換えるものであるのに対し、センド命令は、被試験装置１０２Ａから受信された受信データを破棄することなく、それとは別に、データメモリ２０６に記憶されているデータを被試験装置１０２Ｂに送出する点で異なる。
【００７５】
図１４は、本実施の形態におけるプロトコル試験装置で実行されるネクスト処理の流れを示すフローチャートである。このネクスト処理は、命令実行部２０３で命令解読部２０２よりネクスト命令が受信された場合に実行される処理である。図を参照して、ネクスト命令が命令実行部２０３で実行されると、命令実行部２０３は、ネクスト命令のオペランドのＩ／Ｏ情報で指定されているデータバッファの出力をオンにする（ステップＳ１０１）。ここでは、Ｉ／Ｏ情報でデータバッファ２０７Ａが指定されたとすると、命令実行部２０３は、データバッファ２０７Ａに対して出力オン信号を出力することになる。
【００７６】
上述したように、スキップ命令により送信元の被試験装置から受信された受信データが送信先の被試験装置に送信される。また、ウエイト命令の次にオーバーライト命令を実行することにより、送信元の被試験装置から受信したデータを送信元の被試験装置から受信したデータとは異なるデータとすることができる。
【００７７】
ウエイト命令の次にドロップ命令を実行することにより、送信元の被試験装置から受信したデータを送信先の被試験装置に送信することなく消去することができる。
【００７８】
ウエイト命令の次にスリープ命令を実行することにより、送信元の被試験装置から受信したデータを送信先の被試験装置に送信する時間を遅延させることができる。また、ウエイト命令またはスキップ命令により、比較情報を含むデータが受信されたことを検出することができる。
【００７９】
センド命令により、予め定められたデータを被試験装置に故意に送信することができる。
【００８０】
さらにこれらの命令を組合せることにより、さまざまな試験シナリオをプロトコル試験装置１００で実現することができる。試験シナリオの一例を以下に示す。
【００８１】
＜試験シナリオの第１の例＞
第１の試験シナリオは、被試験装置１０２Ａと被試験装置１０２Ｂとが同じ内容の送信データをほぼ同時に送出した状況を故意にプロトコル試験装置１００が作り出す場合の試験シナリオである。図１５は、本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す図である。図１５（Ａ）は、命令を配列したプロトコル試験プログラムの一例を示し、図１５（Ｂ）は、試験シナリオが実行された場合に、プロトコル試験装置と被試験装置１０２Ａ，１０２Ｂとの間で送受信されるデータを示す図である。なお、図１５（Ａ）に示す試験シナリオにおいては、被試験装置１０２Ａを記号「Ａ」で示し、被試験装置１０２Ｂを記号「Ｂ」で示している。
【００８２】
図１５（Ａ）を参照して、試験シナリオを実現するためのプログラムは、初期化命令がまず定義される。初期化命令のオペランドには、複接続形態であることを示す記号として「Ｄｕａｌ  Ｐｏｒｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」が定義されている。
【００８３】
次に定義されるウエイト命令では、オペランドのＩ／Ｏ情報として、被試験装置１０２Ａから１０２Ｂに向かう方向、すなわちデータバッファ２０７Ａが定義され、比較情報として「Ｐａｔｔｅｒｎ♯１」が定義されている。比較情報は、便宜的に記号「Ｐａｔｔｅｒｎ♯１」で示しているが、実際には「０」と「１」とを配列したパターンである。ここで図１５（Ｂ）を参照して、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」のデータを含む受信データが受信されるまで被試験装置１０２Ａから受信されたデータを被試験装置１０２Ｂに転送するが、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」を含む受信データが受信された場合には、プロトコル試験装置１００は、その受信データを被試験装置１０２Ｂに送信することなく、データ保持部２０３Ａに保持したままデータバッファ２０７Ａの出力をオフにする。このため、以降被試験装置１０２Ａから受信されるデータは、データバッファ２０７Ａに蓄積されることになる。
【００８４】
再度図１５（Ａ）を参照して、次に定義されるウエイト命令においては、オペランドのＩ／Ｏ情報は被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義され、比較情報として「Ｐａｔｔｅｒｎ♯１」が定義されている。したがって、プロトコル試験装置では、被試験装置１０２ＢからＰａｔｔｅｒｎ♯１を含む受信データが受信されるまで被試験装置１０２Ｂから受信されたデータは被試験装置１０２Ａに転送されるが、被試験装置１０２ＢからＰａｔｔｅｒｎ♯１を含む受信データが受信された場合には、その受信データをデータ保持部２０３Ｂに保持することになる。
【００８５】
次に定義されるトランスファ命令では、オペランドの方向情報には、被試験装置１０２Ａから被試験装置１０２Ｂに向かう方向が定義されているため、データ保持部２０３Ａに保持している受信データが被試験装置１０２Ｂに送信される。また、さらにその直後に定義されているトランスファ命令では、オペランドの方向情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向情報が定義されているため、データ保持部２０３Ｂに保持されている受信データが被試験装置１０２Ａに送信される。
【００８６】
そして、次に定義されるネクスト命令は、オペランドのＩ／Ｏ情報に被試験装置１０２Ａから被試験装置１０２Ｂに向かう方向、すなわちデータバッファ２０７Ａが定義されている。このため、データバッファ２０７Ａに対して出力オン信号が出力され、データバッファ２０７Ａが出力オン状態となる。また、さらに次に定義されるネクスト命令は、オペランドのＩ／Ｏ情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義されている。このため、データバッファ２０７Ｂに対して出力オン信号が出力され、データバッファ２０７Ｂが出力オン状態となる。
【００８７】
そして最後にホルト命令が定義される。図１５（Ｂ）を参照して、２つのウエイト命令が実行されて、「Ｐａｔｔｅｒｎ♯１」を含む受信データがデータ保持部２０３Ａ，２０３Ｂにそれぞれ記憶され、その後、被試験装置１０２Ａから被試験装置１０２Ｂに向かう方向のトランスファ命令が実行されてすぐ、被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向へのトランスファ命令が実行される。このため、データ保持部２０３Ａ，２０３Ｂに保持されているデータが、それぞれ被試験装置１０２Ａと被試験装置１０２Ｂとにほぼ同時に送信される。これにより、被試験装置１０２Ａと被試験装置１０２Ｂとに対して、ほぼ同時に同じデータを受信した状況を故意に作り出すことができる。
【００８８】
被試験装置１０２Ａと被試験装置１０２Ｂとでは、「Ｐａｔｔｅｒｎ♯１」を含むデータを受信するとそれに応じて何らかのデータを送信する。その送信されたデータは、キャプチャメモリ２０５Ａ，２０５Ｂにそれぞれ記憶される。このため、被試験装置１０２Ａと被試験装置１０２Ｂとがどのような振舞をするのかを、キャプチャメモリ２０５Ａ，２０５Ｂに記憶されたデータをトレースすることにより解析することができる。
【００８９】
＜第２の試験シナリオ＞
第２の試験シナリオは、被試験装置１０２Ｂからの応答データを故意に消失させることにより、その後の被試験装置１０２Ａと被試験装置１０２Ｂとのふるまいを試験することを目的とするための試験シナリオである。図１６は、本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。図１６（Ａ）は、別の試験シナリオの一例を示し、外部制御端末１０１から受信されるプロトコル試験プログラムを示し、図１６（Ｂ）は、プロトコル試験装置と、被試験装置１０２Ａ，１０２Ｂとの間で送受信されるデータの流れを示している。なお、図１６（Ａ）に示す試験シナリオにおいては、被試験装置１０２Ａを記号「Ａ」で示し、被試験装置１０２Ｂを記号「Ｂ」で示している。
【００９０】
図１６（Ａ）を参照して、プロトコル試験プログラムは、初期化命令がまず定義される。初期化命令のオペランドには、複接続形態であることを示す記号は「Ｄｕａｌ  Ｐｏｒｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」が定義されている。
【００９１】
次に定義されるセンド命令では、オペランドの方向情報として、被試験装置１０２Ｂから１０２Ａに向かう方向が定義され、データ格納位置情報として「Ｄａｔａ♯１」が定義されている。データ格納位置情報は、便宜的に記号「Ｄａｔａ♯１」で示しているが、実際には「０」と「１」とを配列したパターンである。ここで図１６（Ｂ）を参照して、プロトコル試験装置から「Ｄａｔａ♯１」のアドレスで特定されるデータメモリ２０６の領域に格納されたデータが被試験装置１０２Ａに送信される。
【００９２】
次に定義されるセンド命令では、オペランドの方向情報として、被試験装置１０２Ａから１０２Ｂに向かう方向が定義され、データ格納位置情報として「Ｄａｔａ♯２」が定義されている。データ格納位置情報は、便宜的に記号「Ｄａｔａ♯２」で示しているが、実際には「０」と「１」とを配列したパターンである。ここで図１６（Ｂ）を参照して、プロトコル試験装置から「Ｄａｔａ♯２」のアドレスで特定されるデータメモリ２０６の領域に格納されたデータが被試験装置１０２Ｂに送信される。
【００９３】
次に定義されるスキップ命令では、オペランドのＩ／Ｏ情報は被試験装置１０２Ａから被試験装置１０２Ｂに向かう方向、すなわちデータバッファ２０７Ａが定義され、比較情報として「Ｐａｔｔｅｒｎ♯１」が定義されている。したがって、プロトコル試験装置では、被試験装置１０２ＡからＰａｔｔｅｒｎ♯１を含む受信データが受信されるまで被試験装置１０２Ａから受信されたデータを被試験装置１０２Ｂに転送し、被試験装置１０２ＡからＰａｔｔｅｒｎ♯１を含む受信データが受信された場合に、その受信データを被試験装置１０２Ｂに転送した後、次に定義されるウエイト命令に進む。
【００９４】
次に定義されるウエイト命令では、オペランドのＩ／Ｏ情報として、被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義され、比較情報として「Ｐａｔｔｅｒｎ♯２」が定義されている。比較情報は、便宜的に記号「Ｐａｔｔｅｒｎ♯２」で示しているが、実際には「０」と「１」とを配列したパターンである。ここで図１６（Ｂ）を参照して、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」のデータを含む受信データが受信されるまで被試験装置１０２Ｂから受信されたデータを被試験装置１０２Ａに転送するが、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」を含む受信データが受信された場合には、プロトコル試験装置は、その受信データを被試験装置１０２Ａに送信することなく、データ保持部２０３Ｂに保持したままデータバッファ２０７Ｂの出力をオフにする。このため、以降被試験装置１０２Ｂから受信されるデータは、データバッファ２０７Ｂに蓄積されることになる。
【００９５】
次に定義されるドロップ命令では、オペランドの方向情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義されている。ここで図１６（Ｂ）を参照して、被試験装置１０２Ｂから受信され、データ保持部２０３Ｂに保持されている「Ｐａｔｔｅｒｎ♯２」を含む受信データが廃棄され、被試験装置１０２Ａに転送されることはない。
【００９６】
そして、次に定義されるネクスト命令は、オペランドのＩ／Ｏ情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義されている。このため、データバッファ２０７Ｂに対して出力オン信号が出力され、データバッファ２０７Ｂが出力オン状態となる。
【００９７】
そして最後にホルト命令が定義される。
このプロトコル試験プログラムが命令実行部２０３で実行されることにより、プロトコル試験装置から、まず「Ｄａｔａ♯１」のアドレスで特定されるデータが被試験装置１０２Ａに送信される。そして、次に「Ｄａｔａ♯２」のアドレスで特定されるデータが被試験装置１０２Ｂに送信される。その後、被試験装置１０２Ａ，１０２Ｂからは、それぞれが受信したデータに基づくデータが生成されて相手方の被試験装置１０２Ｂ，１０２Ａに出力される。プロトコル試験装置では、スキップ命令により被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」が送信されたことを検出した後、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」を含むデータが送信された場合には、その「Ｐａｔｔｅｒｎ♯２」を含むデータを廃棄する。これにより、プロトコル試験装置は、「Ｄａｔａ♯１」を含むデータを被試験装置１０２Ａに送信することにより、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」を含むデータを出力させることができる。また、被試験装置１０２Ｂに対して「Ｄａｔａ♯２」を出力することにより、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」のデータを出力させることができる。また、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」が受信された場合には、その受信データを消失させるので、その後に被試験装置１０２Ａ，１０２Ｂがどのようなデータを出力するのかを、キャプチャメモリ２０５Ａ，２０５Ｂで後にトレースとすることにより、各被試験装置１０２Ａ，１０２Ｂのふるまいを解析することができる。
【００９８】
＜第３の試験シナリオ＞
第３の試験シナリオは、被試験装置１０２Ｂから出力されるデータを故意に異なるデータに変更することにより、その後の被試験装置１０２Ａと被試験装置１０２Ｂのふるまいを試験するための試験シナリオである。図１７は、本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。図１７（Ａ）は、外部制御端末１０１から受信され、プログラムメモリ２０４に記憶される試験シナリオを実現するためのプロトコル試験プログラムの一例を示す図である。図１７（Ｂ）は、プロトコル試験装置と、被試験装置１０２Ａ，１０２Ｂ間で送受信されるデータの流れを示す図である。
【００９９】
図１７（Ａ）を参照して、プロトコル試験プログラムは、被試験装置１０２Ａに対して「Ｄａｔａ♯１」のデータを送信するセンド命令、被試験装置１０２Ｂに対して「Ｄａｔａ♯２」のデータを送信するセンド命令、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」を含むデータが被試験装置１０２Ｂに対して出力されるまで、そのデータを被試験装置１０２Ａから受信して被試験装置１０２Ｂに送信するスキップ命令、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」を含むデータが被試験装置１０２Ａに送信された場合に、その「Ｐａｔｔｅｒｎ♯２」を含むデータをデータ保持部２０３Ｂに保持するウエイト命令を含む。ここまでの命令は、図１６に示した命令と同じであるので、ここでは説明を繰返さない。
【０１００】
次に定義されるオーバーライト命令は、オペランドの方向情報として、被試験装置１０２Ｂから１０２Ａに向かう方向が定義され、データ格納位置情報として「Ｄａｔａ♯３」が定義されている。データ格納位置情報は、便宜的に記号「Ｄａｔａ♯３」で示しているが、実際には「０」と「１」とを配列したパターンである。ここで図１７（Ｂ）を参照して、前に実行されたウエイト命令によりデータ保持部２０３Ｂに保持されている被試験装置１０２Ｂから受信された受信データが廃棄され、「Ｄａｔａ♯３」のアドレスで特定されるデータメモリ２０６の領域に格納されたデータがデータ保持部２０３Ｂに上書きされる。
【０１０１】
次に定義されるトランスファ命令では、オペランドの方向情報には、被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向が定義されているため、データ保持部２０３Ｂに保持している上書きされたデータが被試験装置１０２Ａに送信される。
【０１０２】
そして、次に定義されるネクスト命令は、オペランドのＩ／Ｏ情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義されている。このため、データバッファ２０７Ｂに対して出力オン信号が出力され、データバッファ２０７Ｂが出力オン状態となる。
【０１０３】
そして最後にホルト命令が定義される。
このプロトコル試験プログラムがプロトコル試験装置１００で実行されることにより、プロトコル試験装置からは、被試験装置１０２Ａに対して、「Ｄａｔａ♯１」のアドレスで特定されるデータが送信される。これに応じて、被試験装置１０２Ａからは、「Ｐａｔｔｅｒｎ♯１」を含むデータが被試験装置１０２Ｂに対して出力されることになる。また、プロトコル試験装置は、被試験装置１０２Ｂに対して、「Ｄａｔａ♯２」のアドレスで特定されるデータが出力される。これに応じて被試験装置１０２Ｂは、「Ｐａｔｔｅｒｎ♯２」を含むデータを被試験装置１０２Ａに出力することになる。プロトコル試験装置は、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」を含むデータを受信すると、そのデータを被試験装置１０２Ａに送信することなく、代わりに「Ｄａｔａ♯３」のデータを送信する。このように、被試験装置１０２Ａに対して、被試験装置１０２Ｂが「Ｄａｔａ♯２」を受信し、それに応答して出力した「Ｐａｔｔｅｒｎ♯２」のデータを故意に「Ｄａｔａ♯３」に変更している。このため、その後被試験装置１０２Ａと被試験装置１０２Ｂとがどのようなデータを出力するのかを、キャプチャメモリ２０５Ａ，２０５Ｂに記録されたデータをトレースすることにより解析することができる。
【０１０４】
＜第４の試験シナリオ＞
第４の試験シナリオは、被試験装置１０２Ｂからの応答データを故意に遅延させることにより、その後の被試験装置１０２Ａ，１０２Ｂのふるまいを試験するための試験シナリオである。図１８は、本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。図１８（Ａ）は、外部制御端末１０１から受信され、プログラムメモリ２０４に記憶される試験シナリオを実現するためのプロトコル試験プログラムの一例を示す図である。図１８（Ｂ）は、プロトコル試験装置１００と、被試験装置１０２Ａ，１０２Ｂとの間で送受信されるデータの流れを示す図である。
【０１０５】
図１８（Ａ）を参照して、プロトコル試験プログラムは、被試験装置１０２Ａに対して「Ｄａｔａ♯１」のデータを送信するセンド命令、被試験装置１０２Ｂに対して「Ｄａｔａ♯２」のデータを送信するセンド命令、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」を含むデータが被試験装置１０２Ｂに対して出力されるまで、そのデータを被試験装置１０２Ａから受信して被試験装置１０２Ｂに送信するスキップ命令、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」を含むデータが被試験装置１０２Ａに送信された場合に、その「Ｐａｔｔｅｒｎ♯２」を含むデータをデータ保持部２０３Ｂに保持するウエイト命令を含む。ここまでの命令は、図１６に示した命令と同じであるので、ここでは説明を繰返さない。
【０１０６】
次に定義されるスリープ命令は、オペランドの待機時間情報として、時間＃ｔが定義される。ここで図１８（Ｂ）を参照して、前に実行されたウエイト命令によりデータ保持部２０３Ｂに保持されている被試験装置１０２Ｂから受信された受信データが、時間＃ｔだけそのまま維持される。
【０１０７】
次に定義されるトランスファ命令では、オペランドの方向情報には、被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向が定義されているため、データ保持部２０３Ｂに保持しているデータ（Ｐａｔｔｅｒｎ＃２）が被試験装置１０２Ａに送信される。
【０１０８】
そして、次に定義されるネクスト命令は、オペランドのＩ／Ｏ情報に被試験装置１０２Ｂから被試験装置１０２Ａに向かう方向、すなわちデータバッファ２０７Ｂが定義されている。このため、データバッファ２０７Ｂに対して出力オン信号が出力され、データバッファ２０７Ｂが出力オン状態となる。
【０１０９】
そして最後にホルト命令が定義される。
図１８（Ｂ）を参照して、図１８（Ａ）に示したプロトコル試験プログラムがプロトコル試験装置１００で実行されると、プロトコル試験装置からは、「Ｄａｔａ♯１」のアドレスで特定されるデータが被試験装置１０２Ａに出力される。被試験装置１０２Ａでは、これに応じて「Ｐａｔｔｅｒｎ♯１」を含むデータを被試験装置１０２Ｂに出力する。プロトコル試験装置では、「Ｄａｔａ♯２」のアドレスで特定されるデータを被試験装置１０２Ｂに出力する。被試験装置１０２Ｂでは、これに応じて「Ｐａｔｔｅｒｎ♯２」を含むデータを被試験装置１０２Ａに出力するはずである。プロトコル試験装置では、被試験装置１０２Ａから「Ｐａｔｔｅｒｎ♯１」を含むデータを受信すると、それを被試験装置１０２Ｂに転送する。そして、被試験装置１０２Ｂから「Ｐａｔｔｅｒｎ♯２」の受信を検出すると、受信されたデータをデータ保持部２０３Ｂに保持し、時間♯ｔだけ待って被試験装置１０２Ａにそのデータを出力する。これにより、被試験装置１０２Ｂから出力される「Ｐａｔｔｅｒｎ♯２」を含むデータの被試験装置１０２Ａへの転送時間を、時間♯ｔだけ遅延させる。これにより、その後被試験装置１０２Ａ，１０２Ｂがどのようなふるまいをするのかを、キャプチャメモリ２０５Ａ，２０５Ｂをトレースすることにより解析することができる。
【０１１０】
以上説明したように本実施の形態におけるプロトコル試験装置１００においては、キャプチャメモリ２０５Ａ，２０５Ｂには、被試験装置１０２Ａ，１０２Ｂに送信したデータまたはそれらから受信されたデータが記憶される。たとえば、被試験装置１０２Ａから受信したデータの少なくとも一部が予め定められた比較情報と比較され、比較の結果に応じて比較情報を含むと判断された場合には、被試験装置１０２Ｂに送信するデータが、変更、削除または遅延される。プロトコル試験装置１００は、被試験装置１０２Ａから受信したデータを比較情報と比較するので、通信プロトコルに依存することなく、被試験装置１０２Ａから所定のデータが受信されたことを検出することができる。
【０１１１】
また、比較情報との比較の結果、受信されたデータに比較情報が含まれる場合には、被試験装置１０２Ｂに送信するデータが、変更、削除、または遅延される。このため、被試験装置１０２Ａ，１０２Ｂに所定の条件を設定することが可能となる。
【０１１２】
プロトコル試験装置１００は、被試験装置１０２Ａから受信されたデータをそのまま被試験装置１０２Ｂに送信するため、被試験装置１０２Ａと被試験装置１０２Ｂとの間の通信プロトコルに依存することなく、データを転送することができる。また、被試験装置１０２Ａ，１０２Ｂから受信されたデータを比較情報と比較することにより所定のデータが受信されたことを検出するので、プロトコルに依存することなく所定のデータが被試験装置１０２Ａまたは被試験装置１０２Ｂから出力されたことを検出することができる。
【０１１３】
また、プロトコル試験装置は、送信元の被試験装置１０２Ａ，１０２Ｂから出力されたデータを、変更、削除または遅延して送信先の被試験装置１０２Ｂ，１０２Ａに送信するか、または送信しないので、被試験装置１０２Ａ，１０２Ｂを所定の条件に容易に設定することができる。
【０１１４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態の１つにおけるプロトコル試験装置の接続形態の例を示す図である。
【図２】本実施の形態におけるプロトコル試験装置の機能の概略を示すブロック図である。
【図３】本実施の形態におけるプロトコル試験装置および外部制御端末で実行される処理の流れを示すフローチャートである。
【図４】本実施の形態におけるプロトコル試験装置で実行される命令形式の一例を示す図である。
【図５】本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の流れを示すフローチャートである。
【図６】本実施の形態におけるプロトコル試験装置で実行される初期化処理の流れを示すフローチャートである。
【図７】本実施の形態におけるプロトコル試験装置で実行されるウエイト処理の流れを示すフローチャートである。
【図８】本実施の形態におけるプロトコル試験装置で実行されるスキップ処理の流れを示すフローチャートである。
【図９】本実施の形態におけるプロトコル試験装置で実行されるスリープ処理の流れを示すフローチャートである。
【図１０】本実施の形態におけるプロトコル試験装置で実行されるトランスファ処理の流れを示すフローチャートである。
【図１１】本実施の形態におけるプロトコル試験装置で実行されるドロップ処理の流れを示すフローチャートである。
【図１２】本実施の形態におけるプロトコル試験装置で実行されるオーバーライト処理の流れを示すフローチャートである。
【図１３】本実施の形態におけるプロトコル試験装置で実行されるセンド処理の流れを示すフローチャートである。
【図１４】本実施の形態におけるプロトコル試験装置で実行されるネクスト処理の流れを示すフローチャートである。
【図１５】本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す図である。
【図１６】本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。
【図１７】本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。
【図１８】本実施の形態におけるプロトコル試験装置で実行されるプロトコル試験処理の試験シナリオの一例を示す別の図である。
【符号の説明】
１００  プロトコル試験装置、１０１  外部制御端末、１０２Ａ，１０２Ｂ  被試験装置、１０３，１０３Ａ，１０３Ｂ  通信回線、１０４  制御回線、２０１  ユーザインターフェイス部、２０２  命令解読部、２０３  命令実行部、２０３Ａ，２０３Ｂ  データ保持部、２０５Ａ，２０５Ｂ  キャプチャメモリ、２０６  データメモリ、２０３Ａ，２０３Ｂ  データ保持部、２０４  プログラムメモリ、２０５Ａ，２０５Ｂ  キャプチャメモリ、２０７Ａ，２０７Ｂ  データバッファ。
【図１】
2005018245.tif 000003
【図２】
2005018245.tif 000004
【図３】
2005018245.tif 000005
【図４】
2005018245.tif 000006
【図５】
2005018245.tif 000007
【図６】
2005018245.tif 000008
【図７】
2005018245.tif 000009
【図８】
2005018245.tif 000010
【図９】
2005018245.tif 000011
【図１０】
2005018245.tif 000012
【図１１】
2005018245.tif 000013
【図１２】
2005018245.tif 000014
【図１３】
2005018245.tif 000015
【図１４】
2005018245.tif 000016
【図１５】
2005018245.tif 000017
【図１６】
2005018245.tif 000018
【図１７】
2005018245.tif 000019
【図１８】
2005018245.tif 000020