(57)【特許請求の範囲】
【請求項１】
相互に独立して動作する複数のシミュレータと、上記複数のシミュレータを管理するシミュレーションマネージャとを備えた並列分散シミュレーションシステムにおいて、上記複数のシミュレータは、メッセージを記録する記録モード時に、上記シミュレーションマネージャからメッセージを受信すると、そのメッセージを記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録する記録手段と、そのメッセージにしたがってシミュレーションを実行する実行手段と、上記実行手段によるシミュレーションの実行を再現する再現モード時に、上記シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、上記記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを上記実行手段に与える管理手段とを備え、上記シミュレーションマネージャは、上記複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、上記シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信することを特徴とする並列分散シミュレーションシステム。
【請求項２】
記録手段は、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録することを特徴とする請求項１記載の並列分散シミュレーションシステム。
【請求項３】
実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替える切替手段を設けたことを特徴とする請求項１または請求項２記載の並列分散シミュレーションシステム。
【請求項４】
メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、上記実行手段及び上記記録手段は、上記ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うことを特徴とする請求項１から請求項３のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項５】
記録手段は、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証することを特徴とする請求項２記載の並列分散シミュレーションシステム。
【請求項６】
記録手段の記録内容を編集する記録編集手段を設けたことを特徴とする請求項１から請求項５のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項７】
シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定する進行ステップ設定手段を設けたことを特徴とする請求項１から請求項６のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項８】
論理時刻と実時刻の時刻比を設定する時刻比設定手段と、上記時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御する時刻管理手段とを設けたことを特徴とする請求項１から請求項７のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項９】
記録手段が論理時刻を記録する際、その論理時刻に対応する実時刻を記録し、管理手段は、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を上記実時刻の進行に合わせてメッセージを実行手段に与えることを特徴とする請求項２記載の並列分散シミュレーションシステム。
【請求項１０】
実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから記録モードに切り替える切替手段を設け、記録手段は上記切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録することを特徴とする請求項１から請求項９のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項１１】
記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択する差分情報選択手段を設けたことを特徴とする請求項１０記載の並列分散シミュレーションシステム。
【請求項１２】
差分情報選択手段による差分情報の選択条件を設定する条件設定手段を設けたことを特徴とする請求項１１記載の並列分散シミュレーションシステム。
【請求項１３】
記録手段により記録された差分情報の内容及び論理時刻を編集する差分情報編集手段を設けたことを特徴とする請求項１０記載の並列分散シミュレーションシステム。
【請求項１４】
再現モード時に再現実行を一時的に停止する論理時刻を設定する時刻設定手段を設けたことを特徴とする請求項１から請求項１３のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項１５】
時刻設定手段は、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定することを特徴とする請求項１４記載の並列分散シミュレーションシステム。
【請求項１６】
時刻設定手段は、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定することを特徴とする請求項１４記載の並列分散シミュレーションシステム。
【請求項１７】
時刻設定手段は、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定することを特徴とする請求項１４記載の並列分散シミュレーションシステム。
【請求項１８】
時刻設定手段は、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定することを特徴とする請求項１４記載の並列分散シミュレーションシステム。
【請求項１９】
時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定する進行ステップ設定手段を設けたことを特徴とする請求項１４から請求項１８のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項２０】
時刻設定手段により設定された論理時刻と実時刻の時刻比を設定する時刻比設定手段と、上記時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御する時刻管理手段とを設けたことを特徴とする請求項１４から請求項１８のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項２１】
切替手段が再現モードから通常実行モードに切り替える論理時刻を設定する時刻設定手段を設けたことを特徴とする請求項３記載の並列分散シミュレーションシステム。
【請求項２２】
時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するメッセージ投入手段を設けたことを特徴とする請求項１４から請求項２１のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項２３】
時刻設定手段により設定された論理時刻を編集する時刻編集手段を設けたことを特徴とする請求項１４から請求項２２のうちのいずれか１項記載の並列分散シミュレーションシステム。
【請求項２４】
シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させる混在制御手段を設けたことを特徴とする請求項１記載の並列分散シミュレーションシステム。
【請求項２５】
シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替える混在型切替手段を設けたことを特徴とする請求項２４記載の並列分散シミュレーションシステム。
【請求項２６】
シミュレータ選択手段により選択された１以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるマルチ実行管理手段を設けたことを特徴とする請求項２４記載の並列分散シミュレーションシステム。
【請求項２７】
マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するマルチ時刻管理手段を設けたことを特徴とする請求項２６記載の並列分散シミュレーションシステム。
【請求項２８】
各シミュレータ単体で論理時刻の進行を指示する論理時刻管理手段を設けたことを特徴とする請求項１記載の並列分散シミュレーションシステム。
【請求項２９】
相互に独立して動作する複数のシミュレータが並列に分散してシミュレーションを実行する並列分散シミュレーション方法において、上記複数のシミュレータは、メッセージを記録する記録モード時に、シミュレーションマネージャからメッセージを受信すると、そのメッセージをメモリに記録するとともに、そのメッセージの受信時刻を示す論理時刻をメモリに記録し、そのメッセージにしたがってシミュレーションを実行する一方、上記シミュレーションの実行を再現する再現モード時に、上記シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、上記メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージにしたがってシミュレーションを実行し、上記シミュレーションマネージャは、上記複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信することを特徴とする並列分散シミュレーション方法。
【請求項３０】
シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録することを特徴とする請求項２９記載の並列分散シミュレーション方法。
【請求項３１】
シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えることを特徴とする請求項２９または請求項３０記載の並列分散シミュレーション方法。
【請求項３２】
シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定することを特徴とする請求項２９から請求項３１のうちのいずれか１項記載の並列分散シミュレーション方法。
【請求項３３】
再現モード時に再現実行を一時的に停止する論理時刻を設定することを特徴とする請求項２９から請求項３２のうちのいずれか１項記載の並列分散シミュレーション方法。
【請求項３４】
再現実行させるシミュレータと通常実行させるシミュレータを選択することを特徴とする請求項２９から請求項３３のうちのいずれか１項記載の並列分散シミュレーション方法。
【請求項３５】
複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させることを特徴とする請求項３４記載の並列分散シミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、相互に独立して動作する複数のシミュレータをネットワークを介して接続し、複数のシミュレーションを分散して並列実行する並列分散シミュレーションシステム及び並列分散シミュレーション方法に関するものである。
【０００２】
【従来の技術】
並列分散シミュレーションに限らず、複数の処理の流れが並行に動作する並行処理では、一般に処理の再現性がない。このことは、障害状況を再現したいプログラムのデバッグ作業などで特に問題となる。
このため、複数のプロセッサを使って並行処理が行われる並列計算機や、ネットワーク上の計算機を複数繋いで並行処理を行う分散システムでは、デバッグ支援のための実行再現機能が求められる。
【０００３】
完全な実行再現を行うには、計算機のインストラクションレベルで物理的に実行を再現する必要がある。この方法は理論的には完全であるが、実行再現のために記録するデータ量が膨大なことや、記録・再現する機構の実現が困難なことなどにより非現実的である。このため、並行処理の論理的な実行順序を保証するのに必要な情報だけを記録し、再現する実行再現方法が一般に採用される。
【０００４】
このような並列・分散システムでの実行再現方式のうち、各計算機ごとに分散して再現データの記録と実行再現コントロールを行う実行再現方式が、特開平６−１７５９９号公報に開示されている。
図６３は特開平６−１７５９９号公報に示された従来の並列分散シミュレーションシステムを示す構成図であり、図において、１０１はメッセージ受信手段、１０２はメッセージキュー記憶手段、１０３は第１のメッセージ有無判定手段、１０４はトレース情報生成手段、１０５はトレースバッファ、１０６はトレース情報検索手段、１０７は第２のメッセージ有無判定手段である。
【０００５】
次に動作について説明する。
この例では、各計算機ごとに分散した機能で再現データの記録とコントロールを行う。
ここでは、各計算機で受信したメッセージはメッセージ受信手段１０１により受け取られ、メッセージキュー記憶手段１０２に記憶される。
【０００６】
再現対象の実行中は、各計算機で第１のメッセージ有無判定手段１０３がメッセージキュー記憶手段１０２をチェックし、受信したメッセージの情報を動作状況と一緒に記録する。ここでは、トレース情報生成手段１０４を使って、トレースバッファ１０５に“受信メッセージの識別情報”と“未受信時にはその旨を示す情報”が記録される。
【０００７】
再現実行時には、各計算機でメッセージキュー記憶手段１０２がトレース情報検索手段１０６を使って再現対象の実行情報を検索する。メッセージキュー記憶手段１０２は検索された情報と、メッセージキュー記憶手段１０２に記録された他の計算機からの受信データを比較し、対象の実行と同じ順序（タイミング）で同じメッセージを受信（または未受信）するように、対象の計算機を制御する。
【０００８】
このように、分散して記録した情報を使って、外部から受信メッセージの受取を制御（選択）する方式で再現実行を行うものとして、特開平３−１８８５３６号公報、特開平６−１６１７８５号公報などがある。
【０００９】
また、並列分散シミュレーションシステムにおける実行再現の例としてＨＬＡ（Ｈｉｇｈ  Ｌｅｖｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）によるＳａｖｅ／Ｒｅｓｔｏｒｅ機能がある。
ＨＬＡは、様々な異機種シミュレータを接続し、統合的なシミュレーションを実現するための基盤アーキテクチャである。米国のＤＭＳＯ（Ｄｅｆｅｎｃｅ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｏｆｆｉｃｅ）が提案したアーキテクチャであり、各シミュレータ間の時刻の同期と情報交換プロトコル等を定めている。
ＨＬＡによる並列分散シミュレーションシステムには、次のような特徴がある。
【００１０】
・複数のシミュレータを組み合わせて、１つのシミュレーションシステムを構築する。
・各シミュレータは複数の計算機に分散しており、計算機間はネットワークなどを介して接続されている。なお、１つの計算機内に複数のシミュレータが存在してもよい。
・シミュレータ間での時刻同期やデータ交換やイベントの送信は、各シミュレータとシミュレーションマネージャとの間のサービス（メッセージ）を介して行う。
【００１１】
・シミュレータ間での時刻同期は論理時刻を介して行う。論理時刻は各シミュレータ単位でローカルに管理される（同じ並列分散シミュレーション内のシミュレータ間で異なる論理時刻になることができる）。
・各シミュレータの論理時刻の進行は、シミュレーションマネージャが制御する。並列分散シミュレーションシステム内でデータ交換などのタイミングの整合がとれるように時刻進行を制御する。
・同じ論理時刻で発生した事象は、並列分散シミュレーションシステム内で同時事象として扱う。
【００１２】
このＨＬＡでのＳａｖｅ／Ｒｅｓｔｏｒｅ機能を説明する。
まず、Ｓａｖｅ要求時には、シミュレーションマネージャが各シミュレータにＳａｖｅ開始を通知する。この時からＳａｖｅ完了まで、並列分散シミュレーションシステム全体でデータ更新メッセージなどの発行が停止させられる。Ｓａｖｅ開始を通知されたシミュレータは、Ｓａｖｅ可能な位置で実行を停止し、各シミュレータは実行再現に必要な“現在の実行状態”や“シミュレータ内でのデータの値”などを全て保存する。
【００１３】
また、シミュレーションマネージャも必要な“各シミュレータの実行状態”や“データの値”などを全て保存する。
Ｒｅｓｔｏｒｅ時には、その時点で実行されていた並列分散シミュレーションの情報を破棄して、Ｓａｖｅ時に記録された情報を使って、各シミュレータとシミュレーションマネージャの情報を再現する。このような方法で、並列分散シミュレーションを再現していた。
【００１４】
【発明が解決しようとする課題】
従来の並列分散シミュレーションシステムは以上のように構成されているので、再現実行時に各計算機で記録されたメッセージの受信タイミングと識別情報を使って、他の計算機から送信されてくるメッセージをチェックし、再現対象の実行時と同じタイミングで、同じメッセージを受け取るようにしている。このため、再現実行時でも通常実行時と同様に、各計算機で送信用のデータを生成して、相手先の計算機にデータを送信しなければならず、他の計算機からメッセージが到着するまで計算機におけるシミュレーションの実行が待たされることになる。したがって、再現実行時は、通常実行時におけるシミュレーション速度と同等以下の速度で実行しなければならないという課題があった。
また、他の計算機に障害等が発生して、メッセージの送信が不可能な状態に陥ると、再現実行が不可能になるという課題もあった。
【００１５】
また、計算機の送信データに関する情報記録機能がないため、再現実行時において、送信タイミングと受信タイミングとを制御することができないという課題があった。
さらに、データ交換等の整合性を保つために必要な論理時刻の取扱機能がないため、再現実行から通常実行に切り替えることができないという課題があった。
【００１６】
なお、ＨＬＡにおけるＳａｖｅ／Ｒｅｓｔｏｒｅ機能では、Ｒｅｓｔｏｒｅ時に実行状況の再現に必要な全ての情報を、各シミュレータとシミュレーションマネージャの双方で記録と再生とを行う必要があるため、データの記録・再生にかかる処理時間が長くなり、また、安全にＳａｖｅ／Ｒｅｓｔｏｒｅできる箇所でしかＳａｖｅ／Ｒｅｓｔｏｒｅ機能を実行できないという課題があった。
【００１７】
この発明は上記のような課題を解決するためになされたもので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、論理時刻と実時間とを組み合わせて、再現速度を調整することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
【００１８】
さらに、この発明は、再現実行中に通常実行へ切り替えることができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、再現実行中のブレイクポイント等を設定することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、再現実行させるシミュレータを選択することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
さらに、この発明は、再現実行時に使用する再現情報を選択することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
さらに、複数のシミュレーションを並列実行できる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
【００１９】
【課題を解決するための手段】
この発明に係る並列分散シミュレーションシステムは、実行手段によるシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを実行手段に与えるようにしたものである。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信するようにしたものである。
【００２０】
この発明に係る並列分散シミュレーションシステムは、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するようにしたものである。
【００２１】
この発明に係る並列分散シミュレーションシステムは、実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるようにしたものである。
【００２３】
この発明に係る並列分散シミュレーションシステムは、メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、実行手段及び記録手段が、ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うようにしたものである。
【００２４】
この発明に係る並列分散シミュレーションシステムは、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証するようにしたものである。
【００２５】
この発明に係る並列分散シミュレーションシステムは、記録手段の記録内容を編集するようにしたものである。
【００２６】
この発明に係る並列分散シミュレーションシステムは、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するようにしたものである。
【００２７】
この発明に係る並列分散シミュレーションシステムは、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するようにしたものである。
【００２８】
この発明に係る並列分散シミュレーションシステムは、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を実時刻の進行に合わせてメッセージを実行手段に与えるようにしたものである。
【００２９】
この発明に係る並列分散シミュレーションシステムは、切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録するようにしたものである。
【００３０】
この発明に係る並列分散シミュレーションシステムは、記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択するようにしたものである。
【００３１】
この発明に係る並列分散シミュレーションシステムは、差分情報選択手段による差分情報の選択条件を設定するようにしたものである。
【００３２】
この発明に係る並列分散シミュレーションシステムは、記録手段により記録された差分情報の内容及び論理時刻を編集するようにしたものである。
【００３３】
この発明に係る並列分散シミュレーションシステムは、再現モード時に再現実行を一時的に停止する論理時刻を設定するようにしたものである。
【００３４】
この発明に係る並列分散シミュレーションシステムは、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定するようにしたものである。
【００３５】
この発明に係る並列分散シミュレーションシステムは、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定するようにしたものである。
【００３６】
この発明に係る並列分散シミュレーションシステムは、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定するようにしたものである。
【００３７】
この発明に係る並列分散シミュレーションシステムは、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定するようにしたものである。
【００３８】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するようにしたものである。
【００３９】
この発明に係る並列分散シミュレーションシステムは、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するようにしたものである。
【００４０】
この発明に係る並列分散シミュレーションシステムは、切替手段が再現モードから通常実行モードに切り替える論理時刻を設定するようにしたものである。
【００４１】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するようにしたものである。
【００４２】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻を編集するようにしたものである。
【００４３】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させるようにしたものである。
【００４４】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替えるようにしたものである。
【００４５】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択された１以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるようにしたものである。
【００４６】
この発明に係る並列分散シミュレーションシステムは、マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するようにしたものである。
【００４７】
この発明に係る並列分散シミュレーションシステムは、各シミュレータ単体で論理時刻の進行を指示するようにしたものである。
【００４８】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得し、そのメッセージにしたがってシミュレーションを実行するようにしたものである。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信するようにしたものである。
【００４９】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するようにしたものである。
【００５０】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるようにしたものである。
【００５２】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するようにしたものである。
【００５３】
この発明に係る並列分散シミュレーション方法は、再現モード時に再現実行を一時的に停止する論理時刻を設定するようにしたものである。
【００５４】
この発明に係る並列分散シミュレーション方法は、再現実行させるシミュレータと通常実行させるシミュレータを選択するようにしたものである。
【００５５】
この発明に係る並列分散シミュレーション方法は、複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるようにしたものである。
【００５６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による並列分散シミュレーションシステムを示す構成図であり、図において、１〜４は相互に独立して動作するシミュレータ、５はシミュレータ１〜４とネットワークを介して接続され、シミュレータ１〜４を管理するシミュレーションマネージャである。
【００５７】
６はシミュレータ１〜４のインタフェース部、７はメッセージにしたがってシミュレーションを実行するシミュレータ本体（実行手段）、８はシミュレーションマネージャ５からメッセージを受信すると、そのメッセージをシミュレータ本体７とシミュレータ実行情報管理手段９に与える入力切替手段（記録手段）、９は記録モード時に入力切替手段８からメッセージを受けると、そのメッセージの内容を記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録し、また、シミュレータ本体７がメッセージを出力すると、そのメッセージの種類を記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録するシミュレータ実行情報管理手段（記録手段）である。
【００５８】
１０はシミュレータ本体７がメッセージを出力すると、そのメッセージをシミュレーションマネージャ５とシミュレータ実行情報管理手段９に送信する出力切替手段（記録手段）、１１は再現モード時にシミュレーションマネージャ５からシミュレーションの実行時刻を示す論理時刻を受信すると、シミュレータ実行情報管理手段９からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージをシミュレータ本体７に与えるシミュレータ再現実行管理手段（管理手段）である。
【００５９】
１２はシミュレーションマネージャ５のインタフェース部、１３はシミュレーションマネージャ５のマネージャ本体、１４はメッセージの受信先を切り替える入力切替手段、１５はシミュレータ１〜４に送信したメッセージの内容及び送信時刻と、シミュレータ１〜４から受信したメッセージの種類及び受信時刻等を記録するマネージャ実行情報管理手段、１６はメッセージの出力先を切り替える出力切替手段、１７はシミュレータ１〜４から受信したメッセージの復元とタイミングを制御するマネージャ再現実行管理手段、１８は再現実行時にシステム全体の論理時刻の進行を管理し、シミュレーションの実行時刻（論理時刻）を指示する実行再現論理時刻管理手段である。
【００６０】
なお、図２はシミュレータ再現実行管理手段１１の動作を示すフローチャート、図３は入力切替手段８，１４の動作を示すフローチャート、図４は出力切替手段１０，１６の動作を示すフローチャート、図５はマネージャ再現実行管理手段１７の動作を示すフローチャート、図６は実行再現論理時刻管理手段１８の動作を示すフローチャートである。図７はシミュレータ実行情報管理手段９の記録内容を示す説明図、図８はマネージャ実行情報管理手段１５の記録内容を示す説明図、図９は記録モード時の動作概要を示す説明図、図１０は再現モード時の動作概要を示す説明図である。
【００６１】
次に動作について説明する。
この実施の形態１では、シミュレーションマネージャ５は、ＨＬＡでのＲＴＩ（Ｒｕｎ  Ｔｉｍｅ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）に相当する機能をマネージャ本体１３が持っているものとする。
また、各シミュレータ間でのデータ交換や各シミュレータが保持する論理的な時刻の維持は、シミュレーションマネージャ５に対するメッセージの送受信を使って制御され、全体として１つの並列分散シミュレーションシステムを構成しているものとする。
【００６２】
さらに、インタフェース部６，１２は、並列分散シミュレーションを実現するためのインタフェース部分であり、並列分散シミュレーションシステムでやり取りされるメッセージの送信と受信とを行う部分機能であり、シミュレータ及びシミュレーションマネージャの固有の機能であるシミュレータ本体７及びマネージャ本体１３とは区別する。
【００６３】
最初に、記録モード時の動作を説明する。
まず、シミュレータ１〜４の入力切替手段８は、図３に示すように、シミュレーションマネージャ５からメッセージを受信すると、そのメッセーをシミュレータ本体７へ伝達するとともに、“メッセージの内容”と“受信時刻を示す論理時刻”をシミュレータ実行情報管理手段９に伝達する。
そして、シミュレータ実行情報管理手段９は、入力切替手段８から伝達されたメッセージの内容と論理時刻を再現用の実行情報として記録する（図７を参照）。
【００６４】
シミュレータ１〜４の出力切替手段１０は、図４に示すように、シミュレータ本体７からのメッセージ送信要求を受け取ると、送信メッセージをシミュレーションマネージャ５に送信するとともに、“メッセージの識別子（識別子はメッセージの種類を示す）”と“送信時刻を示す論理時刻”をシミュレータ実行情報管理手段９に伝達する。
そして、シミュレータ実行情報管理手段９は、出力切替手段１０から伝達されたメッセージの識別子と論理時刻を再現用の実行情報として記録する（図７を参照）。
【００６５】
次に、シミュレーションマネージャ５の入力切替手段１４は、図３に示すように、シミュレータ１〜４からメッセージを受信すると、そのメッセージをマネージャ本体１３に伝達するとともに、“メッセージの内容”と“受信時刻を示す論理時刻”と“受信元のシミュレータを示す識別子”とをマネージャ実行情報管理手段１５に伝達する。
そして、マネージャ実行情報管理手段１５は、入力切替手段１４から伝達されたメッセージの内容と論理時刻とシミュレータの識別子とを再現用の実行情報として記録する（図８を参照）。
【００６６】
シミュレーションマネージャ５の出力切替手段１６は、図４に示すように、マネージャ本体１３からのメッセージ送信要求を受け取ると、送信メッセージを送信対象のシミュレータに送付するとともに、“メッセージの識別子”と“送信時刻を示す論理時刻”と“送信先のシミュレータを示す識別子”とをマネージャ実行情報管理手段１５に伝達する。
そして、マネージャ実行情報管理手段１５は、出力切替手段１６から伝達されたメッセージ識別子と論理時刻とシミュレータの識別子とを再現用の実行情報として記録する（図８を参照）。
【００６７】
次に、再現モード時の動作を説明する。
まず、シミュレータ１〜４の入力切替手段８は、図３に示すように、シミュレータ再現実行管理手段１１から受信メッセージを受け取って、シミュレータ本体７に伝達する。
出力切替手段１０は、図４に示すように、シミュレータ本体７から送信メッセージを受信すると、シミュレータ再現実行管理手段１１に“メッセージの識別子”を伝達する。
【００６８】
シミュレータ再現実行管理手段１１は、図２に示す手順でシミュレータ１〜４の再現実行を制御する。
具体的には、シミュレーションマネージャ５から時刻進行要求又はシミュレータ本体７から送信メッセージの識別子が伝達されるまで待機し、シミュレーションマネージャ５から時刻進行要求を受け取ると、「進行可能な論理時刻」を要求された時刻にセットする。
【００６９】
一方、送信メッセージの識別子を受け取ると、シミュレータ実行情報管理手段９を参照して、現在待っているメッセージか否かをチェックする。対象のメッセージでない場合には、エラーを出力して再現実行を中断する。対象のメッセージの場合には、“再現制御ポインタ”を１個進める。
ここで、“再現制御ポインタ”は、再現実行時にシミュレータ実行情報管理手段９が次の処理対象のメッセージを示すポインタであり、ここでは、説明を簡単にするために便宜的に使用する。
【００７０】
上記の時刻進行要求又は送信メッセージに対する処理後、シミュレータ実行情報管理手段９の“再現制御ポインタ”と「進行可能な論理時刻」を参照し、シミュレータ本体７が受け取れる受信メッセージの有無を調査する。
ここで、受信可能なメッセージがない場合には、再び時刻進行要求と送信メッセージ待ちの状態に戻る。
逆に受信可能なメッセージがある場合には、シミュレータ実行情報管理手段９のデータを使って対象のメッセージの内容を復元した後で、復元したメッセージを入力切替手段８に伝達する。この手順で全ての受信可能なメッセージを伝達後、時刻進行要求と送信メッセージ待ちの状態へ戻る。
【００７１】
なお、この調査時に“再現制御ポインタ”が示すメッセージの送受信論理時刻が「進行可能な論理時刻」よりも大きい場合には、シミュレータでの現在の論理時刻と「進行可能な論理時刻」を比較する。
「進行可能な論理時刻」＞現在の論理時刻の時には、シミュレータでの現在の論理時刻を「進行可能な論理時刻」に設定し、シミュレーションマネージャ５に時刻進行処理が完了したことを通知する。
【００７２】
次に、シミュレーションマネージャ５の入力切替手段１４と出力切替手段１６との動作は、基本的に各シミュレータでの動作と同じであり、シミュレータ本体７をマネージャ本体１３に、シミュレータ再現実行管理手段１１をマネージャ再現実行管理手段１７に置き換えた動作を行う。
【００７３】
また、マネージャ再現実行管理手段１７は、図５に示すように、シミュレーションマネージャ５の再現実行を制御する。ここでの動作は基本的にシミュレータ再現実行管理手段１１と同じであり、シミュレータ本体７をマネージャ本体１３に、シミュレータ実行情報管理手段９をマネージャ実行情報管理手段１５に置き換えた動作を行う。ただし、メッセージの内容を復元するときにシミュレータ識別情報を付加することと、時刻進行要求が実行再現論理時刻管理手段１８から直接伝達され、時刻進行処理の完了を直接実行再現論理時刻管理手段１８に伝達することとが異なる。
【００７４】
最後に、再現モード時の論理時刻進行の手順について説明する。
実行再現論理時刻管理手段１８は、図６に示す手順で論理時刻の進行を制御する。なお、この実施の形態１では、並列分散シミュレーションにおける論理時刻の最小の進行単位は“１”とし、再現モード時にはこの最小単位で自動的に論理時刻を進めることにする。
【００７５】
まず、シミュレータ１〜４のシミュレータ再現実行管理手段１１とマネージャ再現実行管理手段１７に“現在の論理時刻＋１”の時刻への進行を指示する。
シミュレータ再現実行管理手段１１とマネージャ再現実行管理手段１７は、受信データの受取処理などの“現在の論理時刻＋１”への論理時刻の進行処理が完了した時点で、実行再現論理時刻管理手段１８に完了を通知する。
【００７６】
完了通知受取後、実行再現論理時刻管理手段１８は、自分が管理する現在の論理時刻を“現在の論理時刻＋１”とする。その後、再度“現在の論理時刻＋１”の時刻への進行を指示する。上記の処理を繰り返すことにより、論理時刻で同期しながら論理時刻“１”の刻みで並列分散シミュレーションの再現実行を行う。
【００７７】
このように、本システムでは、記録モード時は、シミュレータ１〜４とシミュレーションマネージャ５とがメッセージの送受信情報をローカルに記録し、再現モード時は、記録した情報を使って受信情報を復元し、論理時刻とメッセージの送信タイミングを使って受信タイミングを制御し、論理時刻の進行に沿って再現実行を行うので、統合シミュレーションとしての整合性を維持しながら再現実行を行える効果を奏する。
【００７８】
また、本システムでは、再現実行時に受信メッセージをローカルな情報を使って復元し、シミュレータ１〜４とシミュレーションマネージャ５との間では、論理時刻進行指示以外のメッセージの送受信を行わないため、再現モード時のネットーワーク負荷を軽減し、効率の良い処理が実行できる効果も奏する。
さらに、本システムでは、並列分散シミュレーションのためのインタフェース部分を拡張することで再現実行を実現しているため、シミュレータ本体７に変更を加えることなく再現実行を実現できる効果も奏する。
【００７９】
上記実施の形態１では、論理時刻の最小の進行単位を“１”に設定して、“１”ずつ論理時刻を進行するものについて示したが、これよりも大きい任意のステップを指定して、その指定したステップで論理時刻を進行させるようにしてもよく、上記実施の形態１と同様の効果を奏する。その際、大きいステップで進行させるようにすれば、再現実行の高速化を図ることができる効果も奏する。
【００８０】
上記実施の形態１では、受信メッセージの内容を全て記録するものについて示したが、並列分散シミュレーションで規定されたメッセージに対する知識を利用して、メッセージの内容を圧縮して記録し、再現モード時に再生するようにしても、上記実施の形態１と同様の効果を奏する。さらに、記録内容を圧縮することで記録容量を削減できる効果も奏する。
【００８１】
上記実施の形態１では、ネットワークを介して４個のシミュレータを接続するものについて示したが、シミュレーションマネージャ５とシミュレータとが同一の計算機内で実現される場合や、複数のシミュレータが同じ計算機に複数存在する場合など、シミュレータの接続形態に関係なく、上記実施の形態１と同様の効果を奏する。
また、任意の数のシミュレータが接続された並列分散シミュレーションシステムでも、上記実施の形態１と同様の効果を奏する。
【００８２】
上記実施の形態１では、論理時刻の最小の進行単位を“１”としているが、これ以外に設定することもでき、この場合も上記実施の形態１と同様の効果を奏する。また、上記実施の形態１では、論理時刻を自動的に進行させるものについて示したが、ユーザや他の装置からの指示等をトリガとして論理時刻を進行させても上記実施の形態１と同様の効果を奏する。
【００８３】
上記実施の形態１では、シミュレーションマネージャ５の実現形態として、１つの計算機に集中して実現する例を説明したが、シミュレーションマネージャ５を複数の計算機上に分散して実現しても上記実施の形態１と同様の効果を奏する。
例えば、図１１のようにシミュレーションマネージャを分散する場合には、各シミュレーションマネージャ毎にマネージャ実行情報管理手段１５とマネージャ再現実行管理手段１７を分散して設け、実行再現論理時刻管理手段１８を１台実装しても上記実施の形態１と同様の効果を奏する。
また、図１２のように階層状にシミュレーションマネージャを分散する場合には、最上位階層のシミュレーションマネージャに実行再現論理時刻管理手段１８を実装しても上記実施の形態１と同様の効果を奏する。
【００８４】
実施の形態２．
図１３はこの発明の実施の形態２による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
１９，２０は再現実行中、再現モードから通常実行モードに切り替える実行再現切替手段（切替手段）である。
図１４は実行再現切替手段１９，２０の動作を示すフローチャート、図１５は入力切替手段８，１４の動作を示すフローチャート、図１６は出力切替手段１０，１６の動作を示すフローチャート、図１７は通常実行時の動作概要を示す説明図である。
【００８５】
次に動作について説明する。
この実施の形態２では、再現実行中に時刻Ｔで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。ここでは、時刻Ｔまでは上記実施の形態１と同様に再現実行が行われる。
なお、この実施の形態２では、論理時刻Ｔまで進行した時には、時刻Ｔ以前のシミュレーションに影響を与える事象が発生しないことが保証されている。その後、時刻Ｔでシミュレーションマネージャ５の実行再現切替手段２０にシステム全体への通常実行への切替指示があったものとする。
【００８６】
シミュレーションマネージャ５の実行再現切替手段２０は、論理時刻Ｔにおいて、再現実行から通常実行に切り替える指示を受けると、シミュレータ１〜４の実行再現切替手段１９に切替指示を伝達する。
切替指示の伝達完了後、シミュレーションマネージャ５の実行再現切替手段２０と、シミュレータ１〜４の実行再現切替手段１９は、図１４に示す手順で、入力切替手段８，１４と出力切替手段１０，１６に入出力の変更指示を与える。
【００８７】
また、シミュレーションマネージャ５は、実行再現論理時刻管理手段１８に論理時刻進行指示を停止させる。
そして、入力切替手段８，１４は、入力の変更指示を受けると、図１５に示す手順で、再現モードから通常実行モードに遷移し、出力切替手段１０，１６は、出力の変更指示を受けると、図１６に示す手順で、再現モードから通常実行モードに遷移する。
【００８８】
この後、シミュレータ１〜４は、図１７に示すように、入力切替手段８がシミュレーションマネージャ５から受信メッセージを受け取ってシミュレータ本体７に伝達し、出力切替手段１０がシミュレータ本体７からの送信メッセージをシミュレーションマネージャ５に伝達する。
シミュレーションマネージャ５は、入力切替手段１４がシミュレータ１〜４からの受信メッセージをマネージャ本体１３に伝達し、出力切替手段１６がマネージャ本体１３からの送信メッセージをシミュレータ１〜４に伝達する。
これにより、切り替え完了後は、シミュレーションマネージャ５とシミュレータ１〜４は通常実行を行うことになる。
【００８９】
このように、本システムでは、再現実行中に、ある論理時刻を境として送受信メッセージの受取と出力先を切り替えることで、通常のシミュレーション実行に切り替えることができるので、再現実行中に通常実行へ切り替えることができる効果を奏する。
これにより、シミュレーションの途中までは実行再現データを利用し、そこから通常のシミュレーション実行を行うことで、シミュレーション実行時間の効率化を計ることができる。特に、同一の前提条件を高速に提供できるシミュレーションシステムが得られる効果を奏する。
【００９０】
なお、上記実施の形態２では、再現実行から通常実行への切替指示をシミュレーションマネージャ５が受け取ってシミュレータ１〜４に通知するものについて示したが、任意のシミュレータが切替指示を受け取ってシミュレーションマネージャ５に通知し、その後、他のシミュレータに通知してもよい。
また、上記実施の形態２では、シミュレーションマネージャ５が切替指示を受け取ると、即座にモードを切り替えるものについて示したが、モードの切替時刻を指定するようにしてもよく、上記実施の形態２同様の効果を奏する。
【００９１】
実施の形態３．
図１８はこの発明の実施の形態３による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２１はシミュレータ１〜４のうち、シミュレーションを再現実行させるシミュレータを選択する再現参加シミュレータ選択手段（シミュレータ選択手段）である。
なお、図１９はシミュレータの参加状態を示す説明図、図２０は参加シミュレータによる再現実行時の動作概要を示す説明図である。
【００９２】
次に動作について説明する。
この実施の形態３では、シミュレータ１とシミュレータ４のみ再現実行に参加すると仮定する（図１９を参照）。
ここでは、再現実行時に実行再現論理時刻管理手段１８は、再現参加シミュレータ選択手段２１を参照して論理時刻進行を指示するシミュレータを選択する。この例では、シミュレータ１とシミュレータ４を選択して論理時刻進行を指示する。
【００９３】
シミュレータ１とシミュレータ４は、上記実施の形態１と同様の手順で再現実行が行われる。このため、再現実行時にはそれぞれシミュレータ実行情報管理手段９にローカルに記録した情報だけを使って受信メッセージを復元する。
ここで、シミュレータ実行情報管理手段９は、再現対象の実行時にシミュレータ２，３が及ぼす影響も受信メッセージとして記録している。また、シミュレーションマネージャ５でも、シミュレータ１，４と同様に、ローカルに記録した情報だけを使って受信メッセージを復元する。このため、再現実行にシミュレータ２，３が参加しなくても、再現対象の実行時の正確さを維持したまま再現実行を行うことができる。
【００９４】
このように、本システムでは、再現実行に参加するシミュレータを選択しても、シミュレーションの正確さを維持しながら再現実行を行うことができる効果を奏する。これにより、例えば結果表示を行うシミュレータだけを選択して再現実行をすることで、シミュレーションの結果表示に必要な最低限度の再現実行処理を行うだけで、統合シミュレーションとしての正確さを維持した（表示される結果は、正確なシミュレーションの結果と同じである）並列分散シミュレーションを行うことができる。このように、シミュレーションの効果が高くかつ処理負荷の低い再現実行を行える効果がある。
【００９５】
実施の形態４．
図２１はこの発明の実施の形態４による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２２はメッセージのユーザ入力を受け付けて、そのメッセージをシミュレータ本体７及びシミュレータ実行情報管理手段９に与えるユーザ入力切替手段（ユーザ入力手段）である。
なお、図２２はユーザ入力切替手段２２の動作を示すフローチャート、図２３はシミュレータ再現実行管理手段１１の動作を示すフローチャート、図２４はユーザ入力も含めた記録実行時（再現対象の実行時）の動作概要を示す説明図、図２５は再現実行時の動作概要を示す説明図である。
【００９６】
次に動作について説明する。
ユーザ入力切替手段２２は、図２４に示すように、記録モード時はユーザからのメッセージの入力を受け付けて、その入力内容をシミュレータ本体７に伝達するとともに、“入力内容”と“入力された論理時刻”をシミュレータ実行情報管理手段９に伝達する。この例のシミュレータ実行情報管理手段９は、ユーザ入力を受信データと同様に記録する。
【００９７】
一方、再現モード時は、シミュレータ再現実行管理手段１１が図２４に示すように、シミュレータ実行情報管理手段９からユーザの入力内容を受け取ってユーザ入力切替手段２２に伝達することにより、ユーザの入力内容をシミュレータ本体７に伝達する。
【００９８】
シミュレータ再現実行管理手段１１は、図２３に示す手順で再現実行の制御を行うが、基本的に上記実施の形態１と同様の制御を行う。ただし、受信メッセージだけでなく、ユーザ入力についてもユーザ入力を復元し、復元したデータをユーザ入力切替手段２２に伝達する。
なお、この実施の形態４では、再現実行時に同じ論理時刻からユーザ入力を行うことで、各シミュレータの処理の再現が保証されている。
【００９９】
このように、本システムでは、再現実行の情報としてユーザからの入力を扱うことができる。これにより、ユーザ入力も含めた並列分散シミュレーションの実行を再現できる効果を奏する。このことは、特にユーザのオペレーションを含む管制業務の支援用のシミュレーションシステムなどの再現実行を行う時に効果的である。
【０１００】
上記実施の形態４では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態２，３のシステムに機能拡張してもよく、上記実施の形態４と同様の効果を奏する。
また、上記実施の形態２の実行再現切替手段１９，２０による切替指示に連動してユーザ入力切替手段２２の入力元をシミュレータ再現実行管理手段１１からユーザ入力に切り替えることで、ユーザ入力を加えた再現実行でも、再現実行から通常実行に切り替えることができる効果を奏する。
【０１０１】
実施の形態５．
図２６はこの発明の実施の形態５による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２３，２４は記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証する送信メッセージ検証手段（記録手段）である。
【０１０２】
次に動作について説明する。
この実施の形態５では、再現対象の実行中に、上記実施の形態１と同様に実行情報を記録する。ただし、出力切替手段１０で送信メッセージの情報を記録するときに、送信メッセージの識別子だけでなく、送信メッセージの内容も受信メッセージと同様に記録する。
【０１０３】
再現実行時も基本的に上記実施の形態１と同様である。ただし、シミュレータ再現実行管理手段１１は、出力切替手段１０から送信メッセージの到着を伝達された時に、送信メッセージ検証手段２３に送信メッセージの検証を指示することが異なる。送信メッセージ検証手段２３は、再現実行中に伝達されてきた送信メッセージの送信内容と送信の論理時刻をシミュレータ実行情報管理手段９の記録内容と比較する。
なお、記録内容と一致する場合は何もしないが、記録内容と一致しない場合は警告を出力する。
【０１０４】
このように、本システムでは、シミュレータ１〜４とシミュレーションマネージャ５の送信情報について検証しながら再現実行を行うことができる効果を奏する。このことは、再現実行が正しく行われていることを確認する時に有効である。
【０１０５】
なお、この実施の形態５では、シミュレータ側での送信チェックについて説明したが、シミュレーションマネージャ５側に設けた送信メッセージ検証手段２４を使ってマネージャ再現実行管理手段１７がシミュレータ再現実行管理手段１１と同様の処理を行うことで、シミュレーションマネージャ５でも、上記実施の形態５と同様の効果を奏する。
【０１０６】
また、この実施の形態５では、送信メッセージの不一致が発生した時に、警告を出力するものについて示したが、この時点でシステム全体を一時停止させることや、シミュレーションを停止させることもできる。
このように、送信チェックでエラーが見つかった時に、様々な停止や警告などの処置を選択できる効果を奏する。
上記実施の形態５では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態２，３のシステムに機能拡張してもよく、上記実施の形態５と同様の効果を奏する。
【０１０７】
実施の形態６．
図２７はこの発明の実施の形態６による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２５はシミュレータ実行情報管理手段９の記録内容を編集する再現実行情報編集手段（記録編集手段）、２６はマネージャ実行情報管理手段１５の記録内容を編集する再現実行情報編集手段（記録編集手段）である。
なお、図２８は再現実行情報編集手段による編集情報の伝搬を示す説明図である。
【０１０８】
次に動作について説明する。
シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の記録内容は、各シミュレータとシミュレーションマネージャ５との間でのメッセージのやり取りの記録である。このため、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の編集機能には、（１）シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５との間で整合性の取れた編集と、（２）デバッグやテスト用にあえて整合性の取れない編集の両方を行える必要がある。
【０１０９】
再現実行情報編集手段２６は、記録対象の実行終了後に、シミュレータ１〜４のシミュレータ実行情報管理手段９とシミュレーションマネージャ５のマネージャ実行情報管理手段１５の記録内容を収集して一時的に記録する。再現実行情報編集手段２６は、この一時的な記録を使って、実行再現情報を編集する。
【０１１０】
編集時には、（１）シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の間で整合性の取れた編集、または、（２）デバッグやテスト用にあえて整合性の取れない編集を実行する。
編集作業の終了後、編集後の実行再現情報をシミュレータ１〜４のシミュレータ実行情報管理手段９とシミュレーションマネージャ５のマネージャ実行情報管理手段１５とへ反映させる。
ここで、編集後の実行再現情報の伝搬を図２８に示す。このように、再現実行情報編集手段２６は、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５との内容を任意に編集できる。
【０１１１】
このように、本システムでは、シミュレータ実行情報管理手段９が記録した再現のための実行情報を任意に編集できる。再現情報を編集し、編集した情報を使って再現実行を行うことで、任意の再現実行を行える並列分散シミュレーションシステムを得られる効果を奏する。これにより、シミュレーションで任意のシナリオを作成して、そのシナリオが再現実行により実現できる効果も奏する。
【０１１２】
本システムでは、任意の再現情報を作成できるので、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる。これにより、デバッグが困難な状況を作り出すことや、指定したパターンを再現実行することでテストやデバッグでの網羅性を向上できる。このことは、統合シミュレーションでのデバッグやテストの精度と効率を向上できる効果がある。
【０１１３】
上記実施の形態６では、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５との間で整合性の取れた編集を容易に行うために、再現実行情報編集手段２６をシミュレーションマネージャ５に実装した例で説明したが、再現実行情報編集手段２５，２６をシミュレータ１〜４とシミュレーションマネージャ５とに分散させ、各再現実行情報編集手段２５間で整合性を取る機能を設けて実装しても、上記実施の形態６と同様の効果を奏する。
上記実施の形態６では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態２，３のシステムに機能拡張して実現してもよく、上記実施の形態６と同様の効果を奏する。
【０１１４】
また、上記実施の形態４のシステムに対して再現実行情報編集手段２５，２６を拡張しても、上記実施の形態６と同様の効果を奏する他、再現実行情報編集手段２５，２６では、ユーザ入力に対する情報もメッセージの受信データと同様に編集することができ、ユーザ入力を含めた再現実行を任意にコントロールできる効果もある。
この他、上記実施の形態５のシステムに対して再現実行情報編集手段２５，２６を拡張しても、上記実施の形態６と同様の効果を奏する他、再現実行情報編集手段２５，２６では、送信データの情報もメッセージの受信データと同様に編集することができる。これにより、より複雑な送信データのチェックを行うことができる効果もある。
【０１１５】
実施の形態７．
図２９はこの発明の実施の形態７による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２７はシミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定する論理時刻進行ステップ管理手段（進行ステップ設定手段）である。
なお、図３０は再現実行時における論理時刻の進行ステップを示す概念図である。
【０１１６】
次に動作について説明する。
この実施の形態７では、図３０に示すように、再現実行時における論理時刻の進行を制御する。ただし、時刻Ｔ０〜Ｔ１までは、論理時刻の進行ステップが“１”であるとする。
時刻Ｔ１において、論理時刻進行ステップ管理手段２７が論理時刻の進行ステップを“１”から“３”に変更し、その後、時刻Ｔ２まで論理時刻が進行したとする。
【０１１７】
この場合、実行再現論理時刻管理手段１８は、各シミュレータに対して時刻Ｔ０〜Ｔ１までは論理時刻を“１”ステップ進行させる指示を出力し、時刻Ｔ１〜Ｔ２までは論理時刻を“３”ステップ進行させる指示を出力する。
論理時刻進行ステップ管理手段２７は、実行再現論理時刻管理手段１８に対して論理時刻の進行ステップを変更する指示を与えることができる。
【０１１８】
このように、本システムでは、再現実行時における論理時刻の進行ステップを任意に変えることができる効果を奏する。論理時刻の進行ステップを任意に変えることで、再現実行のスピードをコントロールすることができるため、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果を奏する。
【０１１９】
上記実施の形態７では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態２，３のシステムに機能拡張して実現してもよく、上記実施の形態７と同様の効果を奏する。
【０１２０】
実施の形態８．
図３１はこの発明の実施の形態８による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
２８は現実の時間情報を管理する実時刻管理手段、２９は論理時刻と実時刻の時刻比を設定する論理／実時刻比管理手段（時刻比設定手段）である。
【０１２１】
なお、図３２は再現実行時における時刻進行状況を示す概念図である。ここでは、“論理時刻＝実時刻”となるように再現実行時における論理時刻の進行を制御する例を示している。また、論理時刻の進行ステップは“１”（秒）に固定する。
【０１２２】
次に動作について説明する。
実時刻管理手段２８は、現実の時間情報を管理している。ここでは、“論理時刻＝０”から時刻進行を開始するので、再現実行開始時に“実時刻＝０”にセットし、その後は現実の時間に沿って実時刻情報を更新していく。
【０１２３】
論理時刻＝実時刻が指定されているため、論理／実時刻比管理手段２９は、論理時刻の進行速度と実時刻の比を１に設定する。
まず、論理／実時刻比管理手段２９は、時刻の進行条件を設定する。この例では、“論理時刻＝実時刻”が指定され、論理時刻の進行ステップは“１”（秒）とする。
次に、論理／実時刻比管理手段２９は、実時刻管理手段２８の実時刻情報を使って実時間の１秒ごとに論理／実時刻比管理手段２９へ論理時刻を“１”（秒）進行させるように指示する。
【０１２４】
このように、本システムでは、再現実行時における論理時刻の進行を実時刻で制御できる効果を奏する。実時間を無視して論理時刻に沿った整合性がとれたシミュレーションを実施した後で、再現実行時にはその結果を論理時刻＝実時刻で再現することで、整合性のとれたシミュレーションの結果を実時刻に沿った形で実行できる効果を奏する。これにより、再現実行時には、シミュレーション結果を現実感に沿った形で提示できる効果を奏する。
【０１２５】
上記実施の形態８では、論理／実時刻比管理手段２９が“論理時刻＝実時刻”となるように設定するものについて示したが、論理時刻と実時刻の比は任意に設定することができ、“論理時刻＝実時刻”以外の比を設定しても、上記実施の形態８と同様の効果を奏する。
また、整合性のとれたシミュレーションの結果を任意の実時刻に沿った形で実行できる効果もある。
【０１２６】
上記実施の形態８では、論理時刻の進行ステップは“１”（秒）に固定としたが、“１”（秒）以外の値を設定しても、上記実施の形態８と同様の効果を奏する。
また、上記実施の形態８では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態７のシステムに機能拡張して、論理時刻進行ステップ管理手段２７で指定された任意の論理時刻の進行ステップ値についても、上記実施の形態８と同様の効果を奏する。
【０１２７】
上記実施の形態８では、上記実施の形態１のシステムに対する機能拡張として説明したが、上記実施の形態２，３のシステムに機能拡張して実現しても、上記実施の形態８と同様の効果を奏する。
特に、上記実施の形態３のシステムに機能拡張して実現した場合には、再現参加シミュレータ選択手段２１で適したシミュレータを選択することで、処理の高速化が可能になるケースがあり、“実時刻／論理時刻≧１”（論理時刻の進行を実時刻よりも早くする。例えば論理時刻の進行ステップ“１００”（秒）を実時刻“１０”（秒）で実行）を行う場合に、効果を奏する可能性が高い。
【０１２８】
実施の形態９．
図３３はこの発明の実施の形態９による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
３０は再現対象実行時に実時刻管理手段２８の実時刻情報を使って論理時刻と実時刻の対応を記録する実時刻情報収集手段、３１は実行再現時に実時刻管理手段２８の実時刻情報と実時刻情報収集手段３０に記録された論理時刻と実時刻との対応データを使って論理時刻の進行を制御するリアル再現実行制御手段である。
なお、図３４は再現実行時における時刻進行状況を示す概念図である。
【０１２９】
次に動作について説明する。
ここでは、再現対象の実行中も実時刻管理手段２８を使用する。再現対象の実行開始時に、実時刻を“０”に設定し、その後、実時間情報を更新していく。
再現対象の実行中に、実時刻情報収集手段３０は、論理時刻の進行処理がある度に、その論理時刻と対応する実時刻を記録する。実時刻情報は実時刻管理手段２８の値を使用する。
【０１３０】
実行再現時には、再現実行開始時に実時刻管理手段２８が実時刻を“０”に設定し、その後、実時間情報を更新していく。
リアル再現実行制御手段３１は、実時刻情報収集手段３０の採取した情報と、実時刻管理手段２８の値とを比較して、対象の実時刻に到達した時に、対応する論理時刻への進行指示を発信するように実行再現論理時刻管理手段１８へ指示する。
【０１３１】
この例では、まず、実時刻“７”までに論理時刻“３”へ進行するように指示される。次に、実時刻“１２”までに論理時刻“５”へ進行するように指示されるといった手順を繰り返していく。これにより、記録した時と同じ実時間で、論理時刻を進行させることができる。
【０１３２】
このように、本システムでは、再現対象の実行と同じ実時間で、論理時刻を進行させることができる効果を奏する。これにより、再現対象の実行と同じ実時間でシミュレーションの動作を復元できる効果を奏する。
【０１３３】
本システムでは実行再現時に、各シミュレータとシミュレーションマネージャ５との間でのメッセージ交換を行わないため、一般に記録時よりも再現実行が早く進む。このため、実時刻に沿った実行をする場合には、論理時刻の進行が早く進み過ぎないように時刻進行指示を出す制御を行えばよい。ただし、論理時刻の刻み幅が大きい場合には、時刻進行指示を待っている時間が長くなる。このような対策として、再現実行にかかる処理時間を予め計測しておいて、時刻の進行指示を出すタイミングを遅らせることが考えられる。また、大きい論理時刻の刻み幅を分割し、その間を補間するように小刻みな時刻進行指示と実時刻制御を行うことも考えられる。
このような拡張を上記実施の形態９に対して行っても同様の制御を行うことが可能である。また、より記録時の実時刻に近い再現実行が行える効果がある。
【０１３４】
上記実施の形態９では、リアル再現実行制御手段３１が実時刻情報収集手段３０で記録したデータ順に論理時刻の進行を指示する例で説明したが、時刻進行を１個おきにスキップするなど全ての記録情報を使わない場合でも、上記実施の形態９と同様の制御を行うことが可能である。
【０１３５】
実施の形態１０．
図３５はこの発明の実施の形態１０による並列分散シミュレーションシステムを示す構成図であり、図において、図１３と同一符号は同一または相当部分を示すので説明を省略する。
３２は実行再現切替手段１９が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャ５から受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録する差分情報収集手段（記録手段）、３３は差分情報収集手段３２と同様の差分情報収集手段（記録手段）である。
なお、図３６は差分情報収集時の動作概要を示す説明図、図３７は差分情報を使った再現実行時の動作概要を示す説明図である。
【０１３６】
次に動作について説明する。
この実施の形態１０では、上記実施の形態２と同様に、再現実行中に論理時刻Ｔで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。この時、各シミュレータとシミュレーションマネージャ５の実行再現切替手段１９，２０に通常実行への切替指示が伝達され、実行再現切替手段１９，２０から対象の入力切替手段８，１４と出力切替手段１０，１６に入出力の変更指示を与えられ、シミュレーションマネージャ５では実行再現論理時刻管理手段１８に論理時刻進行指示を停止させるまでの手順は、上記実施の形態２と同じである。
【０１３７】
ただし、図３６に示すように差分情報の記録を行うが、ここでは、実行再現切替手段１９，２０からの入力切替手段８，１４と出力切替手段１０，１６とへの入出力の変更指示は、通常実行モードではなく、記録モードヘの変更指示が行われる。
【０１３８】
入力切替手段８，１４と出力切替手段１０，１６とは、再現実行モードから記録モードヘ遷移するが、次のように実行情報の伝達先が異なる。
各シミュレータの入力切替手段８は、シミュレーションマネージャ５からの受信メッセージを受け取ってシミュレータ本体７へ伝達するとともに、差分情報収集手段３２ヘメッセージの内容と受信した論理時刻とを伝達する。
【０１３９】
出力切替手段１０は、シミュレータ本体７からの送信メッセージをシミュレーションマネージャ５へ伝達するとともに、差分情報収集手段３２にメッセージの識別子と受信した論理時刻とを伝達する。
差分情報収集手段３２は、シミュレータ実行情報管理手段９と同様のフォーマットで通常実行に切り替え後の送受信メッセージの情報を差分データとして記録する。また、切替開始時刻を差分データとして記録する。
【０１４０】
一方、シミュレーションマネージャ５の入力切替手段１４は、各シミュレータからの受信メッセージをマネージャ本体１３に伝達するとともに、差分情報収集手段３３にメッセージの内容と受信した論理時刻と受信元シミュレータの識別子とを伝達する。
【０１４１】
出力切替手段１６は、マネージャ本体１３からの送信メッセージを各シミュレータに伝達するとともに、差分情報収集手段３３にメッセージの内容と送信の論理時刻と送信先シミュレータの識別子とを伝達する。
差分情報収集手段３３は、マネージャ実行情報管理手段１５と同様のフォーマットで通常実行に切り替え後の送受信メッセージの情報を差分データとして記録する。
【０１４２】
これにより、切り替え完了後は、シミュレーションマネージャ５と各シミュレータとは、通常実行を行いながら、切り替え後の実行情報を差分情報収集手段３２，３３に差分情報として記録する。
再現実行から通常実行へ切替え、通常実行でのシミュレーションの実行が完了した後で、差分情報収集手段３２，３３の差分情報を使った再現実行ができる。差分情報を使った再現実行は、図３７のように実行される。
【０１４３】
まず、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の記録内容を、切り替えが行われた時刻Ｔで差分情報収集手段３２，３３の情報へ書き換える。その後、書き換えたシミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の記録内容を使って再現実行を行うことで、差分情報を使った再現実行ができる。
【０１４４】
このように、本システムでは、再現実行中に通常のシミュレーション実行に切り替えた後で、通常実行へ切り替え後の実行情報を差分情報として記録し、その差分情報を使った再現実行を行える効果を奏する。
差分情報により途中までの再現情報を共有することで、情報収集量を削減できる効果を奏する。また、差分情報を収集した実行については、途中までは再現実行を利用できるので、情報の収集時間を削減できる効果も奏する。
【０１４５】
上記実施の形態１０では、上記実施の形態２のシステムに対する機能拡張として説明したが、上記実施の形態４のシステムに対して機能拡張して、差分情報収集手段３２がユーザ入力切替手段２２からの情報を差分情報として記録するように実現しても、上記実施の形態１０と同様の効果を奏する。また、ユーザ入力についても差分情報を利用できる効果がある。
上記実施の形態１０では、上記実施の形態２のシステムに対する機能拡張として説明したが、上記実施の形態５のシステムに対して機能拡張して実現しても、上記実施の形態１０と同様の効果を奏する。
【０１４６】
また、出力チェックについても差分情報を利用できる効果がある。
上記実施の形態１０では、差分情報を使った再現実行を行うために、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の内容を書き換える方法を説明した。一方、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の内容を変更せずに、変更を行う論理時刻Ｔを設定して参照先の実行記録を差分情報収集手段３２，３３へ変更するようにシミュレータ再現実行管理手段１１とマネージャ再現実行管理手段１７とを変更することでも実現でき、上記実施の形態１０と同様の効果を奏する。
【０１４７】
実施の形態１１．
図３８はこの発明の実施の形態１１による並列分散シミュレーションシステムを示す構成図であり、図において、図３５と同一符号は同一または相当部分を示すので説明を省略する。
３４，３５は差分情報収集手段３２，３３により記録された差分情報のうち、シミュレーションの実行に使用する差分情報を選択する差分情報選択手段、３６は差分情報選択手段３４，３５の選択内容を伝達する差分情報管理手段である。なお、図３９は差分情報管理手段３６における差分情報管理方法の概要を示す説明図、図４０は差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【０１４８】
次に動作について説明する。
この実施の形態１１では、上記実施の形態１０と同様に、再現実行中に論理時刻Ｔで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。この時、各シミュレータとシミュレーションマネージャ５とで、入力モードが変更され、差分情報収集手段３２，３３が差分の実行情報を収集するところまでは、上記実施の形態１０と同じである。
【０１４９】
ただし、この実施の形態１１では、上記実施の形態１０と異なり、図３９のように差分実行終了後に、各シミュレータとシミュレーションマネージャ５とで収集した差分情報を差分情報管理手段３６に登録する。
差分情報管理手段３６は、収集した“通常実行への切替時刻”と“差分実行情報”、“再現対象の実行情報”を新規差分情報として記録する。
【０１５０】
ここで、“再現対象の実行情報”は差分元の実行である。例えば、図４０で、差分情報１ではシミュレータ実行情報管理手段９の記録、差分情報２は差分情報１となる。
差分情報管理手段３６を使った再現実行では、まず、差分情報選択手段３４，３５を使って実行再現情報を選択する。ここでは、図４０のように差分情報２が選択されたとする。選択完了後、図３９のように差分情報管理手段３６は、選択された差分情報を差分情報選択手段３４，３５に伝達する。
【０１５１】
選択後の再現実行では、シミュレータ再現実行管理手段１１とマネージャ再現実行管理手段１７とは、再現に使用する情報を差分情報選択手段３４，３５に問い合わせる。ここでは、論理時刻Ｔ０まではシミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５の情報を、Ｔ０〜Ｔ２までは差分情報管理手段３６の差分情報１を、Ｔ２以後は差分情報管理手段３６の差分情報２を実行再現情報として選択する。これにより、時刻Ｔ０までは最初に記録された実行再現情報、Ｔ０〜Ｔ２までは差分情報１，Ｔ２以後は差分情報２による再現実行が行われる。
【０１５２】
このように、本システムでは、通常実行に切り替えた後の差分情報を管理し、複数の差分情報を組み合わせた再現実行が可能になる効果を奏する。複数の差分情報を組み合わせて管理することにより、より記録容量を削減でき、情報の収集時間を削減できる効果を奏する。
複数の差分情報を組み合わせて再現実行する情報を選択できることで、様々な再現実行のパターンを実行できる効果がある。また、差分情報同士を組み合わせることで、様々な再現実行に対応する場合でも、再現実行に必要な情報を削減できる効果を奏する。
【０１５３】
実施の形態１２．
図４１はこの発明の実施の形態１２による並列分散シミュレーションシステムを示す構成図であり、図において、図３８と同一符号は同一または相当部分を示すので説明を省略する。
３７は差分情報管理手段３６による差分情報の選択条件を設定する差分選択条件設定手段（条件設定手段）である。
なお、図４２は差分選択条件の設定例を示す説明図、図４３は差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【０１５４】
次に動作について説明する。
この実施の形態１２では、上記実施の形態１１と同様の再現実行及び通常実行への切替処理が行われ、結果として図４３に示すパターンのデータが差分情報管理手段３６に蓄えられている。
【０１５５】
ここでは、シミュレーションヘのパラメータとして、Ａ＝１、Ｂ＝３，Ｃ＝１、Ｄ＝１が指定されたものとする。この時、差分選択条件設定手段３７は図４２の選択条件に従って、図４３に示す差分情報４を使った再現実行を選択する。選択後の再現実行方法は、上記実施の形態１１と同様である。
この例では、図４２に従って再現実行に利用する差分情報を選択する。この時、図４２に示すようにシミュレーションヘのパラメータの一部が不定の時にも、途中の論理時刻まで再現実行を行うことを選択できる。
【０１５６】
このように、本システムでは、再現に使用する差分情報を選択して複数の差分情報を組み合わせた再現実行が可能になる効果を奏する。これにより、シミュレーション中のパラメータなどを利用して再現実行を選択できる効果がある。
また、パラメータの一部が不定の時にも、途中の論理時刻まで再現実行を行うことを選択できる。これにより、シミュレーションの途中までは過去の履歴による再現実行を行い、新たに評価すべき部分だけ再現実行を行うことで、シミュレーション時間を短縮できる。本システムは差分データも利用して実行することができるため、様々なパラメータを使って繰り返し評価を行うようなシミュレーションで、少ない履歴情報で実行時間を短縮できる効果を奏する。
【０１５７】
実施の形態１３．
図４４はこの発明の実施の形態１３による並列分散シミュレーションシステムを示す構成図であり、図において、図３８と同一符号は同一または相当部分を示すので説明を省略する。
３８は差分情報管理手段３６により記録された差分情報の内容及び論理時刻を編集する差分情報編集手段である。
【０１５８】
次に動作について説明する。
この実施の形態１３では、上記実施の形態１１と同様の実行再現及び通常実行への切替処理が行われ、結果のデータが差分情報管理手段３６に蓄えられている。差分情報編集手段３８は、再現実行情報編集手段２６と同じ手順で差分情報管理手段３６の記録内容を変更する。
この変更後の差分情報管理手段３６の記録内容を使って再現実行を行うことで、差分情報を使った再現実行においても、実行再現情報の編集が可能になる。
【０１５９】
このように、本システムでは、差分情報を使った再現実行においても、実行再現情報の編集が可能になる効果を奏する。これにより、差分情報を使った再現実行においても、上記実施の形態６と同様の効果を奏する。
また、差分情報を使うことで、任意の再現実行をより少ない記憶容量で実現できる効果も奏する。
【０１６０】
実施の形態１４．
図４５はこの発明の実施の形態１４による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
３９は特定の論理時刻を時刻ポイントとして設定する時刻ポイント設定手段（時刻設定手段）、４０は再現実行時に論理時刻が時刻ポイントに到達すると再現実行を一時的に停止するポイント型一時停止手段である。
【０１６１】
次に動作について説明する。
時刻ポイント設定手段３９は、任意の論理時刻に対して、再現実行中に実行を一時停止させる時刻を指定する。
再現実行中に、ポイント型一時停止手段４０は、時刻ポイント設定手段３９により設定された時刻ポイントと論理時刻の進行を参照している。ポイント型一時停止手段４０は、時刻ポイント設定手段３９で指定された論理時刻へ進行が完了した直後に、再現実行での論理時刻進行を一時中断するように実行再現論理時刻管理手段１８に指示する。
【０１６２】
一時中断指示を受け取った実行再現論理時刻管理手段１８は、指定された論理時刻で時刻進行を停止させる。その後、ポイント型一時停止手段４０から実行再開の指示があるまで時刻進行の指示を行わない。
再現実行が一時停止した時に、ユーザはそれぞれのシミュレータやシミュレーションマネージャ５の内部状態やデータ値の確認・変更等を行うことができる。
【０１６３】
ここでの値の確認や変更等は、各シミュレータやシミュレーションマネージャ５に固有のデバッグ装置やデバッグ機能を用いて行う。再現実行の一時停止後、ポイント型一時停止手段４０は、ユーザの指示等のトリガを受け取って、実行再現論理時刻管理手段１８に時刻進行の再開を指示する。この指示の後、実行再現論理時刻管理手段１８は時刻進行を再開する。
【０１６４】
このように、本システムでは、任意の論理時刻を指定して再現実行を一時停止させ、その後実行を再開できる効果を奏する。論理時刻による整合性と、メッセージの送受信実行順序とを保ったまま再現実行を一時停止できるので、並列分散シミュレーションシステムのデバッグが効率的に行える効果を奏する。
【０１６５】
実施の形態１５．
図４６はこの発明の実施の形態１５による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
４１は記録モード時にユーザにより指定された瞬間の論理時刻を時刻ポイントとして設定するスナップショットポイント設定手段（時刻設定手段）である。
【０１６６】
次に動作について説明する。
スナップショットポイント設定手段４１は、再現対象のシミュレーション実行中に、ユーザが指定した瞬間の論理時刻を一時停止対象の論理時刻として記録する。シミュレーション実行中の任意の時点で任意の個数を設定できる。
ここでは、スナップショットポイント設定手段４１が収集した一時停止対象の論理時刻情報を上記実施の形態１４における時刻ポイント設定手段３９の設定情報に置き換えた上記実施の形態１４の制御方法で、再現実行の一時停止を実現する。
【０１６７】
このように、本システムでは、シミュレーション実行中に任意の瞬間を指定して、一時停止対象の論理時刻に設定できる効果を奏する。並列分散シミュレーション実行中の任意の時点で一時停止する場所を指定できるので、再現実行を用いてシミュレーション結果を評価するときに、目的の場所（シーン）で一時停止してシミュレーション結果を詳細に評価できる効果がある。
【０１６８】
上記実施の形態１５では、スナップショットポイント設定手段４１をシミュレーションマネージャ５に実現するものについて示したが、各シミュレータ上に実現しても同様の効果を奏する。
各シミュレータ上に実現した場合には、その瞬間の各シミュレータの論理時刻を一時停止対象の時刻として記録する。各シミュレータごとに記録されたデータは、実行終了後にマージする。マージされたデータはポイント型一時停止手段４０が参照できる形でシミュレーションマネージャ５に蓄える。このデータを使って、ポイント型一時停止手段４０は上記実施の形態１５と同様の処理で一時停止を制御できる。
【０１６９】
実施の形態１６．
図４７はこの発明の実施の形態１６による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
４２は監視対象の送受信メッセージの種類を登録する監視メッセージ設定手段（時刻設定手段）、４３はシミュレーションの実行中に登録された種類のメッセージの送受信が発生すると、その発生した論理時刻を時刻ポイントとして設定するメッセージポイント記録手段（時刻設定手段）である。
【０１７０】
次に動作について説明する。
監視メッセージ設定手段４２は、監視対象の送受信メッセージの種類を登録する。監視メッセージ設定手段４２での設定は、メッセージポイント記録手段４３に伝達される。
メッセージポイント記録手段４３は、再現対象の実行中に、監視メッセージ設定手段４２に登録されたメッセージの種類と、入力切替手段８が受信した受信メッセージ及び出力切替手段１０が送信した送信メッセージの情報とを参照し、指定された種類のメッセージの送受信があったときに、一時停止対象の論理時刻として記録する。
【０１７１】
ここでは、各シミュレータとシミュレーションマネージャ５とでメッセージポイント記録手段４３が収集した一時停止対象の論理時刻情報を、シミュレーションの実行終了時にシミュレーションマネージャ５のメッセージポイント記録手段４３にマージする。マージしたメッセージポイント記録手段４３の一時停止時刻の情報を上記実施の形態１４における時刻ポイント設定手段３９の設定情報に置き換えた上記実施の形態１４の制御方法で、再現実行の一時停止を実現する。
【０１７２】
このように、本システムでは、シミュレーション実行中に任意のメッセージの送受信を指定して、一時停止対象の論理時刻を設定できる効果がある。メッセージの送受信を指定して一時停止できることで、統合シミュレーションのデバッグやテストを改善できる効果がある。
特に、各シミュレータの統合シミュレーションヘの参加や脱退、オブジェクトの生成や削除といった操作を行うメッセージを指定することで、これらの事象が起こった時刻で一時停止させると、シミュレーションのデバッグやテストを改善できる効果を奏する。また、エラー発生のメッセージを指定することでもシミュレーションのデバッグやテストを改善できる効果を奏する。
【０１７３】
上記実施の形態１６では、監視メッセージ設定手段４２をシミュレーションマネージャ５に実現するものについて示したが、各シミュレータとシミュレーションマネージャ５とに分散させてお互いに協調動作するように実現しても、上記実施の形態１６と同様の効果を奏する。
【０１７４】
実施の形態１７．
図４８はこの発明の実施の形態１７による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
４４はデータ値の変更やイベントの送受信などの判定にメッセージ内容の解読が必要な監視対象事象を登録する動的監視設定手段（時刻設定手段）、４５はシミュレーションの実行中に、送受信されるメッセージの内容を解読して登録された事象が発生すると、その発生した論理時刻を時刻ポイントとして設定する動的ポイント記録手段（時刻設定手段）である。
【０１７５】
次に動作について説明する。
動的監視設定手段４４は、データ値の変更やイベントの送受信などの判定にメッセージ内容の解読が必要な監視対象事象を登録する。
動的監視設定手段４４での設定は、各シミュレータとシミュレーションマネージャ５との動的ポイント記録手段４５に伝達される。
【０１７６】
動的ポイント記録手段４５は、再現対象の実行中に動的監視設定手段４４を参照して、入力切替手段８，１４が受信した受信メッセージと出力切替手段１０，１６が送信した送信メッセージの情報から内容の解読が必要なメッセージを選別し、選別後のメッセージの内容を解読する。その結果として監視対象事象が発生している場合に、一時停止対象の論理時刻の時刻ポイントとして記録する。
【０１７７】
並列分散シミュレーションでは、交換するメッセージのＩ／Ｆが公開されている。動的ポイント記録手段４５でのメッセージ内容解読では、この知識を利用する。また、上記実施の形態１７のメッセージポイント記録手段４３と同様に、各シミュレータの動的ポイント記録手段４５の情報をシミュレーションマネージャ５の動的ポイント記録手段４５ヘマージし、再現実行の一時停止を実現する。
【０１７８】
このように、本システムでは、シミュレーション実行中に任意のデータ値の変更やイベントの送受信などが発生したことを、送受信メッセージの内容を解読して判断して一時停止対象の論理時刻に設定できる効果を奏する。データ値の変更やイベントの送受信など、メッセージの内容を解読しなければ得られない情報を指定して一時停止できることで、統合シミュレーションのデバッグやテストを改善できる効果を奏する。特に、データ値の変更順序や変更前後の値の比較、シミュレーション状態の遷移先の決定に大きな影響を与えるイベントの送受信などが起こった場所で、実行再現時に一時停止させることで、デバッグやテストでの改善効果が大きい。
【０１７９】
上記実施の形態１７では、動的ポイント記録手段４５をシミュレーションマネージャ５に実現するものについて示したが、各シミュレータとシミュレーションマネージャ５とに分散させてお互いに協調動作するように実現しても、上記実施の形態１７と同様の効果を奏する。
【０１８０】
実施の形態１８．
図４９はこの発明の実施の形態１８による並列分散シミュレーションシステムを示す構成図であり、図において、図４８と同一符号は同一または相当部分を示すので説明を省略する。
４７はシミュレーションの実行終了後、シミュレータ実行情報管理手段９又はマネージャ実行情報管理手段１５に記録された再現実行情報の記録を解析して、監視メッセージ設定手段４２又は動的監視設定手段４４で設定された事象が起こった論理時刻を時刻ポイントとして設定する解析型ポイント設定手段（時刻設定手段）である。
【０１８１】
次に動作について説明する。
ここでは、上記実施の形態１６のように監視メッセージ設定手段４２が搭載され、上記実施の形態１７のように動的監視設定手段４４が搭載されているものとする。また、再現対象の実行中は、特に一時停止の論理時刻を収集するための操作を行わない。
【０１８２】
解析型ポイント設定手段４７は、再現対象の実行が完了した後、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５とが記録した送受信メッセージの実行記録を使って一時停止の論理時刻を収集する。即ち、監視メッセージ設定手段４２で指定された情報については上記実施の形態１６のメッセージポイント記録手段４３の方法で、動的監視設定手段４４で指定された情報については上記実施の形態１７の動的ポイント記録手段４５の方法で、一時停止の論理時刻を収集する。
【０１８３】
解析型ポイント設定手段４７は、上記一時停止の論理時刻収集操作を、それぞれ各シミュレータとシミュレーションマネージャ５とに対して行い、一時停止の論理時刻情報として、マージして記録する。
また、解析型ポイント設定手段４７の記録した情報を一時停止の論理時刻情報として、上記実施の形態１７と同様の方法で実行再現の一時停止を実現する。
【０１８４】
このように、本システムでは、任意のメッセージの送受信やデータ値の変更やイベントの送受信などが発生したことを、再現実行用に収集した情報を解析することで検知して、一時停止対象の論理時刻に設定できる効果を奏する。実行中に情報の採取を行うことで、並列に実行する処理間での実行タイミングに影響を与える並列処理では、この実行タイミングの違いにより、実行パターンが変わることで、処理結果やエラーが発生する／しないなどが異なるケースがある。ここでは、メッセージの送受信やデータ値の変更などの検知を、実行終了後に解析するために動的な採取時間がない。これにより、実行タイミングヘの影響を抑えた情報収集ができる効果を奏する。
【０１８５】
上記実施の形態１８では、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５とを使った例で説明したが、差分情報収集手段３２，３３を組み合わせて使用しても、上記実施の形態１８と同様の効果を奏する。
上記実施の形態１８では、メッセージの送受信とデータ値の変更などを組み合わせたものについて説明し、上記実施の形態１６，１７ではそれぞれ異なる例でのみ収集する例を説明したが、動的な採取においても双方の条件を合成して、一時停止対象の論理時刻に設定できる並列分散シミュレーションシステムを得る装置を作ることができる。
【０１８６】
実施の形態１９．
図５０はこの発明の実施の形態１９による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
４８は時刻ポイント設定手段３９により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するポイント型時刻ステップ指定手段（進行ステップ設定手段）である。
【０１８７】
次に動作について説明する。
ポイント型時刻ステップ指定手段４８は、一時停止対象の論理時刻の進行刻み幅を設定する。
実行再現時にポイント型時刻ステップ指定手段４８では、再現実行を開始または再開するときに論理時刻進行ステップ管理手段２７に、次の“論理時刻進行の刻み幅”を指示する。論理時刻進行ステップ管理手段２７では指定された“論理時刻進行の刻み幅”を使って、上記実施の形態７と同様に制御する。
【０１８８】
このように、本システムでは、再現実行時に任意の論理時刻を基準に“論理時刻進行の刻み幅”を制御することができる効果を奏する。これにより、参照の要求が高い箇所は時刻進行の刻み幅を小さくし、要求が低い箇所は刻み幅を大きくすることで、シミュレーションの結果を詳細に見たい部分だけに時間をかけて見ることができる効果を奏する。また、評価時には途中結果が重要でない部分を高速に実行することができるので、シミュレーションの評価を効率的に実施できる効果を奏する。
【０１８９】
上記実施の形態１９では、時刻ポイント設定手段３９に対する例で説明したが、スナップショットポイント設定手段４１、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７で収集した停止ポイントを用いても、上記実施の形態１９と同様の効果を奏する。
【０１９０】
実施の形態２０．
図５１はこの発明の実施の形態２０による並列分散シミュレーションシステムを示す構成図であり、図において、図３３と同一符号は同一または相当部分を示すので説明を省略する。
４９は指定又は収集された時刻ポイントを基準に実時刻に基づく論理時刻の進行方法を設定するポイント型リアルタイム指定手段（時刻管理手段）である。
【０１９１】
次に動作について説明する。
ポイント型リアルタイム指定手段４９は、一時停止対象の論理時刻を基準に“実時刻に基づく論理時刻の進行方法”を設定する。ここでは、図３２又は図３４に示すような設定を行う。実時刻情報収集手段３０とリアル再現実行制御手段３１は、指定された論理時刻に到達した時にポイント型リアルタイム指定手段４９で指定された設定に従って、上記実施の形態８又は実施の形態９と同様の手順で実時刻に基づく論理時刻の進行制御を行う。
【０１９２】
このように、本システムでは、再現実行時に任意の論理時刻を基準にして、実時刻に基づく論理時刻の進行制御が可能になる効果を奏する。これにより、再現実行の進行速度を任意に編集して実行できる効果を奏する。
【０１９３】
上記実施の形態２０では、時刻ポイント設定手段３９に対する例で説明したが、スナップショットポイント設定手段４１、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７で収集した停止ポイントを用いても、上記実施の形態２０と同様の効果を奏する。
【０１９４】
実施の形態２１．
図５２はこの発明の実施の形態２１による並列分散シミュレーションシステムを示す構成図であり、図において、図１３と同一符号は同一または相当部分を示すので説明を省略する。
５０は実行再現切替手段１９，２０が再現モードから通常実行モードに切り替える論理時刻を設定するポイント型実行再現切替手段（時刻設定手段）である。
【０１９５】
次に動作について説明する。
ポイント型実行再現切替手段５０は、一時停止対象の論理時刻を基準に“再現実行から通常実行への切替”を指定する。実行再現切替手段１９，２０は、指定された論理時刻に到達した時に再現実行から通常実行への切替を、上記実施の形態２と同様の手順で行う。
【０１９６】
このように、本システムでは、再現実行時に任意の論理時刻を基準に再現実行から通常実行への切替が可能になる効果を奏する。
【０１９７】
上記実施の形態２１では、時刻ポイント設定手段３９に対する例で説明したが、スナップショットポイント設定手段４１、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７で収集した停止ポイントを用いても、上記実施の形態２１と同様の効果を奏する。特に、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７などで、データ値の更新やエラーの発生など、ポイントとなる論理時刻で、再現実行から通常実行に切替ることで、デバッグやテストを改善できる効果を奏する。
【０１９８】
実施の形態２２．
図５３はこの発明の実施の形態２２による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
５１は所定の論理時刻に投入するメッセージを設定するポイント型メッセージ設定手段、５２，５３はポイント型メッセージ設定手段５１により設定されたメッセージを投入するポイント型メッセージ投入手段（メッセージ投入手段）である。
【０１９９】
次に動作について説明する。
ポイント型メッセージ設定手段５１は、一時停止対象の論理時刻を基準に“投入するメッセージ”を設定する。ポイント型メッセージ設定手段５１の設定内容は、各シミュレータとシミュレーションマネージャ５とのポイント型メッセージ投入手段５２，５３に配布される。
【０２００】
ポイント型メッセージ投入手段５２，５３は、再現実行中に論理時刻の進行を監視し、指定された時刻に対象のメッセージを入力切替手段８，１４へ引き渡す。入力切替手段８，１４では、ポイント型メッセージ投入手段５３から渡されたメッセージを、シミュレータ再現実行管理手段１１とマネージャ再現実行管理手段１７とからのメッセージと同様に各シミュレータのシミュレータ本体７に伝達する。これにより、通常の受信メッセージと同様に、メッセージを投入することができる。
【０２０１】
このように、本システムでは、再現実行時に任意の論理時刻を基準に任意のメッセージを投入することができる効果を奏する。ここでは、再現用の実行情報を編集せずに任意のメッセージを投入できる効果がある。
【０２０２】
上記実施の形態２２では、時刻ポイント設定手段に対する例を説明したが、スナップショットポイント設定手段４１、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７で収集した停止ポイントを用いても、上記実施の形態２２と同様の効果を奏する。
【０２０３】
実施の形態２３．
図５４はこの発明の実施の形態２３による並列分散シミュレーションシステムを示す構成図であり、図において、図４５と同一符号は同一または相当部分を示すので説明を省略する。
５４は時刻ポイント設定手段３９により設定された時刻ポイントを編集する時刻ポイント編集手段（時刻編集手段）である。
【０２０４】
次に動作について説明する。
時刻ポイント編集手段５４は、時刻ポイント設定手段３９が記録している一時停止対象の論理時刻の情報を編集する。編集後のデータを使って、上記実施の形態１４と同様の手順で再現実行することで、再現実行中に実行を一時停止できる。
【０２０５】
このように、本システムでは、任意の論理時刻を指定して再現実行を一時停止させるデータを編集することができる効果を奏する。
【０２０６】
上記実施の形態２３では、時刻ポイント設定手段３９に対する例を説明したが、スナップショットポイント設定手段４１、メッセージポイント記録手段４３、動的ポイント記録手段４５、解析型ポイント設定手段４７で収集した停止ポイントを用いても、上記実施の形態２３と同様の効果を奏する。
【０２０７】
上記実施の形態２３では、時刻ポイント設定手段３９による一時停止の例を説明したが、ポイント型時刻ステップ指定手段４８、ポイント型リアルタイム指定手段４９、ポイント型実行再現切替手段５０、ポイント型メッセージ設定手段５１の情報も、時刻ポイント編集手段５４で編集することができ、上記実施の形態２３と同様の効果を奏する。
【０２０８】
実施の形態２４．
図５５はこの発明の実施の形態２４による並列分散シミュレーションシステムを示す構成図であり、図において、図１８と同一符号は同一または相当部分を示すので説明を省略する。
５５は再現参加シミュレータ選択手段２１により選択されたシミュレータ以外のシミュレータを通常実行させる混在制御手段、５６は混在入力切替手段、５７は混在出力切替手段である。
なお、図５６は再現実行と通常実行が混在している状態の動作概要を示す説明図である。
【０２０９】
次に動作について説明する。
この実施の形態２４では、上記実施の形態１と同様に、記録対象の実行が終了した後、この例では、シミュレータ１とシミュレータ４は再現実行をしており、シミュレータ２とシミュレータ３は通常実行しているものとする。
ここで、混在制御手段５５は、再現実行を行うシミュレータ（シミュレータ１とシミュレータ４）については、基本的に上記実施の形態２のマネージャ再現実行管理手段１７と同様の制御を行う（受信メッセージを復元してシミュレータ本体７へ渡し、送信メッセージはタイミング制御に利用する）。
【０２１０】
ただし、マネージャ実行情報管理手段１５の“再現制御ポインタ”が通常実行シミュレータ（シミュレータ２とシミュレータ３）からの送受信メッセージを示した場合は、自動的に次のメッセージヘポインタを進める。また、混在出力切替手段５７から通常実行での論理時刻進行メッセージの情報を入手し、実行再現論理時刻管理手段１８へ通常実行の論理時刻進行と同期した時刻進行指示を要求する。
【０２１１】
混在入力切替手段５６は、再現実行を行うシミュレータ（シミュレータ１とシミュレータ４）については上記実施の形態２の再現実行モード、通常実行シミュレータ（シミュレータ２とシミュレータ３）については上記実施の形態２の通常実行モードと同様の制御を行う（図１５を参照）。
混在出力切替手段５７も混在入力切替手段５６と同様に、上記実施の形態２の再現実行モードまたは通常実行モードと同様の制御を行う（図１６を参照）。ただし、通常実行シミュレータの論理時刻進行メッセージの情報を監視し、時刻進行メッセージがあった場合は、その内容を混在制御手段５５へ知らせる。
【０２１２】
一方、シミュレータ側では、シミュレータ１とシミュレータ４とは、上記実施の形態２の再現実行モードで動作している。また、シミュレータ２とシミュレータ３とは、通常実行モードで動作している。この時、シミュレータ１とシミュレータ４とは、シミュレータ実行情報管理手段９にローカルに記録された情報を使って、記録時のシミュレータ２とシミュレータ３とによる影響を反映させた再現実行を行う。
【０２１３】
シミュレータ２とシミュレータ３とは、通常の実行を行う。この時、シミュレータ１とシミュレータ４とによる影響は、マネージャ実行情報管理手段１５内にローカルに記録された情報により、シミュレーションマネージャ５で反映されている。
シミュレータ２とシミュレータ３とは、シミュレーションマネージャ５経由で、再現実行時のシミュレータ１とシミュレータ４との影響を受信メッセージとして受け取ることができる。
【０２１４】
このように、本システムでは、再現実行と通常実行を行うシミュレータが混在して、かつ論理時刻による時刻の整合性を保ったまま実行が可能になる効果を奏する。例えば、他の影響を受けにくい周辺の環境などのシミュレーションを予め時間をかけて詳細に実行しておく。統合シミュレーションでは、移動体だけを通常実行させ、環境情報は結果だけを再現実行で実施することができる。これにより、詳細な環境シミュレーションの結果を反映させたシミュレーションを効率良く実行できる効果を奏する。
【０２１５】
また、統合シミュレーションに参加するシミュレータとして、実際の物理的な機器を繋ぐことができる。本システムでは、このような場合に、ソフトウェアのシミュレーション部分を再現実行し、物理的な機器を通常実行させることができる。これにより、物理的な機器に対するテスト環境を、統合シミュレーションにより高速にかつ正確に再現できる。
【０２１６】
上記実施の形態２４では、シミュレータ１とシミュレータ４とが再現実行し、シミュレータ２とシミュレータ３とが通常実行するものとしたが、各シミュレータの再現と通常実行の組合せに関係なく同様の効果を奏する。
【０２１７】
実施の形態２５．
図５７はこの発明の実施の形態２５による並列分散シミュレーションシステムを示す構成図であり、図において、図５５と同一符号は同一または相当部分を示すので説明を省略する。
５８は再現参加シミュレータ選択手段２１により選択されたシミュレータを再現モードから通常実行モードに切り替える混在型再現切替手段（混在型切替手段）である。
【０２１８】
次に動作について説明する。
この実施の形態２５では、混在制御手段５５と混在入力切替手段５６と混在出力切替手段５７とは基本的に上記実施の形態２４と同様の手順で制御が行われる。ただし、ここでは、混在出力切替手段５７は、上記実施の形態５の送信メッセージ検証手段２３，２４と同等の機能を加え、シミュレータ１とシミュレータ４とへ再現実行時と異なるメッセージの送信がないかをチェックする。異なるメッセージを発見したときには、混在型再現切替手段５８に対象のシミュレータを通知する。
【０２１９】
混在型再現切替手段５８は、次の手順で混在出力切替手段５７から指定されたシミュレータを再現実行から通常実行に切り替える。
まず、再現参加シミュレータ選択手段２１に対象シミュレータを再現実行のリストから削除するように指示する。次に、混在制御手段５５と混在入力切替手段５６と混在出力切替手段５７とに再現実行のリストが変更されたことを通知する。混在制御手段５５と混在入力切替手段５６と混在出力切替手段５７とは再現参加シミュレータ選択手段２１の情報を参照して、指定されたシミュレータに対する処理を再現実行から通常実行に変える。
【０２２０】
このように、本システムでは、再現実行と通常実行を行うシミュレータが混在した並列分散シミュレーションシステムにおいて、再現実行中のシミュレータを途中から通常実行に切り替えることができる効果を奏する。これにより、再現実行中のシミュレータを任意の箇所で通常実行に参加させられるので、より柔軟性の高い再現実行と通常実行が混在したシステムを構築できる効果を奏する。
【０２２１】
また、本実施の形態のように、再現時と違うメッセージが発生した時点で通常実行に切り替るシステムを構築することで、ぎりぎり可能な範囲まで再現実行で実行できる。再現実行はメッセージの送受信の点で通常実行よりも実行効率がよいため、効率が良い並列分散シミュレーションシステムを得られる効果も奏する。
【０２２２】
ここでは、混在出力切替手段５７がシミュレータの再現実行から通常実行への変更のトリガをかけたが、任意の手段またはユーザが変更のトリガをかけても、上記実施の形態２５と同様の効果を奏する。
【０２２３】
実施の形態２６．
図５８はこの発明の実施の形態２６による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
５９は複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるマルチ実行管理手段である。
なお、図５９は複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【０２２４】
次に動作について説明する。
ここでは、２種類の記録実行情報があるものとし、記録実行情報とは各シミュレータのシミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５とで記録された情報である（ここでは、異なった２回の実行に対するデータがある）。
【０２２５】
各記録情報の収集方法は、上記実施の形態１の記録実行（再現対象の実行）と同じである。
再現実行時に、マルチ実行管理手段５９では複数の記録実行情報と各記録情報に対応するシミュレータとシミュレーションマネージャ５とを設定する。
シミュレータについては、同じ種類のシミュレータを複数作成して、それぞれ異なった記録実行情報を選択できる。
【０２２６】
シミュレーションマネージャ５は、複数の記録実行情報から高々１つが選択できる。ここでは、２種類の“実行情報Ａ”と“実行情報Ｂ”に対して、シミュレータ１Ａ〜３Ａ、シミュレータ１Ｂ〜３Ｂを作成して再現実行を行うものとする。
【０２２７】
シミュレーションマネージャ５は再現実行に加わらない。再現実行中は、マルチ実行管理手段５９は、同じ論理時刻の進行指示を与えるシミュレータを実行再現論理時刻管理手段１８に知らせる。この例では、図５９のように、実行再現論理時刻管理手段１８は、シミュレータ１Ａ〜３Ａ、シミュレータ１Ｂ〜３Ｂに同じ論理時刻の進行指示を与える。これにより、シミュレータ１Ａ〜３Ａでは“実行情報Ａ”に基づく再現実行が、シミュレータ１Ｂ〜３Ｂでは“実行情報Ｂ”に基づく再現実行が、同じ論理時刻で同期して再現実行される。
【０２２８】
このように、本システムでは、複数の実行再現情報を使って、複数の実行再現統合シミュレーションを並行に、かつ同じ論理時刻で同期して再現実行することができる効果を奏する。これにより、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる。この複数のシミュレーションを比較することで、シミュレーションの結果に対する評価が高まる効果を奏する。
【０２２９】
上記実施の形態２６では、全てのシミュレータが再現実行に参加する例で説明したが、上記実施の形態３と同様の構成を取った時には、各実行再現データごとに一部のシミュレータだけが参加した状態でも、上記実施の形態２６と同様の効果を奏する。これは、例えば、結果表示を行うシミュレータだけを再現することで、システムの負荷を小さく、かつ複数のシミュレーション結果を並行に動作させることができる効果がある。
【０２３０】
上記実施の形態２６では、シミュレーションマネージャ５は参加させなかったが、シミュレーションマネージャ５を参加させても、上記実施の形態２６と同様の効果を奏する。また、シミュレーションマネージャ５が参加した再現実行情報を使ったシミュレーションでは、上記実施の形態２と同様の構成を取ることで、再現実行中に通常実行へ切り替えることもできる。これにより、２つの通常実行とも並行に動作する並列分散シミュレーションシステムが得られる効果を奏する。
【０２３１】
上記実施の形態２６では、シミュレータ実行情報管理手段９とマネージャ実行情報管理手段１５とで記録された情報を対象に並行実行する例で説明したが、差分情報収集手段３２を使っても並行実行が可能であり、上記実施の形態２６と同様の効果を奏する。
【０２３２】
実施の形態２７．
図６０はこの発明の実施の形態２７による並列分散シミュレーションシステムを示す構成図であり、図において、図５８と同一符号は同一または相当部分を示すので説明を省略する。
６０はマルチ実行管理手段５９が再現実行させる各シミュレータの論理時刻を管理するマルチ時刻管理手段である。
なお、図６１は複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【０２３３】
次に動作について説明する。
この実施の形態２７では、基本的に上記実施の形態２６と同様の制御を行う。ただし、論理時刻の進行指示はマルチ時刻管理手段６０が実行再現論理時刻管理手段１８に与える。
マルチ時刻管理手段６０は、ユーザ入力等により各記録情報に対応する論理時刻の進行情報を設定する。マルチ時刻管理手段６０は、再現実行時に、各記録情報に対応する“シミュレータの情報”と“進行先の論理時刻”とを実行再現論理時刻管理手段１８に指示する。
【０２３４】
ここでは、図６１のようにシミュレータ１Ａ〜３Ａとシミュレータ１Ｂ〜３Ｂの組にそれぞれ異なった論理時刻の進行情報を指示する。これにより、シミュレータ１Ａ〜３Ａとシミュレータ１Ｂ〜３Ｂの組は、実行再現論理時刻管理手段１８の指示に従って異なった論理時刻でシミュレーションを進行させる。
【０２３５】
このように、本システムでは、複数の実行再現情報を使って、複数の実行再現統合シミュレーションを並行に動作させる時に異なった論理時刻に基づいて再現実行が可能になる効果を奏する。これにより、例えば、片方を一方の数倍または一定時刻シフトした論理時刻で動作させて並行実行することができ、複数のシミュレーションを比較することで、シミュレーションの結果に対する評価が高まる効果を奏する。
【０２３６】
上記実施の形態２７では、異なった記録情報を使って並行に再現させる方法を説明したが、同じ記録情報を使っても、上記実施の形態２７と同様の効果を奏する。この場合には、同じ結果を一定時刻シフトした再現実行を並行に実行でき、シミュレーションでの因果関係を解析することを支援できる効果を奏する。
【０２３７】
上記実施の形態２７でも、上記実施の形態２６と同様に、上記実施の形態３と同様の構成を取って一部のシミュレータだけが参加した状態でも、上記実施の形態２７と同様の効果を奏する。また、シミュレーションマネージャ５が参加した場合、差分情報収集手段３２を使った場合も、同様の効果を奏する。
【０２３８】
実施の形態２８．
図６２はこの発明の実施の形態２８による並列分散シミュレーションシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
６１は各シミュレータ単体で論理時刻の進行を指示するシミュレータ論理時刻管理手段（論理時刻管理手段）である。
【０２３９】
次に動作について説明する。
この実施の形態２８では、上記実施の形態１と同じ方法で、既に再現対象の実行情報の記録が完了しているものとする。
シミュレータ論理時刻管理手段６１は、ユーザ入力やデバッガなどの指示により、対象のシミュレータ１内で、シミュレーションマネージャ５の実行再現論理時刻管理手段１８に替わって論理時刻の進行指示をシミュレータ再現実行管理手段１１に指示する。
【０２４０】
シミュレータ再現実行管理手段１１から見ると、シミュレータ論理時刻管理手段６１からの論理時刻の進行指示もシミュレーションマネージャ５からの論理時刻の進行指示と同じように受け取って処理を実行する。これにより、シミュレータ１単体で、シミュレータ実行情報管理手段９にローカルに記録した再現実行情報を使って、再現実行が行える。
【０２４１】
このように、本システムでは、シミュレータ単体でも再現実行が可能になる効果を奏する。これにより、シミュレータ単体でも再現実行機能を使ったデバッグやテストを行うことができるため、シミュレータの開発効率を改善できる効果を奏する。
【０２４２】
上記実施の形態２８では、シミュレータ１単体の例で説明したが、シミュレーションマネージャ５は、上記実施の形態１の構成のままでも、同等の単体再現実行が可能であり、上記実施の形態１と同様の効果を奏する。
【０２４３】
【発明の効果】
以上のように、この発明によれば、実行手段によるシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを実行手段に与えるように構成したので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信するように構成したので、シミュレータの処理負荷を軽減することができる効果がある。
【０２４４】
この発明によれば、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するように構成したので、メッセージの送信を伴うシミュレーションについても、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
【０２４５】
この発明によれば、実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるように構成したので、シミュレーション実行時間の効率化を計ることができる効果がある。
【０２４７】
この発明によれば、メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、実行手段及び記録手段が、ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うように構成したので、ユーザ入力も含めた並列分散シミュレーションの実行を再現できる効果がある。
【０２４８】
この発明によれば、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証するように構成したので、再現実行が正しく行われていることを確認することができる効果がある。
【０２４９】
この発明によれば、記録手段の記録内容を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【０２５０】
この発明によれば、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するように構成したので、再現実行のスピードをコントロールすることができるようになり、その結果、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果がある。
【０２５１】
この発明によれば、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するように構成したので、再現実行時における論理時刻の進行を実時刻で制御できるようになり、その結果、再現実行時のシミュレーションをリアルに再現できる効果がある。
【０２５２】
この発明によれば、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を実時刻の進行に合わせてメッセージを実行手段に与えるように構成したので、再現対象の実行と同じ実時間で、論理時刻を進行させることができる効果がある。
【０２５３】
この発明によれば、切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録するように構成したので、情報収集量を削減できるとともに、情報の収集時間を削減できる効果がある。
【０２５４】
この発明によれば、記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択するように構成したので、更に情報収集量を削減できるとともに、情報の収集時間を削減できる効果がある。
【０２５５】
この発明によれば、差分情報選択手段による差分情報の選択条件を設定するように構成したので、シミュレーション中のパラメータなどを利用して再現実行を選択できる効果がある。
【０２５６】
この発明によれば、記録手段により記録された差分情報の内容及び論理時刻を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【０２５７】
この発明によれば、再現モード時に再現実行を一時的に停止する論理時刻を設定するように構成したので、並列分散シミュレーションシステムのデバッグ効率を高めることができる効果がある。
【０２５８】
この発明によれば、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定するように構成したので、シミュレーション結果を評価するときに、目的の場所のシミュレーション結果を詳細に評価できる効果がある。
【０２５９】
この発明によれば、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６０】
この発明によれば、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６１】
この発明によれば、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６２】
この発明によれば、時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するように構成したので、シミュレーションの結果を詳細に見たい部分だけに時間をかけて見ることができる効果がある。
【０２６３】
この発明によれば、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するように構成したので、再現実行の進行速度を任意に編集して実行できる効果がある。
【０２６４】
この発明によれば、切替手段が再現モードから通常実行モードに切り替える論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６５】
この発明によれば、時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するように構成したので、再現用の実行情報を編集せずに任意のメッセージを投入できる効果がある。
【０２６６】
この発明によれば、時刻設定手段により設定された論理時刻を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【０２６７】
この発明によれば、シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させるように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６８】
この発明によれば、シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替えるように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２６９】
この発明によれば、シミュレータ選択手段により選択された１以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるように構成したので、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる効果がある。
【０２７０】
この発明によれば、マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するように構成したので、複数の実行再現統合シミュレーションを並行に動作させる時に異なった論理時刻に基づいて再現実行が可能になる効果がある。
【０２７１】
この発明によれば、各シミュレータ単体で論理時刻の進行を指示するように構成したので、シミュレータの開発効率を改善できる効果がある。
【０２７２】
この発明によればシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得し、そのメッセージにしたがってシミュレーションを実行するように構成したので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信するように構成したので、シミュレータの処理負荷を軽減することができる効果がある。
【０２７３】
この発明によれば、シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するように構成したので、メッセージの送信を伴うシミュレーションについても、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
【０２７４】
この発明によれば、シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるように構成したので、シミュレーション実行時間の効率化を計ることができる効果がある。
【０２７６】
この発明によれば、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するように構成したので、再現実行のスピードをコントロールすることができるようになり、その結果、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果がある。
【０２７７】
この発明によれば、再現モード時に再現実行を一時的に停止する論理時刻を設定するように構成したので、並列分散シミュレーションシステムのデバッグ効率を高めることができる効果がある。
【０２７８】
この発明によれば、再現実行させるシミュレータと通常実行させるシミュレータを選択するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【０２７９】
この発明によれば、複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるように構成したので、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による並列分散シミュレーションシステムを示す構成図である。
【図２】  シミュレータ再現実行管理手段の動作を示すフローチャートである。
【図３】  入力切替手段の動作を示すフローチャートである。
【図４】  出力切替手段の動作を示すフローチャートである。
【図５】  マネージャ再現実行管理手段の動作を示すフローチャートである。
【図６】  実行再現論理時刻管理手段の動作を示すフローチャートである。
【図７】  シミュレータ実行情報管理手段の記録内容を示す説明図である。
【図８】  マネージャ実行情報管理手段の記録内容を示す説明図である。
【図９】  記録モード時の動作概要を示す説明図である。
【図１０】  再現モード時の動作概要を示す説明図である。
【図１１】  この実施の形態１による並列分散シミュレーションシステムの変形例を示す構成図である。
【図１２】  この実施の形態１による並列分散シミュレーションシステムの変形例を示す構成図である。
【図１３】  この発明の実施の形態２による並列分散シミュレーションシステムを示す構成図である。
【図１４】  実行再現切替手段の動作を示すフローチャートである。
【図１５】  入力切替手段の動作を示すフローチャートである。
【図１６】  出力切替手段の動作を示すフローチャートである。
【図１７】  通常実行時の動作概要を示す説明図である。
【図１８】  この発明の実施の形態３による並列分散シミュレーションシステムを示す構成図である。
【図１９】  シミュレータの参加状態を示す説明図である。
【図２０】  参加シミュレータによる再現実行時の動作概要を示す説明図である。
【図２１】  この発明の実施の形態４による並列分散シミュレーションシステムを示す構成図である。
【図２２】  ユーザ入力切替手段の動作を示すフローチャートである。
【図２３】  シミュレータ再現実行管理手段の動作を示すフローチャートである。
【図２４】  ユーザ入力も含めた記録実行時（再現対象の実行時）の動作概要を示す説明図である。
【図２５】  再現実行時の動作概要を示す説明図である。
【図２６】  この発明の実施の形態５による並列分散シミュレーションシステムを示す構成図である。
【図２７】  この発明の実施の形態６による並列分散シミュレーションシステムを示す構成図である。
【図２８】  再現実行情報編集手段による編集情報の伝搬を示す説明図である。
【図２９】  この発明の実施の形態７による並列分散シミュレーションシステムを示す構成図である。
【図３０】  再現実行時における論理時刻の進行ステップを示す概念図である。
【図３１】  この発明の実施の形態８による並列分散シミュレーションシステムを示す構成図である。
【図３２】  再現実行時における時刻進行状況を示す概念図である。
【図３３】  この発明の実施の形態９による並列分散シミュレーションシステムを示す構成図である。
【図３４】  再現実行時における時刻進行状況を示す概念図である。
【図３５】  この発明の実施の形態１０による並列分散シミュレーションシステムを示す構成図である。
【図３６】  差分情報収集時の動作概要を示す説明図である。
【図３７】  差分情報を使った再現実行時の動作概要を示す説明図である。
【図３８】  この発明の実施の形態１１による並列分散シミュレーションシステムを示す構成図である。
【図３９】  差分情報管理手段における差分情報管理方法の概要を示す説明図である。
【図４０】  差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【図４１】  この発明の実施の形態１２による並列分散シミュレーションシステムを示す構成図である。
【図４２】  差分選択条件の設定例を示す説明図である。
【図４３】  差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【図４４】  この発明の実施の形態１３による並列分散シミュレーションシステムを示す構成図である。
【図４５】  この発明の実施の形態１４による並列分散シミュレーションシステムを示す構成図である。
【図４６】  この発明の実施の形態１５による並列分散シミュレーションシステムを示す構成図である。
【図４７】  この発明の実施の形態１６による並列分散シミュレーションシステムを示す構成図である。
【図４８】  この発明の実施の形態１７による並列分散シミュレーションシステムを示す構成図である。
【図４９】  この発明の実施の形態１８による並列分散シミュレーションシステムを示す構成図である。
【図５０】  この発明の実施の形態１９による並列分散シミュレーションシステムを示す構成図である。
【図５１】  この発明の実施の形態２０による並列分散シミュレーションシステムを示す構成図である。
【図５２】  この発明の実施の形態２１による並列分散シミュレーションシステムを示す構成図である。
【図５３】  この発明の実施の形態２２による並列分散シミュレーションシステムを示す構成図である。
【図５４】  この発明の実施の形態２３による並列分散シミュレーションシステムを示す構成図である。
【図５５】  この発明の実施の形態２４による並列分散シミュレーションシステムを示す構成図である。
【図５６】  再現実行と通常実行が混在している状態の動作概要を示す説明図である。
【図５７】  この発明の実施の形態２５による並列分散シミュレーションシステムを示す構成図である。
【図５８】  この発明の実施の形態２６による並列分散シミュレーションシステムを示す構成図である。
【図５９】  複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【図６０】  この発明の実施の形態２７による並列分散シミュレーションシステムを示す構成図である。
【図６１】  複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【図６２】  この発明の実施の形態２８による並列分散シミュレーションシステムを示す構成図である。
【図６３】  従来の並列分散シミュレーションシステムを示す構成図である。
【符号の説明】
１〜４  シミュレータ、５  シミュレーションマネージャ、７  シミュレータ本体（実行手段）、８  入力切替手段（記録手段）、９  シミュレータ実行情報管理手段（記録手段）、１０  出力切替手段（記録手段）、１１  シミュレータ再現実行管理手段（管理手段）、１９，２０  実行再現切替手段（切替手段）、２１  再現参加シミュレータ選択手段（シミュレータ選択手段）、２２  ユーザ入力切替手段（ユーザ入力手段）、２３，２４  送信メッセージ検証手段（記録手段）、２５，２６  再現実行情報編集手段（記録編集手段）、２７  論理時刻進行ステップ管理手段（進行ステップ設定手段）、２９  論理／実時刻比管理手段（時刻比設定手段）、３２，３３  差分情報収集手段（記録手段）、３４，３５  差分情報選択手段、３７  差分選択条件設定手段（条件設定手段）、３８  差分情報編集手段、３９  時刻ポイント設定手段（時刻設定手段）、４１  スナップショットポイント設定手段（時刻設定手段）、４２  監視メッセージ設定手段（時刻設定手段）、４３  メッセージポイント記録手段（時刻設定手段）、４４  動的監視設定手段（時刻設定手段）、４５  動的ポイント記録手段（時刻設定手段）、４７  解析型ポイント設定手段（時刻設定手段）、４８  ポイント型時刻ステップ指定手段（進行ステップ設定手段）、４９  ポイント型リアルタイム指定手段（時刻管理手段）、５０  ポイント型実行再現切替手段（時刻設定手段）、５２，５３  ポイント型メッセージ投入手段（メッセージ投入手段）、５４  時刻ポイント編集手段（時刻編集手段）、５５  混在制御手段、５８  混在型再現切替手段（混在型切替手段）、５９  マルチ実行管理手段、６０  マルチ時刻管理手段、６１  シミュレータ論理時刻管理手段（論理時刻管理手段）。
【図１】
0004290266.tif 000002
【図２】
0004290266.tif 000003
【図３】
0004290266.tif 000004
【図４】
0004290266.tif 000005
【図５】
0004290266.tif 000006
【図６】
0004290266.tif 000007
【図７】
0004290266.tif 000008
【図８】
0004290266.tif 000009
【図９】
0004290266.tif 000010
【図１０】
0004290266.tif 000011
【図１１】
0004290266.tif 000012
【図１２】
0004290266.tif 000013
【図１３】
0004290266.tif 000014
【図１４】
0004290266.tif 000015
【図１５】
0004290266.tif 000016
【図１６】
0004290266.tif 000017
【図１７】
0004290266.tif 000018
【図１８】
0004290266.tif 000019
【図１９】
0004290266.tif 000020
【図２０】
0004290266.tif 000021
【図２１】
0004290266.tif 000022
【図２２】
0004290266.tif 000023
【図２３】
0004290266.tif 000024
【図２４】
0004290266.tif 000025
【図２５】
0004290266.tif 000026
【図２６】
0004290266.tif 000027
【図２７】
0004290266.tif 000028
【図２８】
0004290266.tif 000029
【図２９】
0004290266.tif 000030
【図３０】
0004290266.tif 000031
【図３１】
0004290266.tif 000032
【図３２】
0004290266.tif 000033
【図３３】
0004290266.tif 000034
【図３４】
0004290266.tif 000035
【図３５】
0004290266.tif 000036
【図３６】
0004290266.tif 000037
【図３７】
0004290266.tif 000038
【図３８】
0004290266.tif 000039
【図３９】
0004290266.tif 000040
【図４０】
0004290266.tif 000041
【図４１】
0004290266.tif 000042
【図４２】
0004290266.tif 000043
【図４３】
0004290266.tif 000044
【図４４】
0004290266.tif 000045
【図４５】
0004290266.tif 000046
【図４６】
0004290266.tif 000047
【図４７】
0004290266.tif 000048
【図４８】
0004290266.tif 000049
【図４９】
0004290266.tif 000050
【図５０】
0004290266.tif 000051
【図５１】
0004290266.tif 000052
【図５２】
0004290266.tif 000053
【図５３】
0004290266.tif 000054
【図５４】
0004290266.tif 000055
【図５５】
0004290266.tif 000056
【図５６】
0004290266.tif 000057
【図５７】
0004290266.tif 000058
【図５８】
0004290266.tif 000059
【図５９】
0004290266.tif 000060
【図６０】
0004290266.tif 000061
【図６１】
0004290266.tif 000062
【図６２】
0004290266.tif 000063
【図６３】
0004290266.tif 000064