(57)【要約】【課題】論理シミュレーションによる評価が順調に進行可能にする。【解決手段】目的パケット判断部１５０は、受信した要求パケットに対して、送信すべき応答パケットである目的パケットがシミュレーション結果テーブル１７０にあるか否かを判断する。目的パケットがあるときに、応答パケット出力１６０は、目的パケットをシミュレーション結果テーブルから読み出して送信する。一方、目的パケットが無いときに、システム制御部１４０は、受信した要求パケットについての論理シミュレーションを論理シミュレータ１８０に実行させると共に、対向接続機器１１０との接続を切断し、論理シミュレータ１８０による論理シミュレーションの完了後に再接続するように制御する。テーブル生成部１９０は、論理シミュレータ１８０が得た応答パケットと、要求パケットとを対応付けてシミュレーション結果テーブル１７０に書き込む。【選択図】図１
2009026101.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して対向接続機器と接続可能な論理回路の論理エミュレータと、
該論理シミュレータが要求パケットについて論理シミュレーションを行って得た応答パケットと前記要求パケットとを対応付けて格納するシミュレーション結果テーブルと、
前記ネットワークを介して前記対向接続機器から要求パケットを受信した際に、前記シミュレーション結果テーブルにおいて、該要求パケットに対応付けられた応答パケットを前記対向接続機器に送信すべき目的パケットとしてその有無を判断する目的パケット判断部と、
前記目的パケット判断部より前記目的パケットがあると判断したときに、該目的パケットを前記シミュレーション結果テーブルから読み出して前記対向接続機器に送信する応答パケット出力部と、
前記目的パケット判断部より前記目的パケットが無いと判断したときに、該要求パケットについての論理シミュレーションを前記論理シミュレータに実行させると共に前記対向接続機器との接続を切断し、前記論理シミュレータによる前記論理シミュレーションの完了後に再び前記対向接続機器との接続を行う制御部と、
前記論理シミュレータが得られた前記要求パケットの応答パケットを、該要求パケットと対応付けて前記シミュレーション結果テーブルに書き込むテーブル生成部とを備えることを特徴とする評価装置。
【請求項２】
前記シミュレーション結果テーブルは、前記対向接続機器と接続した後の最初の要求パケットの受信を起点とする要求パケットの受信順に応じた受信番号と、要求パケットと、応答パケットとを対応付けて格納するものであり、
前記目的パケット判断部は、前記シミュレーション結果テーブルにおいて、今回受信した要求パケットの受信番号に対応付けられた応答パケットを目的パケットとしてその有無を判断することを特徴とする請求項１に記載の評価装置。
【請求項３】
前記シミュレーション結果テーブルは、さらに、要求パケットに対して前記シミュレータによるシミュレーションが実行されたか否かを示すフラグを該要求パケットの受信番号に対応付けて格納し、
前記目的パケット判断部は、前記シミュレーション結果テーブルにおいて、今回受信した要求パケットの受信番号に対応付けられた前記フラグを参照することにより、前記目的パケットの有無を判断し、
前記テーブル生成部は、前記論理シミュレータにより得られた応答パケットを前記シミュレーションテーブルに書き込む際に、該応答パケットに対応するフラグを更新することを特徴とする請求項２に記載の評価装置。
【請求項４】
前記シミュレーション結果テーブルは、要求パケットと、応答パケットと、接続の開始から切断までを１回の通信とした場合の同じ回の通信において前記要求パケットの１つ前に受信した要求パケットを示す情報である親識別子とを対応付けて格納するものであり、
前記目的パケット判断部は、前記シミュレーション結果テーブルにおいて、今回受信した要求パケットの親識別子と同一の親識別子に対応付けられており、かつ、今回受信した要求パケットと同一の要求パケットに対応付けられた応答パケットを、目的パケットとしてその有無を判断することを特徴とする請求項１に記載の評価装置。
【請求項５】
前記シミュレーション結果テーブルは、さらに、要求パケットに対して前記シミュレータによるシミュレーションが実行された否かを示すフラグを該要求パケットに対応付けて格納し、
前記目的パケット判断部は、前記シミュレーション結果テーブルにおいて、今回受信した要求パケットの親識別子と同一の親識別子に対応付けられており、かつ、今回受信した要求パケットと同一の要求パケットに対応付けられた前記フラグを参照することにより、前記目的パケットの有無を判断し、
前記テーブル生成部は、前記論理シミュレータにより得られた応答パケットを前記シミュレーションテーブルに書き込む際に、該応答パケットに対応するフラグを更新すること
を特徴とする請求項４に記載の評価装置。
【請求項６】
前記シミュレーション結果テーブルは、さらに、要求パケットを一意に識別できる識別子を該要求パケットに対応付けて格納し、
前記親識別子は、同じ回の通信において１つ前に受信した要求パケットの識別子であることを特徴とする請求項４または５に記載の評価装置。
【請求項７】
前記テーブル生成部は、受信した要求パケットに対して前記論理シミュレータが実行したシミュレーションの結果が応答しないことを示すときに、応答しないことを示す情報を応答パケットとして該要求パケットに対応付けて前記シミュレーション結果テーブルに書き込み、
前記応答パケット出力部は、目的パケットに該当する応答パケットの内容が応答しないことを示すときに、送信を行わないことを特徴とする請求項１から６のいずれか１項に記載の評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価技術、具体的には論理回路に対して論理シミュレーションによる評価を行う技術に関する。
【背景技術】
【０００２】
電子機器の評価にはエミュレータがよく用いられる。エミュレータは、評価対象となる電子機器に対向接続する機器（以下対向接続機器または対向機器という）を完全に模倣する装置またはソフトウェアであり、通常、実時間での動作が可能である。
【０００３】
図１３は、特許文献１における図１であり、エミュレータを使用した評価システムが開示されている。このシステムは評価対象機器２を評価するためのものであり、ネットワーク３を介してエミュレータ１と評価対象機器２が接続されている。
【０００４】
エミュレータ１は、生成手段１ａ、決定手段１ｂ、送信手段１ｃを有する。生成手段１ａは、要求パケットに対応する応答パケットを指定するユーザからの操作入力に応答して、エミュレーションデータ１ｄを生成する。エミュレーションデータ１ｄは、ネットワーク３に接続可能な他の機器（対向機器）の通信に関する動作を定義したものであり、要求パケットと応答パケットとが対応付けてそれに登録される。決定手段１ｂは、評価対象機器２から要求パケットを受け取ると、エミュレーションデータ１ｄを参照し、その要求パケットに対応する応答パケットを決定する。送信手段１ｃは、決定手段１ｂが決定した応答パケットを、ネットワーク３を介して評価対象機器２に送信する。
【０００５】
このシステムでは、評価対象機器２が出力する要求パケットに対する応答パケットを、ユーザからの入力により任意に設定可能である。すなわち、任意の対向機器の動作内容をユーザが入力することで、任意のエミュレーションデータ１ｄを設定できる。たとえば、評価対象機器２との間で協働して動くことのある対向機器の動作を模倣した応答パケットを設定することができる。エミュレータ１は、エミュレーションデータ１ｄの定義に従って、評価対象機器２からの要求パケットに対する応答パケットを返す。これにより、評価対象機器２が、対向機器との間で行う協働動作の正確さを評価することができる。
【０００６】
一方、論理回路の開発分野において、設計した論理回路の論理機能やタイミングなどを検証するために、機能レベルまたはレジスタトランスファレベル（ＲＴＬ）の論理記述言語（Ｖｅｒｏｌｏｇ／ＶＨＤＬ、ＳｙｓｔｅｍＣ、Ｃなど）による論理記述で動作モデルを構築し、動作モデルを用いて論理シミュレーションすることが行われている。これにより、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などに回路を実装する前にソフトウェアにより論理回路の妥当性を評価できるため、開発の負担を軽減することができる。以下、論理シミュレーションを行うソフトウェアを論理シミュレータという。なお、論理シミュレータは、論理回路の論理機能やタイミングを検証することを目的とする性質上、一般的には実時間での動作ができない。
【特許文献１】特開２００２−２３２５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
論理回路の妥当性の評価を、論理回路と接続する可能性のある多種多様な対向機器に対して行う必要がある。論理シミュレーションによるこの評価を実行するためには、これらの対向機器の論理記述や動作モデル、場合によっては動作モデルなどを動作させるためのソフトウェアを用いることが理想である。しかし、これらのものは、開発元の資産であり、一般的に公開されないため、すべて入手することは現実的に不可能である。
【０００８】
その一方、対向機器の動作モデルなどの入手が困難であっても、それらの実際の機器は市販されている商品であるため、容易に入手することができる。対向機器の実機を用いて論理シミュレーションを実行することによって、論理回路の評価を可能にすることが望まれている。
【０００９】
ここで、図１３が示すエミュレーションによる評価手法を、論理回路の論理シミュレーションに適用した場合について考える。この場合、図１４に示すシステム構成の模式が考えられる。
【００１０】
図１４に示すように、評価装置３０は、論理シミュレータ３３を備え、ネットワーク２０を介して実機である対向機器１０と接続されている。論理シミュレータ３３には、図示しない論理記述が含まれており、この論理記述により構成された論理回路の動作モデルは、評価対象である。
【００１１】
評価装置３０における送受信部３１は、対向機器１０からの要求パケットＲＥＱを受信すると共に、シミュレーションデータ３２に格納された、該ＲＥＱに対応する応答パケットＲＥＳを対向機器１０に返送する。シミュレーションデータ３２には、要求パケットＲＥＱと、応答パケットＲＥＳが対応付けて格納されている。なお、シミュレーションデータ３２は、外部からの操作入力に応じて論理シミュレータ３３により作成される。
【００１２】
このような構成により、対向機器の実機を用いて論理シミュレータ３３に含まれた論理記述の評価ができる。
【００１３】
ところで、図１４に示すシステムでは、操作者が想定しうる範囲内で対向機器１０の要求パケットＲＥＱを論理シミュレータ３３に入力してシミュレーションを行わせて応答パケットＲＥＳを得るようにしているので、実機となる対向機器１０を用いて評価を実施する際に、対向機器１０からの要求パケットＲＥＱのうち、それに対応する応答パケットＲＥＳがシミュレーションデータ３２に登録されていないものが有りうる。
【００１４】
対向機器１０からの要求パケットＲＥＱに対応する応答パケットＲＥＳがシミュレーションデータ３２に登録されておらず、評価装置３０が応答しないと、対向機器１０は、評価装置３０がプロトコル異常により正常に通信ができないと判断して通信の停止や、ネットワーク２０のリセットなどを行う可能性があり、評価が進行できない恐れがある。
【００１５】
また、対向機器１０からの要求パケットＲＥＱに対応する応答パケットＲＥＳがシミュレーションデータ３２に登録されていない場合に、外部からの操作入力により論理シミュレータ３３に論理シミュレーションを行わせて当該要求パケットＲＥＱに対する応答パケットＲＥＳを得る対策も考えられる。しかし、前述したように、一般的に、論理シミュレータは実時間での動作ができない。そのため、図１５に示すように、要求パケットＲＥＱの受信から、論理シミュレータ３３が論理シミュレーションを行って応答パケットＲＥＳを取得し、評価装置３０が応答パケットＲＥＳを送信可能になるまでの必要な時間は、規格が規定する応答時間の最大値を超えてしまい、結果的に、評価装置３０が応答しない場合と同様の上記の問題が起こる。
【課題を解決するための手段】
【００１６】
本発明の１つの態様は評価装置である。この評価装置は、ネットワークを介して対向接続機器と接続可能な論理回路の論理シミュレータと、シミュレーション結果テーブルと、目的パケット判断部と、応答パケット出力部と、制御部と、テーブル生成部とを有する。
【００１７】
シミュレーション結果テーブルは、要求パケットと、論理シミュレータが要求パケットについて論理シミュレーションを行って得た応答パケットとを対応付けて格納する。
【００１８】
目的パケット判断部は、ネットワークを介して対向接続機器から要求パケットを受信した際に、シミュレーション結果テーブルにおいて、該要求パケットに対応付けられた応答パケットを対向接続機器に送信すべき目的パケットとしてその有無を判断する。
【００１９】
応答パケット出力部は、目的パケット判断部より目的パケットがあると判断したときに、該目的パケットをシミュレーション結果テーブルから読み出して対向接続機器に送信する。
【００２０】
制御部は、目的パケット判断部より目的パケットが無いと判断したときに、該要求パケットについての論理シミュレーションを論理シミュレータに実行させると共に対向接続機器との接続を切断し、論理シミュレータによる論理シミュレーションの完了後に再び対向接続機器との接続を行う。
【００２１】
テーブル生成部は、論理シミュレータが得られた応答パケットを、要求パケットと対応付けてシミュレーション結果テーブルに書き込む。
【００２２】
なお、ここでいう「要求パケット」および以下の説明における「要求パケット」は、対対向接続機器から評価装置、より正確には論理シミュレータに送信するデータのことを意味する。また、「応答パケット」は、論理シミュレータにより作成され、評価装置から対向接続機器に返送するデータのことを意味する。
【００２３】
なお、上記装置を方法や、システム、プログラムに置き換えて表現したものも、本発明の態様として有効である。
【発明の効果】
【００２４】
本発明にかかる評価技術によれば、実機となる対向機器を用いて、論理シミュレーションによる論理回路の評価が順調に進行できる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施の形態について説明する。
＜第１の実施の形態＞
図１は、本発明の第１の実施形態にかかるシステム１００の構成を示す。システム１００は、設計した論理回路の妥当性を評価するためのものであり、該論理回路と接続する可能性のある対向機器１１０と、評価装置１３０を有する。
【００２６】
対向機器１１０は、実時間で動作する実機であり、ネットワーク１２０を介して評価装置１３０と接続されている。ネットワーク１２０は、それに接続された各々の機器間の通信のためのプロトコルに該当し、たとえばＵＳＢ、ＩＥＥＥ１３９４、Ｅｔｈｅｒｎｅｔ（登録商標）などである。
【００２７】
なお、図２に示すように、対向機器１１０は、ネットワーク１２０のプロトコルに応じた様々な種類を有する。
【００２８】
評価装置１３０は、送受信部１３２と、ネットワーク接続部１３４と、ネットワーク切断部１３６と、システム制御部１４０と、目的パケット判断部１５０と、応答パケット出力部１６０と、シミュレーション結果テーブル１７０と、テーブル生成部１９０と、論理シミュレータ１８０を備える。ネットワーク接続部１３４と、ネットワーク切断部１３６と、システム制御部１４０とは、請求項でいう制御部の機能を備える。
【００２９】
図１に示すシステム１００の評価装置１３０において、様々な処理を行う機能ブロックとして記載された各要素は、ハードウェア的には、プロセッサ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３０】
システム制御部１４０は、ネットワーク接続部１３４、ネットワーク切断部１３６、目的パケット判断部１５０、応答パケット出力部１６０、論理シミュレータ１８０、およびテーブル生成部１９０の制御を行う。
【００３１】
送受信部１３２は、ネットワーク１２０を介して、ネットワーク１２０上を送受信するパケットの物理的な信号変換を行い、対向機器１１０と評価装置１３０間の送受信を行う。送受信部１３２による送受信の具体的な内容は要求パケットＲＥＱと応答パケットＲＥＳが挙げられる。要求パケットＲＥＱは、対向機器１１０が評価装置１３０に送信するデータであり、応答を規定する情報（アドレス、命令コードなど）を含む。応答パケットＲＥＳは、評価装置１３０が対向機器１１０に送信するデータであり、要求パケットＲＥＱに対する応答情報を含む。
【００３２】
ネットワーク接続部１３４は、システム制御部１４０の制御に従って対向機器１０と評価装置１３０との接続を行う。ネットワーク切断部１３６は、システム制御部１４０の制御に従って、ネットワーク１２０を介して通信中の対向機器１０と評価装置１３０間の接続を切断する。
【００３３】
論理シミュレータ１８０は、外部からの操作入力Ｗにより起動され、システム制御部１４０の制御に従って論理シミュレーションを実行する。論理シミュレータ１８０は、論理記述１８２を有する。この論理記述１８２は、評価の対象であり、論理記述言語などで記述された論理回路の動作モデル、および動作モデルを動作させるソフトウェアを有する。論理シミュレータ１８０は、システム制御部１４０の制御に従って論理シミュレーションを実行し、結果として得た応答パケットＲＥＳをテーブル生成部１９０に出力する。
【００３４】
テーブル生成部１９０は、システム制御部１４０の制御と論理シミュレータ１８０の出力に応じてシミュレーション結果テーブル１７０への書込みを行う。
【００３５】
シミュレーション結果テーブル１７０は、受信番号フィールド１７２と、要求パケットフィールド１７４と、応答パケットフィールド１７６と、実行済みフラグフィールド１７８を有する。
【００３６】
受信番号フィールド１７２は、１つずつインクリメントされる数値を順次格納しており、本実施の形態では例として、「１、２、３、・・・」のようになっている。これらの数値は、対向機器１１０と接続した後の最初の要求パケットの受信を起点とする要求パケットの受信順に応じた受信番号として機能する。例えば、図１に示す例のように受信番号フィールド１７２に「１、２、３、・・・」の受信番号が格納されている場合、接続した後に最初に受信した要求パケットＲＥＱの受信番号が「１」となり、その後、通信が切断されるまで、要求パケットＲＥＱを受信するたびに、それらの要求パケットＲＥＱの受信番号は先に受信した順から「２、３、４、・・・」のようになる。また、接続が切断され、のちに再開された場合には、再開後に受信した要求パケットＲＥＱに対して、それらの受信番号は、また先に受信した順から「１、２、３、・・・」のようになる。
【００３７】
要求パケットフィールド１７４は、受信番号フィールド１７２に格納された各受信番号が示す受信順に対応する要求パケットＲＥＱの内容を格納している。これは、テーブル生成部１９０よりシステム制御部１４０の制御に従って書き込まれる。
【００３８】
応答パケットフィールド１７６は、要求パケットＲＥＱに対して論理シミュレータ１８０が行ったシミュレーション結果である応答パケットＲＥＳの内容を格納している。これは、テーブル生成部１９０が論理シミュレータ１８０から受信して書き込んだものである。
【００３９】
実行済みフラグフィールド１７８は、当該要求パケットＲＥＱに対して、論理シミュレーションが実行されたか否かを示すフラグを格納している。図１に示す例では、受信番号が「１」である要求パケットＲＥＱ１は、論理シミュレータ１８０による論理シミュレーションが完了しており、それに対応するフラグが実行済みを示す「１」になっている。一方、受信番号が「２」である要求パケットＲＥＱ２は、論理シミュレータ１８０による論理シミュレーションが完了しておらず、それに対応するフラグが実行済みではないことを示す「０」になっている。なお、論理シミュレーションが実行済みであることは、当該要求パケットＲＥＱに対する応答パケットＲＥＳの内容が既に得られており、シミュレーション結果テーブル１７０に格納されたことを意味する。
【００４０】
このように、要求パケットフィールド１７４に格納された要求パケットＲＥＱの内容と、応答パケットフィールド１７６に格納された応答パケットＲＥＳの内容と、実行済みフラグフィールド１７８に格納されたフラグとは、受信番号フィールド１７２に格納された受信番号により互いに対応付けてシミュレーション結果テーブル１７０を構成する。
【００４１】
目的パケット判断部１５０は、送受信部１３２が要求パケットＲＥＱを受信した際に、この要求パケットＲＥＱの受信順位に対応する受信番号に基づいて実行済みフラグフィールド１７８を参照し、該要求パケットＲＥＱに対して、返送すべき応答パケットＲＥＳである目的パケットがシミュレーション結果テーブル１７０に格納されているか否かを判断する。具体的には、目的パケット判断部１５０は、実行済みフラグフィールド１７８において、上記受信番号に対応するフラグが「１」であれば、目的パケットがシミュレーション結果テーブル１７０に格納されていると判断する一方、フラグが「０」であれば、目的パケットがシミュレーション結果テーブル１７０に格納されていないと判断する。
【００４２】
システム制御部１４０は、目的パケット判断部１５０による判断の結果に応じて下記のように動作する。
【００４３】
Ａ．目的パケットがシミュレーション結果テーブル１７０に格納されている場合には、目的パケットに該当する応答パケットＲＥＳを応答パケット出力部１６０に出力させる。
【００４４】
Ｂ．目的パケットがシミュレーション結果テーブル１７０に格納されていない場合には、ネットワーク切断部１３６に対向機器１１０との通信を切断するように指示すると共に、テーブル生成部１９０に該要求パケットＲＥＱの登録を指示する。そして、該要求パケットＲＥＱに対する論理シミュレーションを論理シミュレータ１８０に実行させる。
【００４５】
上記Ｂの場合において、論理シミュレータ１８０は、システム制御部１４０の制御に従って、指示された要求パケットＲＥＱをシミュレーション結果テーブル１７０から読み出して論理シミュレーションを実行する。論理シミュレータ１８０は、論理シミュレーションが完了すれば、その旨をシステム制御部１４０に通知すると共に、論理シミュレーションの結果となる応答パケットＲＥＳをテーブル生成部１９０に出力する。
【００４６】
テーブル生成部１９０は、システム制御部１４０からの要求パケットＲＥＱの登録指示に従って、要求パケットフィールド１７４における、該要求パケットＲＥＱの受信番号に対応する欄に要求パケットＲＥＱを書き込む。また、論理シミュレータ１８０から応答パケットＲＥＳを受信すると、応答パケットフィールド１７６における、上記受信番号に対応する欄に応答パケットＲＥＳを書き込むと共に、実行済みフラグフィールド１７８に格納された、上記受信番号に対応するフラグを「１」にセットする。
【００４７】
システム制御部１４０は、論理シミュレータ１８０から論理シミュレーションの完了が通知されると、通信再開のために、ネットワーク接続部１３４に接続を指示する。
【００４８】
図３は、本実施の形態のシステム１００における処理の流れを示すフローチャートである。評価の開始に当たり、まず、システム制御部１４０は、テーブル生成部１９０を介してシミュレーション結果テーブル１７０における実行済みフラグフィールド１７８のすべての実行済みフラグを「０」に初期化する（Ｓ１１０）。そして、外部操作入力Ｗにより論理シミュレータ１８０が起動されるのに伴い、システム制御部１４０は、ネットワーク接続部１３４に、対向機器１１０との接続を行わせる（Ｓ１１４、Ｓ１１８）。また、システム制御部１４０は、内部に保持している受信番号変数Ｎを「１」にセットし（Ｓ１２０）、対向機器１１０からの要求パケットを待つ（Ｓ１２４：Ｎｏ）。
【００４９】
対向機器１１０から要求パケットを受信すると（Ｓ１２４：Ｙｅｓ）、目的パケット判断部１５０は、シミュレーション結果テーブル１７０の実行済みフラグフィールド１７８を参照し、受信番号変数Ｎの値と同一の受信番号に対応するフラグが「１」であるか否かを確認すると共に、確認の結果をシステム制御部１４０に通知する（Ｓ１２８）。
【００５０】
ステップＳ１２８における確認の結果、当該フラグが「１」であるとき（Ｓ１２８：Ｙｅｓ）、送信すべき応答パケットすなわち目的パケットがシミュレーション結果テーブル１７０に格納されているので、システム制御部１４０は、応答パケット出力部１６０に当該応答パケットの送信を指示する。応答パケット出力部１６０は、システム制御部１４０の指示に従って、応答パケットフィールド１７６から当該応答パケットを読み出して送受信部１３２に出力することにより対向機器１１０に送信する（Ｓ１３０）。そして、システム１００の処理は、ステップＳ１４０に進む。
【００５１】
ステップＳ１４０において、システム制御部１４０は、評価が完了していれば（Ｓ１４０：Ｙｅｓ）、処理を終了する。評価が完了していなければ（Ｓ１４０：Ｎｏ）、システム制御部１４０は、受信番号変数Ｎの値を１つインクリメントして（Ｓ１５０）、対向機器１１０からの次の要求パケットを待つ（Ｓ１２４〜）。
【００５２】
ステップＳ１２８における確認の結果、当該フラグが「０」であるとき（Ｓ１２８：Ｎｏ）、目的パケットがシミュレーション結果テーブル１７０に格納されていないので、システム制御部１４０は、要求パケットフィールド１７４における、受信番号変数Ｎの値と同一の受信番号に対応する欄に要求パケットを書き込むようにテーブル生成部１９０を制御する（Ｓ１６０）。また、システム制御部１４０は、対向機器１１０との通信を切断するようにネットワーク切断部１３６を制御すると共に、論理シミュレータ１８０に論理シミュレーションの実行を行わせる。（Ｓ１６４）。
【００５３】
論理シミュレータ１８０は、システム制御部１４０の制御に従い、シミュレーション結果テーブル１７０の要求パケットフィールド１７４から、受信番号変数Ｎの値と同一の受信番号に対応する要求パケットを読み出して論理シミュレーションを実行して応答パケットを得る。なお、この要求パケットは、ステップＳ１６０においてテーブル生成部１９０により書き込まれたものである。また、論理シミュレータ１８０は、読み出した要求パケットについて論理システムを実行した得た応答パケットをテーブル生成部１９０に出力すると共に、システム制御部１４０に論理シミュレーションの完了を通知する。
【００５４】
テーブル生成部１９０は、論理シミュレータ１８０から受信した応答パケットを、応答パケットフィールド１７６における、受信番号変数Ｎの値と同一の受信番号に対応する欄に書き込むと共に、対応するフラグを「１」にセットする（Ｓ１６８）。また、システム制御部１４０は、論理シミュレータ１８０から論理シミュレーションの完了通知を受信すると、ネットワーク接続部１３４に対向機器との接続を行わせることによって、通信を再開させる（Ｓ１１８〜）。
【００５５】
このように、本実施の形態のシステム１００において、評価装置１３０は、要求パケットを受信した際に、送信すべき応答パケットがシミュレーション結果テーブル１７０に登録されていない場合に、該要求パケットについて応答パケットを求める論理シミュレーションを論理シミュレータ１８０に実行させると共に、対向機器１１０と評価装置１３０の通信を切断する。また、論理シミュレータ１８０による論理シミュレーションが完了し、応答パケットが得られた後に、システム制御部１４０は、対向機器１１０と評価装置１３０の接続を行わせることによって、最初から通信をやり直すようにしている。論理シミュレータ１８０が論理シミュレータを実行して間、通信が切断されているので、論理シミュレータ１８０より応答パケットを得るまで時間がかかっても、論理シミュレータ１８０にプロトコル異常があると誤判断されてしまうことを防ぐことができ、評価が順調に進行できる。
【００５６】
また、同じ要求パケットに対して、受信側は内部の状態によって異なる内容の応答パケットを送信すべき場合がある。すなわち、要求パケットと応答パケットとを対応付けて保持し、受信した要求パケットの内容に基づいて、該要求パケットに対応する応答パケットを送信するシステム構成では、同じ要求パケットに対応する応答パケットが複数ある状況に対応することができないという問題がある。
【００５７】
他方、ネットワークのプロトコルの多くは、通信が開始（切断後の再開を含む）されるたびに、同じシーケンスで要求パケットの送信がなされる。このようなネットワークにより接続された対向接続機器と評価装置で構成されたシステムにおいて、例えば、１回目の通信において、対向接続機器は、要求パケットＲＥＱ１、要求パケットＲＥＱ２、要求パケットＲＥＱ３、・・・の順に要求パケットを送信した後に、通信が切断されたとする。再接続により開始された２回目の通信において、対向接続機器は、１回目の通信時と同じシーケンスで、また要求パケットＲＥＱ１、要求パケットＲＥＱ２、要求パケットＲＥＱ３、・・・の順に要求パケットを送信する。すなわち、ある回の通信において所定の順位で送信された要求パケットは、他の回の通信においても同様な順位で送信される。
【００５８】
本実施の形態のシステム１００では、このことに着目し、受信順位に対応する受信番号で要求パケットと応答パケットとを対応付けて保持する。そして、受信した要求パケットの内容ではなく、該要求パケットの受信番号を基に応答パケットの決定をしているので、上記問題を解決することができる。
＜第２の実施の形態＞
【００５９】
ここで、ネットワークのプロトコルに基づき、応答をしないように定められた要求パケットが存在する場合に、図１が示すシステム１００による手法を適用した実施の形態を説明する。ネットワークのプロトコルの例として、ＵＳＢ２．０（以下略して単にＵＳＢともいう）を用いる。
【００６０】
図４は、本発明の第２の実施の形態にかかるシステム２００を示す。システム２００は、対向機器となるパーソナルコンピュータ（以下対向接続ＰＣという）２１０と、評価装置２３０とを有し、対向接続ＰＣ２１０と評価装置２３０は、ＵＳＢネットワーク２２０により接続されている。
【００６１】
対向接続ＰＣ２１０は図示しないＵＳＢホストコントローラを有する。
【００６２】
評価装置２３０は、評価用のパーソナルコンピュータ（以下単にＰＣという）２８２と、該ＰＣ２８２に接続された評価用のボード２３１を有する。ＰＣ２８２には、論理シミュレータ２８０を搭載している。論理シミュレータ２８０は、評価対象となるＵＳＢ周辺機器の論理回路の論理記述（図示せず）を有しており、ＰＣ２８２上で動作する。
【００６３】
図５は、図４に示すシステム２００におけるボード２３１を示す。ボード２３１は、送受信部２３２と、ネットワーク接続部２３４と、ネットワーク切断部２３６と、システム制御部２４０と、目的パケット判断部２５０と、応答パケット出力部２６０と、シミュレーション結果テーブル２７０とを備える。これらの各要素ブロックの詳細構成は、図１に示すシステム１００における相対応する要素ブロックとほぼ同じであるので、ここで詳細な説明を省略する。なお、ネットワーク接続部２３４と、ネットワーク切断部２３６と、システム制御部２４０は、請求項でいう制御部の機能を備える。
【００６４】
ＵＳＢ規格により、下記のパケットが定められている。
（１）トークンパケット（ＳＯＦ／ＳＥＴＵＰ／ＩＮ／ＯＵＴ／ＰＩＮＧ）
トークンパケットは、ＵＳＢホストコントローラが送信するものであり、ＵＳＢ周辺機器に対して規定するアドレス番号、エンドポイント番号、ＣＲＣなどが含まれる。
【００６５】
（２）データパケット（ＤＡＴＡ０／ＤＡＴＡ１／ＤＡＴＡ２／ＭＤＡＴＡ）
データパケットは、ＵＳＢホストコントローラとＵＳＢ周辺機器の両方が送受信するものであり、送受信するデータおよびＣＲＣを含む。
【００６６】
（３）ハンドシェークパケット（ＡＣＫ／ＮＡＫ／ＮＹＥＴ／ＳＴＡＬＬ）
ハンドシェークパケットも、ＵＳＢホストコントローラとＵＳＢ周辺機器の両方が送受信するものであり、ＣＲＣを含む。
【００６７】
ＵＳＢホストコントローラとＵＳＢ周辺機器間におけるパケットの発生順に着目すると、ＵＳＢ２．０規格により定義される転送の種類を下記の６つに分類することができる。
（１）ＯＵＴ／ＳＥＴＵＰトランザクション
１．ＵＳＢホストコントローラがＯＵＴパケットまたはＳＥＴＵＰパケットを送出する。
２．ＵＳＢホストコントローラがＤＡＴＡ０またはＤＡＴＡ１を送出する。
３．ＵＳＢ周辺機器がＡＣＫ、ＮＡＫ、ＮＹＥＴ、ＳＴＡＬＬのうちのいずれか１つを送出する。
【００６８】
（２）ＩＮトランザクション（ＵＳＢ周辺機器がデータパケットを送信する場合）
１．ＵＳＢコントローラがＩＮパケットを送出する。
２．ＵＳＢ周辺機器がＤＡＴＡ０またはＤＡＴＡ１を送出する。
３．ＵＳＢホストコントローラがＡＣＫパケットを送出する。
【００６９】
（３）ＩＮトランザクション（ＵＳＢ周辺機器がハンドシェークパケットを送信する場合）とＰＩＮＧトランザクション
１．ＵＳＢホストコントローラがＩＮパケットまたはＰＩＮＧパケットを送出する。
２．ＵＳＢ周辺機器が、ＡＣＫ、ＮＡＫ、ＳＴＡＬＬのうちのいずれか１つを送出する。
【００７０】
（４）ＯＵＴトランザクション（アイソクロナス転送の場合）
１．ＵＳＢホストコントローラがＯＵＴパケットを送出する。
２．ＵＳＢホストコントローラがＤＡＴＡ０、ＤＡＴＡ１、ＤＡＴＡ２、ＭＤＡＴＡのいずれかのパケットを送出する。
【００７１】
（５）ＩＮトランザクション（アイソクロナス転送の場合）
１．ＵＳＢホストコントローラがＩＮパケットを送出する。
２．ＵＳＢ周辺機器がＤＡＴＡ０またはＤＡＴＡ１を送出する。
【００７２】
（６）ＳＯＦトランザクション
１．ＵＳＢホストコントローラがＳＯＦパケットを送出する。
【００７３】
上記６つの転送うちの種類（１）にあたるＯＵＴ／ＳＥＴＵＰトランザクションでは、手順１にＵＳＢホストコントローラが送出したＯＵＴパケットまたはＳＥＴＵＰパケットに対して、ＵＳＢ周辺機器が返答せず、ＵＳＢホストコントローラからの次の要求パケット（手順２にてＵＳＢホストコントローラが送出するＤＡＴＡ０またはＤＡＴＡ１）を待つように定められている。
【００７４】
同様に、種類（２）の手順３にてＵＳＢホストコントローラが送出した要求パケット、種類（４）における手順１と手順２にてＵＳＢホストコントローラが送出したパケット、種類（６）における手順１にてＵＳＢホストコントローラが送出した要求パケットの場合にも、ＵＳＢ周辺機器が返答しないように定められている。
すなわち、ＵＳＢ規格において、ＵＳＢホストコントローラからの要求パケットのうち、ＵＳＢ周辺機器が応答しないように定められているものがある。
【００７５】
図５に示すように、本実施の形態において、このような要求パケットに対する応答パケットの応答内容を「なし」としてシミュレーション結果テーブル２７０を構築している。こうすることによって、ＵＳＢ周辺機器の論理シミュレーションによる評価を可能にする。
【００７６】
図６は、本実施の形態のシステム２００における処理の流れを示すフローチャートである。評価の開始に当たり、まず、システム制御部２４０は、テーブル生成部２９０を介してシミュレーション結果テーブル２７０における実行済みフラグフィールド２７８のすべての実行済みフラグを「０」に初期化する（Ｓ２１０）。そして、外部操作入力ＷによりＰＣ２８２に実装された論理シミュレータ２８０が起動されるのに伴い、システム制御部２４０は、ネットワーク接続部２３４に、対向接続ＰＣ２１０との接続を行わせる（Ｓ２１４、Ｓ２１８）。また、システム制御部２４０は、内部に保持された受信番号変数Ｎを「１」にセットし（Ｓ２２０）、対向接続ＰＣ２１０からの要求パケットを待つ（Ｓ２２４：Ｎｏ）。
【００７７】
対向接続ＰＣ２１０から要求パケットを受信すると（Ｓ２２４：Ｙｅｓ）、目的パケット判断部２５０は、シミュレーション結果テーブル２７０の受信番号フィールド２７２と実行済みフラグフィールド２７８を参照し、受信番号変数Ｎの値と同一の受信番号に対応するフラグが「１」であるか否かを確認すると共に、確認の結果をシステム制御部２４０に通知する（Ｓ２２８）。
【００７８】
ステップＳ２２８における確認の結果、当該フラグが「１」であるとき（Ｓ２２８：Ｙｅｓ）、送信すべき応答パケットすなわち目的パケットがシミュレーション結果テーブル２７０に格納されているので、システム制御部２４０は、応答パケット出力部２６０に当該応答パケットの送信を指示する。応答パケット出力部２６０は、システム制御部２４０の指示に従って、応答パケットフィールド２７６を参照し、該当する応答パケットの内容を確認する（Ｓ２３０）。そして、応答パケットの内容が「なし」であるとき（Ｓ２３４：Ｙｅｓ）、応答パケット出力部２６０は応答パケットの送信動作をせず、システム２００の処理はステップＳ２４０に進む。一方、応答パケットの内容が「なし」以外であるとき（Ｓ２３４：Ｎｏ）、応答パケット出力部２６０は該当する応答パケットをシミュレーション結果テーブル２７０から読み出して送受信部２３２に出力することにより対向接続ＰＣ２１０に送信する（Ｓ２３８）。そして、システム２００の処理は、ステップＳ２４０に進む。
【００７９】
ステップＳ２４０において、システム制御部２４０は、評価が完了していれば（Ｓ２４０：Ｙｅｓ）、処理を終了する。評価が完了していなければ（Ｓ２４０：Ｎｏ）、システム制御部２４０は、受信番号変数Ｎの値を１つインクリメントして（Ｓ２５０）、対向接続ＰＣ２１０からの次の要求パケットを待つ（Ｓ２２４〜）。
【００８０】
ステップＳ２２８における確認の結果、当該フラグが「０」であるとき（Ｓ２２８：Ｎｏ）、目的パケットがシミュレーション結果テーブル２７０に格納されていないので、システム制御部２４０は、要求パケットフィールド２７４における、受信番号変数Ｎの値と同一の受信番号に対応する欄に要求パケットを書き込むようにテーブル生成部２９０を制御する（Ｓ２６０）。また、システム制御部２４０は、対向接続ＰＣ２１０との通信を切断するようにネットワーク切断部２３６を制御すると共に、論理シミュレータ２８０に論理シミュレーションの実行を行わせる。（Ｓ２６４）。
【００８１】
論理シミュレータ２８０は、システム制御部２４０の制御に従い、シミュレーション結果テーブル２７０の要求パケットフィールド２７４から、受信番号変数Ｎの値と同一の受信番号に対応する要求パケットを読み出して論理シミュレーションを実行して応答パケットを得る。なお、この要求パケットは、ステップＳ２６０においてテーブル生成部２９０により書き込まれたものである。また、論理シミュレータ２８０は、読み出した要求パケットについて論理システムを実行した得た応答パケットをテーブル生成部２９０に出力すると共に、システム制御部２４０に論理シミュレーションの完了を通知する。
【００８２】
テーブル生成部２９０は、論理シミュレータ２８０から受信した応答パケットを、応答パケットフィールド２７６における、受信番号変数Ｎの値と同一の受信番号に対応する欄に書き込むと共に、対応するフラグを「１」にセットする（Ｓ２６８）。また、システム制御部２４０は、論理シミュレータ２８０から論理シミュレーションの完了通知を受信すると、ネットワーク接続部２３４に対向機器との接続を行わせることによって、通信を再開させる（Ｓ２１８〜）。
【００８３】
本実施の形態のシステム２００は、図１に示すシステム１００と同様な効果を得ることができる。また、応答しないように定められた要求パケットがある場合にも対応できる。
＜第３の実施の形態＞
【００８４】
図７は、本発明の第３の実施の形態にかかるシステム３００を示す。前述したシステム１００とシステム２００は、対向接続機器と評価装置間の通信が切断された後に再度接続がなされ、通信が再開された場合に、対向接続機器は、切断前の通信時と同じシーケンスで要求パケットを送信するように定められたネットワークプロトコルを対象としている。そのため、通信の切断後に接続がなされることにより通信が再開されたときに、対向接続機器が以前の通信時と異なる順序で要求パケットを送信する可能性のあるプロトコルの通信機器の場合において、評価装置から応答すべきではない応答パケットを対向接続機器に出力し、正しい評価を得ることができない恐れがある。
【００８５】
システム３００は、この問題を解決することができる。
図７に示すシステム３００において、シミュレーション結果テーブル３７０を除いて、他の各要素ブロックの構成は、図１に示す第１の実施の形態のシステム１００における相対応する要素ブロックとほぼ同じであるので、以下、シミュレーション結果テーブル３７０に重点をおいて説明する。また、「接続の開始から切断まで」を１回の通信とする。
【００８６】
シミュレーション結果テーブル３７０の各フィールドへの書込みの詳細について後述することにし、まず、シミュレーション結果テーブル３７０の構成を説明する。
【００８７】
図８は、シミュレーション結果テーブル３７０の構成を示す。シミュレーション結果テーブル３７０は、識別子フィールド３７１と、親識別子フィールド３７２と、要求パケットフィールド３７３と、応答パケットフィールド３７４と、実行済みフラグフィールド３７５を備える。
【００８８】
識別子フィールド３７１は、要求パケットを一意に識別可能な識別子を格納する。同じ内容の要求パケットは同じ識別子が付与され、内容が異なる要求パケットはその識別子も異なる。
【００８９】
親識別子フィールド３７２は、同じ回の通信において、１つ前に受信した要求パケットの識別子を格納する。また、例えば、識別子が「１」から付与される場合、「０」である親識別子は、該親識別子に対応する要求パケット（図８において該親識別子と同じ行にある要求パケット）が、今回の通信の最初に受信した要求パケットであることを示す。
【００９０】
図９に示すツリーを参照して、図８に示すシミュレーション結果テーブル３７０の各行の識別子と親識別子がなす意味を説明する。
【００９１】
図９における左上部は、図８の１行目に対応する。図示のように、この行において、要求パケットＲＥＱ１１の識別子が１であり、親識別子が０である。そのため、ＲＥＱ１１は、今回の通信の最初に受信したものである。
【００９２】
図９の中央左側は、図８の２行目に対応する。識別子が２である要求パケットＲＥＱ２１の親識別子が１であるため、要求パケットＲＥＱ２１は、識別子が１である要求パケット（ＲＥＱ１１）の次に受信されている。
【００９３】
図９の中央右側は、図８の６行目に対応する。識別子が６である要求パケットＲＥＱ２２の親識別子が１であるため、他の回の通信において、要求パケットＲＥＱ２２は、識別子が１である要求パケット（ＲＥＱ１１）の次に受信されている。
【００９４】
図９の左下部は、図８の４行目に対応する。識別子が４である要求パケットＲＥＱ３１の親識別子が２であるため、要求パケットＲＥＱ３１は、識別子が２である要求パケット（ＲＥＱ２１）の次に受信されている。
【００９５】
図９の右下部は、図８の５行目に対応する。識別子が５である要求パケットＲＥＱ３２の親識別子が２であるため、他の回の通信において、ＲＥＱ３２は、識別子が２である要求パケット（ＲＥＱ２１）の次に受信されている。
【００９６】
また、図９における右上部は、図８の３行目に対応する。識別子が６である要求パケットＲＥＱ１２の親識別子が０であるため、ＲＥＱ１２は、ＲＥＱ１１が最初に受信した回と別回の通信の最初に受信されている。
【００９７】
シミュレーション結果テーブル３７０のこのような構成を踏まえて、システム３００における処理を説明する。
【００９８】
図１０は、図７に示すシステム３００における処理の流れを示すフローチャートである。評価の開始に当たり、まず、システム制御部３４０は、テーブル生成部３９０を介してシミュレーション結果テーブル３７０における実行済みフラグフィールド３７５のすべてのフラグを「０」に初期化すると共に、システム制御部３４０内で保持している識別子変数Ｌを「１」に初期化する（Ｓ３１０）。そして、外部操作入力Ｗにより論理シミュレータ３８０が起動されるのに伴い、システム制御部３４０は、ネットワーク接続部３３４に、対向機器３１０との接続を行わせことにより通信を開始させる（Ｓ３１４、Ｓ３１８）。そして、システム制御部３４０は、内部で保持している親識別子変数Ｐを「０」に初期化して（Ｓ３２０）、対向機器３１０からの要求パケットを待つ（Ｓ３２４：Ｎｏ）。
【００９９】
対向機器３１０から要求パケットを受信すると（Ｓ３２４：Ｙｅｓ）、目的パケット判断部３５０は、シミュレーション結果テーブル３７０を参照し、「親識別子フィールド３７２の値が変数Ｐの値である」、「要求パケットフィールド３７３に格納された内容が対向機器３１０から受信した要求パケットの内容と一致する」、「実行済みフラグフィールド３７５のフラグが「１」である」の３つの条件を満たす行を探索する（Ｓ３２６）。
【０１００】
ステップＳ３２６での探索の結果、目的の行が見つかったとき（Ｓ３２８：Ｙｅｓ）、送信すべき応答パケットすなわち目的パケットがシミュレーション結果テーブル３７０に格納されているので、応答パケット出力部３６０は、システム制御部３４０の制御に従って同じ行にある応答パケットフィールド３７４の内容を読み出して対向機器３１０に送信する（Ｓ３３０）。また、システム制御部３４０は、該行における識別子フィールド３７１の値を新しい識別子変数の値としてＰにロードする。その後、システム制御部３４０は、評価が完了していれば処理を終了し（Ｓ３４０：Ｙｅｓ）、評価が完了していなければ処理をステップＳ３２４に戻し、次の要求パケットの受信を待つ（Ｓ３４０：Ｎｏ、Ｓ３２４〜）。
【０１０１】
一方、ステップＳ３２６の探索の結果、目的の行が見つからなかったとき（Ｓ３２８：Ｎｏ）、テーブル生成部３９０は、システム制御部３４０の制御に従って、変数Ｌの値と変数Ｐの値、および受信した要求パケットの内容をシミュレーション結果テーブル３７０のそれぞれ該当するフィールドの同じ行に書き込む（Ｓ３６０）。また、システム制御部３４０は、対向機器３１０との通信を切断するようにネットワーク切断部３３６を制御すると共に、受信した要求パケットの論理シミュレーションを論理シミュレータ３８０に実行させる（Ｓ３６４）。
【０１０２】
論理シミュレータ３８０は、システム制御部３４０の制御に従って、シミュレーション結果テーブル３７０から当該応答パケットを読み出して論理シミュレーションを実行して応答パケットを得る。なお、この要求パケットは、ステップＳ３６０においてテーブル生成部３９０により書き込まれたものである。また、論理シミュレータ３８０は、応答パケットをテーブル生成部３９０に出力すると共に、システム制御部３４０に論理シミュレーションの完了を通知する。
【０１０３】
テーブル生成部３９０は、応答パケットフィールド３７４の、識別子が識別子変数Ｌの値と一致する行すなわちステップＳ３６０においてテーブル生成部３９０が書込みをした行に、論理シミュレータ３８０から受信した応答パケットを書き込むと共に、同じ行のフラグを「１」にセットする（Ｓ３６８）。
【０１０４】
そして、システム制御部３４０は、識別子変数Ｌの値を１つインクリメントすると共に、ネットワーク接続部３３４に対向機器３１０との接続を行わせることによって、次回の通信を開始させる（Ｓ３７０、Ｓ３１８〜）。ステップＳ３１９が示すように、次回の通信において、最初の要求パケットを受信する前に、親識別子変数Ｐの値が初期値「０」に戻される。そのため、次回の通信において最初の要求パケットを受信した際に、以前の回の通信で最初に受信され、かつこの要求パケットと同じ内容の要求パケットに対応する応答パケットが、送信すべき応答パケットとして選ばれる（Ｓ３２６）。
【０１０５】
図１１と図１２は、上述した処理の進行に従って、識別子変数Ｌや親識別子変数Ｐの遷移、およびこの遷移に伴ったシミュレーション結果テーブル３７０への書込み内容の一例を示す。なお、図１１と図１２の左端の欄において、要求パケットを囲む黒枠は、この要求パケットの応答パケットがシミュレーション結果テーブル３７０に登録されておらず、それに対して論理シミュレーションを実行する必要があることを示す。
【０１０６】
図１１に示すように、通信開始時に、識別子変数Ｌと親識別子変数Ｐはそれぞれ「１」と「０」に初期化される。このとき、シミュレーション結果テーブル３７０の各フィールドは初期状態である。
【０１０７】
最初に受信した要求パケットＲＥＱ１１について、「親識別子＝０（Ｐの値）、要求パケット＝ＲＥＱ１１、実行済みフラグ＝１」の行が無いため、通信が切断される。それに伴い、シミュレーション結果テーブル３７０の識別子フィールド３７１、親識別子フィールド３７２、要求パケットフィールド３７３の１行目に、それぞれ「１」（Ｌの値）と、「０」（Ｐの値）と、「ＲＥＱ１１」が書き込まれる。
【０１０８】
ＲＥＱ１１に対する論理シミュレーションが実行され、ＲＥＱ１１の応答パケットＲＥＳ１１が得られる。これに伴い、応答パケットフィールド３７４の１行目にＲＥＳ１１が書き込まれ、実行済みフラグフィールド３７５の１行目のフラグは「１」にセットされる。
【０１０９】
そして、通信の再開に当たって、識別子変数Ｌは１つインクリメントされ「２」になり、親識別子変数Ｐは初期値「０」のままである。
【０１１０】
通信再開後に最初に受信した要求パケットＲＥＱ１１について、「親識別子＝０（Ｐの値）、要求パケット＝ＲＥＱ１１、実行済みフラグ＝１」の行（行１）が見つかるため、応答パケットフィールド３７４の１行目に格納された応答パケットＲＥＳ１１は送信される。これに伴い、識別子フィールド３７１の１行目の識別子が親識別子変数Ｐにロードされ、親識別子変数Ｐの値が「１」になる。なお、識別子変数Ｌは「２」のままである。
【０１１１】
次に要求パケットＲＥＱ２１が受信される。ＲＥＱ２１について、「親識別子＝１（Ｐの値）、要求パケット＝ＲＥＱ２１、実行済みフラグ＝１」の行が無いため、通信が切断される。それに伴い、識別子フィールド３７１、親識別子フィールド３７２、要求パケットフィールド３７３の２行目に、それぞれ「２」（Ｌの値）と、「１」（Ｐの値）と、「ＲＥＱ２１」が書き込まれる。
【０１１２】
ＲＥＱ２１に対する論理シミュレーションが実行され、ＲＥＱ２１の応答パケットＲＥＳ２１が得られる。これに伴い、応答パケットフィールド３７４の２行目にＲＥＳ２１が書き込まれ、実行済みフラグフィールド３７５の２行目のフラグは「１」にセットされる。
【０１１３】
そして、通信の再開に当たって、識別子変数Ｌは１つインクリメントされ「３」になり、親識別子変数Ｐは初期値「０」に戻される。
【０１１４】
ところで、通信再開した後に最初に受信した要求パケットは、ＲＥＱ１１ではなく、今まで受信したことの無いＲＥＱ１２である。ＲＥＱ１２について、「親識別子＝０（Ｐの値）、要求パケット＝ＲＥＱ１２、実行済みフラグ＝１」の行が無いため、通信が切断される。それに伴い、識別子フィールド３７１、親識別子フィールド３７２、要求パケットフィールド３７３の３行目に、それぞれ「３」（Ｌの値）と、「０」（Ｐの値）と、「ＲＥＱ１２」が書き込まれる。
【０１１５】
ＲＥＱ１２に対する論理シミュレーションが実行され、ＲＥＱ１２の応答パケットＲＥＳ１２が得られる。これに伴い、応答パケットフィールド３７４の３行目にＲＥＳ１２が書き込まれ、実行済みフラグフィールド３７５の３行目のフラグは「１」にセットされる。
【０１１６】
そして、通信の再開に当たって、識別子変数Ｌは１つインクリメントされ「４」になり、親識別子変数Ｐは初期値「０」のままである。
【０１１７】
通信が再開し、ＲＥＱ１１の受信、ＲＥＳ１１の送信、ＲＥＱ２１の受信、ＲＥＳ２１の送信が行われる。親識別子変数ＰはＲＥＳ１１の送信に伴い１つインクリメントされ「１」になり、その後ＲＥＳ２１の送信に伴いまた１つインクリメントされ「２」になる。なお、通信の再開後、一度も切断がなされていないので、識別子変数Ｌは「４」のままである。
【０１１８】
図１２に移って説明する。流れが分かりやすいように、図１２の最上端のステップに、図１１の最下端のステップの内容が記載されている。
図１２の最上端のステップが示す要求パケットＲＥＳ２１の送信の後、要求パケットＲＥＱ３１が受信される。ＲＥＱ３１について、「親識別子＝２（Ｐの値）、要求パケット＝ＲＥＱ３１、実行済みフラグ＝１」の行が無いため、通信が切断される。それに伴い、識別子フィールド３７１、親識別子フィールド３７２、要求パケットフィールド３７３の４行目に、それぞれ「４」（Ｌの値）と、「２」（Ｐの値）と、「ＲＥＱ３１」が書き込まれる。
【０１１９】
ＲＥＱ３１に対する論理シミュレーションが実行され、ＲＥＱ３１の応答パケットＲＥＳ３１が得られる。これに伴い、応答パケットフィールド３７４の４行目にＲＥＳ３１が書き込まれ、実行済みフラグフィールド３７５の４行目のフラグは「１」にセットされる。
【０１２０】
このように、評価装置３００における処理の進行に伴い、シミュレーション結果テーブル３７０は、新しい要求パケットとそれに対応する応答パケットが登録され、図８に示す内容になる。
このような処理は、評価が終るまで繰り返される。
【０１２１】
本実施の形態のシステム３００は、受信した要求パケットに対して、送信すべき応答パケットがシミュレーション結果テーブル３７０に登録されていない場合に通信を切断して論理シミュレーションを行い、応答パケットが得られた後に通信を再開するようにしているので、前述したシステム１００とシステム２００と同様に、論理シミュレーションによる評価が順調に進行できる。
【０１２２】
また、評価装置３３０において、応答パケットを送信する度に、親識別子変数Ｐに、送信した応答パケットに対応する要求パケットの識別子をロードして親識別子変数Ｐの値を更新する。そして、次の要求パケットを受信したときに、送信すべき応答パケットすなわち目的パケットとして、該要求パケットと同じ内容であり、かつ親識別子変数Ｐの更新された値と同一の親識別子を有する応答パケットを探索する。こうすることによって、通信が再開されたときに対向機器から以前の回と異なるシーケンスで要求パケットを送信しても、送信すべき応答パケットを正しく決定することができるので、評価を正しく行うことができる。
【０１２３】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【０１２４】
【図１】本発明にかかる第１の実施の形態にかかるシステムを示すブロック図である。
【図２】ネットワークのプロトコルに準拠した対向接続機器の例を示す図である。
【図３】図１に示すシステムにおける処理の流れを示すフローチャートである。
【図４】本発明の第２の実施の形態にかかるシステムを示すブロック図である。
【図５】図４に示すシステムの評価装置におけるボードを示すブロック図である。
【図６】図４に示すシステムにおける処理の流れを示すフローチャートである。
【図７】本発明の第３の実施の形態にかかるシステムを示すブロック図である。
【図８】図７に示すシステムに用いられるシミュレーション結果テーブルを示す図である。
【図９】図８に示すシミュレーション結果テーブルにおける識別子と親識別子の作用を説明するための図である。
【図１０】図７に示すシステムにおける処理の流れを示すフローチャートである。
【図１１】図１０に示す処理の進行に伴ったシミュレーション結果テーブルへの登録内容を説明するための図である（その１）。
【図１２】図１０に示す処理の進行に伴ったシミュレーション結果テーブルへの登録内容を説明するための図である（その１）。
【図１３】エミュレーションによる評価システムの従来例を示す図である。
【図１４】図１３に示す評価システムを論理シミュレーションによる評価に適用した場合に考えられるシステムの例を示す図である。
【図１５】図１４に示すシステムの問題点を説明するための図である。
【符号の説明】
【０１２５】
１００  システム、１１０  対向機器
１２０  ネットワーク、  １３０  評価装置
１３２  送受信部、  １３４  ネットワーク接続部
１３６  ネットワーク切断部、  １４０  システム制御部
１５０  目的パケット判断部、  １６０  応答パケット出力部
１７０  シミュレーション結果テーブル、  １７２  受信番号フィールド
１７４  要求パケットフィールド、  １７６  応答パケットフィールド
１７８  実行済みフラグフィールド、  １８０  論理シミュレータ
１８２  論理記述、  １９０  テーブル生成部
２００  システム、  ２１０  対向接続ＰＣ
２２０  ネットワーク、  ２３０  評価装置
２３１  ボード、  ２３２  送受信部
２３４  ネットワーク接続部、  ２３６  ネットワーク切断部
２４０  システム制御部、  ２５０  目的パケット判断部
２６０  応答パケット出力部、  ２７０  シミュレーション結果テーブル
２７２  受信番号フィールド、  ２７４  要求パケットフィールド
２７６  応答パケットフィールド、  ２７８  実行済みフラグフィールド
２８０  論理シミュレータ、  ２８２  パーソナルコンピュータ
２９０  テーブル生成部、  ３００  システム
３００  評価装置、  ３１０  対向機器
３３０  評価装置、  ３３４  ネットワーク接続部
３３６  ネットワーク切断部、  ３４０  システム制御部
３５０  目的パケット判断部、  ３６０  応答パケット出力部
３７０  シミュレーション結果テーブル、  ３７１  識別子フィールド
３７２  親識別子フィールド、  ３７３  要求パケットフィールド
３７４  応答パケットフィールド、  ３７５  実行済みフラグフィールド
３８０  論理シミュレータ、  ３９０    テーブル生成部
【図１】
2009026101.tif 000003
【図２】
2009026101.tif 000004
【図３】
2009026101.tif 000005
【図４】
2009026101.tif 000006
【図５】
2009026101.tif 000007
【図６】
2009026101.tif 000008
【図７】
2009026101.tif 000009
【図８】
2009026101.tif 000010
【図９】
2009026101.tif 000011
【図１０】
2009026101.tif 000012
【図１１】
2009026101.tif 000013
【図１２】
2009026101.tif 000014
【図１３】
2009026101.tif 000015
【図１４】
2009026101.tif 000016
【図１５】
2009026101.tif 000017