(57)【特許請求の範囲】
【請求項１】
試験対象装置に対する試験を行う情報処理装置であって、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信部と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力部と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信部により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成部と、
前記試験シナリオ生成部により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理部とを有することを特徴とする情報処理装置。
【請求項２】
前記試験シナリオ生成部は、
前記選択状態遷移に対して取得されたメッセージを、前記選択状態遷移の１つ前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通信順序ルール入力部は、
１つの状態から２つ以上の状態に分岐する状態遷移により状態遷移パスが複数含まれる通信順序ルールを入力し、
前記試験シナリオ生成部は、
前記選択状態遷移に対して取得されたメッセージを、前記選択状態遷移と同じ状態遷移パスに含まれ前記選択状態遷移の１つ前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記通信順序ルール入力部は、
２つ以上の状態が１つの状態に統合される状態遷移が含まれる通信順序ルールを入力し、
前記試験シナリオ生成部は、
前記選択状態遷移の始点となる状態が２つ以上の状態を遷移元とし当該２つ以上の状態を統合する統合状態である場合に、前記選択状態遷移に対して取得されたメッセージを、当該統合状態に至る２つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移に対して取得されている２つ以上のメッセージの各々に連結することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記通信部は、
複数のメッセージ種別に分類され、特定のフィールドに複数種のフィールド値が含まれる複数のメッセージを受信し、
前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び特定のフィールドに特定のフィールド値が含まれていることが定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び特定のフィールドに特定のフィールド値が含まれていることが定義されている状態遷移に対して、前記特定のメッセージ種別に該当し、前記特定のフィールドに前記特定のフィールド値が含まれ、受信時刻についての条件に合致するメッセージを検索することを特徴とする請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び前記先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義されている状態遷移に対して、前記通信部により受信されたメッセージの中から前記先行メッセージを検索し、取得された前記先行メッセージと同じ特定のフィールドに前記特定のフィールド値が含まれ、前記特定のメッセージ種別に該当し、受信時刻についての条件に合致するメッセージを検索することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに各メッセージのメッセージ種別及び各メッセージの特定のフィールドに含まれているフィールド値を対応付け、複数のメッセージが選択状態遷移の順序に沿って順序付けられ各メッセージにメッセージ種別及びフィールド値が対応付けられている試験シナリオを生成し、
前記通信部は、
前記試験対象装置に対する試験において、前記試験対象装置からメッセージを受信し、
前記試験管理部は、
前記試験対象装置に対する試験において、試験の進展に合わせて前記試験シナリオ内の１つ以上のメッセージにポインタを設定し、前記通信部が前記試験対象装置からメッセージを受信する度に、ポインタが設定されている各メッセージの次の順序のメッセージを抽出し、次の順序のメッセージが前記試験対象装置から受信すべき受信対象メッセージであるか否かを判断し、次の順序のメッセージが受信対象メッセージである場合に、前記通信部が受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が前記受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致する受信対象メッセージを選択し、
前記情報処理装置は、更に、
前記試験管理部により選択された選択受信対象メッセージと前記受信メッセージを比較する試験結果確認部を有することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する第１の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義され、更に、メッセージの受信時刻に関する条件として、状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する第２の先行メッセージの受信時刻からの制限時間が定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び前記第１の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義され、更に、前記第２の先行メッセージの受信時刻からの制限時間が定義されている状態遷移に対して、前記通信部により受信されたメッセージの中から前記第１の先行メッセージと前記第２の先行メッセージを検索し、取得された前記第１の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれ、取得された前記第２の先行メッセージとの受信時刻の差が制限時間内に収まり、前記特定のメッセージ種別に該当するメッセージを検索することを特徴とする請求項５〜７のいずれかに記載の情報処理装置。
【請求項９】
前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに各メッセージのメッセージ種別及び各メッセージの特定のフィールドに含まれているフィールド値と状態遷移条件に定義されている制限時間を対応付け、複数のメッセージが選択状態遷移の順序に沿って順序付けられ各メッセージにメッセージ種別及びフィールド値と制限時間が対応付けられている試験シナリオを生成し、
前記通信部は、
前記試験対象装置に対する試験において、前記試験対象装置からメッセージを受信し、
前記試験管理部は、
前記試験対象装置に対する試験において、試験の進展に合わせて前記試験シナリオ内の１つ以上のメッセージにポインタを設定し、前記通信部が前記試験対象装置からメッセージを受信する度に、ポインタが設定されている各メッセージの次の順序のメッセージを抽出し、次の順序のメッセージが前記試験対象装置から受信すべき受信対象メッセージであるか否かを判断し、次の順序のメッセージが受信対象メッセージである場合に、前記通信部が受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合するとともに、前記受信メッセージの受信時刻と所定の基準時刻との時刻差と抽出された受信対象メッセージの制限時間とを照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が前記受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致し、前記時刻差以上の制限時間が対応付けられている受信対象メッセージを選択し、
前記情報処理装置は、更に、
前記試験管理部により選択された選択受信対象メッセージと前記受信メッセージを比較する試験結果確認部を有することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記試験管理部は、
前記試験結果確認部により前記選択受信対象メッセージと前記受信メッセージが一致しているとの判定結果が得られた場合に、前記通信部による前記受信メッセージの受信時刻を前記試験シナリオにおいて前記選択受信対象メッセージに対応付けて記録し、前記選択受信対象メッセージの前の順序のメッセージに設定されているポインタを前記選択受信対象メッセージの次の順序のメッセージに移動させることを特徴とする請求項７又は９に記載の情報処理装置。
【請求項１１】
前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに対して、前記試験対象装置へ送信する場合の送信タイミングを決定し、決定した送信タイミングを各メッセージに対応付け、
前記試験管理部は、
ポインタが設定されているメッセージが前記試験対象装置へ送信すべき送信対象メッセージである場合に、ポインタが設定されている送信対象メッセージの送信タイミングが到来した際に、前記通信部に対して当該送信対象メッセージの送信を指示し、
前記通信部は、
前記試験管理部から送信を指示された送信対象メッセージを前記試験対象装置に対して送信することを特徴とする請求項７、９及び１０のいずれかに記載の情報処理装置。
【請求項１２】
前記試験管理部は、
前記通信部による前記送信対象メッセージの送信時刻を前記試験シナリオにおいて前記送信対象メッセージに対応付けて記録し、前記送信対象メッセージに設定されているポインタを前記試験シナリオ内の次の順序のメッセージに移動させることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
試験対象装置に対する試験を行うコンピュータが、前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信ステップと、
前記コンピュータが、前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力ステップと、
前記コンピュータが、前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信ステップにより受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成ステップと、
前記コンピュータが、前記試験シナリオ生成ステップにより生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理ステップとを有することを特徴とする情報処理方法。
【請求項１４】
試験対象装置に対する試験を行うコンピュータに、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信処理と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力処理と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信処理により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成処理と、
前記試験シナリオ生成処理により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験のための試験シナリオを生成し、試験シナリオに従って試験を行う技術に関する。
【背景技術】
【０００２】
実環境を流れる通信データを収集し、収集した通信データから試験シナリオを生成し、試験を実行する方式として、特許文献１と特許文献２がある。
【０００３】
特許文献１では、通信データを収集および解析してメッセージに変換し、メッセージ間のシーケンスを解析して試験シナリオを生成し記録する。
また、試験実行時には、試験シナリオのメッセージとメッセージ間のシーケンスを通信設備模擬に渡し、実行している。
【０００４】
特許文献２では、収集した通信データに付加した時刻情報を元に、通信データを収集した順序で試験シナリオを生成する。また試験シナリオでは、直前の通信データからの時間間隔は、記録時と再生時で同じとなるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１９６７０５号公報
【特許文献２】特開平１０−２３１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、データ解析機能部、および通信設備模擬の動作が明らかにされておらず、具体性に欠ける。
またメッセージ間シーケンスにおいてもメッセージ間の順序が記録されることだけが明らかにされており、記録方式の具体性に欠ける。これの具体的な例として、特許文献２がある。
【０００７】
特許文献２の試験シナリオでは、通信データ間の順序は、通信データを収集したときの時間順序と同じである。
したがって、収集時と試験実行時で試験対象の動作順序が仕様の範囲内で変化した場合、収集時の通信データと試験実行時の通信データの対応付けに失敗し、両者を照合した結果は不一致となる。
つまり、仕様の範囲内の動作にも関わらず、試験結果は失敗として出力することとなる。そのため、ユーザに詳細な調査を負わせることとなり、試験効率が悪い。
また、試験対象からの通信データ出力が、タイムアウトなどの所定の時間制約を守ってなされない可能性もあり得るが、特許文献２では時間制約については考慮外であり、やはり仕様への適合性と試験の合否結果が一致しないケースが発生する。
【０００８】
この発明は、上記のような課題を解決することを主な目的としており、通信データ間の順序やタイミングが仕様の範囲内で変化した場合でも、仕様への適合性と試験の合否結果を一致させることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、
試験対象装置に対する試験を行う情報処理装置であって、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信部と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力部と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信部により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられる試験シナリオを生成する試験シナリオ生成部と、
前記試験シナリオ生成部により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、試験対象装置が用いる通信プロトコルにおいて発生し得る状態遷移の順序が示される通信順序ルールと実環境を流れるメッセージを用いて、通信仕様の範囲に含まれる複数種の状態遷移パターンが含まれる試験シナリオを生成し、試験シナリオに従って試験対象装置に対する試験を行うため、同じ通信仕様の範囲内でメッセージの送受信順序やタイミングが変化した場合でも、試験結果の合否を誤って出力することがなくなり、試験作業を効率化することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る通信シミュレータ装置の構成例を示す図。
【図２】実施の形態１に係るメッセージフォーマットの例を示す図。
【図３】実施の形態１に係るメッセージ解析手段の動作例を示すフローチャート図。
【図４】実施の形態１に係る通信順序ルールの例を示す図。
【図５】実施の形態１に係る通信順序ルールの例を示す図。
【図６】実施の形態１に係る順序関係計算手段の動作例を示すフローチャート図。
【図７】実施の形態１に係る順序関係計算手段の動作例を示すフローチャート図。
【図８】実施の形態１に係る順序関係計算手段の動作例を示すフローチャート図。
【図９】実施の形態１に係る順序送信時間算出手段の動作例を示すフローチャート図。
【図１０】実施の形態１に係る順序つきシミュレータ情報格納領域の情報の例を示す図。
【図１１】実施の形態１に係るシミュレータ情報作成手段の動作例を示すフローチャート図。
【図１２】実施の形態１に係る順序関係制御手段の動作例を示すフローチャート図。
【図１３】実施の形態１に係る順序関係制御手段の動作例を示すフローチャート図。
【図１４】実施の形態１に係るシミュレータ結果確認手段の動作例を示すフローチャート図。
【図１５】実施の形態１に係るシミュレータ動作実施手段の動作例を示すフローチャート図。
【図１６】実施の形態１に係るシミュレータ動作実施手段の動作例を示すフローチャート図。
【図１７】実施の形態１に係る通信シミュレータ装置の動作の概要を示すフローチャート図。
【図１８】実施の形態１に係る通信シミュレータ装置の動作の概要を示すフローチャート図。
【図１９】実施の形態１に係る時間制約及び時間差を説明する図。
【図２０】実施の形態１に係る順序つきシミュレータ情報の例を示す図。
【図２１】実施の形態１に係る蓄積したメッセージの例を示す図。
【図２２】実施の形態１に係るＵＭＬに基づく記述と略記の対応関係を示す図。
【図２３】実施の形態１に係る通信シミュレータ装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、本実施の形態に係る機能構成図である。
通信シミュレータ装置１００は、情報処理装置の例である。
通信シミュレータ装置１００は、試験対象装置に対する試験において試験対象装置と通信を行う。
また、通信シミュレータ装置１００は、試験対象装置に対する試験に先立ち、通信装置２００と通信装置４００との間で送受信されるメッセージを受信し、受信したメッセージを格納しておく。
そして、通信シミュレータ装置１００は、試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と複数の状態における状態遷移の順序が示される通信順序ルール６００と格納しているメッセージを用いて、同じ通信仕様の範囲内でメッセージの送受信順序やタイミングが違う複数のメッセージの送受信パターンが含まれる試験シナリオを生成する。
そして、通信シミュレータ装置１００は、同じ通信仕様の範囲に含まれる複数の状態遷移パターンが含まれる試験シナリオに従って試験対象装置に対する試験を行う。
このため、同じ通信仕様の範囲内でメッセージの送受信順序やタイミングが変化した場合でも、試験結果の合否を誤って出力することがなくなり、試験作業を効率化することができる。
なお、通信装置２００、通信装置４００は、試験対象装置であってもよいし、試験対象装置に相当する役割の装置（例えば、試験対象装置が新システムで使用される通信装置であり、通信装置２００、通信装置４００が現行システムで使用されている通信装置）であってもよい。
【００１３】
はじめに、通信シミュレータ装置１００の各要素を説明する前に、本実施の形態に係る通信シミュレータ装置１００の動作の概要を図１７及び図１８を参照して説明する。
なお、図１７は試験対象装置に対する試験に先立って行われる準備段階の動作フローであり、図１８は試験対象装置に対する試験の実行フローである。
【００１４】
まず、通信送受信手段１０１により通信装置２００とネットワーク網３００の間で送受信されるメッセージをキャプチャし（通信ステップ）、図２１に示すように、時刻管理手段１０３で計測した時刻（メッセージの受信時刻）を付加して、メッセージと時刻を対応付けてモニタ情報格納領域１０４に格納する（Ｓ１４０１）。
次に、メッセージ解析手段１１０がメッセージフォーマット５００に基づいて、モニタ情報格納領域１０４に格納されているメッセージを解析し、メッセージ中のどの位置にどのようなフィールドが配置され、また、各フィールドにどのような値が設定されているかを解析する（Ｓ１４０２）。
【００１５】
次に、順序関係計算手段１１１が、通信順序ルール６００を入力する（通信順序ルール入力ステップ）とともに、メッセージ解析手段１１０による解析済みのメッセージに対して、通信順序ルール６００に従って、順序関係を計算し、順序情報、時間制約情報を付加して試験シナリオを生成する（試験シナリオ生成ステップ）（Ｓ１４０３）。
ここで選出される順序関係には、試験対象装置の通信仕様の範囲内でメッセージ受信イベント（以下、受信イベントともいう）、メッセージ送信イベント（以下、送信イベントともいう）の順序が前後する複数種のバリエーションが含まれる。
順序情報は、イベント間の順序を示す情報である。
時間制約情報については後述する。
また、イベントには、試験対象装置からのメッセージの属性に関する条件が示されるフィールド値制約情報も付加される。
【００１６】
次に、順序送信時間算出手段１０５が、順序関係計算手段１１１により試験対象装置へのメッセージの送信時間（以下、送信タイミングともいう）を計算し、メッセージに送信時間を付加する（Ｓ１４０４）。
【００１７】
図１９に示すように、試験対象装置においてあるメッセージを送信又は受信してから、別のメッセージを送信又は受信するまでの時間差に対する制約が時間制約情報となる。
また、送信時間（時間差ともいう）は、イベントまたは所定のメッセージ送受信イベントを起点として、通信シミュレータ装置１００が試験対象装置にメッセージを送信するタイミングである。
図１９では、メッセージ２の受信時刻を起点にして、送信時間の到来の際に通信シミュレータ装置１００からメッセージ３を送信する例が示されている。
【００１８】
Ｓ１４０５の処理が終了すると、順序つきシミュレータ情報（以下、試験シナリオともいう）が完成し、順序つきシミュレータ情報が順序つきシミュレータ情報格納領域１１３に格納される（Ｓ１４０５）。
【００１９】
図２０に、単純化した順序つきシミュレータ情報のイメージを示す。
図２０は、順序つきシミュレータ情報を、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）アクティビティ図で示したものである。
なお、図２０は、図２２のように略記している。つまり、ＵＭＬの規約に従うと図２２（ａ）のようになる記述になるが、図２０では図２２（ｃ）のように略記している。また、ＵＭＬの規約に従うと図２２（ｂ）のようになる記述になるが、図２０では図２２（ｄ）のように略記している。
また、図２０及び以下の説明では、メッセージ種別：ｘ、ユーザＩＤ：ｙのメッセージをｘ（ｙ）として略記している。
各ノードは、試験シナリオ上の仮想的なイベントであり、シナリオイベントという。
また、試験シナリオ内のシナリオイベントの他に、現実に発生するイベントがある。
たとえば、ユーザから現実にシミュレーション開始指示を入力したというイベントや、試験対象装置から現実にメッセージを受信したというイベントや、試験対象装置に現実にメッセージを送信したというイベントである。これら、実際に発生するイベントを実イベントという。
【００２０】
図２０に示す内容について、例を挙げて説明する。
最初に（１）が実行される。
（１）の次に、（２）が実行される。
（２）の次に、（３）（４）（５）が任意の順序で実行される。
具体的には、（２）の０秒後（直後）に（３）を、（２）の１秒後に（４）を、（２）の２秒後に（５）を実行する。
（３）の次に、（６）が実行される。ただし、メッセージｂ（１）を３秒以内に受信した場合に限る。
（６）の次に、（８）（９）が任意の順序で実行される。ただし（９）は、（６）から６０秒以内に実行しなければならない。その中で、５秒後に実行する。
（８）は、（５）および（６）の両方の実行後に実行しなければならない。ただし、（５）の実行後３秒以内にｂ（３）を受信した場合に限る。
（１２）は、（１０）および（８）の両方の実行後に実行しなければならない。ただし、（１０）の実行後１０秒以内かつ（７）の実行後３００秒以内にメッセージｂ（２）を受信しなければならない。
【００２１】
なお、図２０では、メッセージの送受信を区別したものとなっているが、必ずしも試験シナリオ生成時に送受信を区別しておく必要はない。
ユーザによって試験対象を特定する情報（ＩＰアドレスなど）を入力し、試験シナリオ実行直前に送受信を区別してもよく、また試験シナリオ実行中に送受信を区別してもよい。
試験シナリオ生成時に送受信を区別しない場合、メッセージ間すべてに時間差情報が付加されることとなる。
【００２２】
次に、図１８において、入力装置１１４が、ユーザから試験対象装置へのシミュレーション（試験）の開始指示を入力する（Ｓ１５０１）。
次に、順序関係制御手段１１２が、シミュレーション開始指示の入力イベントをトリガーに、順序つきシミュレータ情報格納領域１１３から順序つきシミュレータ情報を順次読み出しながら、順序関係制御手段１１２及びシミュレータ動作実施手段１０８が、イベントの順序関係を制御し、試験対象装置とのメッセージの送受信を伴いながら、シミュレーションを実行する（Ｓ１５０２）（試験管理ステップ）。
また、シミュレータ結果確認手段１０９がシミュレーションの結果を確認する（Ｓ１５０３）。
そして、順序つきシミュレータ情報における最終イベントに到達し、シミュレーションが終了した場合は、動作を終了し（Ｓ１５０４でＹＥＳ）、シミュレーションが終了していない場合は、処理がＳ１５０２に戻る（Ｓ１５０４でＮＯ）。
【００２３】
順序つきシミュレータ情報には仕様の範囲内で複数の状態遷移のパスが含まれるが、これは、仕様の範囲内でイベントの発生パターンが変動しても試験不合格と判定しないようにするためである。
試験対象装置からの受信メッセージが正しいものであるかどうかを判定するためには、その受信メッセージが複数のパスのうちのどのパスのどのメッセージ受信イベントに対応するものなのかを判断する必要がある。
本実施の形態では、試験対象装置からメッセージを受信する度に、受信した受信メッセージの属性及び受信時刻と、メッセージ受信イベントに定義づけられているメッセージの属性に関する条件（フィールド値制約情報）及び受信時刻の条件（時間制約情報）を照合し、受信メッセージの属性及び受信時刻と適合する条件が定義づけられているメッセージ受信イベントを抽出するようにしている。
また、試験対象装置へのメッセージの送信も、現実に生じるイベント（試験対象装置からのメッセージの受信等）の状況に応じて、いずれかのパスのメッセージ送信イベントに従って行われる。
【００２４】
次に、通信シミュレータ装置１００の各構成要素を説明する。
【００２５】
通信送受信手段１０１は、通信装置２００とのインタフェースとなり、通信装置２００とネットワーク網３００間のメッセージを受信する。
また、通信送受信手段１０１は、試験対象装置とのインタフェースとなり、シミュレータ動作実施手段１０８から指定されたメッセージを試験対象装置へ送信し、また、試験対象装置からのメッセージを受信する。
また、通信送受信手段１０１は、受信したメッセージの下位プロトコルを解析の上、ビットパターンのメッセージを出力する。
【００２６】
通信モニタ手段１０２は、通信送受信手段１０１からビットパターンのメッセージを受け取り、時刻管理手段１０３から現在時刻を取得し、図２１に示すように、ビットパターンのメッセージと現在時刻（メッセージ受信時刻）をモニタ情報格納領域１０４に書き込む。
【００２７】
時刻管理手段１０３は、現在時刻の管理をし、通信モニタ手段１０２へ現在時刻を知らせる。
【００２８】
メッセージ解析手段１１０は、ビットパターンのメッセージを、メッセージフォーマット５００に基づいて、フィールド解析済みのメッセージに変換する。
つまり、メッセージ解析手段１１０は、モニタ情報格納領域１０４に格納されているビットパターンのメッセージのどの位置にどのようなフィールドがあり、各フィールドにはどのような値が設定されているのかをメッセージごとに解析する。
【００２９】
メッセージフォーマット５００は、ビットパターンのメッセージを解析するためのフォーマットを記載したデータである。
メッセージ中の各フィールドについて、フィールド名、長さ、固定値などの情報を持つ。
【００３０】
順序関係計算手段１１１は、通信順序ルール６００を入力し、入力した通信順序ルール６００に基づきルールが成立したメッセージ間に順序情報や時間制約情報を付加する。
換言すると、順序関係計算手段１１１は、通信順序ルール６００に基づき、試験シナリオを生成する。
【００３１】
通信順序ルール６００は、メッセージ間のルール、ルールが成立した際に付加する順序情報や時間制約情報を記載したデータである。
通信順序ルール６００は、例えば、図４に示す情報である。
通信順序ルール６００は、試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と複数の状態における状態遷移の順序が示され、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されているルールである。
図４において、ｓｘ（ｘ＝１、２、３、４、５・・・）は状態を表しており、また、ｔｘ（ｘ＝１、２、３、４、５・・・）は状態遷移を表している。
また、例えば、状態遷移ｔ２について示されている［メッセージ種別ｂ］や［ｔ２．ｍｅｓｓａｇｅ．ユーザＩＤ＝ｔ１．ｍｅｓｓａｇｅ．ユーザＩＤ］は、メッセージの属性についての条件であり、また、［ｔ２．送受信時刻−ｔ１．送受信時刻≦３秒］はメッセージの受信時刻についての条件である。
なお、図４の詳細は後述する。
【００３２】
順序関係計算手段１１１は、通信順序ルール６００を入力し、通信順序ルール６００に示される状態遷移の順序に従って、状態遷移ごとに、通信送受信手段１０１により受信されたメッセージ（通信装置２００、通信装置４００間で送受信され、モニタ情報格納領域１０４に時刻情報とともに格納されているメッセージ）の中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索する。
そして、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択する。
更に、順序関係計算手段１１１は、選択状態遷移に対して取得されたメッセージを選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられる試験シナリオを生成する。この結果、通信プロトコルの範囲内で複数の状態遷移パターン（メッセージの送受信パターン）が含まれる試験シナリオが生成される。
図４の例では、順序関係計算手段１１１は、ｓ０からの状態遷移であるｔ１及びｔ５から処理を開始する。そして、例えば、ｔ２の状態遷移条件に合致するメッセージが取得できた場合に、ｔ２を選択状態遷移として選択し、更にｔ２の１つ前の順序の状態遷移であるｔ１に対して取得されているメッセージにｔ２に対して取得されたメッセージを連結する。なお、ｔ２に対する処理は、ｔ１が選択状態遷移として選択された場合にのみ行われるので、ｔ２が選択状態遷移として選択された際には、ｔ１は既に選択状態遷移として選択されており、またｔ１の状態遷移条件に合致するメッセージは取得済みである。
このように、状態遷移条件に合致するメッセージが取得された状態遷移は選択状態遷移として選択され、試験シナリオに反映されることになる。
例えば、ｔ１、ｔ２、ｔ３、ｔ４と続く状態遷移のパスのみ状態遷移条件に合致するメッセージが取得され、ｔ５の状態遷移条件に合致するメッセージが取得されない場合は、ｔ５、ｔ６、ｔ６、ｔ７、ｔ８という状態遷移のパスは試験シナリオに含まれないことになる。ｔ５の状態遷移条件に合致するメッセージが取得できた場合には、ｔ１、ｔ２、ｔ３、ｔ４という状態遷移パスと、ｔ５という状態遷移パスの２つの状態遷移パスが試験シナリオに含まれることになる。
【００３３】
また、ｓ０からｓ１とｓ５に分岐するように、１つの状態から２つ以上の状態に分岐する状態遷移（ｔ１、ｔ５）により状態遷移パスが複数含まれる場合がある（ｔ１−ｔ２のパスと、ｔ５−ｔ６−ｔ７−ｔ８のパス）。このような場合に、順序関係計算手段１１１は、選択状態遷移に対して取得されたメッセージを、選択状態遷移と同じ状態遷移パスに含まれ、選択状態遷移の１つ前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結する。
図４の例では、ｔ２を選択状態遷移とした場合に、ｔ２のメッセージは同じ状態遷移パスの１つ前の選択状態遷移であるｔ１のメッセージに連結する。
一方、ｔ６は同じ状態遷移パスの１つ前の選択状態遷移であるｔ５のメッセージにメッセージを連結し、ｔ７は同じ状態遷移パスの１つ前の選択状態遷移であるｔ６のメッセージにメッセージを連結し、ｔ８は同じ状態遷移パスの１つ前の選択状態遷移であるｔ７のメッセージにメッセージを連結する。
【００３４】
また、ｓ１とｓ７がｓ２に統合されるように、２つ以上の状態が１つの状態に統合される状態遷移（ｔ２、ｔ８）が含まれる場合がある。
順序関係計算手段１１１は、選択状態遷移の始点となる状態が２つ以上の状態を遷移元とし当該２つ以上の状態を統合する統合状態である場合に、選択状態遷移に対して取得されたメッセージを、当該統合状態に至る２つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移に対して取得されている２つ以上のメッセージの各々に連結する。
図４の例では、ｔ３を選択状態遷移とした場合に、選択状態遷移ｔ３の始点となる状態ｓ２は２つ以上の状態（ｓ１、ｓ７）を遷移元とし当該２つ以上の状態を統合する統合状態であるので、選択状態遷移ｔ３に対して取得されたメッセージを、当該統合状態ｓ２に至る２つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移（ｔ２、ｔ８）に対して取得されている２つ以上のメッセージの各々に連結する。
【００３５】
なお、順序関係計算手段１１１は、通信順序ルール入力部及び試験シナリオ生成部に相当する。
【００３６】
順序送信時間算出手段１０５は、順序情報を付加されたメッセージ間の受信時刻の差、またはモニタ開始時刻からのメッセージ受信時刻の差を算出する。
順序送信時間算出手段１０５は、試験シナリオ生成部の機能の一部を担う。
【００３７】
順序つきシミュレータ情報格納領域１１３は、順序つきシミュレータ情報（試験シナリオ）を記憶する。
順序つきシミュレータ情報は、フィールド値解析済みメッセージ、順序情報、時間制約情報、送信時間から構成される。
図２０に例示したように、順序つきシミュレータ情報は、複数のパスを含み、各パスに試験対象装置からのメッセージ受信イベントと試験対象装置へのメッセージ送信イベントが順序づけられている。順序づけは、順序情報に示される。
そして、イベントごとに試験対象装置から受信すべきメッセージ（フィールド値解析済みメッセージ）又は試験対象装置に送信すべきメッセージ（フィールド値解析済みメッセージ）が定義づけられる。
また、各イベントには試験対象装置からメッセージを受信すべき時間制約（受信時刻の条件）又は試験対象装置へメッセージを送信すべき時間制約（送信時刻の条件）が定義づけられる。時間制約は時間制約情報に示される。
また、各イベントには試験対象装置にメッセージを送信すべき送信時間（送信タイミング）が定義づけられている。
【００３８】
順序関係制御手段１１２は、試験実行時に、順序情報を参照しながら送受信するメッセージを順次取り出すとともに、取り出したメッセージに付加されている時間制約情報を出力する。
また、内部的に取り出したメッセージがどこかを記憶している。
順序関係制御手段１１２は、シミュレータ動作実施手段１０８とともに試験管理部を構成する。
【００３９】
通信シミュレータ手段１０６は、シミュレータ情報作成手段１０７、シミュレータ動作実施手段１０８、シミュレータ結果確認手段１０９から構成される。
【００４０】
シミュレータ情報作成手段１０７は、モニタ情報格納領域１０４からビットパターンのメッセージを取得し、メッセージ解析手段１１０にフィールド値を解析させる。
また、フィールド値を解析したメッセージを順序関係計算手段１１１により順序情報および時間制約情報を付加させ、順序送信時間算出手段１０５によりメッセージおよび順序情報から送信時間を算出させる。
また、順序つきシミュレータ情報を順序つきシミュレータ情報格納領域１１３に格納させる。
【００４１】
シミュレータ動作実施手段１０８は、通信送受信手段１０１から受信した試験対象装置からのメッセージをメッセージ解析手段１１０によりフィールド値解析済みのメッセージに変換させ、順序関係制御手段１１２から次のメッセージおよび時間制約情報を取得する。
また、シミュレータ結果確認手段１０９に通信送受信手段１０１経由のメッセージが妥当かどうかを計算させ、結果を出力装置１１５に出力する。
シミュレータ動作実施手段１０８は、順序関係制御手段１１２とともに試験管理部を構成する。
【００４２】
シミュレータ結果確認手段１０９は、通信送受信手段１０１経由で受信したメッセージと、順序関係制御手段１１２により取得したメッセージのフィールド値を比較すると共に、時間制約情報の条件を満たすか検査し、合否を判定する。
シミュレータ結果確認手段１０９は、試験結果確認部の例である。
【００４３】
次に、メッセージフォーマット５００の例を図２に示す。
図２において、メッセージ種別とは、メッセージの型を表しており、メッセージ種別ごとに、持ちうるフィールドや、フィールド値を示すのに必要なビット数が異なる。
例えば、ログインを要求するメッセージ種別と、ログイン要求に対して応答するメッセージ種別がある場合、ログインを要求するメッセージ種別には「ユーザＩＤ」「パスワード」などのフィールド値が含まれる。
一方、ログイン要求に対して応答するメッセージ種別の場合、「ログイン結果」「ログイン時刻」などのフィールド値が含まれる。
メッセージ中の特定の位置の値により、所定のメッセージがいずれのメッセージ種別に該当するかを識別できるようにしておく。
なお、１つのメッセージが複数のメッセージ種別に該当することはないものとする。
図２の例では、メッセージの先頭４ビットの値が０の場合にメッセージ種別ａに該当することを示している。
また、メッセージの先頭４ビットの値が１の場合は、メッセージ種別ｂに該当することを示している。
【００４４】
次に、メッセージ解析手段１１０の動作例を図３に示す。
前述のように、メッセージ解析手段１１０は、ビットパターンのメッセージを元に、メッセージフォーマット５００に従ってフィールド値を解析する。
図３では、メッセージフォーマット５００を読み出した後の処理を説明する。
【００４５】
Ｓ３０１では、メッセージ解析手段１１０は、メッセージフォーマット５００の中に含まれる表を順に取り出す。
Ｓ３０２において、次の表がなければＳ３０３へ移行し、次の表があればＳ３０４へ移行する。
Ｓ３０３では、該当するメッセージがないため、エラーを出力するなどして終了する。
Ｓ３０４では、メッセージ解析手段１１０はメッセージ上を指し示すポインタをメッセージの１ビット目に移動する。
Ｓ３０５では、メッセージ解析手段１１０は表の次の行を取得する。
Ｓ３０６において、次の行がなければＳ３０７へ移行し、次の行があればＳ３０８へ移行する。
Ｓ３０７では、ポインタがメッセージ上を指している場合はＳ３０１へ移行し、ポインタがメッセージ終了位置を指している場合はＳ３０８へ移行する。
Ｓ３０８では、メッセージ解析手段１１０は、これまでに解析したフィールド値解析済みメッセージを返して終了する。
【００４６】
Ｓ３０９では、メッセージ解析手段１１０は行のビット数の列の値の分だけビットパターンを取得する。
Ｓ３１０において、固定値の列の値が空欄でなければＳ３１１へ移行し、空欄ならばＳ３１４へ移行する。
Ｓ３１２では、メッセージ解析手段１１０はビットパターンと固定値Ｂを比較する。
Ｓ３１３において、一致すればＳ３１４へ移行し、一致しなければＳ３０１へ移行する。
Ｓ３１４では、メッセージ解析手段１１０は、フィールド値解析済みメッセージに、フィールド名とフィールド値を設定する。
Ｓ３１５では、メッセージ解析手段１１０は、メッセージ上のポインタを次のフィールドの先頭へ移動させる。
Ｓ３１６において、メッセージが有効な位置（メッセージ上またはメッセージ終了位置）になければＳ３０１へ移行し、有効な位置にあればＳ３０５へ移行する。
なお、メッセージフォーマットに型を記載してもよく、型を記載した場合には、メッセージフォーマットの「固定値」には型に従った値を記述し、後述する通信順序ルールの遷移条件の形式１の定数には型に従った値を記述できる。その際、Ｓ３１２「ビットパターンと固定値Ｂを比較」の前に、ビットパターンを型に従った値Ａに変換する処理を実行し、固定値Ｂと比較する。
【００４７】
次に、通信順序ルール６００の例を図４に示す。
通信順序ルールは、通信順序を示したプロトコル状態遷移を表す情報である。
状態は「メッセージ種別ａの送受信後に、メッセージ種別ｂが送受信された後」というような状況を示している。
遷移にはｔ１のようなＩＤが付加されており、それぞれイベントとガード条件（状態遷移条件）を持つ。
イベントは、メッセージ送受信イベントが該当し、メッセージ種別のみを図中に表記している。
状態遷移条件には、ある状態から別の状態へ遷移するための条件を記述している。
状態遷移条件の形式は次の３種類があり、これらを組み合わた論理式で表される。
【００４８】
形式１：＜遷移ＩＤ＞．ｍｅｓｓａｇｅ．＜フィールド名＞＝＜定数＞
＜遷移ＩＤ＞には、この条件を持つ遷移のＩＤが記述される。
＜フィールド名＞には、メッセージ中のフィールド名が記述される。
＜定数＞にはフィールドの値の定数を記述する。
＜フィールド名＞で記述されているフィールドに＜定数＞で記述されている定数が含まれているメッセージを取得できれば、次の状態に遷移することになる。
この形式で記述された条件は、所定の順序でメッセージが送受信される際に、必ずこのフィールド値を持つことを表す。
例えば、状態遷移ｔ１の［ｔ１．ｍｅｓｓａｇｅ．ユーザ種別＝１］について説明する。
これは、ユーザ種別フィールドに値１が示されているメッセージが抽出できれば次の状態ｓ１への状態遷移が行われることを示している（但し、ｓ１への状態遷移を実現するには、メッセージ種別ａの条件も満たす必要がある）。
【００４９】
形式２：＜遷移ＩＤ＞．ｍｅｓｓａｇｅ．＜フィールド名＞＝＜遷移ＩＤ＞．ｍｅｓｓａｇｅ．＜フィールド名＞
＜遷移ＩＤ＞と＜フィールド名＞は上記と同じである。
この形式で記述された条件は、所定の順序でメッセージが送受信される際に、遷移パス上においてこの遷移よりも前の遷移で送受信されたメッセージのフィールド値と一致することを示す。
例えば、状態遷移ｔ７の［ｔ７．ｍｅｓｓａｇｅ．ユーザＩＤ＝ｔ５．ｍｅｓｓａｇｅ．ユーザＩＤ］について説明する。
これは、ｔ５の状態遷移条件に合致するメッセージ（第１の先行メッセージ）を検索し、検索したメッセージの特定のフィールド（ユーザＩＤのフィールド）と同じフィールドに、当該メッセージと同じフィールド値（ユーザＩＤ）が含まれているメッセージが抽出できればｓ７への状態遷移が行われることを示している（但し、ｓ７への状態遷移を実現するには、メッセージ種別ｅの条件及び送受信時刻についての条件も満たす必要がある）。
【００５０】
形式３：＜遷移ＩＤ＞．ｍｅｓｓａｇｅ．送受信時刻−＜遷移ＩＤ＞．ｍｅｓｓａｇｅ．送受信時刻＜比較演算子＞＜時間差＞
＜比較演算子＞は、不等号や等号を記述する。
＜時間差＞は「３分」「１秒」のような時間を記述する。
この形式で記述された条件は、所定の順序でメッセージが送受信される場合に、遷移パス上においてこの遷移よりも前の遷移でメッセージが送受信された時刻との間に、時間制約があることを示す。
例えば、状態遷移ｔ７の［ｔ７．送受信時刻−ｔ６．送受信時刻≧６０秒］について説明する。
これは、ｔ６の状態遷移条件に合致するメッセージ（第２の先行メッセージ）を検索し、検索したメッセージの受信時刻との差が制限時間である６０秒以内に収まるメッセージが抽出できればｓ７への状態遷移が行われることを示している（但し、ｓ７への状態遷移を実現するには、メッセージ種別ｅの条件及びユーザＩＤについての条件も満たす必要がある）。
【００５１】
また、通信順序ルール６００には、図５に示すメッセージ種別セットも含まれる。
メッセージ種別セット１つにつき、メッセージ種別が複数含まれる。メッセージ種別セットは複数存在しうる。
メッセージ種別セットは、通信データを記録した際の順序に従って、メッセージ間に順序づけをするための通信順序ルールである。
例えば、メッセージ種別セットにメッセージ種別ｂとｇが含まれており、記録したメッセージ（通信装置２００、通信装置４００からキャプチャしたメッセージ）にａ１、ｂ１、ｂ２、ｃ１、ｇ１、ｂ３、ｇ２が含まれている場合、このメッセージ種別セットによって、ｂ１→ｂ２→ｇ１→ｂ３→ｇ２の間に順序づけがなされる。
【００５２】
次に、順序関係計算手段１１１の動作例を図６及び図７に示す。
【００５３】
順序関係計算手段１１１は、Ｓ５０２以降の検査を、各トークンに対して順に実行する（Ｓ５０１）。
トークンとは、通信順序ルール６００上の状態遷移の遷移パス１つに対して作成され、遷移パスを構成する各遷移について、記録したメッセージとの対応付けを持ち、「トークンが指す状態」とは、最後に対応付けをされた遷移における、遷移後の状態を表す。
なお、初期状態を指すトークンは常に存在するものとする。
【００５４】
Ｓ５０２では、通信順序ルール６００において、次に検査するトークンがある場合はＳ５０４へ処理を進め、フィールド解析済みメッセージｍ１が、いずれのトークンの遷移パスにも適さない場合には、Ｓ５０３に処理を進める。
Ｓ５０３では、いずれのトークンの遷移パスにも適さなかったため、順序関係計算手段１１１は、エラーを出力して終了する。
【００５５】
一方、Ｓ５０４では、順序関係計算手段１１１は、各トークンが指している状態から出る遷移（複数個）を取得する。
次に、Ｓ５０５では、順序関係計算手段１１１は、取得した遷移について、Ｓ５０６以降の検査を順に実行する。
Ｓ５０６において、次に検査する遷移がある場合は、Ｓ５０７へ処理を進め、次に検査する遷移がない場合はＳ５０１へ処理を進める。
Ｓ５０７では、順序関係計算手段１１１は、フィールド解析済みメッセージｍ１の種別と、取得した遷移の状態遷移条件に示されるメッセージの種別が一致するかを検査する。
Ｓ５０８において、メッセージ種別が一致した場合は、Ｓ５０９へ処理を進め、一致しなかった場合はＳ５０５へ処理を進める。
Ｓ５０９では、順序関係計算手段１１１は、フィールド解析済みメッセージｍ１が、遷移に付属する条件を満たすか検査する。
【００５６】
条件が定数との比較の場合（上記の形式１の条件の場合）は、直接その定数と比較する。
例えば、図４の状態遷移ｔ１の［ｔ１．ｍｅｓｓａｇｅ．ユーザ種別＝１］では、比較対象のｔ１のフィールド解析済みメッセージのユーザ種別フィールドに値１があるかどうかを判断する。
条件が他の遷移のメッセージｍ３のフィールド値との比較の場合（上記の形式２の条件の場合）は、トークンが保持する、フィールド解析済みメッセージｍ３と遷移との対応付けを参照し、他の遷移のメッセージｍ３のフィールド値との比較を行う。
例えば、図４の状態遷移ｔ７の［ｔ７．ｍｅｓｓａｇｅ．ユーザＩＤ＝ｔ５．ｍｅｓｓａｇｅ．ユーザＩＤ］では、ｔ７のフィールド解析済みメッセージのユーザＩＤフィールドの値と比較対象となっているｔ５のフィールド解析済みメッセージのユーザＩＤフィールドの値が一致するか否かを判断する。
条件が他の遷移のメッセージ送受信時刻との比較の場合（上記の形式３の条件の場合）は、トークンが保持する、フィールド解析済みメッセージと遷移との対応付けを参照し、他の遷移のメッセージ送受信時刻との比較を行う。
例えば、図４の状態遷移ｔ７の［ｔ７．送受信時刻−ｔ６．送受信時刻≧６０秒］では、ｔ６の状態遷移条件に合致するフィールド解析済みメッセージの受信時刻と比較対象のフィールド解析済みメッセージの受信時刻との差が制限時間である６０秒以内に収まるか否かを判断する。
【００５７】
Ｓ５１０において、ある遷移ｔにおいてフィールド解析済みメッセージｍ１で状態遷移条件を満たした場合はＳ５１１へ処理を進め、フィールド解析済みメッセージｍ１で状態遷移条件を満たす遷移が得られない場合はＳ５０４へ処理を進める。
【００５８】
Ｓ５１１では、順序関係計算手段１１１は、トークンがたどっている遷移パスのうち、現在指している状態に入る遷移に対応するフィールド解析済みメッセージｍ２を取得する。例えば、図４の例では、トークンがｓ１を指しているときには、１つ前の状態遷移ｔ１に対して取得されたメッセージがフィールド解析済みメッセージｍ２に該当する。
Ｓ５１２では、順序関係計算手段１１１は、取得したフィールド解析済みメッセージｍ２と、フィールド解析済みメッセージｍ１の間に順序情報を追加する。この際、フィールド解析済みメッセージｍ２が順序上先に現れるものとして追加する。つまり、状態遷移ｔ２について取得したメッセージを状態遷移ｔ１について取得されているメッセージに連結する。
Ｓ５１３では、順序関係計算手段１１１は、遷移ｔに付属している条件を、時間制約情報およびフィールド値制約情報として追加する。
条件がフィールド値と定数との比較の場合は、そのままフィールド値制約情報として追加する。
条件がフィールド値どうしの比較の場合は、トークンが保持する遷移とメッセージの対応付けを元に、フィールド値と定数との比較条件に変換し、フィールド値制約情報として追加する。
条件がメッセージの送受信時刻どうしの比較の場合は、時間制約情報としてそのまま追加する。
Ｓ５１４では、順序関係計算手段１１１は、トークンが保持する遷移パスに遷移ｔを追加し、遷移ｔとフィールド解析済みメッセージｍ１を対応付ける。
【００５９】
また、順序関係計算手段１１１は、メッセージ種別セットについて図８に示す動作も行う。
Ｓ５２１では、順序関係計算手段１１１は、記録したメッセージから、メッセージ種別セットに含まれるメッセージ種別を保持するメッセージを送受信時刻の順に取得する。
また、Ｓ５２２では、順序関係計算手段１１１は、送受信時刻の順序において、隣り合うメッセージ間に順序情報を追加する。
そして、順序関係計算手段１１１は、この処理を、メッセージ種別セットすべてについて順に実行する。
【００６０】
次に、順序送信時間算出手段１０５の動作例を図９に示す。
【００６１】
Ｓ６０１において、順序送信時間算出手段１０５は、順序情報を付加されたメッセージの組を検索する。
Ｓ６０２では、順序送信時間算出手段１０５は、検索したメッセージの組を順次取得する。
Ｓ６０３において、次のメッセージの組を取得できればＳ６０４へ移行し、できなければＳ６０６へ移行する。
Ｓ６０４では、順序送信時間算出手段１０５は、順序情報または時間制約情報で接続されたメッセージのうち、後のメッセージの受信時刻から、先のメッセージの受信時刻の時間差Ａを計算する。
Ｓ６０５では、順序送信時間算出手段１０５は、２つのメッセージ間の時間制約を、時刻差Ａが満たすか否かを検査する。満たさない場合は、順序送信時間算出手段１０５は、エラーを出力して処理を終了する。満たす場合は、時刻差Ａを時間間隔情報として付加し、処理をＳ６０２に戻す。
【００６２】
Ｓ６０６では、順序送信時間算出手段１０５は、順序情報のないメッセージを検索する。
Ｓ６０７では、順序送信時間算出手段１０５は、検索したメッセージを順次取得する。
Ｓ６０８では、順序送信時間算出手段１０５は、次のメッセージを取得できればＳ６１０へ移行し、できなければＳ６０９へ移行する。
Ｓ６０９では、時間差情報を付加し終えたので順序送信時間算出手段１０５は動作を終了する。
Ｓ６１０では、順序送信時間算出手段１０５は、メッセージの受信時刻と受信開始時刻との時間差Ｂを計算する。
Ｓ６１１では、順序送信時間算出手段１０５は、受信開始時からメッセージの間の時間差情報として時間差Ｂを設定する。
【００６３】
次に、順序つきシミュレータ情報格納領域１１３の記録方式を図１０のＵＭＬクラス図で示す。
記録方式はこの方式に限らず、それぞれの情報が図に示すような関連および参照を持っていればよい。
また、フィールド解析済みメッセージおよびフィールドのデータについては、フィールド解析前のメッセージに置き換えてもよい。
【００６４】
イベントとは、受信開始イベントまたはメッセージ送受信イベントをまとめて扱うためのデータである。
イベントデータとして具体的なデータが存在するわけではない。
【００６５】
受信開始は、受信開始イベントを表すデータである。
【００６６】
送受信イベントは、メッセージを送受信したことを表すデータである。送受信したノード（アドレスなど）への参照と、送受信したメッセージへの参照を持つ。
【００６７】
フィールド解析済みメッセージは、フィールド解析済みメッセージを表すデータである。
フィールド解析済みメッセージには、メッセージ種別が含まれる。
また、フィールド解析済みメッセージは、解析したフィールドへの参照（複数個の場合あり）を持つ。
【００６８】
フィールドは、解析されたフィールドを表すデータである。
フィールド名とフィールド値を属性として持つ。
【００６９】
フィールド値制約情報は、送受信イベントが試験対象からの出力イベントである場合に、試験対象からの出力パケットどうしを比較するためのデータである。
フィールド名とフィールド値を属性として持つ。
【００７０】
イベント間関連は、順序情報、時間制約情報、時間差情報をまとめて扱うためのデータである。
イベント間関連データとして具体的なデータが存在するわけではない。
順序情報における前のイベントと後のイベントへの参照、時間制約情報と時間差情報における基点を表す前のイベントと終点を表す後のイベントへの参照を持つ。
【００７１】
順序情報は、イベントの発生時刻に関する情報である。
【００７２】
時間制約情報は、イベント発生時刻に関して、仕様上守るべきイベント発生時刻どうしの制約を表す情報。「３分以内」のように、時間差（例では「３分」）と制約タイプ（例では「以内」）の属性を持つ。
【００７３】
時間差情報は、あるイベントから所定の時間差を置いてイベントを送信するための情報である。属性として時間差を持つ。
【００７４】
次に、シミュレータ情報作成手段１０７の動作例を図１１に示す。
【００７５】
Ｓ８０１では、シミュレータ情報作成手段１０７は、モニタ情報格納領域１０４から、フィールド未解析のメッセージを取得する。
Ｓ８０２では、シミュレータ情報作成手段１０７は、フィールド未解析のメッセージを、メッセージ解析手段１１０により、フィールド解析済みメッセージに変換する。
Ｓ８０３では、フィールド解析済みメッセージを元に、順序関係計算手段１１１により、順序情報および時間制約情報およびフィールド値制約情報を付加する。
Ｓ８０４では、シミュレータ情報作成手段１０７は、フィールド解析済みメッセージ、順序情報、および時間制約情報を元に、順序送信時間算出手段１０５により、時間差情報を付加する。
Ｓ８０５では、シミュレータ情報作成手段１０７は、順序つきシミュレータ情報格納領域１１３に、メッセージ、順序情報、時間制約情報、フィールド値制約情報、および時間差情報を記録する。
【００７６】
次に、順序関係制御手段１１２の動作例を図１２及び図１３に示す。
なお、あらかじめポインタは試験シナリオ上のシミュレーション開始指示の入力イベント（図２０のノード（１）に相当）を指しており、図１５のＳ１２０２の結果、試験開始イベント（図２０のノード（２）に相当）を指しているものとする。
【００７７】
Ｓ９０１において、順序関係制御手段１１２は、操作の種別を判別する。
Ｓ９０２において、タイマーから起動された場合はＳ９０３へ移行する。
実受信イベントＡに対応するシナリオイベントＢを取得する場合はＳ９０４へ移行する。なお、実送受信イベントＡ（以下、実イベントＡという）は、より具体的には、実際に発生した受信イベント（試験対象装置からのメッセージ受信）である。また、シナリオイベントＢは、試験シナリオ上のイベントである。
また、イベントの発生を記録する場合はＳ９０７へ移行する。
【００７８】
Ｓ９０３では、順序関係制御手段１１２は、シミュレータ動作実施手段１０８にメッセージ送信タイミングの到来と、送信するメッセージを通知する。
なお、Ｓ９０３に続いて、後述する図１５のＳ１２１７以降の処理が行われる。
【００７９】
Ｓ９０４では、順序関係制御手段１１２は、実イベントＡの発生時刻Ｃを取得する。
また、Ｓ９０５では、順序関係制御手段１１２は、シナリオイベントを指している試験シナリオ上のすべてのポインタについて、ポインタが指すシナリオイベントＤの次のシナリオイベントのうち、受信イベントであり、メッセージ種別が実イベントＡで受信されたメッセージのメッセージ種別と一致し、実イベントＡで受信されたメッセージが時間制約情報、フィールド値制約情報、順序情報のすべてを満たすシナリオイベントを取得する。
ここで、「あるシナリオイベントの次のシナリオイベント」について説明する。
図２２において、ポインタがアクション１を指しており、条件１を満たしている場合には、アクション２が次のシナリオイベントに該当する。
また、アクション５〜７を指すポインタが３つあり、条件４のみ満たしている場合には次のシナリオイベントは存在せず、条件４〜６のすべてを満たす場合に限り、アクション８を返す。
また、時間制約情報を満たすかどうかの確認方法について説明する。
時間制約情報において、前のイベントで指定されたシナリオイベントに付加して記録された試験時刻と、実イベントＡの発生時刻Ｃの時間差を計算し、その時間差が時間制約を満たすかどうかを確認する。
なお、メッセージが送信イベントか受信イベントかは、ＩＰアドレス等の下位プロトコルの情報やメッセージのフィールド値を元にして、あらかじめ区別できるようにユーザより指定されているものとする。
また、Ｓ９０６において、順序関係制御手段１１２は、取得したシナリオイベント（シナリオイベントＢに相当）と、シナリオイベントＤを指すポインタＥをシミュレータ動作実施手段１０８に返す。
なお、Ｓ９０６の処理により、後述の図１６のＳ１２０９が実施される。
【００８０】
このように、順序関係制御手段１１２は、試験の進展に合わせて試験シナリオ上のメッセージにポインタを設定するとともに、実イベントＡとして、試験対象装置からのメッセージ受信イベントが発生した場合に、ポインタが設定されている各メッセージの次の順序のメッセージを抽出する。
そして、順序関係制御手段１１２は、次の順序のメッセージが試験対象装置から受信すべき受信対象メッセージであるか否か（受信イベントであるか否か）を判断する。
次の順序のメッセージが受信対象メッセージである場合に、通信送受信手段１０１が試験対象装置から受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合する。
更に、順序関係制御手段１１２は、受信メッセージの受信時刻と所定の基準時刻との時刻差と抽出された受信対象メッセージの時間制約情報（制限時間）とを照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致し、時刻差以上の時間制約情報（制限時間）が対応付けられている受信対象メッセージを選択する。
なお、後述するように、順序関係制御手段１１２により選択された受信対象メッセージ（選択受信対象メッセージ）はシミュレータ結果確認手段１０９により試験対象装置から受信した受信メッセージと比較される。
【００８１】
Ｓ９０７では、順序関係制御手段１１２は、シナリオイベントＢに試験時刻として実イベントＡの発生時刻Ｃを対応付ける。つまり、試験シナリオのシナリオイベントＢに対して実イベントＡの発生時刻Ｃを記録する。
なお、Ｓ９０７〜Ｓ９１２は、後述の図１５のＳ１２０２、Ｓ１２１９、図１６のＳ１２１６に後続する処理である。
次に、Ｓ９０８において、順序関係制御手段１１２は、ポインタＥを移動させる。
ポインタを移動させる場合について、図２２を用いて説明する。
ポインタがアクション１を指しており、条件１のみ満たしている場合には、アクション２、アクション３の手前の分岐、アクション４の前の分岐を指すポインタの３つに増やす。
ポインタがアクション５を指しており、条件４のみ満たしている場合には、ｊｏｉｎノードにポインタを移動させる。
条件４〜６のすべてを満たした場合には、３つのポインタを削除し、アクション８を指すポインタ１つだけが残る。この動作については、ＵＭＬアクティビティ図の走査順序に準ずる。その後、ポインタＥを削除する。
【００８２】
Ｓ９０９では、順序関係制御手段１１２は、移動後のポインタが指しているシナリオイベントそれぞれについて、次のシナリオイベントの中から、送信イベントＦを取得する。
Ｓ９１０において、シナリオイベントＦとの間に時間差情報Ｇがある場合はＳ９１１へ移行し、ない場合はＳ９１２へ移行する。
Ｓ９１１では、順序関係制御手段１１２はタイマーを起動する。
タイマーの監視時間は時間差情報Ｇが保持するものであり、タイマーはシナリオイベントＦへの参照を持つ。なお、ここで起動したタイマーにセットした時間（監視時間）が経過した際には、図１２のＳ９０３が実行される。
Ｓ９１２では、順序関係制御手段１１２は、シミュレータ動作実施手段１０８にシナリオ送信イベントＦの実行を要求する。
【００８３】
次に、シミュレータ結果確認手段１０９の処理の流れを図１４に示す。
図１４のフローは、後述する図１６のＳ１２１３の処理に続いて実施される。
【００８４】
まず、Ｓ１１０１において、シミュレータ結果確認手段１０９は、受信したフィールド解析済みメッセージＡ（実メッセージＡ）と、順序つきシミュレータ情報格納領域１１３のフィールド解析済みメッセージＢ（シナリオメッセージＢ）を受け取る。
実メッセージとは、試験対象装置から受信したメッセージであり、シナリオメッセージとは、シナリオイベントに定義づけられているメッセージであり、試験対象装置から受信すべきメッセージとして図１２のＳ９０６において順序関係制御手段１１２により選択されたメッセージ（選択受信対象メッセージ）である。
また、シミュレータ結果確認手段１０９は、後述する図１６のＳ１２１３においてシミュレータ動作実施手段１０８から実メッセージＡとシナリオメッセージＢを受け取る（図１６のＳ１２１３ではメッセージＢとメッセージＤと表記）。
なお、シミュレータ結果確認手段１０９が受け取る段階では、試験対象装置から受信したメッセージは、メッセージ解析手段１１０によるフィールド解析が完了した後のメッセージである。同様に、順序つきシミュレータ情報格納領域１１３から受け取るメッセージもメッセージ解析手段１１０によるフィールド解析済みのメッセージである。
【００８５】
Ｓ１１０２では、シミュレータ結果確認手段１０９は、シナリオメッセージＢのフィールドＣを順に取得する。
Ｓ１１０３において、フィールドＣを取得できなかった場合はＳ１１０４へ移行し、できた場合はＳ１１０７へ移行する。
Ｓ１１０４では、実メッセージＡのフィールドのうち、未確認のものがあればＳ１１０５へ移行し、なければＳ１１０６へ移行する。
Ｓ１１０５では、シミュレータ結果確認手段１０９は、実メッセージＡに未確認のフィールドがあるため、エラーを出力して終了する。
Ｓ１１０６では、実メッセージＡに未確認のフィールドがなければ、すべてのフィールド値が一致したことになるため、シミュレータ結果確認手段１０９は、実メッセージＡとシナリオメッセージＢが一致したことを出力する。
【００８６】
フィールドＣを取得できた場合、Ｓ１１０７において、シミュレータ結果確認手段１０９は、次のフィールドＤを実メッセージＡから取得する。
Ｓ１１０８において、フィールドＤを取得できなかった場合はＳ１１０９へ移行し、できた場合はＳ１１１０へ移行する。
フィールドＤを取得できなかった場合、シミュレータ結果確認手段１０９は、Ｓ１１０９において、実メッセージＡとシナリオメッセージＢでフィールドの個数が異なるため、エラーを出力して終了する。
Ｓ１１１０では、シミュレータ結果確認手段１０９は、フィールドＣとフィールドＤのフィールド値を比較し、一致しているかを検査する。
Ｓ１１１１において、一致しなかった場合はＳ１１１２へ移行し、一致した場合はＳ１１１３へ移行する。
Ｓ１１１２では、フィールド値が不一致となったため、シミュレータ結果確認手段１０９は、エラーを出力して終了する。
Ｓ１１１３では、シミュレータ結果確認手段１０９は、フィールドＤを確認済みに設定する。
Ｓ１１０５、Ｓ１１０６、Ｓ１１０９、Ｓ１１１２、Ｓ１１１３の処理に続いて、後述する図１６のＳ１２１４が行われる。
【００８７】
次に、シミュレータ動作実施手段１０８の処理の流れを図１５及び図１６に示す。
【００８８】
シミュレータ動作実施手段１０８の動作は、入力装置１１４から起動された場合、通信送受信手段１０１から起動された場合、順序関係制御手段１１２から起動された場合に分けられる。
入力装置１１４から起動された場合とは、ユーザが入力装置１１４にシミュレーションの開始指示を入力した場合である。
通信送受信手段１０１から起動された場合は、通信送受信手段１０１が試験対象装置からメッセージを受信した場合である。
順序関係制御手段１１２から起動された場合は、順序関係制御手段１１２から試験対象装置へ送信対象メッセージを送信するよう通知された場合（図１２のＳ９０３）である。
【００８９】
Ｓ１２０１において、入力装置１１４から起動された場合はＳ１２０２へ移行し、通信送受信手段１０１から起動された場合はＳ１２０８（図１６）へ移行し、順序関係制御手段１１２から起動された場合はＳ１２１７へ移行する。
【００９０】
Ｓ１２０２では、シミュレータ動作実施手段１０８は、順序関係制御手段１１２に試験開始イベント（受信開始イベント）の記録を要求し、終了する。
Ｓ１２０２に続いて、図１３のＳ９０７が実施される。
【００９１】
Ｓ１２０８では、シミュレータ動作実施手段１０８は、通信送受信手段１０１からメッセージＢを受け取る。メッセージＢは試験対象装置から受信したメッセージである。
Ｓ１２０９では、シミュレータ動作実施手段１０８は、メッセージ解析手段１１０にてメッセージＢの解析を行わせた後、順序関係制御手段１１２に次のイベントの取得を要求し、次のイベント（０個又は１個）を取得する。ここでいう次のイベントとは、メッセージＢの受信イベントに対応するシナリオイベント（メッセージ受信イベント）である。
Ｓ１２０９に基づき、順序関係制御手段１１２では、Ｓ９０４、Ｓ９０５の処理が行われ、該当するシナリオイベントがあれば、Ｓ９０６においてシナリオイベントとポインタＥがシミュレータ動作実施手段１０８に返される。
シミュレータ動作実施手段１０８では、Ｓ１２１１において、受信イベントＤがない場合（Ｓ９０６でシナリオイベントが返されなかった場合）は１２１２へ移行し、ある場合（Ｓ９０６でシナリオイベントが返された場合）はＳ１２１３へ移行する。
Ｓ１２１２では、シミュレータ動作実施手段１０８は、エラーを出力して終了する。
Ｓ１２１３では、シミュレータ動作実施手段１０８は、選択された受信イベントＤのメッセージＤと試験対象装置からのメッセージＢをシミュレータ結果確認手段１０９により比較する。
Ｓ１２１４において、図１４に示すシミュレータ結果確認手段１０９による検査の結果、メッセージＢとＤが一致した場合はＳ１２１６へ移行し、一致しなかった場合はＳ１２１５へ移行する。
メッセージが一致しなかった場合は、Ｓ１２１５において、シミュレータ動作実施手段１０８はエラーを出力して終了する。
メッセージが一致した場合は、Ｓ１２１６において、実メッセージ受信イベントＢと、シナリオ受信イベントＤ、Ｓ１２０９で取得したポインタ（Ｓ９０６で順序関係制御手段１１２から返されたポインタ）を順序関係制御手段１１２に渡してイベントＢの記録を要求して、終了する。
【００９２】
順序関係制御手段１１２から起動された場合、Ｓ１２１７において、送信対象のメッセージＥを受け取る。Ｓ１２１７は、図１２のＳ９０３に続く処理である。
Ｓ１２１８では、シミュレータ動作実施手段１０８は、通信送受信手段１０１を介してメッセージＥを試験対象装置へ送信する。
Ｓ１２１９では、シミュレータ動作実施手段１０８は、順序関係制御手段１１２にメッセージＥの送信イベントの記録を要求し、終了する。
【００９３】
このように、本実施の形態では、仕様の範囲内でメッセージの送受信順序が変化した場合でも、試験結果の合否を誤って出力することがなくなるとともに、通信仕様上の時間制約についても検査することができるため、仕様への適合性と試験結果の合否が不一致だった場合の詳細な調査を行う手間がなくなるため、試験作業を効率化することができる。
【００９４】
以上、本実施の形態では、
ネットワーク網と通信装置の間の通信データをモニタする通信モニタ手段、
現在時刻の管理をする時刻管理手段、
通信モニタ手段がモニタした情報が書き込まれるモニタ情報格納領域、
通信装置とのインタフェース機能を持ち、下位プロトコルを解析の上、ビットパターンのメッセージを出力する通信送受信手段、
ビットパターンのメッセージを、メッセージフォーマットに基づいて、フィールド解析済みのメッセージに変換するメッセージ解析手段、
通信順序ルールに基づき、ルールが成立したメッセージ間に順序情報や時間制約情報を付加する順序関係計算手段、
順序情報を付加されたメッセージ間の受信時刻の差、またはモニタ開始時刻からのメッセージ受信時刻の差を算出する順序送信時間算出手段、
モニタ情報格納領域からビットパターンのメッセージを取得し、メッセージ解析手段によりフィールド値を解析し、フィールド値を解析したメッセージを順序関係計算手段により順序情報および時間制約情報を付加し、順序送信時間算出手段によりメッセージおよび順序情報および時間制約情報から送信時間を算出し、順序つきシミュレータ情報格納領域に記録するシミュレータ情報作成手段、
フィールド値解析済みメッセージ、順序情報、時間制約情報、送信時間を格納する順序つきシミュレータ情報格納領域、
試験実行時に、順序情報を参照しながら送受信するメッセージを順次取り出すとともに、取りだしたメッセージに付加されている時間制約情報を出力する順序関係制御手段、
通信送受信手段経由で受信したメッセージと、順序関係制御手段により取得したメッセージのフィールド値を比較すると共に、時間制約情報の条件を満たすか検査し、合否を判定するシミュレータ結果確認手段、
通信送受信手段から受信したメッセージをメッセージ解析手段によりフィールド値解析済みのメッセージに変換し、順序関係制御手段から次のメッセージおよび時間制約情報を取得し、シミュレータ結果確認手段により通信送受信手段経由のメッセージが妥当かどうかを計算し、結果を出力装置に出力するシミュレータ動作実施手段
を持つシステムを説明した。
【００９５】
また、本実施の形態で説明したシステムと同様の手順にて方法及びプログラムを実現することができる。
【００９６】
最後に、本実施の形態に示した通信シミュレータ装置１００のハードウェア構成例について説明する。
図２３は、本実施の形態に示す通信シミュレータ装置１００のハードウェア資源の一例を示す図である。
なお、図２３の構成は、あくまでも通信シミュレータ装置１００のハードウェア構成の一例を示すものであり、通信シミュレータ装置１００のハードウェア構成は図２３に記載の構成に限らず、他の構成であってもよい。
【００９７】
図２３において、通信シミュレータ装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した「モニタ情報格納領域１０４」、「順序つきシミュレータ情報格納領域１１３」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００９８】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００９９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【０１００】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【０１０１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
通信シミュレータ装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【０１０２】
上記プログラム群９２３には、本実施の形態の説明において「〜手段」、「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【０１０３】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の変換」、「〜の検査」、「〜の検索」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１０４】
また、本実施の形態の説明において「〜手段」、「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本発明に係る情報処理方法を実現することができる。
また、「〜手段」、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜手段」、「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜手段」、「〜部」の手順や方法をコンピュータに実行させるものである。
【０１０５】
このように、本実施の形態に示す通信シミュレータ装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜手段」、「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１０６】
１００  通信シミュレータ装置、１０１  通信送受信手段、１０２  通信モニタ手段、１０３  時刻管理手段、１０４  モニタ情報格納領域、１０５  順序送信時間算出手段、１０６  通信シミュレータ手段、１０７  シミュレータ情報作成手段、１０８  シミュレータ動作実施手段、１０９  シミュレータ結果確認手段、１１０  メッセージ解析手段、１１１  順序関係計算手段、１１２  順序関係制御手段、１１３  順序つきシミュレータ情報格納領域、１１４  入力装置、１１５  出力装置、５００  メッセージフォーマット、６００  通信順序ルール。
【図１】
0005495764.tif 000002
【図２】
0005495764.tif 000003
【図３】
0005495764.tif 000004
【図４】
0005495764.tif 000005
【図５】
0005495764.tif 000006
【図６】
0005495764.tif 000007
【図７】
0005495764.tif 000008
【図８】
0005495764.tif 000009
【図９】
0005495764.tif 000010
【図１０】
0005495764.tif 000011
【図１１】
0005495764.tif 000012
【図１２】
0005495764.tif 000013
【図１３】
0005495764.tif 000014
【図１４】
0005495764.tif 000015
【図１５】
0005495764.tif 000016
【図１６】
0005495764.tif 000017
【図１７】
0005495764.tif 000018
【図１８】
0005495764.tif 000019
【図１９】
0005495764.tif 000020
【図２０】
0005495764.tif 000021
【図２１】
0005495764.tif 000022
【図２２】
0005495764.tif 000023
【図２３】
0005495764.tif 000024