(57)【特許請求の範囲】
【請求項１】
シミュレートしようとする通信機器の動作フローを記述した設定を格納した記憶装置と、前記設定に基づくシミュレート動作を実行する処理装置とを備え、
前記記憶装置に格納されている前記設定には、シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域が含まれ、
また、前記設定には、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域が含まれ、
前記処理装置は、シミュレート動作を実行する際に前記設定を読み込み、前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行する
ことを特徴とする、通信シミュレーション装置。
【請求項２】
前記設定は、データを構成する変数の順序関係、及び、データを構成する変数のデータサイズを示す記述として、データのフォーマットに対応する識別子を備え、
前記設定は、前記識別子と、フォーマットを構成する変数の変数名と、フォーマットを構成する変数の順序関係と、変数に対して割り当てられたデータサイズとを互いに関連付けて記述した領域である第３の領域を備える
ことを特徴とする、請求項１に記載の通信シミュレーション装置。
【請求項３】
前記設定は、前記変数の値を指定する記述を備えることを特徴とする、請求項２に記載の通信シミュレーション装置。
【請求項４】
前記第２の領域はヘッダー名を備え、
前記設定は、ヘッダー名と、ヘッダーを構成する変数の変数名と、ヘッダーを構成する変数の順序関係と、変数のデータサイズとを互いに関連付けた記述を備える
ことを特徴とする、請求項１乃至請求項３のいずれかに記載の通信シミュレーション装置。
【請求項５】
前記設定は、ヘッダーを構成する変数の値を記述した領域である第４の領域を備えることを特徴とする、請求項４に記載の通信シミュレーション装置。
【請求項６】
前記設定は動的に変化する変数を備えることを特徴とする請求項１乃至請求項５のいずれかに記載の通信シミュレーション装置。
【請求項７】
請求項１乃至請求項６のいずれかに記載の通信シミュレーション装置と、前記通信シミュレーション装置とデータ通信回線を介して接続された相手通信機器とを備える通信シミュレーションシステム。
【請求項８】
請求項１乃至請求項６のいずれかに記載の通信シミュレーション装置、及び、
接続された他の通信機器の動作を監視及び制御すると共に、前記相手通信機器として動作する監視制御手段
を備える通信装置であって、
前記監視制御手段は、前記通信装置の内部で、前記通信シミュレーション装置とデータ通信を行う通信装置。
【請求項９】
シミュレートしようとする通信機器の動作フローを記述した設定に基づくシミュレート動作を実行するコンピュータの処理装置を、
シミュレート動作の際に記憶装置に格納された、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域を備える設定を、読み込む手段と、
前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行する手段と
して動作させることを特徴とするプログラム。
【請求項１０】
シミュレートしようとする通信機器動作のフローを記述した設定であって、シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域を備える設定を、予め記憶装置に格納する段階と、
前記設定に基づくシミュレート動作を実行する処理装置により、シミュレート動作を実行する際に前記設定を読み込み、前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行する段階と
を含むことを特徴とする、通信シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一の通信シミュレーション装置にて様々な通信機器の動作を模擬するシミュレーションに関し、特に、通信シミュレーション装置にてシミュレートする通信機器の変更に関する。
【背景技術】
【０００２】
TCP/IP（Transmission Control Protocol/Internet Protocol）は通信ネットワークにおいて広く利用されている。TCP/IPは、ネットワークを構成する様々な通信機器と、それらを監視制御する機器、即ち、監視制御機器(Network Management System, NMS)との間で行うデータ通信にも利用されている。
【０００３】
NMSと各種の通信機器からなる通信ネットワークの設計・開発には、それぞれの通信機器とNMSとの間で通信試験を行う必要がある。NMSの監視対象となる通信機器には様々なものがあり、NMSと通信機器との間でやりとりされる通信の内容は、通信機器によって異なる。このため、この種の通信試験では、NMSの監視対象となる多数の通信機器との通信を試験する必要がある。
【０００４】
NMSの監視対象となるすべての通信機器の実機を揃えて通信試験を行うのは難しい。このため、NMSの監視対象となる通信機器のすべてを用意する代わりに、そうした通信機器の通信動作をシミュレートする通信シミュレーション装置を用意して通信試験を行うことがある。通信シミュレーション装置は、シミュレートする通信機器の仕様に基づいて、その通信機器の動作を模擬するハードウェアである。
【０００５】
通信機器の模擬動作をソフトウェアで実現するものもある。NMSの動作をコンピュータに実行させるプログラムを、データ通信インタフェースを備えるコンピュータのオペレーティングシステム上で実行することにより、NMSを実現することがある。この場合には、TCP/IP上で行われる各通信機器の様々な通信動作をシミュレートするプログラムを、NMSのプログラムと並行して実行することにより、NMSとシミュレートする通信機器の両方の動作を単独のコンピュータで実行する。
【０００６】
このように、通信シミュレーション装置、或いは、通信シミュレーションプログラム（以下両者を総称して通信シミュレータと記す）を利用して通信試験を行うこととすれば、通信機器の実機を用意しなくても通信ネットワークシステムの設計・開発を進めることができる。
【０００７】
本発明に関連する技術として、特許文献１には交換機制御装置の試験システムが記載されている。この試験システムは、複数の異機種交換機を制御する交換機制御装置の動作を擬似交換機として試験することを目的とし、交換機制御装置との間で共通の通信プロトコルで接続し、異機種交換機の種類に応じた特有のプロトコル制御を異機種交換機の種類毎に行ない、異機種交換機の種類に拠らない、交換機制御装置からのコマンドに対する応答処理を行なうものとして、同文献には記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−８１５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
この種の通信シミュレータは、シミュレートする通信機器の仕様に基づいて動作するように構成される。このため、ハードウェアとして通信シミュレータを実現して、通信シミュレーション装置を用いる場合には通信機器毎にハードウェアを用意する必要がある。
【００１０】
一方、ソフトウェアとして通信シミュレータを実現して、通信シミュレートプログラムを用いる場合には、ハードウェアはひとつでも構わないが、通信シミュレーションプログラムについては通信機器毎に用意する必要がある。このとき、ある通信機器用の通信シミュレーションプログラムの一部を変更することにより、別の通信機器用の通信シミュレーションプログラムを生成することが可能である。
【００１１】
しかし、一般に、プログラムを変更するには、そのプログラムを記述したプログラム言語についてある程度の知識が必要であり、プログラミングの経験がない者には難しい。また、そのプログラム言語でのプログラミング経験がある者であっても、他人が記述したプログラムを変更するのは難しい。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、シミュレートする通信機器を容易に変更可能な通信シミュレーション装置を提供することである。
【課題を解決するための手段】
【００１３】
上述の課題を解決するため、本発明は、その一態様として、シミュレートしようとする通信機器の動作フローを記述した設定を格納した記憶装置と、前記設定に基づくシミュレート動作を実行する処理装置とを備え、前記記憶装置に格納されている前記設定には、シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域が含まれ、また、前記設定には、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域が含まれ、前記処理装置は、シミュレート動作を実行する際に前記設定を読み込み、前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行することを特徴とする、通信シミュレーション装置を提供する。
【００１４】
また、本発明は、他の一態様として、シミュレートしようとする通信機器の動作フローを記述した設定に基づくシミュレート動作を実行するコンピュータの処理装置を、シミュレート動作の際に記憶装置に格納された、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域を備える設定を、読み込む手段と、前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行する手段として動作させることを特徴とするプログラムを提供する。
【００１５】
また、本発明は、他の一態様として、シミュレートしようとする通信機器動作のフローを記述した設定であって、シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した送受信データの領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述したフォーマット定義の領域であって、前記第１の領域とは異なる領域である第２の領域を備える設定を、予め記憶装置に格納する段階と、前記設定に基づくシミュレート動作を実行する処理装置により、シミュレート動作を実行する際に前記設定を読み込み、前記第１の領域に記述された各データ名が示す各々データについて、前記第２の領域に記述された対応するデータ名を参照することにより、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを読み出して、前記相手通信機器との間で送受信するデータを特定し、前記動作フローに沿って前記シミュレート動作を実行する段階とを含むことを特徴とする、通信シミュレーション方法を提供する。
【発明の効果】
【００１６】
本発明の通信シミュレーション装置によれば、シミュレートする通信機器を容易に変更することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態である通信シミュレーションシステム１００のブロック図である。
【図２】通信シミュレーション装置１のブロック図である。
【図３】個別設定２３の一例である。
【図４】シミュレーションプログラム２０の動作を説明するためのフローチャートである。
【図５】図３に例示した個別設定２３に基づくシミュレーション動作を説明するためのフローチャートである。
【図６】個別設定２３を部分的に変更する編集作業を説明するための図であり、図３の一部を変更した図である。
【図７】本発明の第２の実施の形態である監視制御機器３０のブロック図である。
【図８】シナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７をそれぞれ別のファイルにしたときの個別設定２３の一例を説明するための図である。
【発明を実施するための形態】
【００１８】
本発明を実施するための第１の実施の形態である通信シミュレーション装置１について説明する。図１に示すように、通信シミュレーション装置１は、データ通信ネットワーク２を介して、相手通信機器３と接続して使用されて、通信シミュレーションシステム１００を構成する。
【００１９】
通信シミュレーション装置１は、TCP/IP(Transmission Control Protocol/Internet Protocol)にて通信を行う様々な通信機器による通信を疑似的に実行する装置である。一般に、同じプロトロコル（TCP/IP）にてデータ通信を行う通信機器の間であっても、そのプロトコルを介して送受信するデータは、通信機器の仕様によって異なる。通信シミュレーション装置１は、通信機器によって異なる通信設定に基づいて、それぞれ仕様が異なる複数の通信機器の動作を疑似的に実行する。通信シミュレーション装置１がシミュレートする通信機器は、サーバ装置、クライアント端末装置であってもいいし、ルータ、スイッチ等のネットワーク機器であってもよい。また、IoT (Internet of Things)、M2M (Machine to Machine)のデータ通信を行うセンサー装置、測定装置、各種監視装置等、様々な機器も通信シミュレーション装置１がシミュレートする通信機器に含まれる。
【００２０】
データ通信ネットワーク２のデータ通信媒体は有線でも無線でもよく、両者が混在していてもよい。尚、ここでいうデータ通信ネットワーク２は、通信シミュレーション装置１と通信対象装置３とを直接に有線或いは無線のデータ通信媒体を介して直接に接続するものも含む。
【００２１】
通信対象装置３は、通信シミュレーション装置１とデータ通信を行う相手装置であり、特に、監視制御機器（network management system, NMS）を含む。一般に、監視制御機器は、様々なタイプの通信機器を相手としてデータ通信を行う都合上、その開発、試験等の段階において、多数の通信機器との通信テストを行う必要がある。通信シミュレーション装置１を用いることにより、多数の通信機器の実機を用意することなく、通信テストを行うことができる。
【００２２】
通信シミュレーション装置１について図２を参照して説明する。通信シミュレーション装置１は、ネットワークインタフェースを備える一般的なコンピュータからなり、CPU(Central Processing Unit)１１、主記憶装置１２、入出力装置１３、ネットワークインタフェース（Ｉ／Ｆ）１４、補助記憶装置１５、データバス１６を備える。
【００２３】
CPU１１は、主記憶装置１２にロードされたオペレーティングシステム、アプリケーションプログラム等に従って、演算処理、制御処理を行う処理装置である。演算処理としては、算術演算、論理演算をはじめとする各種の演算処理を実行する。制御処理としては、CPU１１自身や、データバス１６を介して接続された各種装置、即ち、入出力装置１３、ネットワークインタフェース（Ｉ／Ｆ）１４、補助記憶装置１５の動作を制御する処理を実行する。
【００２４】
主記憶装置１２はCPU１１とメモリバスによって接続された記憶装置であり、一次記憶装置として動作する。
【００２５】
入出力装置１３はキーボード、マウス、タッチパネル等の入力装置、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electro Luminescence)ディスプレイ等のディスプレイ装置を含む。
【００２６】
ネットワークI/F１４は例えばイーサネット（登録商標）と接続するためのネットワーク機能をコンピュータに提供する装置であり、OSI(Open Systems Interconnection)参照モデルにいう物理層及びデータリンク層としての機能を提供する。
【００２７】
補助記憶装置１５はHDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置である。補助記憶装置１５には、OS(Operating System)１７、シミュレーションプログラム２０が格納されている。OS１７は例えばUNIX（登録商標）系のOS、様々なLINUX（登録商標）、マイクロソフト社のMicrosoft Windows（登録商標）、アップル社のMac OS等が考えられる。シミュレーションプログラム２０は、OS１７上で動作するアプリケーションプログラムであり、プログラム本体２１、I/F設定２２、個別設定２３からなる。I/F設定２２、個別設定２３はテキストファイルである。
【００２８】
プログラム本体２１は、シミュレーションプログラム２０の本体となるプログラムであり、TCP/IPによって相手通信機器３と通信を行うプログラムである。TCP/IPによる通信機能は、シミュレーションプログラム２０が備えることとしてもよいし、OS１７が備えることとしてもよい。プログラム本体２１は、I/F設定２２及び個別設定２３に基づく特定の通信機器のシミュレート動作をCPU１１に実行させる。例えば、プログラム本体２１は、TCP/IPによって送信すべきデータを個別設定２３に基づいてCPU１１に生成させる。また、プログラム本体２１は、TCP/IPによって受信したデータを、個別設定２３に基づいてCPU１１に判定させる。
【００２９】
I/F設定２２は、通信シミュレーション装置１がシミュレート可能な全ての通信装置に共通する通信設定である。I/F設定２２には、例えば通信シミュレーション装置１に対して付与されるIPアドレス、通信に使用するポート番号が設定される。また、I/F設定２２には、通信相手となる相手通信機器３のIPアドレス、ポート番号が設定される。
【００３０】
個別設定２３は、通信シミュレーション装置１がシミュレートしようとしている通信装置によって異なる通信設定である。図３に示すように、個別設定２３はシナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７を含む。本実施形態では個別設定２３はひとつのテキストファイルである。図３の個別設定２３の中には、括弧＜＞で囲んだタグによって、シナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７をそれぞれ示す＜シナリオ＞、＜送受信データ＞、＜ヘッダー登録＞、＜フォーマット登録＞が区分されている。
【００３１】
シナリオ２４はシミュレートしようとしている通信装置の動作フローを記述した通信設定である。各行の冒頭の数字１〜８、１００、１０１、１１０〜１１２、１２０〜１２２は行番号を示す。行番号の後に登場する文字列”WAIT”, “SEND”, “IF”, “GOTO”はそれぞれその行で通信シミュレーション装置１が実行するコマンドである。”WAIT”は続く括弧[]内に記述されたデータの受信を待つコマンドである。“SEND”は続く括弧[]内に記述されたデータを相手通信機器３に送信するコマンドである。“IF”は条件分岐するためのコマンドであり、続く括弧[]内に記述されたデータを受信した場合に、その括弧[]に続いて記述されたコマンドを実行するコマンドである。“GOTO”は続いて記述された数字が示す行番号にジャンプするコマンドである。括弧[]に格納されたデータ、例えばr-data001、s-data001、R-DATA、TIME等はデータ名である。
【００３２】
送受信データ２５にはシナリオ２４に登場したデータが定義される。データ定義の手法には概ね次の３種類がある。
【００３３】
最初のデータ定義では、そのデータのIDのみを指定し、そのフォーマット内に登場する変数の値については特定せずに定義する。IDはメッセージ識別子であると共にフォーマット識別子である。この定義は特に受信データに適用される。このデータ定義は、通信シミュレーションを行う際、受信データのIDのみに基づく判定を行うときに用いられる。このとき、そのデータのヘッダやデータ本体に格納された値に基づく判定は行わない。
【００３４】
２番目のデータ定義では、そのデータのIDの指定に加えて、そのIDが示すフォーマットに登場する変数の値を指定して定義する。このデータ定義は特に送信データに適用される。データを送信する際にはフォーマットを指定するだけでは不十分であり、値の内容を指定する必要がある。尚、変数は十六進表記の数値である。
【００３５】
３番目のデータ定義では、ヘッダー及びデータ本体の両方の数値を、直接的に或いは間接的に記述するものがある。このデータ定義ではデータのIDを指定しない。
【００３６】
図３の＜送受信データ＞においてIDのみを定義したデータとして、受信データr-data001、r-data002、r-data003、r-data004がある。データ名の冒頭の”r-“は受信(receive)を示す。例えば図３の＜送受信データ＞の１行目の記述「r-data001:[ID=1901]」は、データ名r-data001で表されるデータが1901をIDとすることを示す。各IDが示すフォーマットについては後述するフォーマット登録２７についての説明を参照されたい。図３の＜送受信データ＞の３行目、r-data002:[ID=1911]、５行目のr-data003:[ID=1931]、８行目のr-data004:[ID=1941]についても同様である。
【００３７】
他方、図３の＜送受信データ＞においてIDと値の内容を定義したデータとして、送信データs-data001、s-data002、s-data003、s-data004がある。データ名の冒頭の”s-“は送信(send)を示す。例えば図３の＜送受信データ＞の２行目の記述「s-data001: [ID=1902], H03=30,H07=16,H12=1000,H15=0,H16=1,D002=a086」は、データ名をs-data001とするデータは、フォーマット識別子ID=1902で表されるフォーマットを有し、そのフォーマットにおいて、変数H03の値を30とし、変数H07の値を16とし、変数H12の値を1000とし、変数H15の値を0とし、変数H16の値を1とし、変数の値D002をa086としたものであることを示している。データs-data001のフォーマット識別子がID=1901であったのに対して、データs-data002のフォーマット識別子はID=1902であり、両者は異なる。しかし、変数H03、H07、H12、H15、H16、D002それぞれの値については、データs-data001とデータs-data002は共通である。尚、変数H03、H07、H12、H15、H16というように、冒頭に”H”のついた変数はヘッダーに格納される変数であり、変数D002のように冒頭に”D”のついた変数はそのデータの本体に格納される変数である。冒頭の”H”と続く2桁の数値からなる変数名は、その変数が、ヘッダーの先頭から数えて、その数値が示す順番に位置することを示す。例えば変数H03はヘッダーの先頭から3番目に位置するデータである。冒頭の”D”と続く3桁の数値からなる変数名についても同様であり、例えば変数D002はデータ本体の先頭から2番目に位置するデータである。
【００３８】
IDを指定せずにヘッダー及びデータ本体の両方の数値を記述したものとしては、s-data003、s-data004、s-data005がある。
【００３９】
図３の＜送受信データ＞の６、７行目には、データs-data003の定義が記載されているが、IDは記載されていない。データs-data003には[header01]、[header02]が記載されている。括弧[]内のheader01、header02はそれぞれヘッダー名である。ヘッダーheader01、header02については後述するヘッダー登録２６にて詳しく説明する。[header01]、[header02]に続く記載「H03=30,H07=16,H10=1932,H12=1000,H15=0,H16=2」は、header01、header02に含まれる変数のうち、値が未定のものの値を指定したものである。
【００４０】
header01、header02及びそれらの変数の値に続いて、図３の＜送受信データ＞の６、７行目には、[DATA]が記載されている。DATAはデータの本体を示す。UNIXTIME4は、4バイトの文字列で表現したUNIX時間である。UNIXTIME4の後ろのカンマに続く記載「00 00 a0 86 12 34 56 78 10 00 00 00」は、UNIXTIME4が示す数値の後に続く数値を表している。尚、2桁の数値の間のスペースは読みやすさのために挿入されたものであり、データとして含まれるものではない。
【００４１】
図３、＜送受信データ＞の９、１０行目にはデータs-data004が定義されている。s-data004は、H10、H16の各値、及び、UNIXTIME4以後の値が一部異なる他は、s-data003と同じである。
【００４２】
図３、＜送受信データ＞の１１〜１２行目にはデータs-data005が定義されている。データs-data005は、UNIXTIME4を除き、ヘッダー及びデータ本体の値を直接に定義したものである。
【００４３】
ヘッダー登録２６には、送受信データ２５、フォーマット登録２７にて登場するヘッダーのフォーマットと、そのフォーマットに含まれる変数の値の一部乃至全部が記述される。図３の＜ヘッダー登録＞の１行目には、header01を構成する６つの変数の値が、「H01=2,H02=0,H03=x,H04=0,H05=0,H06=0」と記述されている。変数H03の値はxとなっている。xの意味はそのデータが送信データか受信データかによって異なる。送信データの場合、xは＜送受信データ＞の欄にて指定される値である。例えば＜送受信データ＞２行目のs-data001の場合、変数H03の値xは、”H03=30”と指定されているので30となる。一方、受信データの場合、xは任意の値である。図３の＜ヘッダー登録＞の２行目には、header02を構成する１０個の変数の値が「H07=x,H08=2,H09=0,H10=ID,H11=0,H12=x,H13=1,H14=2,H15=x,H16=x」と記述されている。上述の変数H03と同様に、変数H07、H12、H15、H16のxは＜送受信データ＞の欄にて指定された値、或いは、任意の値である。変数H10の値はIDである。尚、変数H10の値としてIDを指定する代わりに、＜送受信データ＞の欄にて変数H10の値を直接指定することとしてもよい。例えば、データs-data3にheader02を適用する場合、＜送受信データ＞の欄にて指定したH10=1932を適用する。同様に、データs-data04にheader02を適用する場合、＜送受信データ＞の欄にて指定したH10=1942を適用する。
【００４４】
フォーマット登録２７には、ヘッダー及び送受信データのフォーマットの構造が定義される。図３の＜フォーマット登録＞の１行目「header01:H01(4),H02(2),H03(2),H04(8),H05(4),H06(4)」は、header01は、前から順に、６個の変数H01〜H06からなることを示すと共に、各変数のバイト数をその変数の直後の括弧（）内に示している。つまり、header01は、４バイトの変数H01、２バイトの変数H02、２バイトの変数H03、８バイトの変数H04、４バイトの変数H05、４バイトの変数H06の合計２４バイトからなる。
【００４５】
同様にして、図３の＜フォーマット登録＞の２行目には、header02が、前から順に、１０個の変数H07〜H16からなり、合計１６バイトの文字列からなることが定義されている。
【００４６】
図３の＜フォーマット登録＞の３〜１４行目には、フォーマット識別子IDが1901、1902、1911、1912、1931、1932、1941、1942であるフォーマットの構造が定義されている。ここで、各変数は、D001(UNIXTIME4)、D002(4)、D003(4)のように、Dnnn(X)といった形式で記載されている。アルファベットDの後に三桁の数字nnnが続き、更に丸括弧で囲んだ値Xが続いている。このうちDnnnは変数名である。丸括弧()内のXは数字の場合と文字列UNIXTIME4とで意味が異なり、Xが数字の場合はその変数Dnnnのバイト数を示し、XがUNIXTIME4の場合は変数Dnnnの値そのものがUNIXTIME4であることを示す。
【００４７】
ID=1932のフォーマットに登場する山括弧<>は複数回の繰り返しを示す。ID=1932の場合、山括弧<>内にはD001(UNIXTIME4)から始まりD009(4)で終わる変数のシーケンスが記載されているが、このシーケンスを複数回繰り返して記述したのと同じ意味となる。
【００４８】
シミュレーションプログラム２０に従って動作するときの通信シミュレーション装置１の動作について説明する。補助記憶装置１５から主記憶装置１２にOS１７がロードされて、通信シミュレーション装置１はOS１７に従って動作するようになる。OS１７による管理の元で、シミュレーションプログラム２０が補助記憶装置１５から主記憶装置１２にロードされ、実行される。その後、通信シミュレーション装置１はシミュレーションプログラム２０に従って動作する。
【００４９】
このときの通信シミュレーション装置１の動作について図４を参照して説明する。CPU１１は、プログラム本体２１に従って、補助記憶装置１５からI/F設定２２を読み出す（ステップS100）。以下、CPU１１がプログラム本体２１に従ってある処理を実行することを、プログラム本体２１がある処理を実行することとしても表記する場合がある。I/F設定２２は、通信シミュレーション装置１がシミュレート可能な全ての通信装置に共通する通信設定であり、具体的には通信シミュレーション装置１に対して付与されるIPアドレス、通信に使用するポート番号等である。次に、プログラム本体２１は、補助記憶装置１５から個別設定２３としてシナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７を読み出す（ステップS101）。次に、プログラム本体２１は、I/F設定２２、個別設定２３に基づいて、特定の通信機器の動作をシミュレートする（ステップS102、S103）。
【００５０】
ステップS102、S103のシミュレート動作について説明する。ここでは、図３のテキストファイルが個別設定２３として補助記憶装置１５に格納されているものとする。このとき、プログラム本体２１は図５のようなシミュレーション動作を実行する。＜シナリオ＞にはデータ名のみが記載され、そのデータのフォーマット、値については記載されていないが、プログラム本体２１は、必要に応じて＜送受信データ＞、＜ヘッダー登録＞、＜フォーマット登録＞を参照して、＜シナリオ＞にて送信するデータのフォーマット及び各変数の値や、受信するデータのフォーマットを解釈する。
【００５１】
プログラム本体２１は、＜シナリオ＞、１行目の”WAIT [r-data001]”に従って、データr-data001の受信を待つ（ステップS1）。＜送受信データ＞の１行目にあるように、データr-data001はフォーマット識別子IDが1901のフォーマットを有する。＜フォーマット登録＞の3行目にあるように、フォーマット識別子ID=1901のデータは、header01、header02、D001、D002、D003からなる。header01、header02のフォーマットは＜フォーマット登録＞に定義されており、ヘッダー内の各変数の値については＜ヘッダー登録＞に記載されている。＜フォーマット登録＞によれば、header01は、4バイト長のH01、2バイト長のH02、２バイト長のH03、８バイト長のH04、４バイト長のH05、４バイト長のH06からなる。また、＜ヘッダー登録＞によれば、H01=2,H02=0,H03=x,H04=0,H05=0,H06=0である。これらに基づいて、プログラム本体２１はH01を0002と解釈する。＜ヘッダー登録＞にはH01=2と記載されている一方、＜フォーマット登録＞にはH01として４バイト長が確保されているので、整合を図るために７つのゼロを先頭に追加してH01を00000002と解釈する。以下、変数H02〜H06についても同様にしてゼロの桁を追加することにより、桁合わせを行う。header02についても同様である。＜ヘッダー登録＞にて、header01の変数H03、header02の変数H07、H12、H15、H16はxとして記述されているが、これらの変数の値は何でもよいものとして扱う。＜フォーマット登録＞の変数D001(UNIXTIME4)は、受信データの場合には、受信したデータを相手通信装置３が送信した時点におけるUNIX時刻の4バイト表現が格納されているものとして整合性をチェックする。変数D002は任意の4バイト長の文字列であり、変数D003も同じく任意の4バイト長の文字列である。このような前提の元、プログラム本体２１は、相手通信装置３から受信したデータが、r-data001に該当するか否かを判定する処理を、CPU１１に実行させる。
【００５２】
受信したデータがr-data001に該当すると、プログラム本体２１は、データs-data001を相手通信装置３に送信する（ステップS2）。このとき、プログラム本体２１は、＜送受信データ＞の2行目からデータs-data001のフォーマット識別子ID=1902を取得し、このフォーマット識別子が示すフォーマットを＜フォーマット登録＞の4行目から取得する。header01、header02の解釈はステップS1と同様である。その時点におけるUNIX時間の4バイト表現を変数D001とする。＜送受信データ＞の記述に従って、変数D002の値をa086とする。header01、header02には未定の変数xが含まれているが、これらの変数の値についても、＜送受信データ＞の2行目に従って値を代入する。これにより、データs-data001として、特定の文字列を送信することとなる。
【００５３】
＜シナリオ＞の3行目では、1行目と同様に、プログラム本体２１は、＜送受信データ＞、＜ヘッダー登録＞、＜フォーマット登録＞に基づいて、r-data002の文字列を求め、その文字列を相手通信機器３から受信するのを待つ（ステップS3）。
【００５４】
＜シナリオ＞の4行目では、2行目と同様に、プログラム本体２１は、＜送受信データ＞、＜ヘッダー登録＞、＜フォーマット登録＞に基づいて、s-data002の文字列を求め、その文字列を相手通信機器３に送信する（ステップS4）。尚、s-data002のIDは1912であり、＜フォーマット登録＞によればD001〜D009を含む一方、＜送受信データ＞にはD002=a086の記載であり、D001、D003〜D009については記載されていない。このうちD001については上述のようにUNIX時刻を用いる。D003〜D009のように、＜送受信データ＞にて値を指定していない場合は、その変数の全ての桁をゼロで埋めることとする。例えば、s-data002のD003はD003(4)、即ち、4バイト長なので、D003の値は”00000000”となる。以後のステップにおいて、変数の値を指定していない場合にも同様である。
【００５５】
＜シナリオ＞の5行目では、任意の文字列をR-DATAとして受信する（ステップS5）。R-DATAは命令WAITの引数であり、この後で登場するIF文の比較対象として保存される。より具体的にいえば、R-DATAは、監視制御機器３からの指示の内容を示すデータである。
【００５６】
監視制御機器等の相手通信機器３からの指示内容R-DATAに応じた条件分岐を行う。R-DATAの受信に応じて、＜シナリオ＞の6行目では、ステップS5で受信したR-DATAとr-data003とを比較し、両者が一致する場合、＜シナリオ＞の１００行目にジャンプする（ステップS6）。＜シナリオ＞の7行目では、ステップS5で受信したR-DATAとr-data004とを比較し、両者が一致する場合、＜シナリオ＞の１１０行目にジャンプする（ステップS7）。
【００５７】
＜シナリオ＞の8行目では120行目にジャンプする。
【００５８】
＜シナリオ＞の100行目では、プログラム本体２１は、＜送受信データ＞、＜ヘッダー登録＞、＜フォーマット登録＞に基づいて、s-data003の文字列を求め、その文字列を相手通信機器３に送信する（ステップS100）。header01、header02については2行目、4行目と同様である。[DATA]は、これより前がヘッダーであり、これより後がデータ本体であることを示す記号である。[DATA]の後に続くUNIXTIME4はUNIX時間を4バイト表現した文字列である。UNIXTIME4の後に続く文字列“00 00 a0 86 12 34 56 78 10 00 00 00”は、4バイト表現したUNIX時間の後に続く文字列を2バイト毎に半角スペースで区切って直接表記したものである。尚、これらの半角スペースは可読性のために挿入されたものであり、通信シミュレーション装置１が送出するデータの中には含まれない。＜シナリオ＞の101行目ではプログラム本体２１は5行目にジャンプする（ステップS101）。
【００５９】
＜シナリオ＞の110行目には”WAIT [TIME] 100”と記載されている。[TIME]は命令WAITの引数であり、[TIME]の後の数字が示す時間の間、処理を待つことを意味する。[TIME]の後の数字の単位はミリ秒である。このため、ここではプログラム本体２１が100ミリ秒間の経過をカウントすることを示す（ステップS110）。この後、＜シナリオ＞の111行目では、プログラム本体２１は、s-data004の文字列を求め、その文字列を相手通信機器３に送信する（ステップS111）。＜送受信データ＞にあるように、s-data004は、header01、header02、フォーマット識別子IDを含んでいない。“11 22 33 44 11 22 11 22 11 22 33 44 55 66 77 88 11 22 33 44 11 22 33 44 11 22 11 11 11 22 11 22 11 22 11 22 11 22 11 11 UNIXTIME4 11 22 33 44 11 22 33 44”の記載は、UNIXTIME4を除き、2バイト毎に半角スペースで区切って直接表記したものである。尚、これらの半角スペースは可読性のために挿入されたものであり、通信シミュレーション装置１が送出するデータの中には含まれない。＜シナリオ＞の112行目ではプログラム本体２１は5行目にジャンプする（ステップS112）。
【００６０】
＜シナリオ＞の120行目の記載において、[KEY]は命令WAITの引数であり、その直後に記載の文字の入力を待つことを示す。従って、ここでは、入出力装置１３から文字”F”が入力されるのを待つ（ステップS120）。入出力装置１３から文字Fが入力されると、プログラム本体２１は、データs-data005を相手通信機器３に送信（ステップS121）し、ステップS5にジャンプする。データs-data005の値は、UNIX時刻を除いて、＜送受信データ＞に直接に記載してあるので、UNIX時刻の値を入れた上で送信する。
【００６１】
ここで、図３の個別設定２３に従ってある通信機器の動作をシミュレートした後、別の通信機器の動作をシミュレートする場合を考える。ここで、図３の個別設定２３は通信機器Ｃ１の動作に基づいて定められたものとし、図６の個別設定２３は通信機器Ｃ２の動作に基づいて定められたものとする。通信機器Ｃ１と通信機器Ｃ２は動作の一部が異なり、具体的には、＜シナリオ＞の２行目において送信するデータs-data001、s-data002の一部の変数の値が異なるものとする。
【００６２】
図３の＜送受信データ＞によれば、データs-data001のフォーマット識別子IDは1902であり、変数D002はa086である。データs-data002のフォーマット識別子IDは1912であり、変数D002はa086である。一方、図６の＜送受信データ＞によれば、データs-data001、s-data002の変数D002は共に001である。
【００６３】
この場合、図３の個別設定２３を元に、図６の個別設定２３を得るには、図３の個別設定２３を編集し、＜送受信データ＞のデータs-data001、s-data002の変数D002の値を、a086から001に変更するだけでよい。＜シナリオ＞、＜ヘッダー登録＞、＜フォーマット登録＞については変更する必要がない。
【００６４】
図３の個別設定２３と異なり、シミュレーションの各動作ステップに送受信データの値を直接記述する通信シミュレーション装置では、編集作業者は、動作ステップの中から変更すべきデータ、そのデータ内の変数を特定して変更する必要がある。変更する変数を特定する作業は、動作ステップが増えるほど難しくなる。しかし、通信シミュレーション装置１では、データ内の各変数の値が＜送受信データ＞の欄に記述されているため、編集作業者は、この欄に対してのみ編集作業を行えばよい。
【００６５】
また、値a086と値001とを比較するとバイト長が異なる。このため、動作ステップにデータ値を直接記述する通信シミュレーション装置において、単に値a086を値001に置換すると、変数D002のバイト長が１バイト短くなり、以後のデータの整合性が失われる。このため、この種の通信シミュレーション装置において、値a086を値001に変更する編集作業者は、単に両者を置換するのではなく、値001を値0001に変更した後、値a086に置換することにより、編集作業の前後における、変数D002のバイト長の整合性を保つ必要がある。しかし、通信シミュレーション装置１では、データs-data001、s-data002を送信する際、プログラム本体２１が、＜フォーマット登録＞に記述された4バイトの変数D002に、＜送受信データ＞に記述された変数D002の値を格納して送信する。このため、通信シミュレーション装置１では、変数D002のバイト長の範囲内であれば、編集作業の前後でバイト長の整合性を保つことを意識する必要がない。通信シミュレーション装置１において上述のように変数D002の値を変更する際には、作業者は、変数D002の値を001に変更することだけを知っていればよい。
【００６６】
こうした編集作業の容易さは、あるデータの特定の変数の値を変更する場合に限って得られるものではないことは、当業者には明らかであろう。例えば、シナリオ、各変数の値は同じだが、一部の変数のバイト長が異なる場合、ヘッダーの変数の値が異なる場合、ヘッダーの変数のバイト長が異なる場合でも編集作業は容易である。
【００６７】
このように、本実施の形態の通信シミュレーション装置１によれば、シミュレートする通信機器による違いが、特定の変数の値のみであって、シナリオの流れや、データのフォーマットには違いがない場合に、シミュレーション動作の内容を容易に変更することができる。同様に、変数の値は同じであってもデータのフォーマットが異なる場合にも容易に変更することができる。
【００６８】
本発明の第２の実施の形態である監視制御機器３０について説明する。監視制御機器３０は、第１の実施の形態における通信シミュレーション装置１の構成に加えて、監視制御機器プログラム３１を備える。通信シミュレーション装置１と共通する構成については同じ参照符号を付しているので、特に記載がない限り第１の実施の形態の説明を参照されたい。
【００６９】
監視制御プログラム３１はOS１７上で実行されるアプリケーションプログラムであり、補助記憶装置１５に格納され、実行時には、OS１７の管理下の元、主記憶装置１２にロードされてCPU１１にて実行される。監視制御プログラム３１は、CPU１１をはじめとする各種ハードウェアを監視制御機器（NMS）として動作させるためのプログラムである。本実施の形態ではOS１７はマルチタスクOSであり、シミュレーションプログラム２０と監視制御プログラム３１は、OS１７上で並行して実行可能である。
【００７０】
監視制御機器３０は２つの動作モードを有する。ひとつは監視制御モードであり、もうひとつはシミュレーションモードである。
【００７１】
監視制御モードでは、シミュレーションプログラム２０を実行せずに、監視制御プログラム３１を実行する。このとき、監視制御プログラム３１は、一般的な監視制御機器と同様に動作する。監視制御プログラム３１は、ネットワークI/F１４を介して接続された他の通信機器とデータ通信を行うことにより、それら通信機器の監視制御を行う。
【００７２】
シミュレーションモードでは、シミュレーションプログラム２０と監視制御プログラム３１とを並行して実行する。このときシミュレーションプログラム２０は第１の実施の形態の通信シミュレーション装置１として動作する。また、監視制御プログラム３１は第１の実施の形態の相手通信機器３として動作する。第１の実施の形態では、通信シミュレーション装置１と相手通信機器３はデータ通信ネットワーク２を介してデータ通信を行った。本実施の形態において、このデータ通信に対応するデータ通信を、監視制御機器３０の内部でOS１７を介して行う。
【００７３】
監視制御機器３０のシミュレーションモードでは、シミュレーションプログラム２０の個別設定２３を適宜変更して、様々な通信機器とのデータ通信をシミュレートすることができる。これにより、監視制御機器３０は、それ単体で、様々な通信機器とのデータの送受信を検証することができる。
【００７４】
以上、本発明を実施の形態に即して説明したが、本発明はこれに限定されるものではなく、様々な変更を行うことができることは当業者には明らかであろう。
【００７５】
例えば、上述の実施の形態では、I/F設定２２と個別設定２３とを別々の設定ファイルとして説明したが、単一の設定ファイルとしてもよい。
【００７６】
また、上述の実施の形態では、I/F設定２２、個別設定２３をテキストファイルとして説明したが、バイナリファイルを用いることとしてもよい。
【００７７】
また、上述の実施の形態では、シナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７が個別設定２３に含まれることとして説明したが、図７に示すように、シナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７をそれぞれ独立した設定ファイルとして記述してもよい。或いは、シナリオ２４、送受信データ２５、ヘッダー登録２６、フォーマット登録２７の一部を組み合わせてひとつの設定ファイルとしてもよい。
【００７８】
上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、これらに限定されるものではない。
【００７９】
（付記１）
シミュレートしようとする通信機器の動作のフローを記述した設定を格納した記憶装置と、前記設定に基づくシミュレート動作を実行する処理装置とを備え、
前記設定は、シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した領域である第１の領域を備え、
前記設定は、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述した領域である第２の領域を備え、
前記第２の領域の記述に基づいて、前記第１の領域に記述されたデータ名が示すデータを解釈し、前記シミュレート動作を実行する
ことを特徴とする、通信シミュレーション装置。
【００８０】
（付記２）
前記設定は、データを構成する変数の順序関係、及び、データを構成する変数のデータサイズを示す記述として、データのフォーマットに対応する識別子を備え、
前記設定は、前記識別子と、フォーマットを構成する変数の変数名と、フォーマットを構成する変数の順序関係と、変数に対して割り当てられたデータサイズとを互いに関連付けて記述した領域である第３の領域を備える
ことを特徴とする、付記１に記載の通信シミュレーション装置。
【００８１】
（付記３）
前記設定は、前記変数の値を指定する記述を備えることを特徴とする、付記２に記載の通信シミュレーション装置。
【００８２】
（付記４）
前記第２の領域はヘッダー名を備え、
前記設定は、ヘッダー名と、ヘッダーを構成する変数の変数名と、ヘッダーを構成する変数の順序関係と、変数のデータサイズとを互いに関連付けた記述を備える
ことを特徴とする、付記１乃至付記３のいずれかに記載の通信シミュレーション装置。
【００８３】
（付記５）
前記設定は、ヘッダーを構成する変数の値を記述した領域である第４の領域を備えることを特徴とする、付記４に記載の通信シミュレーション装置。
【００８４】
（付記６）
前記設定は動的に変化する変数を備えることを特徴とする付記１乃至付記５のいずれかに記載の通信シミュレーション装置。
【００８５】
（付記７）
付記１乃至付記６のいずれかに記載の通信シミュレーション装置、及び、
接続された他の通信機器の動作を監視及び制御すると共に、前記相手通信機器として動作する監視制御手段
を備える通信装置であって、
前記監視制御手段は、前記通信装置の内部で、前記通信シミュレーション装置とデータ通信を行う通信装置。
【００８６】
（付記８）
付記１乃至付記６のいずれかに記載の通信シミュレーション装置と、前記通信シミュレーション装置とデータ通信回線を介して接続された相手通信機器とを備える通信シミュレーションシステム。
【００８７】
（付記９）
シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述した領域である第２の領域を備える設定を、記憶装置に格納する機能と、
前記第１の領域に記述された前記データ名に、前記第２の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める機能と
をコンピュータに実現させるためのプログラム。
【００８８】
（付記１０）
前記第２の領域は、データを構成する変数の順序関係、及び、データを構成する変数のデータサイズを示す記述として、データのフォーマットに対応する識別子を備え、
前記設定は、前記識別子と、フォーマットを構成する変数の変数名と、フォーマットを構成する変数の順序関係と、変数に対して割り当てられたデータサイズとを互いに関連付けて記述した領域である第３の領域を備え、
前記送受信するデータを求める機能は、前記第１の領域に記述された前記データ名に、前記第２の領域及び前記第３の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める、
付記９に記載のプログラム。
【００８９】
（付記１１）
前記第２の領域は、前記変数の値を指定する記述を備える、付記１０に記載のプログラム。
【００９０】
（付記１２）
前記第２の領域はヘッダー名を備え、
前記第３の領域は、ヘッダー名と、ヘッダーを構成する変数の変数名と、ヘッダーを構成する変数の順序関係と、変数のデータサイズとを互いに関連付けた記述を備える、
付記９乃至付記１１のいずれかに記載のプログラム。
【００９１】
（付記１３）
前記設定は、ヘッダーを構成する変数の値を記述した領域である第４の領域を備え、
前記送受信するデータを求める機能は、前記第１の領域に記述された前記データ名に、前記第２の領域、前記第３の領域及び前記第４の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める、
付記１２に記載のプログラム。
【００９２】
（付記１４）
前記設定は動的に変化する変数を備えることを特徴とする付記９乃至付記１３のいずれかに記載のプログラム。
【００９３】
（付記１５）
シミュレート動作の際、相手通信機器との間で送受信するデータを、そのデータ名によって記述した領域である第１の領域、及び、前記データ名と、データを構成する変数の順序関係と、データを構成する変数のデータサイズとを互いに関連付けて記述した領域である第２の領域を備える設定を、記憶装置に格納する段階と、
前記第１の領域に記述された前記データ名に、前記第２の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める段階と
を含むことを特徴とする、通信シミュレーション方法。
【００９４】
（付記１６）
前記第２の領域は、データを構成する変数の順序関係、及び、データを構成する変数のデータサイズを示す記述として、データのフォーマットに対応する識別子を備え、
前記設定は、前記識別子と、フォーマットを構成する変数の変数名と、フォーマットを構成する変数の順序関係と、変数に対して割り当てられたデータサイズとを互いに関連付けて記述した領域である第３の領域を備え、
前記送受信するデータを求める段階は、前記第１の領域に記述された前記データ名に、前記第２の領域及び前記第３の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める
ことを特徴とする、付記１５に記載の通信シミュレーション方法。
【００９５】
（付記１７）
前記第２の領域は、前記変数の値を指定する記述を備えることを特徴とする、付記１６に記載の通信シミュレーション方法。
【００９６】
（付記１８）
前記第２の領域はヘッダー名を備え、
前記第３の領域は、ヘッダー名と、ヘッダーを構成する変数の変数名と、ヘッダーを構成する変数の順序関係と、変数のデータサイズとを互いに関連付けた記述を備える
ことを特徴とする、付記１５乃至付記１７のいずれかに記載の通信シミュレーション方法。
【００９７】
（付記１９）
前記設定は、ヘッダーを構成する変数の値を記述した領域である第４の領域を備え、
前記送受信するデータを求める段階は、前記第１の領域に記述された前記データ名に、前記第２の領域、前記第３の領域及び前記第４の領域の記述を適用することにより、前記相手通信機器との間で送受信するデータを求める
ことを特徴とする、付記１８に記載の通信シミュレーション方法。
【００９８】
（付記２０）
前記設定は動的に変化する変数を備えることを特徴とする付記１５乃至付記１９のいずれかに記載の通信シミュレーション方法。
【符号の説明】
【００９９】
１  通信シミュレーション装置
２  データ通信ネットワーク
３  相手通信機器（監視制御機器）
１１  ＣＰＵ
１２  主記憶装置
１３  入出力装置
１４  ネットワークインタフェース（Ｉ／Ｆ）
１５  補助記憶装置
１６  データバス
１７  オペレーティングシステム（ＯＳ）
２０  シミュレーションプログラム
２１  プログラム本体
２２  Ｉ／Ｆ設定
２３  個別設定
２４  シナリオ
２５  送受信データ
２６  ヘッダー登録
２７  フォーマット登録
３０  監視制御機器
３１  監視制御プログラム
１００  通信シミュレーションシステム
【図１】
0006642787.tif 000002
【図２】
0006642787.tif 000003
【図３】
0006642787.tif 000004
【図４】
0006642787.tif 000005
【図５】
0006642787.tif 000006
【図６】
0006642787.tif 000007
【図７】
0006642787.tif 000008
【図８】
0006642787.tif 000009