Nothing Special   »   [go: up one dir, main page]

JP4290266B2 - 並列分散シミュレーションシステム及び並列分散シミュレーション方法 - Google Patents

並列分散シミュレーションシステム及び並列分散シミュレーション方法 Download PDF

Info

Publication number
JP4290266B2
JP4290266B2 JP06863699A JP6863699A JP4290266B2 JP 4290266 B2 JP4290266 B2 JP 4290266B2 JP 06863699 A JP06863699 A JP 06863699A JP 6863699 A JP6863699 A JP 6863699A JP 4290266 B2 JP4290266 B2 JP 4290266B2
Authority
JP
Japan
Prior art keywords
time
execution
simulation
message
reproduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06863699A
Other languages
English (en)
Other versions
JP2000268005A (ja
Inventor
秀幸 和泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP06863699A priority Critical patent/JP4290266B2/ja
Publication of JP2000268005A publication Critical patent/JP2000268005A/ja
Application granted granted Critical
Publication of JP4290266B2 publication Critical patent/JP4290266B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、相互に独立して動作する複数のシミュレータをネットワークを介して接続し、複数のシミュレーションを分散して並列実行する並列分散シミュレーションシステム及び並列分散シミュレーション方法に関するものである。
【0002】
【従来の技術】
並列分散シミュレーションに限らず、複数の処理の流れが並行に動作する並行処理では、一般に処理の再現性がない。このことは、障害状況を再現したいプログラムのデバッグ作業などで特に問題となる。
このため、複数のプロセッサを使って並行処理が行われる並列計算機や、ネットワーク上の計算機を複数繋いで並行処理を行う分散システムでは、デバッグ支援のための実行再現機能が求められる。
【0003】
完全な実行再現を行うには、計算機のインストラクションレベルで物理的に実行を再現する必要がある。この方法は理論的には完全であるが、実行再現のために記録するデータ量が膨大なことや、記録・再現する機構の実現が困難なことなどにより非現実的である。このため、並行処理の論理的な実行順序を保証するのに必要な情報だけを記録し、再現する実行再現方法が一般に採用される。
【0004】
このような並列・分散システムでの実行再現方式のうち、各計算機ごとに分散して再現データの記録と実行再現コントロールを行う実行再現方式が、特開平6−17599号公報に開示されている。
図63は特開平6−17599号公報に示された従来の並列分散シミュレーションシステムを示す構成図であり、図において、101はメッセージ受信手段、102はメッセージキュー記憶手段、103は第1のメッセージ有無判定手段、104はトレース情報生成手段、105はトレースバッファ、106はトレース情報検索手段、107は第2のメッセージ有無判定手段である。
【0005】
次に動作について説明する。
この例では、各計算機ごとに分散した機能で再現データの記録とコントロールを行う。
ここでは、各計算機で受信したメッセージはメッセージ受信手段101により受け取られ、メッセージキュー記憶手段102に記憶される。
【0006】
再現対象の実行中は、各計算機で第1のメッセージ有無判定手段103がメッセージキュー記憶手段102をチェックし、受信したメッセージの情報を動作状況と一緒に記録する。ここでは、トレース情報生成手段104を使って、トレースバッファ105に“受信メッセージの識別情報”と“未受信時にはその旨を示す情報”が記録される。
【0007】
再現実行時には、各計算機でメッセージキュー記憶手段102がトレース情報検索手段106を使って再現対象の実行情報を検索する。メッセージキュー記憶手段102は検索された情報と、メッセージキュー記憶手段102に記録された他の計算機からの受信データを比較し、対象の実行と同じ順序(タイミング)で同じメッセージを受信(または未受信)するように、対象の計算機を制御する。
【0008】
このように、分散して記録した情報を使って、外部から受信メッセージの受取を制御(選択)する方式で再現実行を行うものとして、特開平3−188536号公報、特開平6−161785号公報などがある。
【0009】
また、並列分散シミュレーションシステムにおける実行再現の例としてHLA(High Level Architecture)によるSave/Restore機能がある。
HLAは、様々な異機種シミュレータを接続し、統合的なシミュレーションを実現するための基盤アーキテクチャである。米国のDMSO(Defence Modeling and Simulation Office)が提案したアーキテクチャであり、各シミュレータ間の時刻の同期と情報交換プロトコル等を定めている。
HLAによる並列分散シミュレーションシステムには、次のような特徴がある。
【0010】
・複数のシミュレータを組み合わせて、1つのシミュレーションシステムを構築する。
・各シミュレータは複数の計算機に分散しており、計算機間はネットワークなどを介して接続されている。なお、1つの計算機内に複数のシミュレータが存在してもよい。
・シミュレータ間での時刻同期やデータ交換やイベントの送信は、各シミュレータとシミュレーションマネージャとの間のサービス(メッセージ)を介して行う。
【0011】
・シミュレータ間での時刻同期は論理時刻を介して行う。論理時刻は各シミュレータ単位でローカルに管理される(同じ並列分散シミュレーション内のシミュレータ間で異なる論理時刻になることができる)。
・各シミュレータの論理時刻の進行は、シミュレーションマネージャが制御する。並列分散シミュレーションシステム内でデータ交換などのタイミングの整合がとれるように時刻進行を制御する。
・同じ論理時刻で発生した事象は、並列分散シミュレーションシステム内で同時事象として扱う。
【0012】
このHLAでのSave/Restore機能を説明する。
まず、Save要求時には、シミュレーションマネージャが各シミュレータにSave開始を通知する。この時からSave完了まで、並列分散シミュレーションシステム全体でデータ更新メッセージなどの発行が停止させられる。Save開始を通知されたシミュレータは、Save可能な位置で実行を停止し、各シミュレータは実行再現に必要な“現在の実行状態”や“シミュレータ内でのデータの値”などを全て保存する。
【0013】
また、シミュレーションマネージャも必要な“各シミュレータの実行状態”や“データの値”などを全て保存する。
Restore時には、その時点で実行されていた並列分散シミュレーションの情報を破棄して、Save時に記録された情報を使って、各シミュレータとシミュレーションマネージャの情報を再現する。このような方法で、並列分散シミュレーションを再現していた。
【0014】
【発明が解決しようとする課題】
従来の並列分散シミュレーションシステムは以上のように構成されているので、再現実行時に各計算機で記録されたメッセージの受信タイミングと識別情報を使って、他の計算機から送信されてくるメッセージをチェックし、再現対象の実行時と同じタイミングで、同じメッセージを受け取るようにしている。このため、再現実行時でも通常実行時と同様に、各計算機で送信用のデータを生成して、相手先の計算機にデータを送信しなければならず、他の計算機からメッセージが到着するまで計算機におけるシミュレーションの実行が待たされることになる。したがって、再現実行時は、通常実行時におけるシミュレーション速度と同等以下の速度で実行しなければならないという課題があった。
また、他の計算機に障害等が発生して、メッセージの送信が不可能な状態に陥ると、再現実行が不可能になるという課題もあった。
【0015】
また、計算機の送信データに関する情報記録機能がないため、再現実行時において、送信タイミングと受信タイミングとを制御することができないという課題があった。
さらに、データ交換等の整合性を保つために必要な論理時刻の取扱機能がないため、再現実行から通常実行に切り替えることができないという課題があった。
【0016】
なお、HLAにおけるSave/Restore機能では、Restore時に実行状況の再現に必要な全ての情報を、各シミュレータとシミュレーションマネージャの双方で記録と再生とを行う必要があるため、データの記録・再生にかかる処理時間が長くなり、また、安全にSave/Restoreできる箇所でしかSave/Restore機能を実行できないという課題があった。
【0017】
この発明は上記のような課題を解決するためになされたもので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、論理時刻と実時間とを組み合わせて、再現速度を調整することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
【0018】
さらに、この発明は、再現実行中に通常実行へ切り替えることができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、再現実行中のブレイクポイント等を設定することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
また、この発明は、再現実行させるシミュレータを選択することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
さらに、この発明は、再現実行時に使用する再現情報を選択することができる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
さらに、複数のシミュレーションを並列実行できる並列分散シミュレーションシステム及び並列分散シミュレーション方法を得ることを目的とする。
【0019】
【課題を解決するための手段】
この発明に係る並列分散シミュレーションシステムは、実行手段によるシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを実行手段に与えるようにしたものである。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信するようにしたものである。
【0020】
この発明に係る並列分散シミュレーションシステムは、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するようにしたものである。
【0021】
この発明に係る並列分散シミュレーションシステムは、実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるようにしたものである。
【0023】
この発明に係る並列分散シミュレーションシステムは、メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、実行手段及び記録手段が、ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うようにしたものである。
【0024】
この発明に係る並列分散シミュレーションシステムは、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証するようにしたものである。
【0025】
この発明に係る並列分散シミュレーションシステムは、記録手段の記録内容を編集するようにしたものである。
【0026】
この発明に係る並列分散シミュレーションシステムは、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するようにしたものである。
【0027】
この発明に係る並列分散シミュレーションシステムは、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するようにしたものである。
【0028】
この発明に係る並列分散シミュレーションシステムは、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を実時刻の進行に合わせてメッセージを実行手段に与えるようにしたものである。
【0029】
この発明に係る並列分散シミュレーションシステムは、切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録するようにしたものである。
【0030】
この発明に係る並列分散シミュレーションシステムは、記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択するようにしたものである。
【0031】
この発明に係る並列分散シミュレーションシステムは、差分情報選択手段による差分情報の選択条件を設定するようにしたものである。
【0032】
この発明に係る並列分散シミュレーションシステムは、記録手段により記録された差分情報の内容及び論理時刻を編集するようにしたものである。
【0033】
この発明に係る並列分散シミュレーションシステムは、再現モード時に再現実行を一時的に停止する論理時刻を設定するようにしたものである。
【0034】
この発明に係る並列分散シミュレーションシステムは、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定するようにしたものである。
【0035】
この発明に係る並列分散シミュレーションシステムは、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定するようにしたものである。
【0036】
この発明に係る並列分散シミュレーションシステムは、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定するようにしたものである。
【0037】
この発明に係る並列分散シミュレーションシステムは、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定するようにしたものである。
【0038】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するようにしたものである。
【0039】
この発明に係る並列分散シミュレーションシステムは、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するようにしたものである。
【0040】
この発明に係る並列分散シミュレーションシステムは、切替手段が再現モードから通常実行モードに切り替える論理時刻を設定するようにしたものである。
【0041】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するようにしたものである。
【0042】
この発明に係る並列分散シミュレーションシステムは、時刻設定手段により設定された論理時刻を編集するようにしたものである。
【0043】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させるようにしたものである。
【0044】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替えるようにしたものである。
【0045】
この発明に係る並列分散シミュレーションシステムは、シミュレータ選択手段により選択された1以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるようにしたものである。
【0046】
この発明に係る並列分散シミュレーションシステムは、マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するようにしたものである。
【0047】
この発明に係る並列分散シミュレーションシステムは、各シミュレータ単体で論理時刻の進行を指示するようにしたものである。
【0048】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得し、そのメッセージにしたがってシミュレーションを実行するようにしたものである。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信するようにしたものである。
【0049】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するようにしたものである。
【0050】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるようにしたものである。
【0052】
この発明に係る並列分散シミュレーション方法は、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するようにしたものである。
【0053】
この発明に係る並列分散シミュレーション方法は、再現モード時に再現実行を一時的に停止する論理時刻を設定するようにしたものである。
【0054】
この発明に係る並列分散シミュレーション方法は、再現実行させるシミュレータと通常実行させるシミュレータを選択するようにしたものである。
【0055】
この発明に係る並列分散シミュレーション方法は、複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるようにしたものである。
【0056】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による並列分散シミュレーションシステムを示す構成図であり、図において、1〜4は相互に独立して動作するシミュレータ、5はシミュレータ1〜4とネットワークを介して接続され、シミュレータ1〜4を管理するシミュレーションマネージャである。
【0057】
6はシミュレータ1〜4のインタフェース部、7はメッセージにしたがってシミュレーションを実行するシミュレータ本体(実行手段)、8はシミュレーションマネージャ5からメッセージを受信すると、そのメッセージをシミュレータ本体7とシミュレータ実行情報管理手段9に与える入力切替手段(記録手段)、9は記録モード時に入力切替手段8からメッセージを受けると、そのメッセージの内容を記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録し、また、シミュレータ本体7がメッセージを出力すると、そのメッセージの種類を記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録するシミュレータ実行情報管理手段(記録手段)である。
【0058】
10はシミュレータ本体7がメッセージを出力すると、そのメッセージをシミュレーションマネージャ5とシミュレータ実行情報管理手段9に送信する出力切替手段(記録手段)、11は再現モード時にシミュレーションマネージャ5からシミュレーションの実行時刻を示す論理時刻を受信すると、シミュレータ実行情報管理手段9からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージをシミュレータ本体7に与えるシミュレータ再現実行管理手段(管理手段)である。
【0059】
12はシミュレーションマネージャ5のインタフェース部、13はシミュレーションマネージャ5のマネージャ本体、14はメッセージの受信先を切り替える入力切替手段、15はシミュレータ1〜4に送信したメッセージの内容及び送信時刻と、シミュレータ1〜4から受信したメッセージの種類及び受信時刻等を記録するマネージャ実行情報管理手段、16はメッセージの出力先を切り替える出力切替手段、17はシミュレータ1〜4から受信したメッセージの復元とタイミングを制御するマネージャ再現実行管理手段、18は再現実行時にシステム全体の論理時刻の進行を管理し、シミュレーションの実行時刻(論理時刻)を指示する実行再現論理時刻管理手段である。
【0060】
なお、図2はシミュレータ再現実行管理手段11の動作を示すフローチャート、図3は入力切替手段8,14の動作を示すフローチャート、図4は出力切替手段10,16の動作を示すフローチャート、図5はマネージャ再現実行管理手段17の動作を示すフローチャート、図6は実行再現論理時刻管理手段18の動作を示すフローチャートである。図7はシミュレータ実行情報管理手段9の記録内容を示す説明図、図8はマネージャ実行情報管理手段15の記録内容を示す説明図、図9は記録モード時の動作概要を示す説明図、図10は再現モード時の動作概要を示す説明図である。
【0061】
次に動作について説明する。
この実施の形態1では、シミュレーションマネージャ5は、HLAでのRTI(Run Time Infrastructure)に相当する機能をマネージャ本体13が持っているものとする。
また、各シミュレータ間でのデータ交換や各シミュレータが保持する論理的な時刻の維持は、シミュレーションマネージャ5に対するメッセージの送受信を使って制御され、全体として1つの並列分散シミュレーションシステムを構成しているものとする。
【0062】
さらに、インタフェース部6,12は、並列分散シミュレーションを実現するためのインタフェース部分であり、並列分散シミュレーションシステムでやり取りされるメッセージの送信と受信とを行う部分機能であり、シミュレータ及びシミュレーションマネージャの固有の機能であるシミュレータ本体7及びマネージャ本体13とは区別する。
【0063】
最初に、記録モード時の動作を説明する。
まず、シミュレータ1〜4の入力切替手段8は、図3に示すように、シミュレーションマネージャ5からメッセージを受信すると、そのメッセーをシミュレータ本体7へ伝達するとともに、“メッセージの内容”と“受信時刻を示す論理時刻”をシミュレータ実行情報管理手段9に伝達する。
そして、シミュレータ実行情報管理手段9は、入力切替手段8から伝達されたメッセージの内容と論理時刻を再現用の実行情報として記録する(図7を参照)。
【0064】
シミュレータ1〜4の出力切替手段10は、図4に示すように、シミュレータ本体7からのメッセージ送信要求を受け取ると、送信メッセージをシミュレーションマネージャ5に送信するとともに、“メッセージの識別子(識別子はメッセージの種類を示す)”と“送信時刻を示す論理時刻”をシミュレータ実行情報管理手段9に伝達する。
そして、シミュレータ実行情報管理手段9は、出力切替手段10から伝達されたメッセージの識別子と論理時刻を再現用の実行情報として記録する(図7を参照)。
【0065】
次に、シミュレーションマネージャ5の入力切替手段14は、図3に示すように、シミュレータ1〜4からメッセージを受信すると、そのメッセージをマネージャ本体13に伝達するとともに、“メッセージの内容”と“受信時刻を示す論理時刻”と“受信元のシミュレータを示す識別子”とをマネージャ実行情報管理手段15に伝達する。
そして、マネージャ実行情報管理手段15は、入力切替手段14から伝達されたメッセージの内容と論理時刻とシミュレータの識別子とを再現用の実行情報として記録する(図8を参照)。
【0066】
シミュレーションマネージャ5の出力切替手段16は、図4に示すように、マネージャ本体13からのメッセージ送信要求を受け取ると、送信メッセージを送信対象のシミュレータに送付するとともに、“メッセージの識別子”と“送信時刻を示す論理時刻”と“送信先のシミュレータを示す識別子”とをマネージャ実行情報管理手段15に伝達する。
そして、マネージャ実行情報管理手段15は、出力切替手段16から伝達されたメッセージ識別子と論理時刻とシミュレータの識別子とを再現用の実行情報として記録する(図8を参照)。
【0067】
次に、再現モード時の動作を説明する。
まず、シミュレータ1〜4の入力切替手段8は、図3に示すように、シミュレータ再現実行管理手段11から受信メッセージを受け取って、シミュレータ本体7に伝達する。
出力切替手段10は、図4に示すように、シミュレータ本体7から送信メッセージを受信すると、シミュレータ再現実行管理手段11に“メッセージの識別子”を伝達する。
【0068】
シミュレータ再現実行管理手段11は、図2に示す手順でシミュレータ1〜4の再現実行を制御する。
具体的には、シミュレーションマネージャ5から時刻進行要求又はシミュレータ本体7から送信メッセージの識別子が伝達されるまで待機し、シミュレーションマネージャ5から時刻進行要求を受け取ると、「進行可能な論理時刻」を要求された時刻にセットする。
【0069】
一方、送信メッセージの識別子を受け取ると、シミュレータ実行情報管理手段9を参照して、現在待っているメッセージか否かをチェックする。対象のメッセージでない場合には、エラーを出力して再現実行を中断する。対象のメッセージの場合には、“再現制御ポインタ”を1個進める。
ここで、“再現制御ポインタ”は、再現実行時にシミュレータ実行情報管理手段9が次の処理対象のメッセージを示すポインタであり、ここでは、説明を簡単にするために便宜的に使用する。
【0070】
上記の時刻進行要求又は送信メッセージに対する処理後、シミュレータ実行情報管理手段9の“再現制御ポインタ”と「進行可能な論理時刻」を参照し、シミュレータ本体7が受け取れる受信メッセージの有無を調査する。
ここで、受信可能なメッセージがない場合には、再び時刻進行要求と送信メッセージ待ちの状態に戻る。
逆に受信可能なメッセージがある場合には、シミュレータ実行情報管理手段9のデータを使って対象のメッセージの内容を復元した後で、復元したメッセージを入力切替手段8に伝達する。この手順で全ての受信可能なメッセージを伝達後、時刻進行要求と送信メッセージ待ちの状態へ戻る。
【0071】
なお、この調査時に“再現制御ポインタ”が示すメッセージの送受信論理時刻が「進行可能な論理時刻」よりも大きい場合には、シミュレータでの現在の論理時刻と「進行可能な論理時刻」を比較する。
「進行可能な論理時刻」>現在の論理時刻の時には、シミュレータでの現在の論理時刻を「進行可能な論理時刻」に設定し、シミュレーションマネージャ5に時刻進行処理が完了したことを通知する。
【0072】
次に、シミュレーションマネージャ5の入力切替手段14と出力切替手段16との動作は、基本的に各シミュレータでの動作と同じであり、シミュレータ本体7をマネージャ本体13に、シミュレータ再現実行管理手段11をマネージャ再現実行管理手段17に置き換えた動作を行う。
【0073】
また、マネージャ再現実行管理手段17は、図5に示すように、シミュレーションマネージャ5の再現実行を制御する。ここでの動作は基本的にシミュレータ再現実行管理手段11と同じであり、シミュレータ本体7をマネージャ本体13に、シミュレータ実行情報管理手段9をマネージャ実行情報管理手段15に置き換えた動作を行う。ただし、メッセージの内容を復元するときにシミュレータ識別情報を付加することと、時刻進行要求が実行再現論理時刻管理手段18から直接伝達され、時刻進行処理の完了を直接実行再現論理時刻管理手段18に伝達することとが異なる。
【0074】
最後に、再現モード時の論理時刻進行の手順について説明する。
実行再現論理時刻管理手段18は、図6に示す手順で論理時刻の進行を制御する。なお、この実施の形態1では、並列分散シミュレーションにおける論理時刻の最小の進行単位は“1”とし、再現モード時にはこの最小単位で自動的に論理時刻を進めることにする。
【0075】
まず、シミュレータ1〜4のシミュレータ再現実行管理手段11とマネージャ再現実行管理手段17に“現在の論理時刻+1”の時刻への進行を指示する。
シミュレータ再現実行管理手段11とマネージャ再現実行管理手段17は、受信データの受取処理などの“現在の論理時刻+1”への論理時刻の進行処理が完了した時点で、実行再現論理時刻管理手段18に完了を通知する。
【0076】
完了通知受取後、実行再現論理時刻管理手段18は、自分が管理する現在の論理時刻を“現在の論理時刻+1”とする。その後、再度“現在の論理時刻+1”の時刻への進行を指示する。上記の処理を繰り返すことにより、論理時刻で同期しながら論理時刻“1”の刻みで並列分散シミュレーションの再現実行を行う。
【0077】
このように、本システムでは、記録モード時は、シミュレータ1〜4とシミュレーションマネージャ5とがメッセージの送受信情報をローカルに記録し、再現モード時は、記録した情報を使って受信情報を復元し、論理時刻とメッセージの送信タイミングを使って受信タイミングを制御し、論理時刻の進行に沿って再現実行を行うので、統合シミュレーションとしての整合性を維持しながら再現実行を行える効果を奏する。
【0078】
また、本システムでは、再現実行時に受信メッセージをローカルな情報を使って復元し、シミュレータ1〜4とシミュレーションマネージャ5との間では、論理時刻進行指示以外のメッセージの送受信を行わないため、再現モード時のネットーワーク負荷を軽減し、効率の良い処理が実行できる効果も奏する。
さらに、本システムでは、並列分散シミュレーションのためのインタフェース部分を拡張することで再現実行を実現しているため、シミュレータ本体7に変更を加えることなく再現実行を実現できる効果も奏する。
【0079】
上記実施の形態1では、論理時刻の最小の進行単位を“1”に設定して、“1”ずつ論理時刻を進行するものについて示したが、これよりも大きい任意のステップを指定して、その指定したステップで論理時刻を進行させるようにしてもよく、上記実施の形態1と同様の効果を奏する。その際、大きいステップで進行させるようにすれば、再現実行の高速化を図ることができる効果も奏する。
【0080】
上記実施の形態1では、受信メッセージの内容を全て記録するものについて示したが、並列分散シミュレーションで規定されたメッセージに対する知識を利用して、メッセージの内容を圧縮して記録し、再現モード時に再生するようにしても、上記実施の形態1と同様の効果を奏する。さらに、記録内容を圧縮することで記録容量を削減できる効果も奏する。
【0081】
上記実施の形態1では、ネットワークを介して4個のシミュレータを接続するものについて示したが、シミュレーションマネージャ5とシミュレータとが同一の計算機内で実現される場合や、複数のシミュレータが同じ計算機に複数存在する場合など、シミュレータの接続形態に関係なく、上記実施の形態1と同様の効果を奏する。
また、任意の数のシミュレータが接続された並列分散シミュレーションシステムでも、上記実施の形態1と同様の効果を奏する。
【0082】
上記実施の形態1では、論理時刻の最小の進行単位を“1”としているが、これ以外に設定することもでき、この場合も上記実施の形態1と同様の効果を奏する。また、上記実施の形態1では、論理時刻を自動的に進行させるものについて示したが、ユーザや他の装置からの指示等をトリガとして論理時刻を進行させても上記実施の形態1と同様の効果を奏する。
【0083】
上記実施の形態1では、シミュレーションマネージャ5の実現形態として、1つの計算機に集中して実現する例を説明したが、シミュレーションマネージャ5を複数の計算機上に分散して実現しても上記実施の形態1と同様の効果を奏する。
例えば、図11のようにシミュレーションマネージャを分散する場合には、各シミュレーションマネージャ毎にマネージャ実行情報管理手段15とマネージャ再現実行管理手段17を分散して設け、実行再現論理時刻管理手段18を1台実装しても上記実施の形態1と同様の効果を奏する。
また、図12のように階層状にシミュレーションマネージャを分散する場合には、最上位階層のシミュレーションマネージャに実行再現論理時刻管理手段18を実装しても上記実施の形態1と同様の効果を奏する。
【0084】
実施の形態2.
図13はこの発明の実施の形態2による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
19,20は再現実行中、再現モードから通常実行モードに切り替える実行再現切替手段(切替手段)である。
図14は実行再現切替手段19,20の動作を示すフローチャート、図15は入力切替手段8,14の動作を示すフローチャート、図16は出力切替手段10,16の動作を示すフローチャート、図17は通常実行時の動作概要を示す説明図である。
【0085】
次に動作について説明する。
この実施の形態2では、再現実行中に時刻Tで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。ここでは、時刻Tまでは上記実施の形態1と同様に再現実行が行われる。
なお、この実施の形態2では、論理時刻Tまで進行した時には、時刻T以前のシミュレーションに影響を与える事象が発生しないことが保証されている。その後、時刻Tでシミュレーションマネージャ5の実行再現切替手段20にシステム全体への通常実行への切替指示があったものとする。
【0086】
シミュレーションマネージャ5の実行再現切替手段20は、論理時刻Tにおいて、再現実行から通常実行に切り替える指示を受けると、シミュレータ1〜4の実行再現切替手段19に切替指示を伝達する。
切替指示の伝達完了後、シミュレーションマネージャ5の実行再現切替手段20と、シミュレータ1〜4の実行再現切替手段19は、図14に示す手順で、入力切替手段8,14と出力切替手段10,16に入出力の変更指示を与える。
【0087】
また、シミュレーションマネージャ5は、実行再現論理時刻管理手段18に論理時刻進行指示を停止させる。
そして、入力切替手段8,14は、入力の変更指示を受けると、図15に示す手順で、再現モードから通常実行モードに遷移し、出力切替手段10,16は、出力の変更指示を受けると、図16に示す手順で、再現モードから通常実行モードに遷移する。
【0088】
この後、シミュレータ1〜4は、図17に示すように、入力切替手段8がシミュレーションマネージャ5から受信メッセージを受け取ってシミュレータ本体7に伝達し、出力切替手段10がシミュレータ本体7からの送信メッセージをシミュレーションマネージャ5に伝達する。
シミュレーションマネージャ5は、入力切替手段14がシミュレータ1〜4からの受信メッセージをマネージャ本体13に伝達し、出力切替手段16がマネージャ本体13からの送信メッセージをシミュレータ1〜4に伝達する。
これにより、切り替え完了後は、シミュレーションマネージャ5とシミュレータ1〜4は通常実行を行うことになる。
【0089】
このように、本システムでは、再現実行中に、ある論理時刻を境として送受信メッセージの受取と出力先を切り替えることで、通常のシミュレーション実行に切り替えることができるので、再現実行中に通常実行へ切り替えることができる効果を奏する。
これにより、シミュレーションの途中までは実行再現データを利用し、そこから通常のシミュレーション実行を行うことで、シミュレーション実行時間の効率化を計ることができる。特に、同一の前提条件を高速に提供できるシミュレーションシステムが得られる効果を奏する。
【0090】
なお、上記実施の形態2では、再現実行から通常実行への切替指示をシミュレーションマネージャ5が受け取ってシミュレータ1〜4に通知するものについて示したが、任意のシミュレータが切替指示を受け取ってシミュレーションマネージャ5に通知し、その後、他のシミュレータに通知してもよい。
また、上記実施の形態2では、シミュレーションマネージャ5が切替指示を受け取ると、即座にモードを切り替えるものについて示したが、モードの切替時刻を指定するようにしてもよく、上記実施の形態2同様の効果を奏する。
【0091】
実施の形態3.
図18はこの発明の実施の形態3による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
21はシミュレータ1〜4のうち、シミュレーションを再現実行させるシミュレータを選択する再現参加シミュレータ選択手段(シミュレータ選択手段)である。
なお、図19はシミュレータの参加状態を示す説明図、図20は参加シミュレータによる再現実行時の動作概要を示す説明図である。
【0092】
次に動作について説明する。
この実施の形態3では、シミュレータ1とシミュレータ4のみ再現実行に参加すると仮定する(図19を参照)。
ここでは、再現実行時に実行再現論理時刻管理手段18は、再現参加シミュレータ選択手段21を参照して論理時刻進行を指示するシミュレータを選択する。この例では、シミュレータ1とシミュレータ4を選択して論理時刻進行を指示する。
【0093】
シミュレータ1とシミュレータ4は、上記実施の形態1と同様の手順で再現実行が行われる。このため、再現実行時にはそれぞれシミュレータ実行情報管理手段9にローカルに記録した情報だけを使って受信メッセージを復元する。
ここで、シミュレータ実行情報管理手段9は、再現対象の実行時にシミュレータ2,3が及ぼす影響も受信メッセージとして記録している。また、シミュレーションマネージャ5でも、シミュレータ1,4と同様に、ローカルに記録した情報だけを使って受信メッセージを復元する。このため、再現実行にシミュレータ2,3が参加しなくても、再現対象の実行時の正確さを維持したまま再現実行を行うことができる。
【0094】
このように、本システムでは、再現実行に参加するシミュレータを選択しても、シミュレーションの正確さを維持しながら再現実行を行うことができる効果を奏する。これにより、例えば結果表示を行うシミュレータだけを選択して再現実行をすることで、シミュレーションの結果表示に必要な最低限度の再現実行処理を行うだけで、統合シミュレーションとしての正確さを維持した(表示される結果は、正確なシミュレーションの結果と同じである)並列分散シミュレーションを行うことができる。このように、シミュレーションの効果が高くかつ処理負荷の低い再現実行を行える効果がある。
【0095】
実施の形態4.
図21はこの発明の実施の形態4による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
22はメッセージのユーザ入力を受け付けて、そのメッセージをシミュレータ本体7及びシミュレータ実行情報管理手段9に与えるユーザ入力切替手段(ユーザ入力手段)である。
なお、図22はユーザ入力切替手段22の動作を示すフローチャート、図23はシミュレータ再現実行管理手段11の動作を示すフローチャート、図24はユーザ入力も含めた記録実行時(再現対象の実行時)の動作概要を示す説明図、図25は再現実行時の動作概要を示す説明図である。
【0096】
次に動作について説明する。
ユーザ入力切替手段22は、図24に示すように、記録モード時はユーザからのメッセージの入力を受け付けて、その入力内容をシミュレータ本体7に伝達するとともに、“入力内容”と“入力された論理時刻”をシミュレータ実行情報管理手段9に伝達する。この例のシミュレータ実行情報管理手段9は、ユーザ入力を受信データと同様に記録する。
【0097】
一方、再現モード時は、シミュレータ再現実行管理手段11が図24に示すように、シミュレータ実行情報管理手段9からユーザの入力内容を受け取ってユーザ入力切替手段22に伝達することにより、ユーザの入力内容をシミュレータ本体7に伝達する。
【0098】
シミュレータ再現実行管理手段11は、図23に示す手順で再現実行の制御を行うが、基本的に上記実施の形態1と同様の制御を行う。ただし、受信メッセージだけでなく、ユーザ入力についてもユーザ入力を復元し、復元したデータをユーザ入力切替手段22に伝達する。
なお、この実施の形態4では、再現実行時に同じ論理時刻からユーザ入力を行うことで、各シミュレータの処理の再現が保証されている。
【0099】
このように、本システムでは、再現実行の情報としてユーザからの入力を扱うことができる。これにより、ユーザ入力も含めた並列分散シミュレーションの実行を再現できる効果を奏する。このことは、特にユーザのオペレーションを含む管制業務の支援用のシミュレーションシステムなどの再現実行を行う時に効果的である。
【0100】
上記実施の形態4では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態2,3のシステムに機能拡張してもよく、上記実施の形態4と同様の効果を奏する。
また、上記実施の形態2の実行再現切替手段19,20による切替指示に連動してユーザ入力切替手段22の入力元をシミュレータ再現実行管理手段11からユーザ入力に切り替えることで、ユーザ入力を加えた再現実行でも、再現実行から通常実行に切り替えることができる効果を奏する。
【0101】
実施の形態5.
図26はこの発明の実施の形態5による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
23,24は記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証する送信メッセージ検証手段(記録手段)である。
【0102】
次に動作について説明する。
この実施の形態5では、再現対象の実行中に、上記実施の形態1と同様に実行情報を記録する。ただし、出力切替手段10で送信メッセージの情報を記録するときに、送信メッセージの識別子だけでなく、送信メッセージの内容も受信メッセージと同様に記録する。
【0103】
再現実行時も基本的に上記実施の形態1と同様である。ただし、シミュレータ再現実行管理手段11は、出力切替手段10から送信メッセージの到着を伝達された時に、送信メッセージ検証手段23に送信メッセージの検証を指示することが異なる。送信メッセージ検証手段23は、再現実行中に伝達されてきた送信メッセージの送信内容と送信の論理時刻をシミュレータ実行情報管理手段9の記録内容と比較する。
なお、記録内容と一致する場合は何もしないが、記録内容と一致しない場合は警告を出力する。
【0104】
このように、本システムでは、シミュレータ1〜4とシミュレーションマネージャ5の送信情報について検証しながら再現実行を行うことができる効果を奏する。このことは、再現実行が正しく行われていることを確認する時に有効である。
【0105】
なお、この実施の形態5では、シミュレータ側での送信チェックについて説明したが、シミュレーションマネージャ5側に設けた送信メッセージ検証手段24を使ってマネージャ再現実行管理手段17がシミュレータ再現実行管理手段11と同様の処理を行うことで、シミュレーションマネージャ5でも、上記実施の形態5と同様の効果を奏する。
【0106】
また、この実施の形態5では、送信メッセージの不一致が発生した時に、警告を出力するものについて示したが、この時点でシステム全体を一時停止させることや、シミュレーションを停止させることもできる。
このように、送信チェックでエラーが見つかった時に、様々な停止や警告などの処置を選択できる効果を奏する。
上記実施の形態5では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態2,3のシステムに機能拡張してもよく、上記実施の形態5と同様の効果を奏する。
【0107】
実施の形態6.
図27はこの発明の実施の形態6による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
25はシミュレータ実行情報管理手段9の記録内容を編集する再現実行情報編集手段(記録編集手段)、26はマネージャ実行情報管理手段15の記録内容を編集する再現実行情報編集手段(記録編集手段)である。
なお、図28は再現実行情報編集手段による編集情報の伝搬を示す説明図である。
【0108】
次に動作について説明する。
シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の記録内容は、各シミュレータとシミュレーションマネージャ5との間でのメッセージのやり取りの記録である。このため、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の編集機能には、(1)シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15との間で整合性の取れた編集と、(2)デバッグやテスト用にあえて整合性の取れない編集の両方を行える必要がある。
【0109】
再現実行情報編集手段26は、記録対象の実行終了後に、シミュレータ1〜4のシミュレータ実行情報管理手段9とシミュレーションマネージャ5のマネージャ実行情報管理手段15の記録内容を収集して一時的に記録する。再現実行情報編集手段26は、この一時的な記録を使って、実行再現情報を編集する。
【0110】
編集時には、(1)シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の間で整合性の取れた編集、または、(2)デバッグやテスト用にあえて整合性の取れない編集を実行する。
編集作業の終了後、編集後の実行再現情報をシミュレータ1〜4のシミュレータ実行情報管理手段9とシミュレーションマネージャ5のマネージャ実行情報管理手段15とへ反映させる。
ここで、編集後の実行再現情報の伝搬を図28に示す。このように、再現実行情報編集手段26は、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15との内容を任意に編集できる。
【0111】
このように、本システムでは、シミュレータ実行情報管理手段9が記録した再現のための実行情報を任意に編集できる。再現情報を編集し、編集した情報を使って再現実行を行うことで、任意の再現実行を行える並列分散シミュレーションシステムを得られる効果を奏する。これにより、シミュレーションで任意のシナリオを作成して、そのシナリオが再現実行により実現できる効果も奏する。
【0112】
本システムでは、任意の再現情報を作成できるので、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる。これにより、デバッグが困難な状況を作り出すことや、指定したパターンを再現実行することでテストやデバッグでの網羅性を向上できる。このことは、統合シミュレーションでのデバッグやテストの精度と効率を向上できる効果がある。
【0113】
上記実施の形態6では、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15との間で整合性の取れた編集を容易に行うために、再現実行情報編集手段26をシミュレーションマネージャ5に実装した例で説明したが、再現実行情報編集手段25,26をシミュレータ1〜4とシミュレーションマネージャ5とに分散させ、各再現実行情報編集手段25間で整合性を取る機能を設けて実装しても、上記実施の形態6と同様の効果を奏する。
上記実施の形態6では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態2,3のシステムに機能拡張して実現してもよく、上記実施の形態6と同様の効果を奏する。
【0114】
また、上記実施の形態4のシステムに対して再現実行情報編集手段25,26を拡張しても、上記実施の形態6と同様の効果を奏する他、再現実行情報編集手段25,26では、ユーザ入力に対する情報もメッセージの受信データと同様に編集することができ、ユーザ入力を含めた再現実行を任意にコントロールできる効果もある。
この他、上記実施の形態5のシステムに対して再現実行情報編集手段25,26を拡張しても、上記実施の形態6と同様の効果を奏する他、再現実行情報編集手段25,26では、送信データの情報もメッセージの受信データと同様に編集することができる。これにより、より複雑な送信データのチェックを行うことができる効果もある。
【0115】
実施の形態7.
図29はこの発明の実施の形態7による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
27はシミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定する論理時刻進行ステップ管理手段(進行ステップ設定手段)である。
なお、図30は再現実行時における論理時刻の進行ステップを示す概念図である。
【0116】
次に動作について説明する。
この実施の形態7では、図30に示すように、再現実行時における論理時刻の進行を制御する。ただし、時刻T0〜T1までは、論理時刻の進行ステップが“1”であるとする。
時刻T1において、論理時刻進行ステップ管理手段27が論理時刻の進行ステップを“1”から“3”に変更し、その後、時刻T2まで論理時刻が進行したとする。
【0117】
この場合、実行再現論理時刻管理手段18は、各シミュレータに対して時刻T0〜T1までは論理時刻を“1”ステップ進行させる指示を出力し、時刻T1〜T2までは論理時刻を“3”ステップ進行させる指示を出力する。
論理時刻進行ステップ管理手段27は、実行再現論理時刻管理手段18に対して論理時刻の進行ステップを変更する指示を与えることができる。
【0118】
このように、本システムでは、再現実行時における論理時刻の進行ステップを任意に変えることができる効果を奏する。論理時刻の進行ステップを任意に変えることで、再現実行のスピードをコントロールすることができるため、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果を奏する。
【0119】
上記実施の形態7では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態2,3のシステムに機能拡張して実現してもよく、上記実施の形態7と同様の効果を奏する。
【0120】
実施の形態8.
図31はこの発明の実施の形態8による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
28は現実の時間情報を管理する実時刻管理手段、29は論理時刻と実時刻の時刻比を設定する論理/実時刻比管理手段(時刻比設定手段)である。
【0121】
なお、図32は再現実行時における時刻進行状況を示す概念図である。ここでは、“論理時刻=実時刻”となるように再現実行時における論理時刻の進行を制御する例を示している。また、論理時刻の進行ステップは“1”(秒)に固定する。
【0122】
次に動作について説明する。
実時刻管理手段28は、現実の時間情報を管理している。ここでは、“論理時刻=0”から時刻進行を開始するので、再現実行開始時に“実時刻=0”にセットし、その後は現実の時間に沿って実時刻情報を更新していく。
【0123】
論理時刻=実時刻が指定されているため、論理/実時刻比管理手段29は、論理時刻の進行速度と実時刻の比を1に設定する。
まず、論理/実時刻比管理手段29は、時刻の進行条件を設定する。この例では、“論理時刻=実時刻”が指定され、論理時刻の進行ステップは“1”(秒)とする。
次に、論理/実時刻比管理手段29は、実時刻管理手段28の実時刻情報を使って実時間の1秒ごとに論理/実時刻比管理手段29へ論理時刻を“1”(秒)進行させるように指示する。
【0124】
このように、本システムでは、再現実行時における論理時刻の進行を実時刻で制御できる効果を奏する。実時間を無視して論理時刻に沿った整合性がとれたシミュレーションを実施した後で、再現実行時にはその結果を論理時刻=実時刻で再現することで、整合性のとれたシミュレーションの結果を実時刻に沿った形で実行できる効果を奏する。これにより、再現実行時には、シミュレーション結果を現実感に沿った形で提示できる効果を奏する。
【0125】
上記実施の形態8では、論理/実時刻比管理手段29が“論理時刻=実時刻”となるように設定するものについて示したが、論理時刻と実時刻の比は任意に設定することができ、“論理時刻=実時刻”以外の比を設定しても、上記実施の形態8と同様の効果を奏する。
また、整合性のとれたシミュレーションの結果を任意の実時刻に沿った形で実行できる効果もある。
【0126】
上記実施の形態8では、論理時刻の進行ステップは“1”(秒)に固定としたが、“1”(秒)以外の値を設定しても、上記実施の形態8と同様の効果を奏する。
また、上記実施の形態8では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態7のシステムに機能拡張して、論理時刻進行ステップ管理手段27で指定された任意の論理時刻の進行ステップ値についても、上記実施の形態8と同様の効果を奏する。
【0127】
上記実施の形態8では、上記実施の形態1のシステムに対する機能拡張として説明したが、上記実施の形態2,3のシステムに機能拡張して実現しても、上記実施の形態8と同様の効果を奏する。
特に、上記実施の形態3のシステムに機能拡張して実現した場合には、再現参加シミュレータ選択手段21で適したシミュレータを選択することで、処理の高速化が可能になるケースがあり、“実時刻/論理時刻≧1”(論理時刻の進行を実時刻よりも早くする。例えば論理時刻の進行ステップ“100”(秒)を実時刻“10”(秒)で実行)を行う場合に、効果を奏する可能性が高い。
【0128】
実施の形態9.
図33はこの発明の実施の形態9による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
30は再現対象実行時に実時刻管理手段28の実時刻情報を使って論理時刻と実時刻の対応を記録する実時刻情報収集手段、31は実行再現時に実時刻管理手段28の実時刻情報と実時刻情報収集手段30に記録された論理時刻と実時刻との対応データを使って論理時刻の進行を制御するリアル再現実行制御手段である。
なお、図34は再現実行時における時刻進行状況を示す概念図である。
【0129】
次に動作について説明する。
ここでは、再現対象の実行中も実時刻管理手段28を使用する。再現対象の実行開始時に、実時刻を“0”に設定し、その後、実時間情報を更新していく。
再現対象の実行中に、実時刻情報収集手段30は、論理時刻の進行処理がある度に、その論理時刻と対応する実時刻を記録する。実時刻情報は実時刻管理手段28の値を使用する。
【0130】
実行再現時には、再現実行開始時に実時刻管理手段28が実時刻を“0”に設定し、その後、実時間情報を更新していく。
リアル再現実行制御手段31は、実時刻情報収集手段30の採取した情報と、実時刻管理手段28の値とを比較して、対象の実時刻に到達した時に、対応する論理時刻への進行指示を発信するように実行再現論理時刻管理手段18へ指示する。
【0131】
この例では、まず、実時刻“7”までに論理時刻“3”へ進行するように指示される。次に、実時刻“12”までに論理時刻“5”へ進行するように指示されるといった手順を繰り返していく。これにより、記録した時と同じ実時間で、論理時刻を進行させることができる。
【0132】
このように、本システムでは、再現対象の実行と同じ実時間で、論理時刻を進行させることができる効果を奏する。これにより、再現対象の実行と同じ実時間でシミュレーションの動作を復元できる効果を奏する。
【0133】
本システムでは実行再現時に、各シミュレータとシミュレーションマネージャ5との間でのメッセージ交換を行わないため、一般に記録時よりも再現実行が早く進む。このため、実時刻に沿った実行をする場合には、論理時刻の進行が早く進み過ぎないように時刻進行指示を出す制御を行えばよい。ただし、論理時刻の刻み幅が大きい場合には、時刻進行指示を待っている時間が長くなる。このような対策として、再現実行にかかる処理時間を予め計測しておいて、時刻の進行指示を出すタイミングを遅らせることが考えられる。また、大きい論理時刻の刻み幅を分割し、その間を補間するように小刻みな時刻進行指示と実時刻制御を行うことも考えられる。
このような拡張を上記実施の形態9に対して行っても同様の制御を行うことが可能である。また、より記録時の実時刻に近い再現実行が行える効果がある。
【0134】
上記実施の形態9では、リアル再現実行制御手段31が実時刻情報収集手段30で記録したデータ順に論理時刻の進行を指示する例で説明したが、時刻進行を1個おきにスキップするなど全ての記録情報を使わない場合でも、上記実施の形態9と同様の制御を行うことが可能である。
【0135】
実施の形態10.
図35はこの発明の実施の形態10による並列分散シミュレーションシステムを示す構成図であり、図において、図13と同一符号は同一または相当部分を示すので説明を省略する。
32は実行再現切替手段19が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャ5から受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録する差分情報収集手段(記録手段)、33は差分情報収集手段32と同様の差分情報収集手段(記録手段)である。
なお、図36は差分情報収集時の動作概要を示す説明図、図37は差分情報を使った再現実行時の動作概要を示す説明図である。
【0136】
次に動作について説明する。
この実施の形態10では、上記実施の形態2と同様に、再現実行中に論理時刻Tで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。この時、各シミュレータとシミュレーションマネージャ5の実行再現切替手段19,20に通常実行への切替指示が伝達され、実行再現切替手段19,20から対象の入力切替手段8,14と出力切替手段10,16に入出力の変更指示を与えられ、シミュレーションマネージャ5では実行再現論理時刻管理手段18に論理時刻進行指示を停止させるまでの手順は、上記実施の形態2と同じである。
【0137】
ただし、図36に示すように差分情報の記録を行うが、ここでは、実行再現切替手段19,20からの入力切替手段8,14と出力切替手段10,16とへの入出力の変更指示は、通常実行モードではなく、記録モードヘの変更指示が行われる。
【0138】
入力切替手段8,14と出力切替手段10,16とは、再現実行モードから記録モードヘ遷移するが、次のように実行情報の伝達先が異なる。
各シミュレータの入力切替手段8は、シミュレーションマネージャ5からの受信メッセージを受け取ってシミュレータ本体7へ伝達するとともに、差分情報収集手段32ヘメッセージの内容と受信した論理時刻とを伝達する。
【0139】
出力切替手段10は、シミュレータ本体7からの送信メッセージをシミュレーションマネージャ5へ伝達するとともに、差分情報収集手段32にメッセージの識別子と受信した論理時刻とを伝達する。
差分情報収集手段32は、シミュレータ実行情報管理手段9と同様のフォーマットで通常実行に切り替え後の送受信メッセージの情報を差分データとして記録する。また、切替開始時刻を差分データとして記録する。
【0140】
一方、シミュレーションマネージャ5の入力切替手段14は、各シミュレータからの受信メッセージをマネージャ本体13に伝達するとともに、差分情報収集手段33にメッセージの内容と受信した論理時刻と受信元シミュレータの識別子とを伝達する。
【0141】
出力切替手段16は、マネージャ本体13からの送信メッセージを各シミュレータに伝達するとともに、差分情報収集手段33にメッセージの内容と送信の論理時刻と送信先シミュレータの識別子とを伝達する。
差分情報収集手段33は、マネージャ実行情報管理手段15と同様のフォーマットで通常実行に切り替え後の送受信メッセージの情報を差分データとして記録する。
【0142】
これにより、切り替え完了後は、シミュレーションマネージャ5と各シミュレータとは、通常実行を行いながら、切り替え後の実行情報を差分情報収集手段32,33に差分情報として記録する。
再現実行から通常実行へ切替え、通常実行でのシミュレーションの実行が完了した後で、差分情報収集手段32,33の差分情報を使った再現実行ができる。差分情報を使った再現実行は、図37のように実行される。
【0143】
まず、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の記録内容を、切り替えが行われた時刻Tで差分情報収集手段32,33の情報へ書き換える。その後、書き換えたシミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の記録内容を使って再現実行を行うことで、差分情報を使った再現実行ができる。
【0144】
このように、本システムでは、再現実行中に通常のシミュレーション実行に切り替えた後で、通常実行へ切り替え後の実行情報を差分情報として記録し、その差分情報を使った再現実行を行える効果を奏する。
差分情報により途中までの再現情報を共有することで、情報収集量を削減できる効果を奏する。また、差分情報を収集した実行については、途中までは再現実行を利用できるので、情報の収集時間を削減できる効果も奏する。
【0145】
上記実施の形態10では、上記実施の形態2のシステムに対する機能拡張として説明したが、上記実施の形態4のシステムに対して機能拡張して、差分情報収集手段32がユーザ入力切替手段22からの情報を差分情報として記録するように実現しても、上記実施の形態10と同様の効果を奏する。また、ユーザ入力についても差分情報を利用できる効果がある。
上記実施の形態10では、上記実施の形態2のシステムに対する機能拡張として説明したが、上記実施の形態5のシステムに対して機能拡張して実現しても、上記実施の形態10と同様の効果を奏する。
【0146】
また、出力チェックについても差分情報を利用できる効果がある。
上記実施の形態10では、差分情報を使った再現実行を行うために、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の内容を書き換える方法を説明した。一方、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の内容を変更せずに、変更を行う論理時刻Tを設定して参照先の実行記録を差分情報収集手段32,33へ変更するようにシミュレータ再現実行管理手段11とマネージャ再現実行管理手段17とを変更することでも実現でき、上記実施の形態10と同様の効果を奏する。
【0147】
実施の形態11.
図38はこの発明の実施の形態11による並列分散シミュレーションシステムを示す構成図であり、図において、図35と同一符号は同一または相当部分を示すので説明を省略する。
34,35は差分情報収集手段32,33により記録された差分情報のうち、シミュレーションの実行に使用する差分情報を選択する差分情報選択手段、36は差分情報選択手段34,35の選択内容を伝達する差分情報管理手段である。なお、図39は差分情報管理手段36における差分情報管理方法の概要を示す説明図、図40は差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【0148】
次に動作について説明する。
この実施の形態11では、上記実施の形態10と同様に、再現実行中に論理時刻Tで並列分散シミュレーション全体が再現実行から通常実行へ切り替わるものとする。この時、各シミュレータとシミュレーションマネージャ5とで、入力モードが変更され、差分情報収集手段32,33が差分の実行情報を収集するところまでは、上記実施の形態10と同じである。
【0149】
ただし、この実施の形態11では、上記実施の形態10と異なり、図39のように差分実行終了後に、各シミュレータとシミュレーションマネージャ5とで収集した差分情報を差分情報管理手段36に登録する。
差分情報管理手段36は、収集した“通常実行への切替時刻”と“差分実行情報”、“再現対象の実行情報”を新規差分情報として記録する。
【0150】
ここで、“再現対象の実行情報”は差分元の実行である。例えば、図40で、差分情報1ではシミュレータ実行情報管理手段9の記録、差分情報2は差分情報1となる。
差分情報管理手段36を使った再現実行では、まず、差分情報選択手段34,35を使って実行再現情報を選択する。ここでは、図40のように差分情報2が選択されたとする。選択完了後、図39のように差分情報管理手段36は、選択された差分情報を差分情報選択手段34,35に伝達する。
【0151】
選択後の再現実行では、シミュレータ再現実行管理手段11とマネージャ再現実行管理手段17とは、再現に使用する情報を差分情報選択手段34,35に問い合わせる。ここでは、論理時刻T0まではシミュレータ実行情報管理手段9とマネージャ実行情報管理手段15の情報を、T0〜T2までは差分情報管理手段36の差分情報1を、T2以後は差分情報管理手段36の差分情報2を実行再現情報として選択する。これにより、時刻T0までは最初に記録された実行再現情報、T0〜T2までは差分情報1,T2以後は差分情報2による再現実行が行われる。
【0152】
このように、本システムでは、通常実行に切り替えた後の差分情報を管理し、複数の差分情報を組み合わせた再現実行が可能になる効果を奏する。複数の差分情報を組み合わせて管理することにより、より記録容量を削減でき、情報の収集時間を削減できる効果を奏する。
複数の差分情報を組み合わせて再現実行する情報を選択できることで、様々な再現実行のパターンを実行できる効果がある。また、差分情報同士を組み合わせることで、様々な再現実行に対応する場合でも、再現実行に必要な情報を削減できる効果を奏する。
【0153】
実施の形態12.
図41はこの発明の実施の形態12による並列分散シミュレーションシステムを示す構成図であり、図において、図38と同一符号は同一または相当部分を示すので説明を省略する。
37は差分情報管理手段36による差分情報の選択条件を設定する差分選択条件設定手段(条件設定手段)である。
なお、図42は差分選択条件の設定例を示す説明図、図43は差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【0154】
次に動作について説明する。
この実施の形態12では、上記実施の形態11と同様の再現実行及び通常実行への切替処理が行われ、結果として図43に示すパターンのデータが差分情報管理手段36に蓄えられている。
【0155】
ここでは、シミュレーションヘのパラメータとして、A=1、B=3,C=1、D=1が指定されたものとする。この時、差分選択条件設定手段37は図42の選択条件に従って、図43に示す差分情報4を使った再現実行を選択する。選択後の再現実行方法は、上記実施の形態11と同様である。
この例では、図42に従って再現実行に利用する差分情報を選択する。この時、図42に示すようにシミュレーションヘのパラメータの一部が不定の時にも、途中の論理時刻まで再現実行を行うことを選択できる。
【0156】
このように、本システムでは、再現に使用する差分情報を選択して複数の差分情報を組み合わせた再現実行が可能になる効果を奏する。これにより、シミュレーション中のパラメータなどを利用して再現実行を選択できる効果がある。
また、パラメータの一部が不定の時にも、途中の論理時刻まで再現実行を行うことを選択できる。これにより、シミュレーションの途中までは過去の履歴による再現実行を行い、新たに評価すべき部分だけ再現実行を行うことで、シミュレーション時間を短縮できる。本システムは差分データも利用して実行することができるため、様々なパラメータを使って繰り返し評価を行うようなシミュレーションで、少ない履歴情報で実行時間を短縮できる効果を奏する。
【0157】
実施の形態13.
図44はこの発明の実施の形態13による並列分散シミュレーションシステムを示す構成図であり、図において、図38と同一符号は同一または相当部分を示すので説明を省略する。
38は差分情報管理手段36により記録された差分情報の内容及び論理時刻を編集する差分情報編集手段である。
【0158】
次に動作について説明する。
この実施の形態13では、上記実施の形態11と同様の実行再現及び通常実行への切替処理が行われ、結果のデータが差分情報管理手段36に蓄えられている。差分情報編集手段38は、再現実行情報編集手段26と同じ手順で差分情報管理手段36の記録内容を変更する。
この変更後の差分情報管理手段36の記録内容を使って再現実行を行うことで、差分情報を使った再現実行においても、実行再現情報の編集が可能になる。
【0159】
このように、本システムでは、差分情報を使った再現実行においても、実行再現情報の編集が可能になる効果を奏する。これにより、差分情報を使った再現実行においても、上記実施の形態6と同様の効果を奏する。
また、差分情報を使うことで、任意の再現実行をより少ない記憶容量で実現できる効果も奏する。
【0160】
実施の形態14.
図45はこの発明の実施の形態14による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
39は特定の論理時刻を時刻ポイントとして設定する時刻ポイント設定手段(時刻設定手段)、40は再現実行時に論理時刻が時刻ポイントに到達すると再現実行を一時的に停止するポイント型一時停止手段である。
【0161】
次に動作について説明する。
時刻ポイント設定手段39は、任意の論理時刻に対して、再現実行中に実行を一時停止させる時刻を指定する。
再現実行中に、ポイント型一時停止手段40は、時刻ポイント設定手段39により設定された時刻ポイントと論理時刻の進行を参照している。ポイント型一時停止手段40は、時刻ポイント設定手段39で指定された論理時刻へ進行が完了した直後に、再現実行での論理時刻進行を一時中断するように実行再現論理時刻管理手段18に指示する。
【0162】
一時中断指示を受け取った実行再現論理時刻管理手段18は、指定された論理時刻で時刻進行を停止させる。その後、ポイント型一時停止手段40から実行再開の指示があるまで時刻進行の指示を行わない。
再現実行が一時停止した時に、ユーザはそれぞれのシミュレータやシミュレーションマネージャ5の内部状態やデータ値の確認・変更等を行うことができる。
【0163】
ここでの値の確認や変更等は、各シミュレータやシミュレーションマネージャ5に固有のデバッグ装置やデバッグ機能を用いて行う。再現実行の一時停止後、ポイント型一時停止手段40は、ユーザの指示等のトリガを受け取って、実行再現論理時刻管理手段18に時刻進行の再開を指示する。この指示の後、実行再現論理時刻管理手段18は時刻進行を再開する。
【0164】
このように、本システムでは、任意の論理時刻を指定して再現実行を一時停止させ、その後実行を再開できる効果を奏する。論理時刻による整合性と、メッセージの送受信実行順序とを保ったまま再現実行を一時停止できるので、並列分散シミュレーションシステムのデバッグが効率的に行える効果を奏する。
【0165】
実施の形態15.
図46はこの発明の実施の形態15による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
41は記録モード時にユーザにより指定された瞬間の論理時刻を時刻ポイントとして設定するスナップショットポイント設定手段(時刻設定手段)である。
【0166】
次に動作について説明する。
スナップショットポイント設定手段41は、再現対象のシミュレーション実行中に、ユーザが指定した瞬間の論理時刻を一時停止対象の論理時刻として記録する。シミュレーション実行中の任意の時点で任意の個数を設定できる。
ここでは、スナップショットポイント設定手段41が収集した一時停止対象の論理時刻情報を上記実施の形態14における時刻ポイント設定手段39の設定情報に置き換えた上記実施の形態14の制御方法で、再現実行の一時停止を実現する。
【0167】
このように、本システムでは、シミュレーション実行中に任意の瞬間を指定して、一時停止対象の論理時刻に設定できる効果を奏する。並列分散シミュレーション実行中の任意の時点で一時停止する場所を指定できるので、再現実行を用いてシミュレーション結果を評価するときに、目的の場所(シーン)で一時停止してシミュレーション結果を詳細に評価できる効果がある。
【0168】
上記実施の形態15では、スナップショットポイント設定手段41をシミュレーションマネージャ5に実現するものについて示したが、各シミュレータ上に実現しても同様の効果を奏する。
各シミュレータ上に実現した場合には、その瞬間の各シミュレータの論理時刻を一時停止対象の時刻として記録する。各シミュレータごとに記録されたデータは、実行終了後にマージする。マージされたデータはポイント型一時停止手段40が参照できる形でシミュレーションマネージャ5に蓄える。このデータを使って、ポイント型一時停止手段40は上記実施の形態15と同様の処理で一時停止を制御できる。
【0169】
実施の形態16.
図47はこの発明の実施の形態16による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
42は監視対象の送受信メッセージの種類を登録する監視メッセージ設定手段(時刻設定手段)、43はシミュレーションの実行中に登録された種類のメッセージの送受信が発生すると、その発生した論理時刻を時刻ポイントとして設定するメッセージポイント記録手段(時刻設定手段)である。
【0170】
次に動作について説明する。
監視メッセージ設定手段42は、監視対象の送受信メッセージの種類を登録する。監視メッセージ設定手段42での設定は、メッセージポイント記録手段43に伝達される。
メッセージポイント記録手段43は、再現対象の実行中に、監視メッセージ設定手段42に登録されたメッセージの種類と、入力切替手段8が受信した受信メッセージ及び出力切替手段10が送信した送信メッセージの情報とを参照し、指定された種類のメッセージの送受信があったときに、一時停止対象の論理時刻として記録する。
【0171】
ここでは、各シミュレータとシミュレーションマネージャ5とでメッセージポイント記録手段43が収集した一時停止対象の論理時刻情報を、シミュレーションの実行終了時にシミュレーションマネージャ5のメッセージポイント記録手段43にマージする。マージしたメッセージポイント記録手段43の一時停止時刻の情報を上記実施の形態14における時刻ポイント設定手段39の設定情報に置き換えた上記実施の形態14の制御方法で、再現実行の一時停止を実現する。
【0172】
このように、本システムでは、シミュレーション実行中に任意のメッセージの送受信を指定して、一時停止対象の論理時刻を設定できる効果がある。メッセージの送受信を指定して一時停止できることで、統合シミュレーションのデバッグやテストを改善できる効果がある。
特に、各シミュレータの統合シミュレーションヘの参加や脱退、オブジェクトの生成や削除といった操作を行うメッセージを指定することで、これらの事象が起こった時刻で一時停止させると、シミュレーションのデバッグやテストを改善できる効果を奏する。また、エラー発生のメッセージを指定することでもシミュレーションのデバッグやテストを改善できる効果を奏する。
【0173】
上記実施の形態16では、監視メッセージ設定手段42をシミュレーションマネージャ5に実現するものについて示したが、各シミュレータとシミュレーションマネージャ5とに分散させてお互いに協調動作するように実現しても、上記実施の形態16と同様の効果を奏する。
【0174】
実施の形態17.
図48はこの発明の実施の形態17による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
44はデータ値の変更やイベントの送受信などの判定にメッセージ内容の解読が必要な監視対象事象を登録する動的監視設定手段(時刻設定手段)、45はシミュレーションの実行中に、送受信されるメッセージの内容を解読して登録された事象が発生すると、その発生した論理時刻を時刻ポイントとして設定する動的ポイント記録手段(時刻設定手段)である。
【0175】
次に動作について説明する。
動的監視設定手段44は、データ値の変更やイベントの送受信などの判定にメッセージ内容の解読が必要な監視対象事象を登録する。
動的監視設定手段44での設定は、各シミュレータとシミュレーションマネージャ5との動的ポイント記録手段45に伝達される。
【0176】
動的ポイント記録手段45は、再現対象の実行中に動的監視設定手段44を参照して、入力切替手段8,14が受信した受信メッセージと出力切替手段10,16が送信した送信メッセージの情報から内容の解読が必要なメッセージを選別し、選別後のメッセージの内容を解読する。その結果として監視対象事象が発生している場合に、一時停止対象の論理時刻の時刻ポイントとして記録する。
【0177】
並列分散シミュレーションでは、交換するメッセージのI/Fが公開されている。動的ポイント記録手段45でのメッセージ内容解読では、この知識を利用する。また、上記実施の形態17のメッセージポイント記録手段43と同様に、各シミュレータの動的ポイント記録手段45の情報をシミュレーションマネージャ5の動的ポイント記録手段45ヘマージし、再現実行の一時停止を実現する。
【0178】
このように、本システムでは、シミュレーション実行中に任意のデータ値の変更やイベントの送受信などが発生したことを、送受信メッセージの内容を解読して判断して一時停止対象の論理時刻に設定できる効果を奏する。データ値の変更やイベントの送受信など、メッセージの内容を解読しなければ得られない情報を指定して一時停止できることで、統合シミュレーションのデバッグやテストを改善できる効果を奏する。特に、データ値の変更順序や変更前後の値の比較、シミュレーション状態の遷移先の決定に大きな影響を与えるイベントの送受信などが起こった場所で、実行再現時に一時停止させることで、デバッグやテストでの改善効果が大きい。
【0179】
上記実施の形態17では、動的ポイント記録手段45をシミュレーションマネージャ5に実現するものについて示したが、各シミュレータとシミュレーションマネージャ5とに分散させてお互いに協調動作するように実現しても、上記実施の形態17と同様の効果を奏する。
【0180】
実施の形態18.
図49はこの発明の実施の形態18による並列分散シミュレーションシステムを示す構成図であり、図において、図48と同一符号は同一または相当部分を示すので説明を省略する。
47はシミュレーションの実行終了後、シミュレータ実行情報管理手段9又はマネージャ実行情報管理手段15に記録された再現実行情報の記録を解析して、監視メッセージ設定手段42又は動的監視設定手段44で設定された事象が起こった論理時刻を時刻ポイントとして設定する解析型ポイント設定手段(時刻設定手段)である。
【0181】
次に動作について説明する。
ここでは、上記実施の形態16のように監視メッセージ設定手段42が搭載され、上記実施の形態17のように動的監視設定手段44が搭載されているものとする。また、再現対象の実行中は、特に一時停止の論理時刻を収集するための操作を行わない。
【0182】
解析型ポイント設定手段47は、再現対象の実行が完了した後、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15とが記録した送受信メッセージの実行記録を使って一時停止の論理時刻を収集する。即ち、監視メッセージ設定手段42で指定された情報については上記実施の形態16のメッセージポイント記録手段43の方法で、動的監視設定手段44で指定された情報については上記実施の形態17の動的ポイント記録手段45の方法で、一時停止の論理時刻を収集する。
【0183】
解析型ポイント設定手段47は、上記一時停止の論理時刻収集操作を、それぞれ各シミュレータとシミュレーションマネージャ5とに対して行い、一時停止の論理時刻情報として、マージして記録する。
また、解析型ポイント設定手段47の記録した情報を一時停止の論理時刻情報として、上記実施の形態17と同様の方法で実行再現の一時停止を実現する。
【0184】
このように、本システムでは、任意のメッセージの送受信やデータ値の変更やイベントの送受信などが発生したことを、再現実行用に収集した情報を解析することで検知して、一時停止対象の論理時刻に設定できる効果を奏する。実行中に情報の採取を行うことで、並列に実行する処理間での実行タイミングに影響を与える並列処理では、この実行タイミングの違いにより、実行パターンが変わることで、処理結果やエラーが発生する/しないなどが異なるケースがある。ここでは、メッセージの送受信やデータ値の変更などの検知を、実行終了後に解析するために動的な採取時間がない。これにより、実行タイミングヘの影響を抑えた情報収集ができる効果を奏する。
【0185】
上記実施の形態18では、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15とを使った例で説明したが、差分情報収集手段32,33を組み合わせて使用しても、上記実施の形態18と同様の効果を奏する。
上記実施の形態18では、メッセージの送受信とデータ値の変更などを組み合わせたものについて説明し、上記実施の形態16,17ではそれぞれ異なる例でのみ収集する例を説明したが、動的な採取においても双方の条件を合成して、一時停止対象の論理時刻に設定できる並列分散シミュレーションシステムを得る装置を作ることができる。
【0186】
実施の形態19.
図50はこの発明の実施の形態19による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
48は時刻ポイント設定手段39により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するポイント型時刻ステップ指定手段(進行ステップ設定手段)である。
【0187】
次に動作について説明する。
ポイント型時刻ステップ指定手段48は、一時停止対象の論理時刻の進行刻み幅を設定する。
実行再現時にポイント型時刻ステップ指定手段48では、再現実行を開始または再開するときに論理時刻進行ステップ管理手段27に、次の“論理時刻進行の刻み幅”を指示する。論理時刻進行ステップ管理手段27では指定された“論理時刻進行の刻み幅”を使って、上記実施の形態7と同様に制御する。
【0188】
このように、本システムでは、再現実行時に任意の論理時刻を基準に“論理時刻進行の刻み幅”を制御することができる効果を奏する。これにより、参照の要求が高い箇所は時刻進行の刻み幅を小さくし、要求が低い箇所は刻み幅を大きくすることで、シミュレーションの結果を詳細に見たい部分だけに時間をかけて見ることができる効果を奏する。また、評価時には途中結果が重要でない部分を高速に実行することができるので、シミュレーションの評価を効率的に実施できる効果を奏する。
【0189】
上記実施の形態19では、時刻ポイント設定手段39に対する例で説明したが、スナップショットポイント設定手段41、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47で収集した停止ポイントを用いても、上記実施の形態19と同様の効果を奏する。
【0190】
実施の形態20.
図51はこの発明の実施の形態20による並列分散シミュレーションシステムを示す構成図であり、図において、図33と同一符号は同一または相当部分を示すので説明を省略する。
49は指定又は収集された時刻ポイントを基準に実時刻に基づく論理時刻の進行方法を設定するポイント型リアルタイム指定手段(時刻管理手段)である。
【0191】
次に動作について説明する。
ポイント型リアルタイム指定手段49は、一時停止対象の論理時刻を基準に“実時刻に基づく論理時刻の進行方法”を設定する。ここでは、図32又は図34に示すような設定を行う。実時刻情報収集手段30とリアル再現実行制御手段31は、指定された論理時刻に到達した時にポイント型リアルタイム指定手段49で指定された設定に従って、上記実施の形態8又は実施の形態9と同様の手順で実時刻に基づく論理時刻の進行制御を行う。
【0192】
このように、本システムでは、再現実行時に任意の論理時刻を基準にして、実時刻に基づく論理時刻の進行制御が可能になる効果を奏する。これにより、再現実行の進行速度を任意に編集して実行できる効果を奏する。
【0193】
上記実施の形態20では、時刻ポイント設定手段39に対する例で説明したが、スナップショットポイント設定手段41、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47で収集した停止ポイントを用いても、上記実施の形態20と同様の効果を奏する。
【0194】
実施の形態21.
図52はこの発明の実施の形態21による並列分散シミュレーションシステムを示す構成図であり、図において、図13と同一符号は同一または相当部分を示すので説明を省略する。
50は実行再現切替手段19,20が再現モードから通常実行モードに切り替える論理時刻を設定するポイント型実行再現切替手段(時刻設定手段)である。
【0195】
次に動作について説明する。
ポイント型実行再現切替手段50は、一時停止対象の論理時刻を基準に“再現実行から通常実行への切替”を指定する。実行再現切替手段19,20は、指定された論理時刻に到達した時に再現実行から通常実行への切替を、上記実施の形態2と同様の手順で行う。
【0196】
このように、本システムでは、再現実行時に任意の論理時刻を基準に再現実行から通常実行への切替が可能になる効果を奏する。
【0197】
上記実施の形態21では、時刻ポイント設定手段39に対する例で説明したが、スナップショットポイント設定手段41、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47で収集した停止ポイントを用いても、上記実施の形態21と同様の効果を奏する。特に、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47などで、データ値の更新やエラーの発生など、ポイントとなる論理時刻で、再現実行から通常実行に切替ることで、デバッグやテストを改善できる効果を奏する。
【0198】
実施の形態22.
図53はこの発明の実施の形態22による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
51は所定の論理時刻に投入するメッセージを設定するポイント型メッセージ設定手段、52,53はポイント型メッセージ設定手段51により設定されたメッセージを投入するポイント型メッセージ投入手段(メッセージ投入手段)である。
【0199】
次に動作について説明する。
ポイント型メッセージ設定手段51は、一時停止対象の論理時刻を基準に“投入するメッセージ”を設定する。ポイント型メッセージ設定手段51の設定内容は、各シミュレータとシミュレーションマネージャ5とのポイント型メッセージ投入手段52,53に配布される。
【0200】
ポイント型メッセージ投入手段52,53は、再現実行中に論理時刻の進行を監視し、指定された時刻に対象のメッセージを入力切替手段8,14へ引き渡す。入力切替手段8,14では、ポイント型メッセージ投入手段53から渡されたメッセージを、シミュレータ再現実行管理手段11とマネージャ再現実行管理手段17とからのメッセージと同様に各シミュレータのシミュレータ本体7に伝達する。これにより、通常の受信メッセージと同様に、メッセージを投入することができる。
【0201】
このように、本システムでは、再現実行時に任意の論理時刻を基準に任意のメッセージを投入することができる効果を奏する。ここでは、再現用の実行情報を編集せずに任意のメッセージを投入できる効果がある。
【0202】
上記実施の形態22では、時刻ポイント設定手段に対する例を説明したが、スナップショットポイント設定手段41、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47で収集した停止ポイントを用いても、上記実施の形態22と同様の効果を奏する。
【0203】
実施の形態23.
図54はこの発明の実施の形態23による並列分散シミュレーションシステムを示す構成図であり、図において、図45と同一符号は同一または相当部分を示すので説明を省略する。
54は時刻ポイント設定手段39により設定された時刻ポイントを編集する時刻ポイント編集手段(時刻編集手段)である。
【0204】
次に動作について説明する。
時刻ポイント編集手段54は、時刻ポイント設定手段39が記録している一時停止対象の論理時刻の情報を編集する。編集後のデータを使って、上記実施の形態14と同様の手順で再現実行することで、再現実行中に実行を一時停止できる。
【0205】
このように、本システムでは、任意の論理時刻を指定して再現実行を一時停止させるデータを編集することができる効果を奏する。
【0206】
上記実施の形態23では、時刻ポイント設定手段39に対する例を説明したが、スナップショットポイント設定手段41、メッセージポイント記録手段43、動的ポイント記録手段45、解析型ポイント設定手段47で収集した停止ポイントを用いても、上記実施の形態23と同様の効果を奏する。
【0207】
上記実施の形態23では、時刻ポイント設定手段39による一時停止の例を説明したが、ポイント型時刻ステップ指定手段48、ポイント型リアルタイム指定手段49、ポイント型実行再現切替手段50、ポイント型メッセージ設定手段51の情報も、時刻ポイント編集手段54で編集することができ、上記実施の形態23と同様の効果を奏する。
【0208】
実施の形態24.
図55はこの発明の実施の形態24による並列分散シミュレーションシステムを示す構成図であり、図において、図18と同一符号は同一または相当部分を示すので説明を省略する。
55は再現参加シミュレータ選択手段21により選択されたシミュレータ以外のシミュレータを通常実行させる混在制御手段、56は混在入力切替手段、57は混在出力切替手段である。
なお、図56は再現実行と通常実行が混在している状態の動作概要を示す説明図である。
【0209】
次に動作について説明する。
この実施の形態24では、上記実施の形態1と同様に、記録対象の実行が終了した後、この例では、シミュレータ1とシミュレータ4は再現実行をしており、シミュレータ2とシミュレータ3は通常実行しているものとする。
ここで、混在制御手段55は、再現実行を行うシミュレータ(シミュレータ1とシミュレータ4)については、基本的に上記実施の形態2のマネージャ再現実行管理手段17と同様の制御を行う(受信メッセージを復元してシミュレータ本体7へ渡し、送信メッセージはタイミング制御に利用する)。
【0210】
ただし、マネージャ実行情報管理手段15の“再現制御ポインタ”が通常実行シミュレータ(シミュレータ2とシミュレータ3)からの送受信メッセージを示した場合は、自動的に次のメッセージヘポインタを進める。また、混在出力切替手段57から通常実行での論理時刻進行メッセージの情報を入手し、実行再現論理時刻管理手段18へ通常実行の論理時刻進行と同期した時刻進行指示を要求する。
【0211】
混在入力切替手段56は、再現実行を行うシミュレータ(シミュレータ1とシミュレータ4)については上記実施の形態2の再現実行モード、通常実行シミュレータ(シミュレータ2とシミュレータ3)については上記実施の形態2の通常実行モードと同様の制御を行う(図15を参照)。
混在出力切替手段57も混在入力切替手段56と同様に、上記実施の形態2の再現実行モードまたは通常実行モードと同様の制御を行う(図16を参照)。ただし、通常実行シミュレータの論理時刻進行メッセージの情報を監視し、時刻進行メッセージがあった場合は、その内容を混在制御手段55へ知らせる。
【0212】
一方、シミュレータ側では、シミュレータ1とシミュレータ4とは、上記実施の形態2の再現実行モードで動作している。また、シミュレータ2とシミュレータ3とは、通常実行モードで動作している。この時、シミュレータ1とシミュレータ4とは、シミュレータ実行情報管理手段9にローカルに記録された情報を使って、記録時のシミュレータ2とシミュレータ3とによる影響を反映させた再現実行を行う。
【0213】
シミュレータ2とシミュレータ3とは、通常の実行を行う。この時、シミュレータ1とシミュレータ4とによる影響は、マネージャ実行情報管理手段15内にローカルに記録された情報により、シミュレーションマネージャ5で反映されている。
シミュレータ2とシミュレータ3とは、シミュレーションマネージャ5経由で、再現実行時のシミュレータ1とシミュレータ4との影響を受信メッセージとして受け取ることができる。
【0214】
このように、本システムでは、再現実行と通常実行を行うシミュレータが混在して、かつ論理時刻による時刻の整合性を保ったまま実行が可能になる効果を奏する。例えば、他の影響を受けにくい周辺の環境などのシミュレーションを予め時間をかけて詳細に実行しておく。統合シミュレーションでは、移動体だけを通常実行させ、環境情報は結果だけを再現実行で実施することができる。これにより、詳細な環境シミュレーションの結果を反映させたシミュレーションを効率良く実行できる効果を奏する。
【0215】
また、統合シミュレーションに参加するシミュレータとして、実際の物理的な機器を繋ぐことができる。本システムでは、このような場合に、ソフトウェアのシミュレーション部分を再現実行し、物理的な機器を通常実行させることができる。これにより、物理的な機器に対するテスト環境を、統合シミュレーションにより高速にかつ正確に再現できる。
【0216】
上記実施の形態24では、シミュレータ1とシミュレータ4とが再現実行し、シミュレータ2とシミュレータ3とが通常実行するものとしたが、各シミュレータの再現と通常実行の組合せに関係なく同様の効果を奏する。
【0217】
実施の形態25.
図57はこの発明の実施の形態25による並列分散シミュレーションシステムを示す構成図であり、図において、図55と同一符号は同一または相当部分を示すので説明を省略する。
58は再現参加シミュレータ選択手段21により選択されたシミュレータを再現モードから通常実行モードに切り替える混在型再現切替手段(混在型切替手段)である。
【0218】
次に動作について説明する。
この実施の形態25では、混在制御手段55と混在入力切替手段56と混在出力切替手段57とは基本的に上記実施の形態24と同様の手順で制御が行われる。ただし、ここでは、混在出力切替手段57は、上記実施の形態5の送信メッセージ検証手段23,24と同等の機能を加え、シミュレータ1とシミュレータ4とへ再現実行時と異なるメッセージの送信がないかをチェックする。異なるメッセージを発見したときには、混在型再現切替手段58に対象のシミュレータを通知する。
【0219】
混在型再現切替手段58は、次の手順で混在出力切替手段57から指定されたシミュレータを再現実行から通常実行に切り替える。
まず、再現参加シミュレータ選択手段21に対象シミュレータを再現実行のリストから削除するように指示する。次に、混在制御手段55と混在入力切替手段56と混在出力切替手段57とに再現実行のリストが変更されたことを通知する。混在制御手段55と混在入力切替手段56と混在出力切替手段57とは再現参加シミュレータ選択手段21の情報を参照して、指定されたシミュレータに対する処理を再現実行から通常実行に変える。
【0220】
このように、本システムでは、再現実行と通常実行を行うシミュレータが混在した並列分散シミュレーションシステムにおいて、再現実行中のシミュレータを途中から通常実行に切り替えることができる効果を奏する。これにより、再現実行中のシミュレータを任意の箇所で通常実行に参加させられるので、より柔軟性の高い再現実行と通常実行が混在したシステムを構築できる効果を奏する。
【0221】
また、本実施の形態のように、再現時と違うメッセージが発生した時点で通常実行に切り替るシステムを構築することで、ぎりぎり可能な範囲まで再現実行で実行できる。再現実行はメッセージの送受信の点で通常実行よりも実行効率がよいため、効率が良い並列分散シミュレーションシステムを得られる効果も奏する。
【0222】
ここでは、混在出力切替手段57がシミュレータの再現実行から通常実行への変更のトリガをかけたが、任意の手段またはユーザが変更のトリガをかけても、上記実施の形態25と同様の効果を奏する。
【0223】
実施の形態26.
図58はこの発明の実施の形態26による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
59は複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるマルチ実行管理手段である。
なお、図59は複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【0224】
次に動作について説明する。
ここでは、2種類の記録実行情報があるものとし、記録実行情報とは各シミュレータのシミュレータ実行情報管理手段9とマネージャ実行情報管理手段15とで記録された情報である(ここでは、異なった2回の実行に対するデータがある)。
【0225】
各記録情報の収集方法は、上記実施の形態1の記録実行(再現対象の実行)と同じである。
再現実行時に、マルチ実行管理手段59では複数の記録実行情報と各記録情報に対応するシミュレータとシミュレーションマネージャ5とを設定する。
シミュレータについては、同じ種類のシミュレータを複数作成して、それぞれ異なった記録実行情報を選択できる。
【0226】
シミュレーションマネージャ5は、複数の記録実行情報から高々1つが選択できる。ここでは、2種類の“実行情報A”と“実行情報B”に対して、シミュレータ1A〜3A、シミュレータ1B〜3Bを作成して再現実行を行うものとする。
【0227】
シミュレーションマネージャ5は再現実行に加わらない。再現実行中は、マルチ実行管理手段59は、同じ論理時刻の進行指示を与えるシミュレータを実行再現論理時刻管理手段18に知らせる。この例では、図59のように、実行再現論理時刻管理手段18は、シミュレータ1A〜3A、シミュレータ1B〜3Bに同じ論理時刻の進行指示を与える。これにより、シミュレータ1A〜3Aでは“実行情報A”に基づく再現実行が、シミュレータ1B〜3Bでは“実行情報B”に基づく再現実行が、同じ論理時刻で同期して再現実行される。
【0228】
このように、本システムでは、複数の実行再現情報を使って、複数の実行再現統合シミュレーションを並行に、かつ同じ論理時刻で同期して再現実行することができる効果を奏する。これにより、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる。この複数のシミュレーションを比較することで、シミュレーションの結果に対する評価が高まる効果を奏する。
【0229】
上記実施の形態26では、全てのシミュレータが再現実行に参加する例で説明したが、上記実施の形態3と同様の構成を取った時には、各実行再現データごとに一部のシミュレータだけが参加した状態でも、上記実施の形態26と同様の効果を奏する。これは、例えば、結果表示を行うシミュレータだけを再現することで、システムの負荷を小さく、かつ複数のシミュレーション結果を並行に動作させることができる効果がある。
【0230】
上記実施の形態26では、シミュレーションマネージャ5は参加させなかったが、シミュレーションマネージャ5を参加させても、上記実施の形態26と同様の効果を奏する。また、シミュレーションマネージャ5が参加した再現実行情報を使ったシミュレーションでは、上記実施の形態2と同様の構成を取ることで、再現実行中に通常実行へ切り替えることもできる。これにより、2つの通常実行とも並行に動作する並列分散シミュレーションシステムが得られる効果を奏する。
【0231】
上記実施の形態26では、シミュレータ実行情報管理手段9とマネージャ実行情報管理手段15とで記録された情報を対象に並行実行する例で説明したが、差分情報収集手段32を使っても並行実行が可能であり、上記実施の形態26と同様の効果を奏する。
【0232】
実施の形態27.
図60はこの発明の実施の形態27による並列分散シミュレーションシステムを示す構成図であり、図において、図58と同一符号は同一または相当部分を示すので説明を省略する。
60はマルチ実行管理手段59が再現実行させる各シミュレータの論理時刻を管理するマルチ時刻管理手段である。
なお、図61は複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【0233】
次に動作について説明する。
この実施の形態27では、基本的に上記実施の形態26と同様の制御を行う。ただし、論理時刻の進行指示はマルチ時刻管理手段60が実行再現論理時刻管理手段18に与える。
マルチ時刻管理手段60は、ユーザ入力等により各記録情報に対応する論理時刻の進行情報を設定する。マルチ時刻管理手段60は、再現実行時に、各記録情報に対応する“シミュレータの情報”と“進行先の論理時刻”とを実行再現論理時刻管理手段18に指示する。
【0234】
ここでは、図61のようにシミュレータ1A〜3Aとシミュレータ1B〜3Bの組にそれぞれ異なった論理時刻の進行情報を指示する。これにより、シミュレータ1A〜3Aとシミュレータ1B〜3Bの組は、実行再現論理時刻管理手段18の指示に従って異なった論理時刻でシミュレーションを進行させる。
【0235】
このように、本システムでは、複数の実行再現情報を使って、複数の実行再現統合シミュレーションを並行に動作させる時に異なった論理時刻に基づいて再現実行が可能になる効果を奏する。これにより、例えば、片方を一方の数倍または一定時刻シフトした論理時刻で動作させて並行実行することができ、複数のシミュレーションを比較することで、シミュレーションの結果に対する評価が高まる効果を奏する。
【0236】
上記実施の形態27では、異なった記録情報を使って並行に再現させる方法を説明したが、同じ記録情報を使っても、上記実施の形態27と同様の効果を奏する。この場合には、同じ結果を一定時刻シフトした再現実行を並行に実行でき、シミュレーションでの因果関係を解析することを支援できる効果を奏する。
【0237】
上記実施の形態27でも、上記実施の形態26と同様に、上記実施の形態3と同様の構成を取って一部のシミュレータだけが参加した状態でも、上記実施の形態27と同様の効果を奏する。また、シミュレーションマネージャ5が参加した場合、差分情報収集手段32を使った場合も、同様の効果を奏する。
【0238】
実施の形態28.
図62はこの発明の実施の形態28による並列分散シミュレーションシステムを示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
61は各シミュレータ単体で論理時刻の進行を指示するシミュレータ論理時刻管理手段(論理時刻管理手段)である。
【0239】
次に動作について説明する。
この実施の形態28では、上記実施の形態1と同じ方法で、既に再現対象の実行情報の記録が完了しているものとする。
シミュレータ論理時刻管理手段61は、ユーザ入力やデバッガなどの指示により、対象のシミュレータ1内で、シミュレーションマネージャ5の実行再現論理時刻管理手段18に替わって論理時刻の進行指示をシミュレータ再現実行管理手段11に指示する。
【0240】
シミュレータ再現実行管理手段11から見ると、シミュレータ論理時刻管理手段61からの論理時刻の進行指示もシミュレーションマネージャ5からの論理時刻の進行指示と同じように受け取って処理を実行する。これにより、シミュレータ1単体で、シミュレータ実行情報管理手段9にローカルに記録した再現実行情報を使って、再現実行が行える。
【0241】
このように、本システムでは、シミュレータ単体でも再現実行が可能になる効果を奏する。これにより、シミュレータ単体でも再現実行機能を使ったデバッグやテストを行うことができるため、シミュレータの開発効率を改善できる効果を奏する。
【0242】
上記実施の形態28では、シミュレータ1単体の例で説明したが、シミュレーションマネージャ5は、上記実施の形態1の構成のままでも、同等の単体再現実行が可能であり、上記実施の形態1と同様の効果を奏する。
【0243】
【発明の効果】
以上のように、この発明によれば、実行手段によるシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを実行手段に与えるように構成したので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信するように構成したので、シミュレータの処理負荷を軽減することができる効果がある。
【0244】
この発明によれば、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するように構成したので、メッセージの送信を伴うシミュレーションについても、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
【0245】
この発明によれば、実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるように構成したので、シミュレーション実行時間の効率化を計ることができる効果がある。
【0247】
この発明によれば、メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、実行手段及び記録手段が、ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うように構成したので、ユーザ入力も含めた並列分散シミュレーションの実行を再現できる効果がある。
【0248】
この発明によれば、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証するように構成したので、再現実行が正しく行われていることを確認することができる効果がある。
【0249】
この発明によれば、記録手段の記録内容を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【0250】
この発明によれば、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するように構成したので、再現実行のスピードをコントロールすることができるようになり、その結果、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果がある。
【0251】
この発明によれば、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するように構成したので、再現実行時における論理時刻の進行を実時刻で制御できるようになり、その結果、再現実行時のシミュレーションをリアルに再現できる効果がある。
【0252】
この発明によれば、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を実時刻の進行に合わせてメッセージを実行手段に与えるように構成したので、再現対象の実行と同じ実時間で、論理時刻を進行させることができる効果がある。
【0253】
この発明によれば、切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録するように構成したので、情報収集量を削減できるとともに、情報の収集時間を削減できる効果がある。
【0254】
この発明によれば、記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択するように構成したので、更に情報収集量を削減できるとともに、情報の収集時間を削減できる効果がある。
【0255】
この発明によれば、差分情報選択手段による差分情報の選択条件を設定するように構成したので、シミュレーション中のパラメータなどを利用して再現実行を選択できる効果がある。
【0256】
この発明によれば、記録手段により記録された差分情報の内容及び論理時刻を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【0257】
この発明によれば、再現モード時に再現実行を一時的に停止する論理時刻を設定するように構成したので、並列分散シミュレーションシステムのデバッグ効率を高めることができる効果がある。
【0258】
この発明によれば、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定するように構成したので、シミュレーション結果を評価するときに、目的の場所のシミュレーション結果を詳細に評価できる効果がある。
【0259】
この発明によれば、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0260】
この発明によれば、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0261】
この発明によれば、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0262】
この発明によれば、時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定するように構成したので、シミュレーションの結果を詳細に見たい部分だけに時間をかけて見ることができる効果がある。
【0263】
この発明によれば、時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御するように構成したので、再現実行の進行速度を任意に編集して実行できる効果がある。
【0264】
この発明によれば、切替手段が再現モードから通常実行モードに切り替える論理時刻を設定するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0265】
この発明によれば、時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するように構成したので、再現用の実行情報を編集せずに任意のメッセージを投入できる効果がある。
【0266】
この発明によれば、時刻設定手段により設定された論理時刻を編集するように構成したので、任意の再現情報を作成することができるようになり、その結果、通常の実行では発生しづらい状況や起こり得ないエラーの状況などを作りだすことができる効果がある。
【0267】
この発明によれば、シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させるように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0268】
この発明によれば、シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替えるように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0269】
この発明によれば、シミュレータ選択手段により選択された1以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるように構成したので、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる効果がある。
【0270】
この発明によれば、マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するように構成したので、複数の実行再現統合シミュレーションを並行に動作させる時に異なった論理時刻に基づいて再現実行が可能になる効果がある。
【0271】
この発明によれば、各シミュレータ単体で論理時刻の進行を指示するように構成したので、シミュレータの開発効率を改善できる効果がある。
【0272】
この発明によればシミュレーションの実行を再現する再現モード時に、シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得し、そのメッセージにしたがってシミュレーションを実行するように構成したので、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
また、シミュレーションマネージャが、複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信するように構成したので、シミュレータの処理負荷を軽減することができる効果がある。
【0273】
この発明によれば、シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録するように構成したので、メッセージの送信を伴うシミュレーションについても、再現実行時に他のシミュレータ等からメッセージを受けることなく、シミュレーションを再現実行することができる効果がある。
【0274】
この発明によれば、シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えるように構成したので、シミュレーション実行時間の効率化を計ることができる効果がある。
【0276】
この発明によれば、シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定するように構成したので、再現実行のスピードをコントロールすることができるようになり、その結果、再現対象の実行時には詳細なシミュレーションを実行し、再現時にはその結果を高速に再現できる効果がある。
【0277】
この発明によれば、再現モード時に再現実行を一時的に停止する論理時刻を設定するように構成したので、並列分散シミュレーションシステムのデバッグ効率を高めることができる効果がある。
【0278】
この発明によれば、再現実行させるシミュレータと通常実行させるシミュレータを選択するように構成したので、統合シミュレーションのデバッグやテストを効果的に実施することができる効果がある。
【0279】
この発明によれば、複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるように構成したので、複数のシミュレーション結果を論理時刻による整合性を保ったまま並行に動作させることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による並列分散シミュレーションシステムを示す構成図である。
【図2】 シミュレータ再現実行管理手段の動作を示すフローチャートである。
【図3】 入力切替手段の動作を示すフローチャートである。
【図4】 出力切替手段の動作を示すフローチャートである。
【図5】 マネージャ再現実行管理手段の動作を示すフローチャートである。
【図6】 実行再現論理時刻管理手段の動作を示すフローチャートである。
【図7】 シミュレータ実行情報管理手段の記録内容を示す説明図である。
【図8】 マネージャ実行情報管理手段の記録内容を示す説明図である。
【図9】 記録モード時の動作概要を示す説明図である。
【図10】 再現モード時の動作概要を示す説明図である。
【図11】 この実施の形態1による並列分散シミュレーションシステムの変形例を示す構成図である。
【図12】 この実施の形態1による並列分散シミュレーションシステムの変形例を示す構成図である。
【図13】 この発明の実施の形態2による並列分散シミュレーションシステムを示す構成図である。
【図14】 実行再現切替手段の動作を示すフローチャートである。
【図15】 入力切替手段の動作を示すフローチャートである。
【図16】 出力切替手段の動作を示すフローチャートである。
【図17】 通常実行時の動作概要を示す説明図である。
【図18】 この発明の実施の形態3による並列分散シミュレーションシステムを示す構成図である。
【図19】 シミュレータの参加状態を示す説明図である。
【図20】 参加シミュレータによる再現実行時の動作概要を示す説明図である。
【図21】 この発明の実施の形態4による並列分散シミュレーションシステムを示す構成図である。
【図22】 ユーザ入力切替手段の動作を示すフローチャートである。
【図23】 シミュレータ再現実行管理手段の動作を示すフローチャートである。
【図24】 ユーザ入力も含めた記録実行時(再現対象の実行時)の動作概要を示す説明図である。
【図25】 再現実行時の動作概要を示す説明図である。
【図26】 この発明の実施の形態5による並列分散シミュレーションシステムを示す構成図である。
【図27】 この発明の実施の形態6による並列分散シミュレーションシステムを示す構成図である。
【図28】 再現実行情報編集手段による編集情報の伝搬を示す説明図である。
【図29】 この発明の実施の形態7による並列分散シミュレーションシステムを示す構成図である。
【図30】 再現実行時における論理時刻の進行ステップを示す概念図である。
【図31】 この発明の実施の形態8による並列分散シミュレーションシステムを示す構成図である。
【図32】 再現実行時における時刻進行状況を示す概念図である。
【図33】 この発明の実施の形態9による並列分散シミュレーションシステムを示す構成図である。
【図34】 再現実行時における時刻進行状況を示す概念図である。
【図35】 この発明の実施の形態10による並列分散シミュレーションシステムを示す構成図である。
【図36】 差分情報収集時の動作概要を示す説明図である。
【図37】 差分情報を使った再現実行時の動作概要を示す説明図である。
【図38】 この発明の実施の形態11による並列分散シミュレーションシステムを示す構成図である。
【図39】 差分情報管理手段における差分情報管理方法の概要を示す説明図である。
【図40】 差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【図41】 この発明の実施の形態12による並列分散シミュレーションシステムを示す構成図である。
【図42】 差分選択条件の設定例を示す説明図である。
【図43】 差分情報を組み合わせて再現実行を行う実行パターン例を示す説明図である。
【図44】 この発明の実施の形態13による並列分散シミュレーションシステムを示す構成図である。
【図45】 この発明の実施の形態14による並列分散シミュレーションシステムを示す構成図である。
【図46】 この発明の実施の形態15による並列分散シミュレーションシステムを示す構成図である。
【図47】 この発明の実施の形態16による並列分散シミュレーションシステムを示す構成図である。
【図48】 この発明の実施の形態17による並列分散シミュレーションシステムを示す構成図である。
【図49】 この発明の実施の形態18による並列分散シミュレーションシステムを示す構成図である。
【図50】 この発明の実施の形態19による並列分散シミュレーションシステムを示す構成図である。
【図51】 この発明の実施の形態20による並列分散シミュレーションシステムを示す構成図である。
【図52】 この発明の実施の形態21による並列分散シミュレーションシステムを示す構成図である。
【図53】 この発明の実施の形態22による並列分散シミュレーションシステムを示す構成図である。
【図54】 この発明の実施の形態23による並列分散シミュレーションシステムを示す構成図である。
【図55】 この発明の実施の形態24による並列分散シミュレーションシステムを示す構成図である。
【図56】 再現実行と通常実行が混在している状態の動作概要を示す説明図である。
【図57】 この発明の実施の形態25による並列分散シミュレーションシステムを示す構成図である。
【図58】 この発明の実施の形態26による並列分散シミュレーションシステムを示す構成図である。
【図59】 複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【図60】 この発明の実施の形態27による並列分散シミュレーションシステムを示す構成図である。
【図61】 複数の再現実行に対する論理時刻進行制御の概要を示す説明図である。
【図62】 この発明の実施の形態28による並列分散シミュレーションシステムを示す構成図である。
【図63】 従来の並列分散シミュレーションシステムを示す構成図である。
【符号の説明】
1〜4 シミュレータ、5 シミュレーションマネージャ、7 シミュレータ本体(実行手段)、8 入力切替手段(記録手段)、9 シミュレータ実行情報管理手段(記録手段)、10 出力切替手段(記録手段)、11 シミュレータ再現実行管理手段(管理手段)、19,20 実行再現切替手段(切替手段)、21 再現参加シミュレータ選択手段(シミュレータ選択手段)、22 ユーザ入力切替手段(ユーザ入力手段)、23,24 送信メッセージ検証手段(記録手段)、25,26 再現実行情報編集手段(記録編集手段)、27 論理時刻進行ステップ管理手段(進行ステップ設定手段)、29 論理/実時刻比管理手段(時刻比設定手段)、32,33 差分情報収集手段(記録手段)、34,35 差分情報選択手段、37 差分選択条件設定手段(条件設定手段)、38 差分情報編集手段、39 時刻ポイント設定手段(時刻設定手段)、41 スナップショットポイント設定手段(時刻設定手段)、42 監視メッセージ設定手段(時刻設定手段)、43 メッセージポイント記録手段(時刻設定手段)、44 動的監視設定手段(時刻設定手段)、45 動的ポイント記録手段(時刻設定手段)、47 解析型ポイント設定手段(時刻設定手段)、48 ポイント型時刻ステップ指定手段(進行ステップ設定手段)、49 ポイント型リアルタイム指定手段(時刻管理手段)、50 ポイント型実行再現切替手段(時刻設定手段)、52,53 ポイント型メッセージ投入手段(メッセージ投入手段)、54 時刻ポイント編集手段(時刻編集手段)、55 混在制御手段、58 混在型再現切替手段(混在型切替手段)、59 マルチ実行管理手段、60 マルチ時刻管理手段、61 シミュレータ論理時刻管理手段(論理時刻管理手段)。

Claims (35)

  1. 相互に独立して動作する複数のシミュレータと、上記複数のシミュレータを管理するシミュレーションマネージャとを備えた並列分散シミュレーションシステムにおいて、上記複数のシミュレータは、メッセージを記録する記録モード時に、上記シミュレーションマネージャからメッセージを受信すると、そのメッセージを記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録する記録手段と、そのメッセージにしたがってシミュレーションを実行する実行手段と、上記実行手段によるシミュレーションの実行を再現する再現モード時に、上記シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、上記記録手段からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージを上記実行手段に与える管理手段とを備え、上記シミュレーションマネージャは、上記複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択するシミュレータ選択手段を設け、上記シミュレータ選択手段により選択されたシミュレータの管理手段に対して、シミュレーションの実行時刻を示す論理時刻を送信することを特徴とする並列分散シミュレーションシステム。
  2. 記録手段は、実行手段がメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録することを特徴とする請求項1記載の並列分散シミュレーションシステム。
  3. 実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替える切替手段を設けたことを特徴とする請求項1または請求項2記載の並列分散シミュレーションシステム。
  4. メッセージのユーザ入力を受け付けて、そのメッセージを実行手段及び記録手段に与えるユーザ入力手段を設け、上記実行手段及び上記記録手段は、上記ユーザ入力手段から与えられたメッセージをシミュレーションマネージャから受信したメッセージと同様に取り扱うことを特徴とする請求項1から請求項のうちのいずれか1項記載の並列分散シミュレーションシステム。
  5. 記録手段は、記録モード時に実行手段が出力するメッセージを記録するとともに、そのメッセージの送信時刻を示す論理時刻を記録し、記録モード時と再現モード時におけるメッセージの内容及び送信時刻の不整合を検証することを特徴とする請求項2記載の並列分散シミュレーションシステム。
  6. 記録手段の記録内容を編集する記録編集手段を設けたことを特徴とする請求項1から請求項のうちのいずれか1項記載の並列分散シミュレーションシステム。
  7. シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定する進行ステップ設定手段を設けたことを特徴とする請求項1から請求項のうちのいずれか1項記載の並列分散シミュレーションシステム。
  8. 論理時刻と実時刻の時刻比を設定する時刻比設定手段と、上記時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御する時刻管理手段とを設けたことを特徴とする請求項1から請求項のうちのいずれか1項記載の並列分散シミュレーションシステム。
  9. 記録手段が論理時刻を記録する際、その論理時刻に対応する実時刻を記録し、管理手段は、再現モード時にシミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、その論理時刻の進行を上記実時刻の進行に合わせてメッセージを実行手段に与えることを特徴とする請求項2記載の並列分散シミュレーションシステム。
  10. 実行手段によるシミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから記録モードに切り替える切替手段を設け、記録手段は上記切替手段が再現モードから記録モードに切り替えると、以後、シミュレーションマネージャから受信するメッセージを差分情報として記録するとともに、そのメッセージの受信時刻を示す論理時刻を記録することを特徴とする請求項1から請求項のうちのいずれか1項記載の並列分散シミュレーションシステム。
  11. 記録手段により記録された差分情報のうち、実行手段に与える差分情報を選択する差分情報選択手段を設けたことを特徴とする請求項10記載の並列分散シミュレーションシステム。
  12. 差分情報選択手段による差分情報の選択条件を設定する条件設定手段を設けたことを特徴とする請求項11記載の並列分散シミュレーションシステム。
  13. 記録手段により記録された差分情報の内容及び論理時刻を編集する差分情報編集手段を設けたことを特徴とする請求項10記載の並列分散シミュレーションシステム。
  14. 再現モード時に再現実行を一時的に停止する論理時刻を設定する時刻設定手段を設けたことを特徴とする請求項1から請求項13のうちのいずれか1項記載の並列分散シミュレーションシステム。
  15. 時刻設定手段は、一時的に停止する論理時刻として、記録モード時にユーザにより指定された瞬間の論理時刻を設定することを特徴とする請求項14記載の並列分散シミュレーションシステム。
  16. 時刻設定手段は、一時的に停止する論理時刻として、シミュレーションマネージャから特定のメッセージが送信された論理時刻、または、実行手段が特定のメッセージを出力する論理時刻を設定することを特徴とする請求項14記載の並列分散シミュレーションシステム。
  17. 時刻設定手段は、シミュレーションマネージャから送信されたメッセージ又は実行手段が出力するメッセージを解読し、そのメッセージの内容が予め設定された監視対象事象に一致する場合、一時的に停止する論理時刻として、そのメッセージに係る論理時刻を設定することを特徴とする請求項14記載の並列分散シミュレーションシステム。
  18. 時刻設定手段は、実行手段がシミュレーションの実行を終了すると、記録手段の記録内容を解析し、予め設定された事象が発生している場合には、一時的に停止する論理時刻として、その事象が発生した論理時刻を設定することを特徴とする請求項14記載の並列分散シミュレーションシステム。
  19. 時刻設定手段により設定された論理時刻を基準として、論理時刻の進行刻み幅を設定する進行ステップ設定手段を設けたことを特徴とする請求項14から請求項18のうちのいずれか1項記載の並列分散シミュレーションシステム。
  20. 時刻設定手段により設定された論理時刻と実時刻の時刻比を設定する時刻比設定手段と、上記時刻比設定手段により設定された時刻比にしたがって論理時刻の進行を制御する時刻管理手段とを設けたことを特徴とする請求項14から請求項18のうちのいずれか1項記載の並列分散シミュレーションシステム。
  21. 切替手段が再現モードから通常実行モードに切り替える論理時刻を設定する時刻設定手段を設けたことを特徴とする請求項3記載の並列分散シミュレーションシステム。
  22. 時刻設定手段により設定された論理時刻に予め設定されたメッセージを投入するメッセージ投入手段を設けたことを特徴とする請求項14から請求項21のうちのいずれか1項記載の並列分散シミュレーションシステム。
  23. 時刻設定手段により設定された論理時刻を編集する時刻編集手段を設けたことを特徴とする請求項14から請求項22のうちのいずれか1項記載の並列分散シミュレーションシステム。
  24. シミュレータ選択手段により選択されたシミュレータ以外のシミュレータを通常実行させる混在制御手段を設けたことを特徴とする請求項記載の並列分散シミュレーションシステム。
  25. シミュレータ選択手段により選択されたシミュレータを再現モードから通常実行モードに切り替える混在型切替手段を設けたことを特徴とする請求項24記載の並列分散シミュレーションシステム。
  26. シミュレータ選択手段により選択された1以上のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させるマルチ実行管理手段を設けたことを特徴とする請求項24記載の並列分散シミュレーションシステム。
  27. マルチ実行管理手段が再現実行させる各シミュレータの論理時刻を管理するマルチ時刻管理手段を設けたことを特徴とする請求項26記載の並列分散シミュレーションシステム。
  28. 各シミュレータ単体で論理時刻の進行を指示する論理時刻管理手段を設けたことを特徴とする請求項1記載の並列分散シミュレーションシステム。
  29. 相互に独立して動作する複数のシミュレータが並列に分散してシミュレーションを実行する並列分散シミュレーション方法において、上記複数のシミュレータは、メッセージを記録する記録モード時に、シミュレーションマネージャからメッセージを受信すると、そのメッセージをメモリに記録するとともに、そのメッセージの受信時刻を示す論理時刻をメモリに記録し、そのメッセージにしたがってシミュレーションを実行する一方、上記シミュレーションの実行を再現する再現モード時に、上記シミュレーションマネージャからシミュレーションの実行時刻を示す論理時刻を受信すると、上記メモリからメッセージの受信時刻が当該実行時刻と一致するメッセージを取得し、そのメッセージにしたがってシミュレーションを実行し、上記シミュレーションマネージャは、上記複数のシミュレータのうち、シミュレーションの実行を再現させるシミュレータを選択し、その選択したシミュレータに対して、シミュレーションの実行時刻を示す論理時刻を送信することを特徴とする並列分散シミュレーション方法。
  30. シミュレーションの実行結果であるメッセージを出力すると、そのメッセージをシミュレーションマネージャに送信するとともに、そのメッセージの送信時刻を示す論理時刻を記録することを特徴とする請求項29記載の並列分散シミュレーション方法。
  31. シミュレーションの実行を再現しているとき、シミュレーションマネージャの指示の下、再現モードから、再現ではない通常のシミュレーションを実行する通常実行モードに切り替えることを特徴とする請求項29または請求項30記載の並列分散シミュレーション方法。
  32. シミュレーションの実行時刻を示す論理時刻の進行刻み幅を動的に設定することを特徴とする請求項29から請求項31のうちのいずれか1項記載の並列分散シミュレーション方法。
  33. 再現モード時に再現実行を一時的に停止する論理時刻を設定することを特徴とする請求項29から請求項32のうちのいずれか1項記載の並列分散シミュレーション方法。
  34. 再現実行させるシミュレータと通常実行させるシミュレータを選択することを特徴とする請求項29から請求項33のうちのいずれか1項記載の並列分散シミュレーション方法。
  35. 複数のシミュレータが再現実行に使用する記録内容を選定し、各シミュレータを並列的に再現実行させることを特徴とする請求項34記載の並列分散シミュレーション方法。
JP06863699A 1999-03-15 1999-03-15 並列分散シミュレーションシステム及び並列分散シミュレーション方法 Expired - Fee Related JP4290266B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06863699A JP4290266B2 (ja) 1999-03-15 1999-03-15 並列分散シミュレーションシステム及び並列分散シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06863699A JP4290266B2 (ja) 1999-03-15 1999-03-15 並列分散シミュレーションシステム及び並列分散シミュレーション方法

Publications (2)

Publication Number Publication Date
JP2000268005A JP2000268005A (ja) 2000-09-29
JP4290266B2 true JP4290266B2 (ja) 2009-07-01

Family

ID=13379433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06863699A Expired - Fee Related JP4290266B2 (ja) 1999-03-15 1999-03-15 並列分散シミュレーションシステム及び並列分散シミュレーション方法

Country Status (1)

Country Link
JP (1) JP4290266B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5032764B2 (ja) * 2005-11-09 2012-09-26 株式会社日立ハイテクノロジーズ 産業用装置の装置コントローラ
ATE488793T1 (de) * 2006-09-11 2010-12-15 Dspace Gmbh Verfahren zum test eines elektronischen steuerungssystems
JP2010191480A (ja) * 2007-06-01 2010-09-02 Mitsubishi Electric Corp シミュレーションシステム
JP2010102372A (ja) * 2008-10-21 2010-05-06 Toyota Motor Corp データ処理装置、検証システム、データ処理装置検証方法
JP2011134275A (ja) 2009-12-25 2011-07-07 Fujitsu Ltd スケジューラプログラム、分散シミュレーションシステム及びスケジューラ装置
JP5686609B2 (ja) * 2011-01-12 2015-03-18 キヤノン株式会社 情報処理装置及びプログラム
KR101280864B1 (ko) * 2012-12-17 2013-07-03 국방과학연구소 시뮬레이션 실행의 고속화 기법
JP5709913B2 (ja) * 2013-02-13 2015-04-30 三菱電機株式会社 時空管理装置及び時空管理プログラム
WO2016181455A1 (ja) 2015-05-11 2016-11-17 三菱電機株式会社 シミュレーション再現装置、シミュレーション再現方法およびシミュレーション再現プログラム
EP3432148A4 (en) 2016-04-12 2019-03-27 Mitsubishi Electric Corporation SIMULATION REPRODUCTION DEVICE AND SIMULATION REPRODUCTION PROGRAM
JP7031288B2 (ja) * 2017-12-21 2022-03-08 富士通株式会社 情報処理装置、プログラム及び情報処理方法
US11275875B2 (en) * 2018-12-27 2022-03-15 Hitachi Automotive Systems, Ltd. Co-simulation repeater with former trace data

Also Published As

Publication number Publication date
JP2000268005A (ja) 2000-09-29

Similar Documents

Publication Publication Date Title
JP4290266B2 (ja) 並列分散シミュレーションシステム及び並列分散シミュレーション方法
US7516209B2 (en) Method and framework for tracking/logging completion of requests in a computer system
JP4295775B2 (ja) Guiテスト支援システム及びテスト支援用アプリケーションプログラム
JP2000196705A (ja) メッセ―ジ/シ―ケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法
CN104461521B (zh) 一种应用程序重放方法及系统
CN113687918A (zh) 一种兼容云原生和传统环境的可扩展的混沌工程实验架构
JP2000020349A (ja) プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
CN109901830B (zh) 一种用于scada系统开发的信号配置方法与系统
Österlind et al. Sensornet checkpointing: Enabling repeatability in testbeds and realism in simulations
US5894566A (en) System and method for emulating network outages a segmented architecture
JP6577901B2 (ja) 計算機システムおよびシステム状態再現方法
JPH0721058A (ja) プログラム試験方式
Ciarfella et al. The Totem protocol development environment
Podhorszki et al. Design and Implementation of a Distributed Monitor for Semi-on-Line Monitoring of VISUAL MP Applications
JP2001142385A (ja) 分散シミュレーションシステムおよび分散シミュレーション方法
KR100426308B1 (ko) 인증된 응용 프로그램을 획득하기 위한 트레이스 재실행시스템 및 방법
CN118550839B (zh) 一种嵌入式自动测试系统及其测试方法
JPH09223040A (ja) ソフトウェアのシステムテスト支援装置およびこれに用いるテストシナリオ生成装置
WO2023197128A1 (zh) 一种测试方法和控制装置
Xiong et al. BUSTER: an integrated debugger for PVM
Harmon et al. Automatic performance visualization of distributed real-time systems
JPH08171498A (ja) マルチコンピュータデバッガ方式及びそれを適用したマルチコンピュータシステム
JP3722970B2 (ja) エージェントシステムのモニタ装置、モニタ方法及びモニタ用プログラムを記録した記録媒体
Tolonen Testing of a Base Station Software Release
JP2000339199A (ja) Tmセーブ解析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071113

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090324

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees