JP5159300B2 - Simulation device - Google Patents
Simulation device Download PDFInfo
- Publication number
- JP5159300B2 JP5159300B2 JP2007339696A JP2007339696A JP5159300B2 JP 5159300 B2 JP5159300 B2 JP 5159300B2 JP 2007339696 A JP2007339696 A JP 2007339696A JP 2007339696 A JP2007339696 A JP 2007339696A JP 5159300 B2 JP5159300 B2 JP 5159300B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- simulator
- simulators
- simulation system
- data
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Description
この発明は、複数のシミュレータが他のシミュレータとデータ交換を実施しながらシミュレーションを実施するシミュレーション装置に関するものである。 The present invention relates to a simulation apparatus in which a plurality of simulators perform simulation while exchanging data with other simulators.
あるシステムのシミュレーションを行う際に、システムの各構成要素を個別のシミュレータで模擬し、それらのシミュレータを協調して動作させることが考えられる。
この技術は「並列シミュレーション」と呼ばれ、「実行時間が短縮できる」、「別のシミュレーションにシミュレータを再利用できる」などの利点がある。
また、協調して動作するシミュレータ群や、シミュレータを制御する機能を持つソフトウェアから構成されるシステムを「シミュレーションシステム」と呼ぶことにする。
When simulating a certain system, it is conceivable that each component of the system is simulated by an individual simulator and the simulators are operated in cooperation.
This technique is called “parallel simulation” and has advantages such as “reduction in execution time” and “reuse of simulator for another simulation”.
A system composed of a group of simulators operating in cooperation and software having a function of controlling the simulator is referred to as a “simulation system”.
個々のシミュレータは、「時刻」を持ち、現在時刻における状態や、他のシミュレータから受け取ったデータに基づいて、少し先の未来がどのようになるかについてのシミュレーションの実行を繰り返しながら、少しずつ時刻を進めていくようにする。
その際、個々のシミュレータは、必要に応じてデータを他のシミュレータに送信する。
一般に、シミュレータ間でやり取りされるデータには、「そのデータがどの時刻に対応するものかを表す数値」が付与されており、この数値は「タイムスタンプ」と呼ばれる。
時刻の進め方としてはいくつかの方法が考えられるが、本明細書ではタイムステップ方式を前提とする。
タイムステップ方式では、各シミュレータにおける時刻の進行幅(タイムステップ)が常に一定である(ただし、シミュレータによって、タイムステップが異なる可能性はある)。
Each simulator has a “time”, and gradually repeats the simulation to see what the future will look like based on the state at the current time and the data received from other simulators. To proceed.
At that time, each simulator transmits data to other simulators as necessary.
In general, data exchanged between simulators is given a “numerical value indicating which time the data corresponds to”, and this numerical value is called a “time stamp”.
Although several methods are conceivable as methods for advancing the time, a time step method is assumed in this specification.
In the time step method, the time progression (time step) of each simulator is always constant (however, the time step may differ depending on the simulator).
ここで、「時刻」について混乱がないように整理する。
一般に、並列シミュレーションにおいては、3種類の時刻の概念が存在する。即ち、「物理時刻」と「シミュレーション時刻」と「ウォールクロック時刻」が存在する。
「物理時刻」とは、シミュレーション対象のシステムにおける時刻のことである。
また、「シミュレーション時刻」とは、物理時刻のシミュレータ内部における表現である。
また、「ウォールクロック時刻」とは、シミュレーションを実行している側の時刻である。
Here, the “time” is organized so that there is no confusion.
In general, there are three types of time concepts in parallel simulation. That is, there are “physical time”, “simulation time”, and “wall clock time”.
The “physical time” is the time in the simulation target system.
The “simulation time” is a representation of the physical time inside the simulator.
The “wall clock time” is the time on the side executing the simulation.
例えば、2008年1月1日の列車運行のシミュレーションを行う場合を考える。この場合、物理時刻は「2008年1月1日0時〜2008年1月1日24時」の範囲を考えることになる。
また、シミュレーションにおいて、1時間を1単位として処理する場合、シミュレーション時刻は、例えば「0〜24」の範囲の数値を取ることになる。また、シミュレーションを2007年12月1日の午後に実行する場合、ウォールクロック時刻は、例えば「2007年12月1日13時〜17時」の範囲となる。
以下、本明細書において、「時刻」と表記する場合、特に断りのない限り、上記のシミュレーション時刻のことを指すものとする。また、個々のシミュレータのシミュレーション時刻のことを「論理時刻」とも称する。
For example, consider a case where a train operation simulation on January 1, 2008 is performed. In this case, the physical time is considered to be in the range of “January 1, 2008 0:00 to January 1, 2008 24:00”.
In the simulation, when one hour is processed as one unit, the simulation time takes a numerical value in the range of “0 to 24”, for example. When the simulation is executed on the afternoon of December 1, 2007, the wall clock time is in a range of “December 1, 2007, 13:00 to 17:00”, for example.
Hereinafter, in the present specification, the expression “time” refers to the above simulation time unless otherwise specified. The simulation time of each simulator is also referred to as “logic time”.
さて、全体のシミュレーションを矛盾なく実行するためには、「各シミュレータは、現在時刻よりも過去のタイムスタンプ付きのデータを受け取ってはならない」、「各シミュレータはデータをタイムスタンプ順に処理しなければならない」などの制約を守る必要がある。
そのためには、シミュレータへのデータ配信や、シミュレータの時刻進行の制御が適切に行われなければならない。この機能は「時刻管理機能」と呼ばれる。
Now, in order to execute the entire simulation without contradiction, “Each simulator must not receive data with a time stamp that is older than the current time”, “Each simulator must process the data in time stamp order. It is necessary to observe restrictions such as "I must not".
For this purpose, data distribution to the simulator and control of the time progress of the simulator must be appropriately performed. This function is called a “time management function”.
例えば、HLA(High Level Architecture、IEEE 1516)のように標準化された並列シミュレーションシステムの構築アーキテクチャにおいては、シミュレータの管理を行う基盤ソフトウェアRTI(Run−Time Infrastructure)のインターフェース等が定められている。
この基盤ソフトウェアRTIは、シミュレータを制御するための様々な機能を有するが、その1つとして時刻管理機能を有している。
シミュレータ間のデータ通信やシミュレータの時刻進行の全ては、基盤ソフトウェアRTIが介在して行うようになっている。
For example, in the construction architecture of a standardized parallel simulation system such as HLA (High Level Architecture, IEEE 1516), an interface of basic software RTI (Run-Time Infrastructure) for managing a simulator is defined.
The base software RTI has various functions for controlling the simulator, and one of them has a time management function.
All of the data communication between simulators and the time progress of the simulator are performed via the base software RTI.
ここまでは、単一のシミュレーションシステムについて説明したが、さらに、複数のシミュレーションシステムを協調して動作させて、大規模なシミュレーションを実施させたい場合がある。
これは、例えば、複数のシミュレーションシステムをまとめて、単一のシミュレーションシステムに再構成するために、シミュレータの改修等に手間がかかる場合などが相当する。
そこで、シミュレーションシステム間のデータ配信を特別なシミュレータ(ブリッジ)を介して行う方式が提案されている(例えば、非特許文献1や非特許文献2を参照)。
Up to this point, a single simulation system has been described. However, there is a case where a large-scale simulation may be performed by operating a plurality of simulation systems in cooperation.
This corresponds to, for example, a case where it takes time to modify the simulator or the like in order to collect a plurality of simulation systems and reconfigure them into a single simulation system.
Therefore, a method has been proposed in which data distribution between simulation systems is performed via a special simulator (bridge) (for example, see Non-Patent
しかし、ブリッジを利用する複数のシミュレーションシステムの連接方式では、シミュレーションシステムを跨ぐデータの配信に遅延が発生する可能性がある。
以下、図12から図15を参照しながら説明する。
図12は複数のシミュレーションシステムの連接方式を実現するシミュレーション装置を示す構成図である。
図において、シミュレータA1,A2,B1,B2は、所定のタイムステップの時間間隔で、シミュレーションを繰り返し実行し、そのシミュレーションの結果をタイムスタンプ付きのデータとして、シミュレータ管理手段A,B経由で他のシミュレータやシミュレーションシステム接続手段に送信するとともに、他のシミュレータやシミュレーションシステム接続手段から送信されたタイムスタンプ付きのデータをシミュレータ管理手段A,B経由で受信する。
However, in the connection method of a plurality of simulation systems using a bridge, there is a possibility that a delay occurs in data distribution across the simulation systems.
Hereinafter, a description will be given with reference to FIGS.
FIG. 12 is a configuration diagram illustrating a simulation apparatus that realizes a connection method of a plurality of simulation systems.
In the figure, simulators A1, A2, B1, and B2 repeatedly execute simulations at predetermined time step intervals, and the results of the simulation are used as other data with time stamps via simulator management means A and B. The data is transmitted to the simulator and the simulation system connection means, and the data with the time stamp transmitted from the other simulator and the simulation system connection means is received via the simulator management means A and B.
シミュレータ管理手段Aは、シミュレータA1,A2及びシミュレーションシステム接続手段間のデータ交換を制御するとともに、シミュレータA1,A2及びシミュレーションシステム接続手段の時刻進行を制御するものである。
また、シミュレータ管理手段Bは、シミュレータB1,B2及びシミュレーションシステム接続手段間のデータ交換を制御するとともに、シミュレータB1,B2及びシミュレーションシステム接続手段の時刻進行を制御するものである。
なお、シミュレータ管理手段A,Bは、HLAにおける基盤ソフトウェアRTIに相当する。
The simulator management means A controls data exchange between the simulators A1 and A2 and the simulation system connection means, and controls the time progress of the simulators A1 and A2 and the simulation system connection means.
The simulator management means B controls data exchange between the simulators B1 and B2 and the simulation system connection means, and controls time progress of the simulators B1 and B2 and the simulation system connection means.
The simulator management means A and B correspond to the basic software RTI in the HLA.
シミュレーションシステム接続手段は、シミュレータ管理手段Aとシミュレータ管理手段Bの間に接続され、上述のブリッジ機能を有している。
なお、シミュレータA1,A2、シミュレータ管理手段A及びシミュレーションシステム接続手段はネットワークAに接続されており、シミュレータB1,B2、シミュレータ管理手段B及びシミュレーションシステム接続手段はネットワークBに接続されている。
The simulation system connection unit is connected between the simulator management unit A and the simulator management unit B, and has the bridge function described above.
The simulators A1 and A2, the simulator management unit A, and the simulation system connection unit are connected to the network A, and the simulators B1 and B2, the simulator management unit B, and the simulation system connection unit are connected to the network B.
シミュレータ管理手段AがシミュレータA1,A2及びシミュレーションシステム接続手段を管理し、シミュレータ管理手段BがシミュレータB1,B2及びシミュレーションシステム接続手段を管理する。
つまり、シミュレータ管理手段A、シミュレータA1、シミュレータA2及びシミュレーションシステム接続手段から、1つのシミュレーションシステムが構成されている。
同様に、シミュレータ管理手段B、シミュレータB1、シミュレータB2及びシミュレーションシステム接続手段から、もう1つのシミュレーションシステムが構成されている。
以降、前者のシミュレーションシステムにはAの識別子を割り当て、後者のシミュレーションシステムにはBの識別子を割り当てるものとする。
Simulator management means A manages simulators A1 and A2 and simulation system connection means, and simulator management means B manages simulators B1 and B2 and simulation system connection means.
That is, one simulation system is composed of the simulator management means A, the simulator A1, the simulator A2, and the simulation system connection means.
Similarly, another simulation system is composed of the simulator management means B, the simulator B1, the simulator B2, and the simulation system connection means.
Hereinafter, the identifier of A is assigned to the former simulation system, and the identifier of B is assigned to the latter simulation system.
図13は各シミュレータの1回分の時刻進行に対応する処理手順を示すフローチャートである。
ただし、タイムステップは“1”としている。また、初期状態として、各シミュレータの時刻はtであり、各シミュレータは時刻t以下のタイムスタンプ付きのデータを全て受信済みであるものとする。
FIG. 13 is a flowchart showing a processing procedure corresponding to one time advance of each simulator.
However, the time step is “1”. In the initial state, the time of each simulator is t, and each simulator has received all the data with a time stamp equal to or less than time t.
まず、ステップST11において、シミュレータは、時刻tにおける状態と、受信済みの時刻t以下のタイムスタンプ付きのデータとに基づいて、1時刻分のシミュレーションを実施する。
また、1時刻分のシミュレーション結果のうち、他のシミュレータに影響を与える可能性があるシミュレーション結果をタイムスタンプ付きデータとして送信する。
ここで、データの送信先は、当該シミュレータを管理しているシミュレータ管理手段である。
即ち、シミュレータA1,A2の場合、データの送信先はシミュレータ管理手段Aとなり、シミュレータB1,B2の場合、データの送信先はシミュレータ管理手段Bとなる。
また、データに付与されるタイムスタンプは、当該シミュレータの現在時刻よりも未来でなければならない制約がある。これは、全体のシミュレーションを矛盾なく実行するために必要な条件である。
First, in step ST11, the simulator performs a simulation for one time based on the state at the time t and the data with the time stamp that has been received at the time t or less.
In addition, among simulation results for one time, a simulation result that may affect other simulators is transmitted as data with a time stamp.
Here, the data transmission destination is a simulator management unit that manages the simulator.
That is, in the case of the simulators A1 and A2, the data transmission destination is the simulator management means A, and in the case of the simulators B1 and B2, the data transmission destination is the simulator management means B.
Further, there is a restriction that the time stamp given to the data must be in the future from the current time of the simulator. This is a necessary condition for executing the entire simulation without contradiction.
次に、ステップST12において、シミュレータは、時刻tにおけるシミュレーションが終了したら、「時刻t+1への時刻進行要求」を、自己を管理しているシミュレータ管理手段に送信する。
この際、シミュレータは「時刻進行要求中」の状態に遷移する。この状態になると、以降、当該シミュレータは、時刻t+1以下のタイムスタンプの付いたデータを送信することができなくなる。
Next, in step ST12, when the simulation at time t is completed, the simulator transmits a “time advance request to time t + 1” to the simulator management means managing itself.
At this time, the simulator makes a transition to the “time progress requesting” state. In this state, thereafter, the simulator cannot transmit data with a time stamp of time t + 1 or less.
次に、ステップST13において、「時刻進行要求中」の状態に遷移しているシミュレータは、自己を管理しているシミュレータ管理手段から、時刻進行要求先時刻である時刻t+1以下のタイムスタンプ付きのデータを受信する。
シミュレータ管理手段は、管理しているシミュレータに対する時刻t+1以下のタイムスタンプ付きのデータの配信が完了すると、そのシミュレータに対して「時刻進行許可」を送信する。
Next, in step ST13, the simulator that has transitioned to the “time progress requesting” state receives data with a time stamp of time progress request destination time t + 1 or less from the simulator management means that manages itself. Receive.
When the delivery of data with a time stamp of time t + 1 or less to the managed simulator is completed, the simulator management means transmits “time progress permission” to the simulator.
次に、ステップST14において、シミュレータは、自己を管理しているシミュレータ管理手段から「時刻進行許可」を受信すると、論理時刻を時刻t+1に進める。
これにより、シミュレータは、「時刻進行要求中でない」状態に遷移し、ステップST11の処理に戻る。
ただし、ステップST11において、tをt+1と読み替えるものとする。
Next, in step ST14, when the simulator receives “time progress permission” from the simulator management means managing itself, the simulator advances the logical time to time t + 1.
As a result, the simulator transits to a state where “time progress request is not being requested” and returns to the process of step ST11.
However, in step ST11, t is read as t + 1.
ここで、シミュレータ管理手段における「管理しているシミュレータに対する時刻t+1以下のタイムスタンプ付きのデータの配信が完了しているか否か」の判定は、管理対象のシミュレータ及びシミュレーションシステム接続手段の現在時刻を参照し、さらに、以下の事項を考慮することにより行うことができる。
・時刻進行要求中でないシミュレータ及びシミュレーションシステム接続手段は、現在時刻以下のタイムスタンプ付きのデータは送信できない。
・時刻進行要求中のシミュレータ及びシミュレーションシステム接続手段は、時刻進行要求先時刻以下のタイムスタンプ付きのデータは送信できない。
Here, the determination of whether or not the distribution of data with a time stamp of time t + 1 or less to the simulator being managed has been completed in the simulator management means is based on the current time of the simulator to be managed and the simulation system connection means. This can be done by referring to the following matters.
-Simulator and simulation system connection means that are not requesting time progress cannot transmit data with a time stamp that is less than or equal to the current time.
-The simulator and simulation system connection means that are requesting time progress cannot transmit data with a time stamp that is less than the time progress request destination time.
図14はシミュレーションシステム接続手段の1回分の時刻進行に対応する処理手順を示すフローチャートである。
ただし、タイムステップは“1”としている。また、初期状態として、シミュレーションシステム接続手段の時刻はtであり、シミュレーションシステム接続手段は、時刻t以下のタイムスタンプ付きのデータを全て受信済みであるものとする。
FIG. 14 is a flowchart showing a processing procedure corresponding to one time advance of the simulation system connecting means.
However, the time step is “1”. Further, as an initial state, the time of the simulation system connection unit is t, and the simulation system connection unit has received all data with a time stamp equal to or less than time t.
まず、ステップST21において、シミュレーションシステム接続手段は、シミュレータ管理手段A,Bから受信したデータを他方のシミュレータ管理手段B,Aに転送する。シミュレータと異なり、シミュレーションは実施しない。
即ち、データの送信元がシミュレータ管理手段Aであれば、そのデータをシミュレータ管理手段Bに転送し、データの送信元がシミュレータ管理手段Bであれば、そのデータをシミュレータ管理手段Aに転送する。
なお、データに付与されているタイムスタンプは現在時刻以下であるので、上述した送信データのタイムスタンプに関する制約を満足させるため、現在時刻より大きくなるようにタイムスタンプの書き換えを行う。
First, in step ST21, the simulation system connection means transfers the data received from the simulator management means A, B to the other simulator management means B, A. Unlike the simulator, no simulation is performed.
That is, if the data transmission source is the simulator management means A, the data is transferred to the simulator management means B, and if the data transmission source is the simulator management means B, the data is transferred to the simulator management means A.
Since the time stamp assigned to the data is less than or equal to the current time, the time stamp is rewritten so as to be larger than the current time in order to satisfy the above-described restrictions on the time stamp of the transmission data.
次に、ステップST22において、シミュレーションシステム接続手段は、データの転送が完了すると、「時刻t+1への時刻進行要求」を全てのシミュレータ管理手段A,Bに送信する。
この際、シミュレーションシステム接続手段は「時刻進行要求中」の状態に遷移する。この状態になると、以降、シミュレーションシステム接続手段は、時刻t+1以下のタイムスタンプの付いたデータを送信することができなくなる。
Next, in step ST22, when the data transfer is completed, the simulation system connection unit transmits a “time progress request to time t + 1” to all the simulator management units A and B.
At this time, the simulation system connection means shifts to a state of “time progress requesting”. In this state, thereafter, the simulation system connection unit cannot transmit data with a time stamp of time t + 1 or less.
次に、ステップST23において、「時刻進行要求中」の状態に遷移しているシミュレーションシステム接続手段は、各シミュレータ管理手段A,Bから、時刻進行要求先時刻である時刻t+1以下のタイムスタンプ付きのデータを受信する。
各シミュレータ管理手段A,Bは、シミュレーションシステム接続手段に対する時刻t+1以下のタイムスタンプ付きのデータの配信が完了すると、「時刻進行許可」をシミュレーションシステム接続手段に送信する。
Next, in step ST23, the simulation system connecting means that has transitioned to the "time progress requesting" state has time stamps of time t + 1 or less, which is the time progress request destination time, from each simulator management means A and B. Receive data.
When the simulator management means A and B complete the delivery of data with a time stamp of time t + 1 or less to the simulation system connection means, the simulator management means A and B transmit “time progress permission” to the simulation system connection means.
次に、ステップST24において、シミュレーションシステム接続手段は、各シミュレータ管理手段A,Bから「時刻進行許可」を受信すると、論理時刻を時刻t+1に進める。
これにより、シミュレーションシステム接続手段は、「時刻進行要求中でない」状態に遷移し、ステップST21の処理に戻る。
ただし、ステップST21において、tをt+1と読み替えるものとする。
Next, in step ST24, when the simulation system connection unit receives “time progress permission” from each of the simulator management units A and B, it advances the logical time to
As a result, the simulation system connecting means transitions to a state in which “time progress request is not in progress” and returns to the process of step ST21.
However, in step ST21, t is read as
図15はシミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段の具体的な処理の進行の例を示す説明図である。
図15では、ウォールクロック時刻順に、各時点(1)〜(5)における状況を示している。
図15において、縦軸が論理時刻であり、下向きに時刻が進行する。
各時間軸において、○印はシミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段の現在論理時刻を表している。また、各時間軸に接している丸みを帯びた矢印は時刻進行状況を表している。
FIG. 15 is an explanatory diagram showing an example of specific processing progress of the simulators A1, A2, B1, B2 and the simulation system connecting means.
FIG. 15 shows the situation at each time point (1) to (5) in order of wall clock time.
In FIG. 15, the vertical axis is the logical time, and the time advances downward.
On each time axis, the circles represent the current logical times of the simulators A1, A2, B1, B2 and the simulation system connection means. Moreover, the rounded arrow which touches each time-axis represents the time progress condition.
ここで、破線の矢印は「矢印先の時刻への時刻進行要求中」であることを表し、また、実線の矢印は「矢印先の時刻への時刻進行済み」であることを表している。
さらに、図15において、例えば「D(t+1)」は、「タイムスタンプt+1のデータ」を表している。
以下、(1)〜(5)の各時点における具体的な状況を説明する。ただし、図15において、タイムステップは全て共通で“1”、また、初期状態において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段の論理時刻は“t”であるとする。
Here, the dashed arrow indicates that “time advancement to the time indicated by the arrow is being requested”, and the solid arrow indicates that “time advancement to the time indicated by the arrow is completed”.
Further, in FIG. 15, for example, “D (t + 1)” represents “data of time stamp t + 1”.
Hereinafter, a specific situation at each time point (1) to (5) will be described. However, in FIG. 15, the time steps are all common and “1”, and in the initial state, the logic times of the simulators A1, A2, B1, and B2 and the simulation system connecting means are “t”.
まず、時点(1)において、シミュレータA1,A2,B1,B2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+1付きのデータD(t+1)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,A2及びシミュレーションシステム接続手段が、時刻t+1への時刻進行要求をシミュレータ管理手段Aに送信し、シミュレータB1,B2及びシミュレーションシステム接続手段が、時刻t+1への時刻進行要求をシミュレータ管理手段Bに送信する。
そして、シミュレータA2及びシミュレーションシステム接続手段は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理手段A経由で受信する。
First, at time (1), simulators A1, A2, B1, and B2 perform simulation at time t, and simulator A1 transmits data D (t + 1) with time stamp t + 1 as data corresponding to the simulation result. And However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time (2), the simulators A1 and A2 and the simulation system connection unit transmit a time progress request to the time t + 1 to the simulator management unit A, and the simulators B1 and B2 and the simulation system connection unit transmit the time t + 1 to the
The simulator A2 and the simulation system connection unit receive the data D (t + 1) transmitted from the simulator A1 via the simulator management unit A.
時点(2)においては、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段は、時刻t+1以下のタイムスタンプの付いたデータを送信できない状態にある。
したがって、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段に関しては、時刻t+1以下のタイムスタンプ付きのデータの配信が完了していると判定することができるので、次の段階として、各シミュレータ管理手段A,Bから時刻進行許可が出されることになる。
At time (2), the simulators A1, A2, B1, B2 and the simulation system connection means are in a state where they cannot transmit data with a time stamp of time t + 1 or less.
Therefore, regarding the simulators A1, A2, B1, B2 and the simulation system connection means, it can be determined that the delivery of data with a time stamp of time t + 1 or less has been completed. Time advance permission is issued from means A and B.
そこで、時点(3)において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段は、論理時刻をt+1の時刻に進める。
ここで、シミュレーションシステム接続手段は、受信済みのデータD(t+1)をシミュレータ管理手段Bに送信することになるが、この時点でシミュレーションシステム接続手段の論理時刻がt+1なので、タイムスタンプt+1のデータを送信することができない。したがって、タイムスタンプを、例えばt+2に付け替えて送信することになる。
また、シミュレータA1,A2,B1,B2においてシミュレーションが行われるが、ここでは簡単のため、シミュレーション結果に対応するデータの送信が行われないものとする。
Therefore, at the time point (3), the simulators A1, A2, B1, B2 and the simulation system connection unit advance the logical time to the
Here, the simulation system connection means transmits the received data D (t + 1) to the simulator management means B. At this time, since the logical time of the simulation system connection means is t + 1, the data of the time stamp t + 1 is stored. Cannot send. Therefore, the time stamp is changed to, for example, t + 2 and transmitted.
In addition, although simulation is performed in the simulators A1, A2, B1, and B2, here, for simplicity, it is assumed that data corresponding to the simulation result is not transmitted.
その後、時点(4)において、シミュレータA1,A2及びシミュレーションシステム接続手段が、時刻t+2への時刻進行要求をシミュレータ管理手段Aに送信し、シミュレータB1,B2及びシミュレーションシステム接続手段が、時刻t+2への時刻進行要求をシミュレータ管理手段Bに送信する。
そして、シミュレータB1,B2は、シミュレーションシステム接続手段から送信されたデータD(t+2)をシミュレータ管理手段B経由で受信する。
時点(4)の段階では、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段に関しては、時刻t+2以下のタイムスタンプ付きのデータの配信が完了していると判定することができるので、次の段階として、各シミュレータ管理手段A,Bから時刻進行許可が出されることになる。
そこで、時点(5)において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続手段は、論理時刻をt+2の時刻に進める。
Thereafter, at the time point (4), the simulators A1 and A2 and the simulation system connection unit transmit a time progress request to the time t + 2 to the simulator management unit A, and the simulators B1 and B2 and the simulation system connection unit transmit the time to the
The simulators B1 and B2 receive the data D (t + 2) transmitted from the simulation system connection unit via the simulator management unit B.
At the stage of time (4), regarding the simulators A1, A2, B1, B2 and the simulation system connection means, it can be determined that the delivery of data with a time stamp of time t + 2 or less has been completed. As a stage, time advance permission is issued from each simulator management means A, B.
Therefore, at the time (5), the simulators A1, A2, B1, B2 and the simulation system connecting means advance the logical time to the
図15の例では、上述のように、シミュレータA1から送信されたタイムスタンプt+1付きのデータは、シミュレータB1,B2が論理時刻をt+2に進める際に配信されている。
タイムスタンプt+1付きのデータは、本来、論理時刻をt+1に進める際に配信されるべきデータであり、シミュレーションシステム接続手段が介在するために、1時刻分のデータ配信遅延が生じている。
このようにデータ配信が遅延すると、全体としてのシミュレーション結果が不正確なものとなる可能性があるので好ましくない。
In the example of FIG. 15, as described above, the data with the time stamp t + 1 transmitted from the simulator A1 is distributed when the simulators B1 and B2 advance the logical time to t + 2.
The data with the time stamp t + 1 is originally data to be distributed when the logical time is advanced to t + 1, and a data distribution delay of one time occurs due to the intervention of the simulation system connection means.
If the data distribution is delayed in this way, the simulation result as a whole may become inaccurate, which is not preferable.
従来のシミュレーション装置は以上のように構成されているので、複数のシミュレーションシステムを連接して、大規模なシミュレーションシステムを構築することができる。しかし、シミュレーションシステムを跨ぐデータの配信に遅延が発生して、全体としてのシミュレーション結果が不正確なものになる可能性があるなどの課題があった。 Since the conventional simulation apparatus is configured as described above, a large-scale simulation system can be constructed by connecting a plurality of simulation systems. However, there has been a problem that a delay occurs in data distribution across the simulation system, and the simulation result as a whole may become inaccurate.
この発明は上記のような課題を解決するためになされたもので、シミュレーションシステムを跨ぐデータの配信を行う場合でも、データ配信の遅延を防止して、正確なシミュレーション結果を得ることができるシミュレーション装置を得ることを目的とする。 The present invention has been made to solve the above-described problems, and even when data is distributed across simulation systems, a simulation apparatus capable of preventing a delay in data distribution and obtaining an accurate simulation result. The purpose is to obtain.
この発明に係るシミュレーション装置は、シミュレータ管理手段が、自己と同じネットワークに接続されている全てのシミュレータとネットワーク接続手段から時刻進行要求を受信した時点で、シミュレータとネットワーク接続手段の時刻進行を許可し、ネットワーク接続手段が、あるネットワークに接続されているシミュレータ管理手段から配信されたデータを受信すると、そのデータを他のネットワークに接続されているシミュレータ管理手段に直ちに転送してから、時刻進行要求を複数のシミュレータ管理手段に送信するようにしたものである。 In the simulation apparatus according to the present invention, when the simulator management means receives time advance requests from all simulators connected to the same network as the self and the network connection means, the simulator and the network connection means permit time advancement. When the network connection means receives the data distributed from the simulator management means connected to a certain network, the data is immediately transferred to the simulator management means connected to another network, and then the time progress request is issued. The information is transmitted to a plurality of simulator management means.
この発明によれば、シミュレータ管理手段が、自己と同じネットワークに接続されている全てのシミュレータとネットワーク接続手段から時刻進行要求を受信した時点で、シミュレータとネットワーク接続手段の時刻進行を許可し、ネットワーク接続手段が、あるネットワークに接続されているシミュレータ管理手段から配信されたデータを受信すると、そのデータを他のネットワークに接続されているシミュレータ管理手段に直ちに転送してから、時刻進行要求を複数のシミュレータ管理手段に送信するように構成したので、他のネットワークに接続されているシミュレータにデータの配信を行う場合でも、データ配信の遅延を防止して、正確なシミュレーション結果を得ることができる効果がある。 According to this invention, when the simulator management means receives time advance requests from all the simulators connected to the same network as itself and the network connection means, the simulator and the network connection means allow time advance of the network and the network connection means. When the connection means receives the data distributed from the simulator management means connected to a certain network, the data is immediately transferred to the simulator management means connected to another network, and then a time progress request is sent to a plurality of times. Since it is configured to be transmitted to the simulator management means, even when data is distributed to a simulator connected to another network, there is an effect that an accurate simulation result can be obtained by preventing a delay in data distribution. is there.
実施の形態1.
図1はこの発明の実施の形態1によるシミュレーション装置を示す構成図であり、図において、シミュレータA1,A2,B1,B2は所定のタイムステップの時間間隔で、シミュレーションを繰り返し実行し、そのシミュレーションの結果をタイムスタンプ付きのデータとして、シミュレータ管理手段A,B経由で他のシミュレータやシミュレーションシステム接続部に送信するとともに、他のシミュレータやシミュレーションシステム接続部から送信されたタイムスタンプ付きのデータをシミュレータ管理手段A,B経由で受信する。
FIG. 1 is a block diagram showing a simulation apparatus according to
ネットワークAにはシミュレータA1,A2、シミュレータ管理部A及びシミュレーションシステム接続部3が接続されており、シミュレータA1,A2、シミュレータ管理部A、シミュレーションシステム接続部3及びネットワークAからシミュレーションシステムAが構成されている。
ネットワークBにはシミュレータB1,B2、シミュレータ管理部B及びシミュレーションシステム接続部3が接続されており、シミュレータB1,B2、シミュレータ管理部B、シミュレーションシステム接続部3及びネットワークBからシミュレーションシステムBが構成されている。
Simulator A1, A2, simulator management part A, and simulation
Simulator B1, B2, simulator management part B, and simulation
シミュレータ管理部Aはデータ配信部1及び時刻進行管理部2から構成されており、ネットワークAに接続されているシミュレータA1,A2及びシミュレーションシステム接続部3の時刻進行を管理するとともに、例えば、シミュレータA1から送信されたデータをシミュレータA2及びシミュレーションシステム接続部3に配信し、また、シミュレータA1,A2及びシミュレーションシステム接続部3から時刻進行要求を受信した時点で、シミュレータA1,A2及びシミュレーションシステム接続部3の時刻進行を許可するなどの処理を実施する。
シミュレータ管理部Aのデータ配信部1は例えばシミュレータA1から送信されたデータをシミュレータA2及びシミュレーションシステム接続部3に配信し、シミュレーションシステム接続部3から転送されたデータをシミュレータA1,A2に配信するなどの処理を実施する。
シミュレータ管理部Aの時刻進行管理部2はシミュレータA1,A2及びシミュレーションシステム接続部3の時刻進行を管理する処理を実施する。
The simulator management unit A includes a
For example, the
The time
シミュレータ管理部Bはデータ配信部1及び時刻進行管理部2から構成されており、ネットワークBに接続されているシミュレータB1,B2及びシミュレーションシステム接続部3の時刻進行を管理するとともに、例えば、シミュレータB1から送信されたデータをシミュレータB2及びシミュレーションシステム接続部3に配信し、また、シミュレータB1,B2及びシミュレーションシステム接続部3から時刻進行要求を受信した時点で、シミュレータB1,B2及びシミュレーションシステム接続部3の時刻進行を許可するなどの処理を実施する。
シミュレータ管理部Bのデータ配信部1は例えばシミュレータB1から送信されたデータをシミュレータB2及びシミュレーションシステム接続部3に配信し、シミュレーションシステム接続部3から転送されたデータをシミュレータB1,B2に配信するなどの処理を実施する。
シミュレータ管理部Bの時刻進行管理部2はシミュレータB1,B2及びシミュレーションシステム接続部3の時刻進行を管理する処理を実施する。
なお、シミュレータ管理部A,Bはそれぞれシミュレータ管理手段を構成している。
The simulator management unit B includes a
For example, the
The time
The simulator management units A and B constitute simulator management means.
シミュレーションシステム接続部3は時刻管理部4及びデータ転送部5から構成されており、例えば、シミュレータ管理部Aから配信されたデータを受信すると、そのデータをシミュレータ管理部Bに直ちに転送してから、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態になったことを確認後、時刻進行要求をシミュレータ管理部A,Bに送信するなどの処理を実施する。
時刻管理部4はシミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が時刻進行要求中であることを確認できた時点で、シミュレータA1,A2,B1,B2の時刻進行要求先時刻を越えない範囲内での時刻進行要求をシミュレータ管理部A,Bに送信し、シミュレータ管理部A,Bにより時刻進行が許可されると、シミュレーションシステム接続部3の論理時刻を要求した時刻まで進める。
データ転送部5はシミュレータ管理部Aから配信されたデータを受信すると、そのデータをシミュレータ管理部Bに直ちに転送し、シミュレータ管理部Bから配信されたデータを受信すると、そのデータをシミュレータ管理部Aに直ちに転送するなどの処理を実施する。
なお、シミュレーションシステム接続部3はネットワーク接続手段を構成している。
The simulation
The
When the
The simulation
次に動作について説明する。
図2はシミュレーションシステム接続部3の1回分の時刻進行に対応する処理手順を示すフローチャートである。
まず、ステップST1において、シミュレーションシステム接続部3のデータ転送部5は、シミュレーションシステムA,B間のデータの中継を行う。
即ち、シミュレータ管理部Aからデータを受信すると、そのデータを速やかにシミュレータ管理部Bに転送する。
また、シミュレータ管理部Bからデータを受信すると、そのデータを速やかにシミュレータ管理部Aに転送する。
Next, the operation will be described.
FIG. 2 is a flowchart showing a processing procedure corresponding to one time advance of the simulation
First, in step ST1, the
That is, when data is received from the simulator management unit A, the data is promptly transferred to the simulator management unit B.
When data is received from the simulator management unit B, the data is promptly transferred to the simulator management unit A.
次に、ステップST2において、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が時刻進行要求中であるか否かを確認し、シミュレータA1,A2,B1,B2の全てが時刻進行要求中になると、その時点で、シミュレータA1,A2,B1,B2の時刻進行要求先時刻を越えない範囲内での時刻進行要求をシミュレータ管理部A,Bに送信する。
このとき、シミュレーションシステム接続部3の時刻管理部4は、「時刻進行要求中」の状態に遷移する。
Next, in step ST2, the
At this time, the
シミュレータ管理部Aの時刻進行管理部2は、シミュレータA1,A2及びシミュレーションシステム接続部3から時刻進行要求を受信した時点で、シミュレータA1,A2及びシミュレーションシステム接続部3の時刻進行を許可する。
ここで、時刻進行が許可されるのは、時刻進行後に過去のタイムスタンプが付与されたデータを受信することがないと保証できるシミュレータおよびシミュレーションシステム接続部、つまり、「時刻進行要求先時刻が、これらのシミュレータおよびシミュレーションシステム接続部3の時刻進行要求先時刻以下である」シミュレータおよびシミュレーションシステム接続部に限られる。
また、シミュレータ管理部Bの時刻進行管理部2は、シミュレータB1,B2及びシミュレーションシステム接続部3から時刻進行要求を受信した時点で、シミュレータB1,B2及びシミュレーションシステム接続部3の時刻進行を許可する。
ここで、時刻進行が許可されるのは、時刻進行後に過去のタイムスタンプが付与されたデータを受信することがないと保証できるシミュレータおよびシミュレーションシステム接続部、つまり、「時刻進行要求先時刻が、これらのシミュレータおよびシミュレーションシステム接続部3の時刻進行要求先時刻以下である」シミュレータおよびシミュレーションシステム接続部に限られる。
The time
Here, the time progression is permitted because the simulator and simulation system connection unit that can guarantee that the data with the past time stamp is not received after the time progression, that is, “time progression request destination time is These simulators and simulation
Further, the time
Here, the time progression is permitted because the simulator and simulation system connection unit that can guarantee that the data with the past time stamp is not received after the time progression, that is, “time progression request destination time is These simulators and simulation
次に、ステップST3において、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bから時刻進行許可を受信すると、論理時刻を要求した時刻まで進める。
この際、シミュレーションシステム接続部3は「時刻進行要求中でない」状態に遷移する。
Next, in step ST3, when the
At this time, the simulation
以下、シミュレーションシステムA,B間を跨ぐデータ配信について説明する。
例えば、シミュレータA1から送信されたデータは、シミュレータA1を管理対象とするシミュレータ管理部A経由で、速やかにシミュレーションシステム接続部3のデータ転送部5に受信される。
ミュレーションシステム接続部3のデータ転送部5は、受信したデータを送信元以外のシミュレータ管理部であるシミュレータ管理部Bに速やかに転送する。
シミュレータ管理部Bのデータ配信部1は、ミュレーションシステム接続部3から転送されたデータを受信すると、そのデータに付与されているタイムスタンプに応じた時刻に、そのデータをシミュレータB1,B2に送信する。
したがって、データがシミュレーションシステム接続部3を経由する際に、1時刻分の遅延が発生する問題は起こらない。
Hereinafter, data distribution across the simulation systems A and B will be described.
For example, the data transmitted from the simulator A1 is promptly received by the
The
When the
Therefore, when data passes through the simulation
また、シミュレータ管理部A,Bの時刻進行管理部2は、上述したように、管理対象の全シミュレータとシミュレーションシステム接続部3の状態が「時刻進行要求中」になった後に、「時刻進行要求先時刻が、同じシミュレーションシステムに属する他シミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻以下である」シミュレータおよびシミュレーションシステム接続部に対して時刻進行許可を送信する。
一方、シミュレーションシステム接続部3の時刻進行要求先時刻は、全シミュレータの時刻進行要求先時刻を越えないように設定されるため、結局、「時刻進行要求先時刻が、全シミュレータの時刻進行要求先時刻の最小値以下である」シミュレータおよびシミュレーションシステム接続部に対して時刻進行許可が与えられることになる。
In addition, as described above, the
On the other hand, the time progress request destination time of the simulation
したがって、時刻進行許可が与えられるシミュレータについては、「時刻進行要求先時刻以下のタイムスタンプ付きデータの配信が全て完了している」ことが保証される。つまり、シミュレータが過去のタイムスタンプ付きデータを受信するという現象は生じ得ないので、シミュレーションに不整合が生じない。
よって、図1のシミュレーション装置を利用することにより、複数のシミュレーションシステムA,B間を跨るタイムスタンプ付きデータの配信を不整合が生じないように、かつ、遅延が発生しないように実施することができる。
Therefore, it is assured that “simultaneous delivery of data with a time stamp equal to or less than the time advance request destination time has been completed” for the simulator to which time advance permission is given. That is, the phenomenon that the simulator receives data with a past time stamp cannot occur, so that inconsistency does not occur in the simulation.
Therefore, by using the simulation apparatus of FIG. 1, it is possible to perform distribution of data with a time stamp across a plurality of simulation systems A and B so as not to cause inconsistency and to prevent delay. it can.
以下、全シミュレータのタイムステップが全て同一である場合を考える。
この場合、シミュレーションシステム接続部3の時刻管理部4及びシミュレータ管理部A,Bの時刻進行管理部2の動作を以下のように具体化することができる。
シミュレーションシステム接続部3の時刻管理部4は、時刻進行要求の際、シミュレータA1,A2,B1,B2と同一のタイムステップだけ未来の時刻への時刻進行要求を送信する。
シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行許可の際、管理対象の全シミュレータとシミュレーションシステム接続部3が時刻進行要求中となった後に、管理対象の全シミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信する。
Hereinafter, a case where all simulator time steps are the same will be considered.
In this case, the operations of the
The
The time
図3は全シミュレータのタイムステップが同一である場合の全シミュレータ及びシミュレーションシステム接続部3の具体的な処理の進行の例を示す説明図である。
図3では、ウォールクロック時刻順に、各時点(1)〜(4)における状況を示している。
ただし、図3において、シミュレータA1,A2,B1,B2のタイムステップは全て共通で“1”、また、初期状態において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の論理時刻は“t”であるとする。この場合、上述のように、シミュレーションシステム接続部3のタイムステップも“1”で固定となる。
FIG. 3 is an explanatory diagram showing an example of progress of specific processing of all simulators and the simulation
FIG. 3 shows the situation at each time point (1) to (4) in order of wall clock time.
However, in FIG. 3, the time steps of the simulators A1, A2, B1, and B2 are all “1”, and in the initial state, the logic times of the simulators A1, A2, B1, and B2 and the simulation
まず、時点(1)において、シミュレータA1,A2,B1,B2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+1付きのデータD(t+1)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,A2が、時刻t+1への時刻進行要求をシミュレータ管理部Aに送信し、シミュレータB1,B2が、時刻t+1への時刻進行要求をシミュレータ管理部Bに送信する。
この際、シミュレータA2は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信する。
また、シミュレーションシステム接続部3のデータ転送部5も、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信し、そのデータD(t+1)を速やかにシミュレータ管理部Bに転送する。
First, at time (1), simulators A1, A2, B1, and B2 perform simulation at time t, and simulator A1 transmits data D (t + 1) with time stamp t + 1 as data corresponding to the simulation result. And However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), simulators A1 and A2 transmit a time advance request to time t + 1 to simulator management unit A, and simulators B1 and B2 transmit a time advance request to time t + 1 to simulator management unit B. To do.
At this time, the simulator A2 receives the data D (t + 1) transmitted from the simulator A1 via the simulator management unit A.
The
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、全シミュレータが「時刻進行要求中」の状態にあることを確認する。
In the situation at time (2), all the simulators A1, A2, B1, and B2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time
Therefore, the
次に、時点(3)において、シミュレーションシステム接続部3の時刻管理部4は、上記のようにして、全シミュレータが「時刻進行要求中」の状態にあることを確認すると、時刻t+1への時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3により転送されたデータD(t+1)をシミュレータ管理部B経由で受信する。
時点(3)の状況においては、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が「時刻進行要求中」の状態にあるので、シミュレータ管理部Aの時刻進行管理部2が時刻進行許可をシミュレータA1,A2及びシミュレーションシステム接続部3に送信し、シミュレータ管理部Bの時刻進行管理部2が時刻進行許可をシミュレータB1,B2及びシミュレーションシステム接続部3に送信する。
Next, at time (3), when the
The simulators B1 and B2 receive the data D (t + 1) transferred by the simulation
In the situation at time point (3), all the simulators A1, A2, B1, B2 and the simulation
ここで、上記のように時刻進行許可を送信しても良い理由を説明する。
まず、時点(3)の状況において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、時刻t+1以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3に関し、時刻t+1以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が時刻t+1に時刻進行しても、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+1への時刻進行許可を出してもよい。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time point (3), all the simulators A1, A2, B1, B2 and the simulation
Therefore, with respect to the simulators A1, A2, B1, B2 and the simulation
Therefore, even if the simulators A1, A2, B1, and B2 and the simulation
このため、時点(4)において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、論理時刻をt+1に進める。
図3の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+1のデータが、シミュレータB1,B2において、論理時刻がt+1に進行する際に配信されており、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
For this reason, at the time point (4), all the simulators A1, A2, B1, B2 and the simulation
In the example of FIG. 3, as described above, the data of the time stamp t + 1 transmitted from the simulator A1 is distributed when the logical time advances to t + 1 in the simulators B1 and B2, and the data is distributed across the simulation systems. It can be seen that there is no delay in FIG.
以上で明らかなように、この実施の形態1によれば、シミュレータ管理部A,Bが、自己と同じネットワークに接続されている全てのシミュレータとシミュレーションシステム接続部3から時刻進行要求を受信した時点で、全てのシミュレータA1,A2,B1,B2とシミュレーションシステム接続部3の時刻進行を許可し、シミュレーションシステム接続部3が、例えば、ネットワークAに接続されているシミュレータ管理部Aから配信されたデータを受信すると、そのデータをネットワークBに接続されているシミュレータ管理部Bに直ちに転送してから、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態になったことを確認後、時刻進行要求をシミュレータ管理部A,Bに送信するように構成したので、ネットワークBに接続されているシミュレータB1,B2にデータの配信を行う場合でも、データ配信の遅延を防止して、正確なシミュレーション結果を得ることができる効果を奏する。
As is apparent from the above, according to the first embodiment, when the simulator management units A and B receive time progress requests from all the simulators connected to the same network as themselves and the simulation
なお、この実施の形態1では、各シミュレーションシステムを構成するシミュレータの数が2台の例について説明したが、シミュレータの台数が3以上の場合でも、同様に適用することができる。
また、この実施の形態1では、2つのシミュレーションシステムA,Bを連接する場合について説明したが、3つ以上のシミュレーションシステムを連接する場合でも、異なるシミュレーションシステムが単一のシミュレーションシステム接続部3を介してデータ交換を行うようにシミュレーション装置を構成することにより、同様に適用することができる。
図4は1つのシミュレーションシステム接続部3が3つのシミュレーションシステムA,B,Cを連接して、シミュレータA1,A2,B1,B2,C1,C2がデータ交換を実施しながらシミュレーションを実施するシミュレーション装置を示す構成図である。
この場合、データ交換を行う2つのシミュレーションシステムを取り上げると、これらの関係は図1のシミュレーション装置と全く同じ動作になる。
In the first embodiment, an example in which the number of simulators constituting each simulation system is two has been described. However, the present invention can be similarly applied even when the number of simulators is three or more.
In the first embodiment, the case where two simulation systems A and B are connected has been described. However, even when three or more simulation systems are connected, different simulation systems provide a single simulation
FIG. 4 shows a simulation apparatus in which one simulation
In this case, when two simulation systems that exchange data are taken up, these relations are exactly the same as those of the simulation apparatus of FIG.
最後にHLAを利用する実施の形態1の実装方針について述べる。
HLAを利用する場合、シミュレータ管理部A,B(HLAでは、RTIに対応)からは、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が、同等な「フェデレート」として扱われる。
HLAの規格では、データはTSO(Time Stamp Order)なものと、そうでないもの(RO(Receive Order)と呼ばれる)とに分類される。
TSOデータはタイムスタンプを持ち、各フェデレートがTSOデータを受信する場合には、タイムスタンプ順に受信しなければならない。また、過去のタイムスタンプ付きのTSOデータは、シミュレーションを矛盾なく実行する関係上、受信することができない。
Finally, the implementation policy of the first embodiment using HLA will be described.
When using the HLA, the simulators A and B (corresponding to RTI in HLA) treat the simulators A1, A2, B1, and B2 and the simulation
According to the HLA standard, data is classified into TSO (Time Stamp Order) and non-data (called RO (Receive Order)).
The TSO data has a time stamp, and when each federate receives the TSO data, it must be received in the order of the time stamp. Further, TSO data with a past time stamp cannot be received because the simulation is executed without contradiction.
各フェデレートは、time−regulatingなものと、そうでないものとに分類される。
time−regulatingなフェデレートとは、TSOデータを送信可能なフェデレートのことである。
また、各フェデレートは、time−constrainedなものと、そうでないものとにも分類される。
time−constrainedなフェデレートとは、TSOデータを受信可能なフェデレートのことである。
time−regulatingなフェデレートがTSOデータを送信した場合、time−constrainedでないフェデレートでは、ROデータとして受信されることになる。
Each federation is classified as time-regulating and not.
The time-regulating federation is a federation capable of transmitting TSO data.
Each federation is classified into a time-constrained type and a non-timed type.
The time-constrained federation is a federation capable of receiving TSO data.
When the time-regulating fedrate transmits TSO data, the federation that is not time-constrained is received as RO data.
フェデレートは、上述したように、過去のタイムスタンプ付きのTSOデータを受信することができないとの制約があり、この制約を満たすために、TSOデータを受信するフェデレートは、時刻進行が制御される。
つまり、「time−regulatingなフェデレートは他のフェデレートの時刻進行を制御する」「time−constrainedなフェデレートは他のフェデレートによって時刻進行を制御される」と表現することができる。
通常、何らかのシステムを正確にシミュレーションする場合、システムの構成要素を模擬する各シミュレータの時刻同期を取りながらシミュレーションを進める必要があり、この場合、各シミュレータはtime−regulatingで、かつ、time−constrainedであると設定すればよい。
As described above, the federation has a restriction that it cannot receive TSO data with a past time stamp. In order to satisfy this restriction, the time progression of the federation that receives the TSO data is controlled.
In other words, it can be expressed as “time-regulated federation controls time progression of other federations” and “time-constrained federation has time progression controlled by other federations”.
Normally, when simulating a certain system accurately, it is necessary to proceed with the simulation while synchronizing the time of each simulator that simulates the components of the system. In this case, each simulator is time-regulated and time-constrained. What is necessary is just to set.
この実施の形態1におけるシミュレーションシステム接続部3は、異なるシミュレーションシステムに属するシミュレータ間の時刻同期を取るため、「他のフェデレートの時刻進行を制御する」能力を持つ必要があるため、time−regulatingとしなければならない。
一方、time−constrainedとすると、あるTSOデータの受信は、シミュレーションシステム接続部3が、そのタイムスタンプまで、もしくは、そのタイムスタンプを越えるまで、時刻進行する際に行われることになる(TSOデータを確実にタイムスタンプ順に受信する為)。
その場合、「発明が解決しようとする課題」で述べたような、データ配信におけるシミュレーションシステム接続部3での遅延が不可避となる。
逆に、time−constrainedでないものとした場合は、タイムスタンプに関わらず、データを速やかに受信することができる(この場合は、全てのデータをROデータとして受信する)。
したがって、シミュレーションシステム接続部3はtime−constrainedでないものとして設定する。
Since the simulation
On the other hand, if time-constrained, the reception of certain TSO data is performed when the simulation
In that case, the delay at the simulation
Conversely, if it is not time-constrained, data can be received promptly regardless of the time stamp (in this case, all data is received as RO data).
Therefore, the simulation
以上のように、シミュレーションシステム接続部3をtime−regulatingで、かつ、time−constrainedでないものとして設定することにより、データに付与されたタイムスタンプに関わらず、各シミュレータが送信したデータを速やかに受信し(time−constrainedでない為)、さらに、TSOデータとして速やかに送信することができる(time−regulatingである為)。
As described above, by setting the simulation
一方、この実施の形態1を実現するためには、シミュレーションシステム接続部3は、シミュレータ管理部A,Bの時刻進行管理部2(RTI)に保持されている時刻進行情報を参照する必要がある。
これは、HLAにおけるMOM(Management Object Model:フェデレートのモニタなどを実施するための機能)機能を利用することにより、実装することができる。もしくは、Query GALTやQuery LITSなどのHLAに関するAPI(Application Programmer’s Interface)を利用してもよい(各フェデレートにおいて、これらのAPIを利用すると、TSOデータを受信する可能性がある最小時刻などの諸元が得られる。この最小時刻は、各フェデレートの時刻進行状況の変化に伴って変化するものである)。
また、RTIは、この実施の形態で述べたシミュレータ管理部A,Bの機能を有する。
したがって、HLAを利用して、この実施の形態1で述べたシミュレーション装置を実装することが可能である。
On the other hand, in order to realize the first embodiment, the simulation
This can be implemented by using a MOM (Management Object Model) function in the HLA. Alternatively, APIs related to HLA such as Query GLT and Query LITS (Application Programmer's Interface) may be used (when these APIs are used in each federation, the minimum time at which TSO data can be received, etc.) This minimum time changes as the time progress of each federate changes).
The RTI also has the functions of the simulator management units A and B described in this embodiment.
Therefore, it is possible to mount the simulation apparatus described in the first embodiment using the HLA.
実施の形態2.
上記実施の形態1では、シミュレータA1,A2,B1,B2のタイムステップが全て同一である場合について示したが、この実施の形態2では、全てのシミュレータA1,A2,B1,B2のタイムステップが、最小タイムステップの自然数倍であるものについて説明する。
図5はシミュレータA1,A2,B1,B2のタイムステップが最小タイムステップの自然数倍である場合のシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の具体的な処理の進行の例を示す説明図である。
In the first embodiment, the time steps of the simulators A1, A2, B1, and B2 are all the same. However, in the second embodiment, the time steps of all the simulators A1, A2, B1, and B2 are shown. What is a natural number times the minimum time step will be described.
FIG. 5 shows an example of specific processing progress of the simulators A1, A2, B1, and B2 and the simulation
シミュレーション装置の構成は図1と同じである。
ただし、シミュレーションシステム接続部3の時刻管理部4は、時刻進行を要求する際、最小タイムステップだけ未来の時刻への時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行を許可する際、管理対象のシミュレータとシミュレーションシステム接続部3が時刻進行要求中の状態になった後、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻を求め、時刻進行要求先時刻がその最小時刻と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信する。
以下、具体的な処理の進行例を説明する。
The configuration of the simulation apparatus is the same as in FIG.
However, when the
When the time
Hereinafter, a specific example of progress of processing will be described.
図5において、最小タイムステップが“1”、シミュレータA1,B1のタイムステップが“1”、シミュレータA2,B2のタイムステップが“2”であるものとする。
この場合、シミュレーションシステム接続部3のタイムステップは、最小タイムステップの“1”で固定となる。
また、初期状態において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の論理時刻が“t”であるものとする。
In FIG. 5, it is assumed that the minimum time step is “1”, the time steps of the simulators A1 and B1 are “1”, and the time steps of the simulators A2 and B2 are “2”.
In this case, the time step of the simulation
In the initial state, it is assumed that the logic times of the simulators A1, A2, B1, and B2 and the simulation
まず、時点(1)において、シミュレータA1,A2,B1,B2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+1付きのデータD(t+1)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,B1が、固有のタイムステップであるタイムステップ“1”分の未来への時刻進行要求をシミュレータ管理部A,Bにそれぞれ送信し、シミュレータA2,B2が、固有のタイムステップであるタイムステップ“2”分の未来への時刻進行要求をシミュレータ管理部A,Bにそれぞれ送信する。
First, at time (1), simulators A1, A2, B1, and B2 perform simulation at time t, and simulator A1 transmits data D (t + 1) with time stamp t + 1 as data corresponding to the simulation result. And However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), simulators A1 and B1 transmit a time advance request to the future for time step “1”, which is a unique time step, to simulator management units A and B, respectively. Then, a time advance request for the time step “2”, which is a unique time step, is transmitted to the simulator management units A and B, respectively.
この際、シミュレータA2は、シミュレータ管理部A経由で、データD(t+1)を受信する。
また、シミュレーションシステム接続部3も、シミュレータ管理部A経由で、データD(t+1)を受信し、そのデータD(t+1)を速やかにシミュレータ管理部Bに転送する。
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認する。
At this time, the simulator A2 receives the data D (t + 1) via the simulator management unit A.
Further, the simulation
In the situation at time (2), all the simulators A1, A2, B1, and B2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time
Therefore, the
次に、時点(3)において、シミュレーションシステム接続部3の時刻管理部4は、上記のようにして、全シミュレータが「時刻進行要求中」の状態にあることを確認すると、最小タイムステップだけ未来の時刻への進行要求、即ち、時刻t+1への時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3により転送されたデータD(t+1)をシミュレータ管理部B経由で受信する。
時点(3)の状況においては、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が「時刻進行要求中」の状態にあるので、シミュレータ管理部A,Bの時刻進行管理部2が、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻を求める(具体的には、シミュレータ管理部A,Bともt+1を求める)。
シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行要求先時刻がt+1と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信する。
Next, at time (3), when the
The simulators B1 and B2 receive the data D (t + 1) transferred by the simulation
In the situation at the time point (3), all the simulators A1, A2, B1, B2 and the simulation
The time
ここで、上記のように、時刻進行許可を送信しても良い理由を説明する。
まず、時点(3)の状況において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、時刻進行要求先時刻の最小時刻であるt+1以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3に関し、時刻t+1以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、時刻進行要求先時刻がt+1と等しいシミュレータ及びシミュレーションシステム接続部3が、要求通りに時刻t+1に時刻進行しても、シミュレータA1,A2,B1,B2、もしくは、シミュレーションシステム接続部3が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+1への時刻進行許可を送信してもよい。
このため、時点(4)において、シミュレータA1,B1及びシミュレーションシステム接続部3は、論理時刻をt+1に時刻を進める。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time point (3), all the simulators A1, A2, B1, B2 and the simulation
Therefore, with respect to the simulators A1, A2, B1, B2 and the simulation
Therefore, even if the simulator / simulation
For this reason, at the time (4), the simulators A1 and B1 and the simulation
次に、時点(5)において、シミュレータA1,B1がシミュレーションを実施する。ただし、ここでは、説明の簡単化のため、シミュレーション結果に対応するデータの送信は行われないものとする。
その後、シミュレータA1,B1は、時刻t+2への時刻進行要求をシミュレータ管理部A,Bに送信する。
時点(5)の状況においては、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあるので、シミュレーションシステム接続部3は、時点(6)において、自らも時刻t+2への時刻進行要求をシミュレータ管理部A,Bに送信する。
Next, at time (5), the simulators A1 and B1 perform simulation. However, here, for simplification of explanation, it is assumed that data corresponding to the simulation result is not transmitted.
Thereafter, the simulators A1 and B1 transmit a time advance request for time t + 2 to the simulator management units A and B.
In the situation at the time point (5), all the simulators A1, A2, B1, B2 are in the “time progress requesting” state, so the simulation
時点(6)において、シミュレーションシステム接続部3が時刻t+2への時刻進行要求をシミュレータ管理部A,Bに送信したのち、シミュレータ管理部A,Bから全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3に対して時刻進行許可が出されると、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が論理時刻をt+2に時刻を進める。
At time (6), after the simulation
図5の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+1のデータが、シミュレータB1,B2において、論理時刻がt+1に進行する際、もしくは、論理時刻がt+1を越えて進行する際に配信されており、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
以上のように、所定の最小タイムステップに対して、各シミュレータのタイムステップが最小タイムステップの自然数倍で表されている場合、比較的小さな処理コストで、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
In the example of FIG. 5, as described above, the data of the time stamp t + 1 transmitted from the simulator A1 progresses when the logical time advances to t + 1 in the simulators B1 and B2, or the logical time advances beyond t + 1. It can be seen that there is no delay in data distribution across simulation systems.
As described above, when the time step of each simulator is expressed by a natural number multiple of the minimum time step with respect to the predetermined minimum time step, multiple simulations that do not cause data delay at a relatively small processing cost The system can be connected.
実施の形態3.
上記実施の形態1では、全てのシミュレータA1,A2,B1,B2のタイムステップが同一である場合について示したが、この実施の形態3では、シミュレータA1,A2,B1,B2のタイムステップについて、特に制約が設けられていない場合を説明する。
図6はシミュレータA1,A2,B1,B2のタイムステップについて特に制約が設けられていない場合のシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の具体的な処理の進行の例を示す説明図である。
In the first embodiment, the case where the time steps of all the simulators A1, A2, B1, and B2 are the same is shown. However, in the third embodiment, the time steps of the simulators A1, A2, B1, and B2 are as follows. A case where no restriction is particularly provided will be described.
FIG. 6 is a diagram illustrating an example of progress of specific processing of the simulators A1, A2, B1, and B2 and the simulation
シミュレーション装置の構成は図1と同じである。
ただし、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照し、全てのシミュレータA1,A2,B1,B2の状態が時刻進行要求中となった時点で、時刻進行要求先時刻の最小値を求め、さらに、各シミュレータ管理部A,Bに渡っての時刻進行要求先時刻最小値の最小値を求めて、シミュレーションシステム接続部3自身の次の時刻進行要求先時刻として時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行を許可する際、管理対象のシミュレータとシミュレーションシステム接続部3が時刻進行要求中の状態になった後、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻を求め、時刻進行要求先時刻がその最小時刻と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信する。
以下、具体的な処理の進行例を説明する。
The configuration of the simulation apparatus is the same as in FIG.
However, the
When the time
Hereinafter, a specific example of progress of processing will be described.
図6において、シミュレータA1,B1のタイムステップが“a”、シミュレータA2,B2のタイムステップが“b”であるものとする。
また、初期状態において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の論理時刻が“t”であるものとする。
In FIG. 6, it is assumed that the time steps of the simulators A1 and B1 are “a” and the time steps of the simulators A2 and B2 are “b”.
In the initial state, it is assumed that the logic times of the simulators A1, A2, B1, and B2 and the simulation
まず、時点(1)において、シミュレータA1,A2,B1,B2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+a付きのデータD(t+a)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,B1が、固有のタイムステップであるタイムステップ“a”分の未来への時刻進行要求をシミュレータ管理部A,Bにそれぞれ送信し、シミュレータA2,B2が、固有のタイムステップであるタイムステップ“b”分の未来への時刻進行要求をシミュレータ管理部A,Bにそれぞれ送信する。
First, at time (1), simulators A1, A2, B1, and B2 perform simulation at time t, and simulator A1 transmits data D (t + a) with time stamp t + a as data corresponding to the simulation result. And However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), simulators A1 and B1 transmit time advance requests to the future for time step “a”, which is a unique time step, to simulator management units A and B, respectively. , A time advance request for the time step “b”, which is a unique time step, is transmitted to the simulator management units A and B, respectively.
この際、シミュレータA2は、シミュレータ管理部A経由で、データD(t+a)を受信する。
また、シミュレーションシステム接続部3のデータ転送部5も、シミュレータ管理部A経由で、データD(t+a)を受信し、そのデータD(t+a)を速やかにシミュレータ管理部Bに転送する。
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、全てのシミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認する。
At this time, the simulator A2 receives the data D (t + a) via the simulator management unit A.
The
In the situation at time (2), all the simulators A1, A2, B1, and B2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time
Therefore, the
シミュレーションシステム接続部3の時刻管理部4は、上記のようにして、全シミュレータが「時刻進行要求中」の状態にあることを確認すると、自らの時刻進行要求先時刻を決めるために、シミュレータ管理部A,Bにおけるシミュレータの時刻進行要求先時刻の最小値を求める。
図6(2)の場合、シミュレータ管理部A,Bとも、時刻進行要求先時刻の最小値が、min(t+a、t+b)=t+aとなる。
その後、シミュレータ管理部A,Bに渡っての、時刻進行要求先時刻最小値の最小値を求めて、シミュレーションシステム接続部3自身の次の時刻進行要求先時刻とする。
図6(2)の場合、シミュレータ管理部A,Bに渡っての時刻進行要求先時刻最小値の最小値は、min(t+a、t+a)=t+aとなる。
When the
In the case of FIG. 6B, the minimum value of the time progress request destination time is min (t + a, t + b) = t + a in both the simulator management units A and B.
Thereafter, the minimum value of the time progress request destination time minimum value over the simulator management units A and B is obtained and set as the next time progress request destination time of the simulation
In the case of FIG. 6 (2), the minimum value of the time progress request destination time minimum values over the simulator management units A and B is min (t + a, t + a) = t + a.
したがって、時点(3)の状況において、シミュレーションシステム接続部3の時刻管理部4は、時刻t+aへの時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3により転送されたデータD(t+a)をシミュレータ管理部B経由で受信する。
時点(3)の状況においては、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が「時刻進行要求中」の状態にあるので、シミュレータ管理部A,Bの時刻進行管理部2が、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻を求める(具体的には、シミュレータ管理部A,Bともt+aを求める)。
シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行要求先時刻がt+aと等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信する。
Therefore, in the situation at the time point (3), the
The simulators B1 and B2 receive the data D (t + a) transferred by the simulation
In the situation at the time point (3), all the simulators A1, A2, B1, B2 and the simulation
The time
ここで、上記のように、時刻進行許可を送信しても良い理由を説明する。
まず、時点(3)の状況において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、時刻進行要求先時刻の最小時刻であるt+a以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3に関し、時刻t+a以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、時刻進行要求先時刻がt+aと等しいシミュレータ及びシミュレーションシステム接続部3が、要求通りに時刻t+aに時刻進行しても、シミュレータA1,A2,B1,B2、もしくは、シミュレーションシステム接続部3が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+aへの時刻進行許可を送信してもよい。
このため、時点(4)において、シミュレータA1,B1及びシミュレーションシステム接続部3は、論理時刻をt+aに時刻を進める。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation of time point (3), all the simulators A1, A2, B1, B2 and the simulation
Therefore, with respect to the simulators A1, A2, B1, B2 and the simulation
Therefore, even if the simulator and simulation
For this reason, at the time (4), the simulators A1 and B1 and the simulation
図6の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+aのデータが、シミュレータB1,B2において、論理時刻がt+aに進行する際、もしくは、論理時刻がt+aを越えて進行する際に配信されており、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
以上のように、各シミュレータのタイムステップに制約が設けられていない場合でも、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
In the example of FIG. 6, as described above, the data of the time stamp t + a transmitted from the simulator A1 progresses when the logical time advances to t + a in the simulators B1 and B2, or the logical time advances beyond t + a. It can be seen that there is no delay in data distribution across simulation systems.
As described above, even when there is no restriction on the time step of each simulator, it is possible to connect a plurality of simulation systems so that no data delay occurs.
実施の形態4.
図7はこの発明の実施の形態4によるシミュレーション装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
ネットワークCにはシミュレータC1,C2、シミュレータ管理部C及びシミュレーションシステム接続部3−2が接続されており、シミュレータC1,C2、シミュレータ管理部C、シミュレーションシステム接続部3−2及びネットワークCからシミュレーションシステムCが構成されている。
FIG. 7 is a block diagram showing a simulation apparatus according to
Simulators C1 and C2, simulator management unit C, and simulation system connection unit 3-2 are connected to network C, and simulation systems are connected from simulators C1 and C2, simulator management unit C, simulation system connection unit 3-2, and network C. C is configured.
シミュレータ管理部Cはデータ配信部1及び時刻進行管理部2から構成されており、ネットワークCに接続されているシミュレータC1,C2及びシミュレーションシステム接続部3−2の時刻進行を管理するとともに、例えば、シミュレータC1から送信されたデータをシミュレータC2及びシミュレーションシステム接続部3−2に配信し、また、シミュレータC1,C2及びシミュレーションシステム接続部3−2から時刻進行要求を受信した時点で、シミュレータC1,C2及びシミュレーションシステム接続部3−2の時刻進行を許可するなどの処理を実施する。
シミュレータ管理部Cのデータ配信部1は例えばシミュレータC1から送信されたデータをシミュレータC2及びシミュレーションシステム接続部3−2に配信し、シミュレーションシステム接続部3−2から転送されたデータをシミュレータC1,C2に配信するなどの処理を実施する。
シミュレータ管理部Cの時刻進行管理部2はシミュレータC1,C2及びシミュレーションシステム接続部3−2の時刻進行を管理する処理を実施する。
なお、シミュレータ管理部Cはシミュレータ管理手段を構成している。
The simulator management unit C includes a
The
The time
The simulator management unit C constitutes simulator management means.
シミュレーションシステム接続部3−1は時刻管理部4及びデータ転送部5から構成されており、例えば、シミュレータ管理部Aから配信されたデータを受信すると、そのデータをシミュレータ管理部Bに直ちに転送してから、全シミュレータが「時刻進行要求中」の状態になったことを確認後、時刻進行要求をシミュレータ管理部A,Bに送信するなどの処理を実施する。
シミュレーションシステム接続部3−1の時刻管理部4はシミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が時刻進行要求中であることを確認できた時点で、「担当範囲時刻進行要求メッセージ」を送信する。担当範囲時刻進行要求メッセージとは、各シミュレーションシステム接続部について、そのシミュレーションシステム接続部が属しているシミュレーションシステムに含まれる全てのシミュレータが時刻進行要求中になったことを示すメッセージである。担当範囲時刻進行要求メッセージの送信および、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信が完了すると、全シミュレータが「時刻進行要求中」の状態になったと判定することができる。このようにして全シミュレータが「時刻進行要求中」の状態になったと判定できたら、シミュレーションシステム接続部3−1の時刻管理部4は、全シミュレータの時刻進行要求先時刻を越えない範囲内での時刻進行要求をシミュレータ管理部A,Bに送信し、シミュレータ管理部A,Bにより時刻進行が許可されると、シミュレーションシステム接続部3−1の論理時刻を要求した時刻まで進める。
シミュレーションシステム接続部3−1のデータ転送部5は例えばシミュレータ管理部Aから配信されたデータを受信すると、そのデータをシミュレータ管理部Bに直ちに転送するなどの処理を実施する。
シミュレーションシステム接続部3−2は時刻管理部4及びデータ転送部5から構成されており、例えば、シミュレータ管理部Bから配信されたデータを受信すると、そのデータをシミュレータ管理部Cに直ちに転送してから、全シミュレータが「時刻進行要求中」の状態になったことを確認後、時刻進行要求をシミュレータ管理部B,Cに送信するなどの処理を実施する。
シミュレーションシステム接続部3−2の時刻管理部4はシミュレータ管理部B,Cの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータB1,B2,C1,C2が時刻進行要求中であることを確認できた時点で、担当範囲時刻進行要求メッセージを送信する。担当範囲時刻進行要求メッセージの送信および、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信が完了して、全シミュレータが「時刻進行要求中」の状態になったと判定できたら、シミュレーションシステム接続部3−2の時刻管理部4は、全シミュレータの時刻進行要求先時刻を越えない範囲内での時刻進行要求をシミュレータ管理部B,Cに送信し、シミュレータ管理部B,Cにより時刻進行が許可されると、シミュレーションシステム接続部3−2の論理時刻を要求した時刻まで進める。
シミュレーションシステム接続部3−2のデータ転送部5は例えばシミュレータ管理部Bから配信されたデータを受信すると、そのデータをシミュレータ管理部Cに直ちに転送するなどの処理を実施する。
なお、シミュレーションシステム接続部3−1,3−2はそれぞれネットワーク接続手段を構成している。
The simulation system connection unit 3-1 includes a
The
For example, when the
The simulation system connection unit 3-2 includes a
The
For example, when the
Each of the simulation system connection units 3-1 and 3-2 constitutes a network connection unit.
次に動作について説明する。
以下、シミュレーションシステムA,B,C間を跨ぐデータ配信について説明する。
例えば、シミュレータA1から送信されたデータは、シミュレータA1を管理対象とするシミュレータ管理部A経由で、速やかにシミュレーションシステム接続部3−1のデータ転送部5に受信される。
ミュレーションシステム接続部3−1のデータ転送部5は、受信したデータを送信元以外のシミュレータ管理部であるシミュレータ管理部Bに速やかに転送する。シミュレータ管理部Bはデータを受信すると、そのデータを速やかにシミュレーションシステム接続部3−2に送信する。
ミュレーションシステム接続部3−2のデータ転送部5は、受信したデータを速やかにシミュレータ管理部Cに転送する。
Next, the operation will be described.
Hereinafter, data distribution across the simulation systems A, B, and C will be described.
For example, the data transmitted from the simulator A1 is promptly received by the
The
The
シミュレータ管理部Bのデータ配信部1は、また、シミュレーションシステム接続部3−1から転送されたデータを受信すると、そのデータに付与されているタイムスタンプに応じた時刻に、そのデータをシミュレータB1,B2に送信する。
また、シミュレータ管理部Cのデータ配信部1は、ミュレーションシステム接続部3−2から転送されたデータを受信すると、そのデータに付与されているタイムスタンプに応じた時刻に、そのデータをシミュレータC1,C2に送信する。
したがって、データがシミュレーションシステム接続部3−1,3−2を経由する際に遅延が発生する問題は起こらない。
When the
Further, when the
Therefore, there is no problem that a delay occurs when data passes through the simulation system connection units 3-1 and 3-2.
また、シミュレータ管理部A,B,Cの時刻進行管理部2は、管理対象の全シミュレータとシミュレーションシステム接続部の状態が「時刻進行要求中」になった後に、「時刻進行要求先時刻が、同じシミュレーションシステムに属する他シミュレータ及びシミュレーションシステム接続部の時刻進行要求先時刻以下である」シミュレータおよびシミュレーションシステム接続部に対して時刻進行許可を送信する。
一方、シミュレーションシステム接続部3−1,3−2の時刻進行要求先時刻は、全シミュレータの時刻進行要求先時刻を越えないように設定されるため、結局、「時刻進行要求先時刻が、全シミュレータの時刻進行要求先時刻の最小値以下である」シミュレータおよびシミュレーションシステム接続部に対して時刻進行許可が与えられることになる。
In addition, the time
On the other hand, the time advance request destination times of the simulation system connection units 3-1 and 3-2 are set so as not to exceed the time advance request destination times of all the simulators. The time progress permission is given to the simulator and the simulation system connection section, which is equal to or less than the minimum time advance request destination time of the simulator.
したがって、時刻進行許可が与えられるシミュレータについては、「時刻進行要求先時刻以下のタイムスタンプ付きデータの配信が全て完了している」ことが保証される。つまり、シミュレータが過去のタイムスタンプ付きデータを受信するという現象は生じ得ないので、シミュレーションに不整合が生じない。
よって、図7のシミュレーション装置を利用することにより、複数のシミュレーションシステムA,B,C間を跨るタイムスタンプ付きデータの配信を不整合が生じないように、かつ、遅延が発生しないように実施することができる。
Therefore, it is assured that “simultaneous delivery of data with a time stamp equal to or less than the time advance request destination time has been completed” for the simulator to which time advance permission is given. That is, the phenomenon that the simulator receives data with a past time stamp cannot occur, so that inconsistency does not occur in the simulation.
Therefore, by using the simulation apparatus of FIG. 7, the delivery of data with time stamps across a plurality of simulation systems A, B, and C is performed so that no inconsistency occurs and no delay occurs. be able to.
以下、全シミュレータのタイムステップが全て同一である場合を考える。
この場合、シミュレーションシステム接続部3−1,3−2の時刻管理部4及びシミュレータ管理部A,B,Cの時刻進行管理部2の動作を以下のように具体化することができる。
シミュレーションシステム接続部3−1,3−2の時刻管理部4は、時刻進行要求の際、シミュレータA1,A2,B1,B2,C1,C2と同一のタイムステップだけ未来の時刻への時刻進行要求を送信する。
シミュレータ管理部A,B,Cの時刻進行管理部2は、時刻進行許可の際、管理対象の全シミュレータとシミュレーションシステム接続部が時刻進行要求中となった後に、管理対象の全シミュレータ及びシミュレーションシステム接続部に対して時刻進行許可を送信する。
Hereinafter, a case where all simulator time steps are the same will be considered.
In this case, the operations of the
The
The
図8は全シミュレータのタイムステップが同一である場合の全シミュレータ及びシミュレーションシステム接続部3−1,3−2の具体的な処理の進行の例を示す説明図である。
ただし、図8において、シミュレータA1,A2,B1,B2,C1,C2のタイムステップは全て共通で“1”、また、初期状態において、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2の論理時刻は“t”であるとする。この場合、上述のように、シミュレーションシステム接続部3−1,3−2のタイムステップも“1”で固定となる。
「Msg」は担当範囲時刻進行要求メッセージを表している。
図8においては、シミュレータA2,B2,C2に関する記述は、説明の簡単化のために省略している。
FIG. 8 is an explanatory diagram showing an example of progress of specific processing of all simulators and simulation system connection units 3-1 and 3-2 when the time steps of all simulators are the same.
However, in FIG. 8, the time steps of the simulators A1, A2, B1, B2, C1, and C2 are all “1”, and in the initial state, the simulators A1, A2, B1, B2, C1, C2, and the simulation system It is assumed that the logical time of the connection units 3-1 and 3-2 is “t”. In this case, as described above, the time steps of the simulation system connection units 3-1 and 3-2 are also fixed to “1”.
“Msg” represents the assigned range time progress request message.
In FIG. 8, descriptions regarding the simulators A2, B2, and C2 are omitted for simplicity of explanation.
まず、時点(1)において、シミュレータA1,A2,B1,B2,C1,C2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+1付きのデータD(t+1)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,A2が、時刻t+1への時刻進行要求をシミュレータ管理部Aに送信し、シミュレータB1,B2が、時刻t+1への時刻進行要求をシミュレータ管理部Bに送信し、シミュレータC1,C2が、時刻t+1への時刻進行要求をシミュレータ管理部Cに送信する。
この際、シミュレータA2は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信する。
また、シミュレーションシステム接続部3−1のデータ転送部5は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信し、そのデータD(t+1)を速やかにシミュレータ管理部Bに転送する。
First, at time point (1), simulators A1, A2, B1, B2, C1, and C2 perform simulation at time t, and simulator A1 has data D (t + 1) with time stamp t + 1 as data corresponding to the simulation result. Shall be sent. However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), simulators A1 and A2 transmit a time advance request to time t + 1 to simulator management unit A, and simulators B1 and B2 transmit a time advance request to time t + 1 to simulator management unit B. Then, the simulators C1 and C2 transmit a time advance request to time t + 1 to the simulator management unit C.
At this time, the simulator A2 receives the data D (t + 1) transmitted from the simulator A1 via the simulator management unit A.
The
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持され、シミュレータC1,C2の時刻進行情報がシミュレータ管理部Cの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認する。
また、シミュレーションシステム接続部3−2の時刻管理部4は、シミュレータ管理部B,Cの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータB1,B2,C1,C2が「時刻進行要求中」の状態にあることを確認する。
In the situation at time (2), all the simulators A1, A2, B1, B2, C1, and C2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time of the simulator management unit A. Held in the
Therefore, the
The
時点(3)の状況において、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認すると、担当範囲時刻進行要求メッセージを送信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレータB1,B2,C1,C2が「時刻進行要求中」の状態にあることを確認すると、担当範囲時刻進行要求メッセージを送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3−1により転送されたデータD(t+1)をシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレーションシステム接続部3−1により転送されたデータD(t+1)をシミュレータ管理部B経由で受信し、そのデータD(t+1)を速やかにシミュレータ管理部Cに転送する。
When the
When the
The simulators B1 and B2 receive the data D (t + 1) transferred by the simulation system connection unit 3-1 via the simulator management unit B.
The
次の時点(4)において、シミュレータC1,C2は、シミュレーションシステム接続部3−2により転送されたデータD(t+1)をシミュレータ管理部C経由で受信する。
シミュレーションシステム接続部3−1の時刻管理部4は、シミュレーションシステム接続部3−2から送信された担当範囲時刻進行要求メッセージをシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレーションシステム接続部3−1から送信された担当範囲時刻進行要求メッセージをシミュレータ管理部B経由で受信する。
したがって、時点(4)の状況においては、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、担当範囲時刻進行要求メッセージの送信と、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信を完了していることになる。
よって、時点(4)で、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、全シミュレータが時刻進行要求中であると判定することができる。
At the next time point (4), the simulators C1 and C2 receive the data D (t + 1) transferred by the simulation system connection unit 3-2 via the simulator management unit C.
The
In addition, the
Therefore, in the situation of the time point (4), the
Therefore, at time (4), the
次に、時点(5)において、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、上記のようにして、全シミュレータが「時刻進行要求中」の状態にあることを確認すると、時刻t+1への時刻進行要求を直接接続されているシミュレータ管理部に送信する。
時点(5)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2が「時刻進行要求中」の状態にあるので、シミュレータ管理部Aの時刻進行管理部2が時刻進行許可をシミュレータA1,A2及びシミュレーションシステム接続部3−1に送信し、シミュレータ管理部Bの時刻進行管理部2が時刻進行許可をシミュレータB1,B2及びシミュレーションシステム接続部3−1,3−2に送信し、シミュレータ管理部Cの時刻進行管理部2が時刻進行許可をシミュレータC1,C2及びシミュレーションシステム接続部3−2に送信する。
Next, at time (5), when the
In the situation at time (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are in the “time progress requesting” state. The time
ここで、上記のように時刻進行許可を送信しても良い理由を説明する。
まず、時点(5)の状況において、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2は、時刻t+1以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2に関し、時刻t+1以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2が時刻t+1に時刻進行しても、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+1への時刻進行許可を出してもよい。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 transmit data with a time stamp of time t + 1 or less. You can't do it.
Therefore, regarding the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1, 3-2, it can be determined that the delivery of data with time stamps at time t + 1 or less has been completed. .
Therefore, even if the simulators A1, A2, B1, B2, C1, and C2 and the simulation system connection units 3-1 and 3-2 advance at
このため、時点(6)において、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2は、論理時刻をt+1に進める。
図8の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+1のデータが、シミュレータB1,B2,C1,C2において、論理時刻がt+1に進行する際に配信されており、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
以上のように、全シミュレータのタイムステップが全て同一である場合、小さな処理コストで、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
For this reason, at the time point (6), all the simulators A1, A2, B1, B2, C1, and C2 and the simulation system connection units 3-1 and 3-2 advance the logical time to t + 1.
In the example of FIG. 8, as described above, the data of the time stamp t + 1 transmitted from the simulator A1 is distributed when the logical time advances to t + 1 in the simulators B1, B2, C1, and C2, and the simulation system It can be seen that there is no delay in data distribution across the network.
As described above, when all simulator time steps are the same, it is possible to connect a plurality of simulation systems so that data delay does not occur at a small processing cost.
なお、この実施の形態4では、3つのシミュレーションシステムを連接する場合について示したが、4つ以上のシミュレーションシステムを連接するようにしてもよく、同様の効果を奏することができる。
また、この実施の形態4では、3つのシミュレーションシステムが、シミュレーションシステム接続部3−1,3−2を介して、特定のつながり方をしているものについて示したが(シミュレーションシステムA,B,Cが直列に接続されている)、これは一例に過ぎず、他のつながり方をしている場合でも、同様に適用することができる。
In the fourth embodiment, the case where three simulation systems are connected is shown. However, four or more simulation systems may be connected, and the same effect can be obtained.
In the fourth embodiment, the three simulation systems are shown as having a specific connection via the simulation system connection units 3-1, 3-2 (simulation systems A, B, C is connected in series), this is only an example and can be applied in the same way even when other connections are made.
実施の形態5.
上記実施の形態4では、全てのシミュレータA1,A2,B1,B2,C1,C2のタイムステップが全て同一である場合について示したが、この実施の形態5では、全てのシミュレータA1,A2,B1,B2,C1,C2のタイムステップが、最小タイムステップの自然数倍であるものについて説明する。
図9はシミュレータA1,A2,B1,B2,C1,C2のタイムステップが最小タイムステップの自然数倍である場合のシミュレータA1,B1,C1及びシミュレーションシステム接続部3−1,3−2の具体的な処理の進行の例を示す説明図である。
In the fourth embodiment, all the simulators A1, A2, B1, B2, C1, and C2 have the same time step. However, in the fifth embodiment, all the simulators A1, A2, and B1 are used. , B2, C1, and C2 will be described as being a natural number times the minimum time step.
FIG. 9 illustrates the simulators A1, B1, C1 and the simulation system connection units 3-1, 3-2 when the time steps of the simulators A1, A2, B1, B2, C1, C2 are natural number times the minimum time step. It is explanatory drawing which shows the example of progress of a typical process.
シミュレーション装置の構成は図7と同じである。
ただし、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、時刻進行を要求する際、最小タイムステップだけ未来の時刻への時刻進行要求を送信する。
シミュレータ管理部A,B,Cの時刻進行管理部2は、時刻進行を許可する際、管理対象の全シミュレータとシミュレーションシステム接続部が時刻進行要求中の状態になった後、管理対象のシミュレータ及びシミュレーションシステム接続部の時刻進行要求先時刻の最小時刻を求め、時刻進行要求先時刻がその最小時刻と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部に対して時刻進行許可を送信する。
以下、具体的な処理の進行例を説明する。
The configuration of the simulation apparatus is the same as in FIG.
However, when the
When the time
Hereinafter, a specific example of progress of processing will be described.
図9において、最小タイムステップが“1”、シミュレータA1,A2,C1,C2のタイムステップが“1”、シミュレータB1,B2のタイムステップが“2”であるものとする。
この場合、シミュレーションシステム接続部3−1,3−2のタイムステップは、最小タイムステップの“1”で固定となる。
また、初期状態において、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2の論理時刻が“t”であるものとする。
図9においては、シミュレータA2,B2,C2に関する記述は、説明の簡単化のために省略している。
In FIG. 9, it is assumed that the minimum time step is “1”, the time steps of the simulators A1, A2, C1, and C2 are “1”, and the time steps of the simulators B1 and B2 are “2”.
In this case, the time step of the simulation system connection units 3-1 and 3-2 is fixed at the minimum time step “1”.
In the initial state, it is assumed that the logic times of the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are “t”.
In FIG. 9, descriptions regarding the simulators A2, B2, and C2 are omitted for simplicity of explanation.
まず、時点(1)において、シミュレータA1,A2,B1,B2,C1,C2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+1付きのデータD(t+1)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,A2が、固有のタイムステップであるタイムステップ“1”分の未来への時刻進行要求をシミュレータ管理部Aに送信し、シミュレータC1,C2が、固有のタイムステップであるタイムステップ“1”分の未来への時刻進行要求をシミュレータ管理部Cに送信し、シミュレータB1,B2が、固有のタイムステップであるタイムステップ“2”分の未来への時刻進行要求をシミュレータ管理部Bに送信する。
この際、シミュレータA2は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信する。
また、シミュレーションシステム接続部3−1のデータ転送部5は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信し、そのデータD(t+1)を速やかにシミュレータ管理部Bに転送する。
First, at time point (1), simulators A1, A2, B1, B2, C1, and C2 perform simulation at time t, and simulator A1 has data D (t + 1) with time stamp t + 1 as data corresponding to the simulation result. Shall be sent. However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), the simulators A1 and A2 transmit a time advance request for the time step “1”, which is a unique time step, to the simulator management unit A, and the simulators C1 and C2 A time advance request for the time step “1” that is the time step is transmitted to the simulator management unit C, and the simulators B1 and B2 advance the time to the future for the time step “2” that is a unique time step. The request is transmitted to the simulator management unit B.
At this time, the simulator A2 receives the data D (t + 1) transmitted from the simulator A1 via the simulator management unit A.
The
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持され、シミュレータC1,C2の時刻進行情報がシミュレータ管理部Cの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認する。
また、シミュレーションシステム接続部3−2の時刻管理部4は、シミュレータ管理部B,Cの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータB1,B2,C1,C2が「時刻進行要求中」の状態にあることを確認する。
In the situation at time (2), all the simulators A1, A2, B1, B2, C1, and C2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time of the simulator management unit A. Held in the
Therefore, the
The
時点(3)の状況において、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認すると、担当範囲時刻進行要求メッセージを送信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレータB1,B2,C1,C2が「時刻進行要求中」の状態にあることを確認すると、担当範囲時刻進行要求メッセージを送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3−1により転送されたデータD(t+1)をシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレーションシステム接続部3−1により転送されたデータD(t+1)をシミュレータ管理部B経由で受信し、そのデータD(t+1)を速やかにシミュレータ管理部Cに転送する。
When the
When the
The simulators B1 and B2 receive the data D (t + 1) transferred by the simulation system connection unit 3-1 via the simulator management unit B.
The
次の時点(4)において、シミュレータC1,C2は、シミュレーションシステム接続部3−2により転送されたデータD(t+1)をシミュレータ管理部C経由で受信する。
シミュレーションシステム接続部3−1の時刻管理部4は、シミュレーションシステム接続部3−2から送信された担当範囲時刻進行要求メッセージをシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレーションシステム接続部3−1から送信された担当範囲時刻進行要求メッセージをシミュレータ管理部B経由で受信する。
したがって、時点(4)の状況においては、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、担当範囲時刻進行要求メッセージの送信と、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信を完了していることになる。
よって、時点(4)で、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、全シミュレータが時刻進行要求中であると判定することができる。
At the next time point (4), the simulators C1 and C2 receive the data D (t + 1) transferred by the simulation system connection unit 3-2 via the simulator management unit C.
The
In addition, the
Therefore, in the situation of the time point (4), the
Therefore, at time (4), the
次に、時点(5)において、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、上記のようにして、全シミュレータが「時刻進行要求中」の状態にあることを確認すると、最小タイムステップだけ未来の時刻への進行要求、即ち、時刻t+1への時刻進行要求を直接接続されているシミュレータ管理部に送信する。
時点(5)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2が「時刻進行要求中」の状態にあるので、シミュレータ管理部A,B,Cの時刻進行管理部2が、管理対象のシミュレータ及びシミュレーションシステム接続部の時刻進行要求先時刻の最小時刻を求める(具体的には、シミュレータ管理部A,B,Cともt+1を求める)。
シミュレータ管理部A,B,Cの時刻進行管理部2は、時刻進行要求先時刻がt+1と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部に対して時刻進行許可を送信する。
Next, at time (5), when the
In the situation at time (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are in the “time progress requesting” state. The time
The time
ここで、上記のように、時刻進行許可を送信しても良い理由を説明する。
まず、時点(5)の状況において、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2は、時刻進行要求先時刻の最小時刻であるt+1以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2に関し、時刻t+1以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、時刻進行要求先時刻がt+1と等しいシミュレータ及びシミュレーションシステム接続部3−1,3−2が、要求通りに時刻t+1に時刻進行しても、シミュレータA1,A2,B1,B2,C1,C2、もしくは、シミュレーションシステム接続部3−1,3−2が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+1への時刻進行許可を送信してもよい。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are t + 1 or less which is the minimum time of the time advance request destination time. The data with the time stamp cannot be sent.
Therefore, regarding the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1, 3-2, it can be determined that the delivery of data with time stamps at time t + 1 or less has been completed. .
Therefore, even if the simulator and simulation system connection units 3-1 and 3-2 whose time advance request destination time is equal to t + 1 advance at time t + 1 as requested, simulators A1, A2, B1, B2, and C1 , C2 or the simulation system connection units 3-1 and 3-2 cannot receive the past time-stamped data, so that the time advance permission to time t + 1 may be transmitted.
このため、時点(6)において、シミュレータA1,A2,C1,C2及びシミュレーションシステム接続部3−1,3−2は、論理時刻をt+1に進める。
図9の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+1のデータが、シミュレータB1,B2,C1,C2において、論理時刻がt+1に進行する際、もしくは、t+1を越えて進行する際に配信されており、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
以上のように、所定の最小タイムステップに対して、各シミュレータのタイムステップが最小タイムステップの自然数倍で表されている場合、比較的小さな処理コストで、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
For this reason, at the time point (6), the simulators A1, A2, C1, and C2 and the simulation system connection units 3-1 and 3-2 advance the logical time to t + 1.
In the example of FIG. 9, as described above, the data of the time stamp t + 1 transmitted from the simulator A1 progresses when the logical time advances to t + 1 or exceeds t + 1 in the simulators B1, B2, C1, and C2. It can be seen that there is no delay in data distribution across simulation systems.
As described above, when the time step of each simulator is expressed by a natural number multiple of the minimum time step with respect to the predetermined minimum time step, multiple simulations that do not cause data delay at a relatively small processing cost The system can be connected.
実施の形態6.
上記実施の形態4では、全てのシミュレータA1,A2,B1,B2,C1,C2のタイムステップが全て同一である場合について示したが、この実施の形態6では、シミュレータA1,A2,B1,B2,C1,C2のタイムステップについて、特に制約が設けられていない場合を説明する。
図10はシミュレータA1,A2,B1,B2,C1,C2のタイムステップについて特に制約が設けられていない場合のシミュレータA1,B1,C1及びシミュレーションシステム接続部3−1,3−2の具体的な処理の進行の例を示す説明図である。
In the fourth embodiment, the case where all the simulators A1, A2, B1, B2, C1, and C2 have the same time step is shown, but in the sixth embodiment, the simulators A1, A2, B1, and B2 are shown. , C1 and C2 will be described in the case where no particular restriction is provided.
FIG. 10 shows the specifics of the simulators A1, B1, C1 and the simulation system connection units 3-1, 3-2 when there are no particular restrictions on the time steps of the simulators A1, A2, B1, B2, C1, C2. It is explanatory drawing which shows the example of progress of a process.
シミュレーション装置の構成は図7と同じである。
ただし、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、直接接続されている各シミュレータ管理部に保持されている時刻進行情報を参照し、そこに記載のある全てのシミュレータが時刻進行要求中となった時点で、時刻進行要求先時刻の最小値を求める。そして、さらに、直接接続されている各シミュレータ管理部に渡っての、時刻進行要求先時刻最小値の最小値を求めて担当範囲最小時刻とし、担当範囲最小時刻を含む担当範囲時刻進行要求メッセージをシミュレータ管理部経由で、他のシミュレーションシステム接続部に送信する。担当範囲時刻進行要求メッセージの送信と、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信後に、自分が送信した担当範囲時刻進行要求メッセージ、また、受信した全ての担当範囲時刻進行要求メッセージに含まれる担当範囲最小時刻の最小時刻を次の時刻進行要求先時刻として、直接接続されているシミュレータ管理部に時刻進行要求を送信する。
シミュレータ管理部A,B,Cの時刻進行管理部2は、時刻進行を許可する際、管理対象の全シミュレータとシミュレーションシステム接続部が時刻進行要求中となった後、時刻進行要求先時刻の最小時刻を求め、時刻進行要求先時刻がその最小時刻と等しいという条件を満たす管理対象のシミュレータおよびシミュレーションシステム接続部に対して時刻進行許可を送信する。
以下、具体的な処理の進行例を説明する。
The configuration of the simulation apparatus is the same as in FIG.
However, the
When the time
Hereinafter, a specific example of progress of processing will be described.
図10において、シミュレータA1,A2のタイムステップが“b”、シミュレータB1,B2のタイムステップが“c”、シミュレータC1,C2のタイムステップが“a”であるものとする。
また、初期状態において、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2の論理時刻が“t”であるものとする。
「Msg[t+a]」は、担当範囲最小時刻が“t+a”である担当範囲時刻進行要求メッセージを表している。
図10においては、シミュレータA2,B2,C2に関する記述は、説明の簡単化のために省略している。
In FIG. 10, it is assumed that the time steps of the simulators A1 and A2 are “b”, the time steps of the simulators B1 and B2 are “c”, and the time steps of the simulators C1 and C2 are “a”.
In the initial state, it is assumed that the logic times of the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are “t”.
“Msg [t + a]” represents an assigned range time progress request message whose assigned range minimum time is “t + a”.
In FIG. 10, descriptions regarding the simulators A2, B2, and C2 are omitted for simplification of description.
まず、時点(1)において、シミュレータA1,A2,B1,B2,C1,C2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、タイムスタンプt+b付きのデータD(t+b)を送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。
その後、時点(2)において、シミュレータA1,A2が、固有のタイムステップであるタイムステップ“b”分の未来への時刻進行要求をシミュレータ管理部Aに送信し、シミュレータB1,B2が、固有のタイムステップであるタイムステップ“c”分の未来への時刻進行要求をシミュレータ管理部Bに送信し、シミュレータC1,C2が、固有のタイムステップであるタイムステップ“a”分の未来への時刻進行要求をシミュレータ管理部Cに送信する。
First, at time point (1), simulators A1, A2, B1, B2, C1, and C2 perform simulation at time t, and simulator A1 has data D (t + b) with time stamp t + b as data corresponding to the simulation result. Shall be sent. However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
Thereafter, at time point (2), the simulators A1 and A2 transmit a time advance request for the time step “b”, which is a unique time step, to the simulator management unit A, and the simulators B1 and B2 A time advance request for the time step “c” that is a time step is transmitted to the simulator management unit B, and the simulators C1 and C2 advance the time to the future for the time step “a” that is a unique time step. The request is transmitted to the simulator management unit C.
この際、シミュレータA2は、シミュレータA1から送信されたデータD(t+b)をシミュレータ管理部A経由で受信する。
また、シミュレーションシステム接続部3−1のデータ転送部5は、シミュレータ管理部A経由で、データD(t+b)を受信し、そのデータD(t+b)を速やかにシミュレータ管理部Bに転送する。
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2が「時刻進行要求中」の状態にあり、シミュレータA1,A2の時刻進行情報がシミュレータ管理部Aの時刻進行管理部2に保持され、シミュレータB1,B2の時刻進行情報がシミュレータ管理部Bの時刻進行管理部2に保持され、シミュレータC1,C2の時刻進行情報がシミュレータ管理部Cの時刻進行管理部2に保持されている。
そこで、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレータ管理部A,Bの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認する。
また、シミュレーションシステム接続部3−2の時刻管理部4は、シミュレータ管理部B,Cの時刻進行管理部2に保持されている時刻進行情報を参照して、シミュレータB1,B2,C1,C2が「時刻進行要求中」の状態にあることを確認する。
At this time, the simulator A2 receives the data D (t + b) transmitted from the simulator A1 via the simulator management unit A.
Further, the
In the situation at time (2), all the simulators A1, A2, B1, B2, C1, and C2 are in the “time progress requesting” state, and the time progress information of the simulators A1 and A2 is the time of the simulator management unit A. Held in the
Therefore, the
The
シミュレーションシステム接続部3−1の時刻管理部4は、上記のようにして、シミュレータA1,A2,B1,B2が「時刻進行要求中」の状態にあることを確認すると、その旨を表す担当範囲時刻進行要求メッセージを送信することになる。
その際、担当範囲時刻進行要求メッセージには担当範囲最小時刻を含める。
ここで,担当範囲最小時刻とは、前述のように、シミュレーションシステム接続部に直接接続されているシミュレータ管理部が管理しているシミュレータの時刻進行要求先時刻の最小値である。
図10(2)のシミュレーションシステム接続部3−1の場合、担当範囲最小時刻は、min(t+b、t+c)=t+bとなる。また、シミュレーションシステム接続部3−2の場合、担当範囲最小時刻は、min(t+c、t+a)=t+aとなる。
When the
At that time, the assigned range minimum time is included in the assigned range time progress request message.
Here, as described above, the assigned range minimum time is the minimum value of the time advance request destination time of the simulator managed by the simulator management unit directly connected to the simulation system connection unit.
In the case of the simulation system connection unit 3-1 in FIG. 10B, the assigned range minimum time is min (t + b, t + c) = t + b. In the case of the simulation system connection unit 3-2, the assigned range minimum time is min (t + c, t + a) = t + a.
時点(3)において、シミュレーションシステム接続部3−1は、担当範囲時刻進行要求メッセージ(担当範囲最小時刻:t+b)を送信する。
また、シミュレーションシステム接続部3−2は、担当範囲時刻進行要求メッセージ(担当範囲最小時刻:t+a)を送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3−1により転送されたデータD(t+b)をシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部4も、シミュレーションシステム接続部3−1により転送されたデータD(t+b)をシミュレータ管理部B経由で受信し、そのデータD(t+b)を速やかにシミュレータ管理部Cに転送する。
At time (3), the simulation system connection unit 3-1 transmits a charge range time progress request message (minimum range of charge range: t + b).
In addition, the simulation system connection unit 3-2 transmits an assigned range time progress request message (minimum assigned range time: t + a).
The simulators B1 and B2 receive the data D (t + b) transferred by the simulation system connection unit 3-1 via the simulator management unit B.
The
次の時点(4)において、シミュレーションシステム接続部3−1の時刻管理部4は、シミュレーションシステム接続部3−2から送信された担当範囲時刻進行要求メッセージ(担当範囲最小時刻:t+a)をシミュレータ管理部B経由で受信する。
また、シミュレーションシステム接続部3−2の時刻管理部も、シミュレーションシステム接続部3−1から送信された担当範囲時刻進行要求メッセージ(担当範囲最小時刻:t+b)をシミュレータ管理部B経由で受信する。
したがって、時点(4)の状況においては、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、担当範囲時刻進行要求メッセージの送信と、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージの受信を完了していることになる。
よって、時点(4)で、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、全シミュレータが時刻進行要求中であると判定することができる。
At the next time point (4), the
In addition, the time management unit of the simulation system connection unit 3-2 also receives the assigned range time progress request message (the assigned range minimum time: t + b) transmitted from the simulation system connection unit 3-1 via the simulator management unit B.
Therefore, in the situation of the time point (4), the
Therefore, at time (4), the
次に、時点(5)において、シミュレーションシステム接続部3−1,3−2の時刻管理部4は、時刻進行要求を送信する。
ここで、シミュレーションシステム接続部3−1,3−2の時刻進行要求先時刻は、自分が送信した担当範囲時刻進行要求メッセージに含まれる担当範囲最小時刻、また、自分以外の全シミュレーションシステム接続部からの担当範囲時刻進行要求メッセージに含まれる担当範囲最小時刻のうち、最小の値として決定される。この値は、全シミュレータの時刻進行要求先時刻の最小値となっている。
図10(5)の場合、シミュレーションシステム接続部3−1,3−2の時刻進行要求先時刻は、ともにmin(t+a、t+b)=t+aとなる。
Next, at the time (5), the
Here, the time advance request destination time of the simulation system connection units 3-1 and 3-2 is the minimum assigned range time included in the assigned range time progress request message transmitted by the simulation system connection unit 3-1, 3-2. Is determined as the minimum value of the minimum assigned time included in the assigned range time progress request message. This value is the minimum value of the time progress request destination time of all simulators.
In the case of FIG. 10 (5), the time advance request destination times of the simulation system connection units 3-1 and 3-2 are both min (t + a, t + b) = t + a.
したがって、時点(5)の状況においては、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2が「時刻進行要求中」の状態にあるので、シミュレータ管理部A,B,Cの時刻進行管理部2が、管理対象のシミュレータ及びシミュレーションシステム接続部の時刻進行要求先時刻の最小時刻を求める(具体的には、シミュレータ管理部A,B,Cともt+aを求める)。
シミュレータ管理部A,B,Cの時刻進行管理部2は、時刻進行要求先時刻がt+aと等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部に対して時刻進行許可を送信する。
Therefore, in the situation at the time point (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are in the “time progress requesting” state. The time
The time
ここで、上記のように、時刻進行許可を送信しても良い理由を説明する。
まず、時点(5)の状況において、全てのシミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2は、時刻進行要求先時刻の最小時刻であるt+a以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2,C1,C2及びシミュレーションシステム接続部3−1,3−2に関し、時刻t+a以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、時刻進行要求先時刻がt+aと等しいシミュレータ及びシミュレーションシステム接続部3−1,3−2が、要求通りに時刻t+aに時刻進行しても、シミュレータA1,A2,B1,B2,C1,C2、もしくは、シミュレーションシステム接続部3−1,3−2が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+aへの時刻進行許可を送信してもよい。
このため、時点(6)において、シミュレータC1,C2及びシミュレーションシステム接続部3−1,3−2は、論理時刻をt+aに時刻を進める。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time (5), all the simulators A1, A2, B1, B2, C1, C2 and the simulation system connection units 3-1 and 3-2 are equal to or less than t + a which is the minimum time of the time advance request destination time. The data with the time stamp cannot be sent.
Therefore, regarding the simulators A1, A2, B1, B2, C1, and C2 and the simulation system connection units 3-1 and 3-2, it can be determined that the delivery of data with a time stamp of time t + a or less has been completed. .
Therefore, even if the simulator and simulation system connection units 3-1 and 3-2 whose time advance request destination time is equal to t + a advance at time t + a as requested, simulators A1, A2, B1, B2, and C1 , C2 or the simulation system connection units 3-1 and 3-2 may not receive the past time-stamped data, so that the time advance permission to time t + a may be transmitted.
For this reason, at the time (6), the simulators C1 and C2 and the simulation system connection units 3-1 and 3-2 advance the logical time to t + a.
図10の例では、上述したように、シミュレータA1から送信されたタイムスタンプt+bのデータが、シミュレータB1,B2において、論理時刻がt+bを越えての時刻進行を行う際に配信される。
また、図10では示していないが、シミュレータC1,C2も、論理時刻がt+bを越えての時刻進行を行う際(具体的には、t+2*aに時刻進行する際)に、シミュレータA1から送信されたタイムスタンプt+bのデータを受信することになる。従って、シミュレーションシステムを跨ぐデータ配信においても遅延が発生していないことが分かる。
以上のように、各シミュレータのタイムステップに制約が設けられていない場合でも、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
In the example of FIG. 10, as described above, the data of the time stamp t + b transmitted from the simulator A1 is distributed when the time progress with the logical time exceeding t + b is performed in the simulators B1 and B2.
Although not shown in FIG. 10, the simulators C1 and C2 also transmit from the simulator A1 when the time advances with the logical time exceeding t + b (specifically, when the time advances to t + 2 * a). The received data of time stamp t + b is received. Therefore, it can be seen that there is no delay in data distribution across simulation systems.
As described above, even when there is no restriction on the time step of each simulator, it is possible to connect a plurality of simulation systems so that no data delay occurs.
実施の形態7.
上記実施の形態1では、シミュレーションシステム接続部3のタイムステップがシミュレータA1,A2,B1,B2のタイムステップと同じである場合について示したが、この実施の形態7では、シミュレーションシステム接続部3のタイムステップをシミュレータA1,A2,B1,B2のタイムステップより小さく設定することにより、課題を解決する方法について説明する。
図11はシミュレーションシステム接続部3のタイムステップがシミュレータA1,A2,B1,B2のタイムステップより小さい場合のシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の具体的な処理の進行の例を示す説明図である。
Embodiment 7 FIG.
In the first embodiment, the case where the time step of the simulation
FIG. 11 shows an example of progress of specific processing of the simulators A1, A2, B1, and B2 and the simulation
シミュレーション装置の構成は図1と同じである。
ただし、シミュレータ管理部A,Bのデータ配信部1は、管理対象のシミュレータ及びシミュレーションシステム接続部3からデータを受信すると、そのデータを管理対象の他シミュレータ及びシミュレーションシステム接続部3に対して、付与されたタイムスタンプに応じた時刻に送信する。
シミュレーションシステム接続部3の時刻管理部4は、予め全てのシミュレータA1,A2,B1,B2のタイムステップの最小値よりも小さな値をタイムステップと定めておき、シミュレータ管理部A,Bから受信したデータの他のシミュレータ管理部B,Aへの送信を完了した時点で、各シミュレータ管理部A,Bに対して、上記タイムステップだけ未来の時刻への時刻進行要求を送信する。
シミュレーションシステム接続部3のデータ転送部5は、シミュレータ管理部A,Bから受信したデータを、時刻進行後に、データに過去のタイムスタンプが付いている場合は、現在時刻の微小時間後のタイムスタンプを付け直した後に、送信元以外のシミュレータ管理部に向けて送信する。
The configuration of the simulation apparatus is the same as in FIG.
However, when the
The
The
また、シミュレータA1,A2,B1,B2は、データを送信する際、そのタイムスタンプを「現在時刻+k*タイムステップ+微小時間」(kは整数)で得られる値として設定する。例えば、1タイムステップ後の状態を表すデータを送信する場合(本来ならば、タイムスタンプを「現在時刻+タイムステップ」とする場合)、k=0とし、この場合のタイムスタンプは「現在時刻+微小時間」となる。
また、2タイムステップ後の状態を表すデータを送信する場合(本来ならば、タイムスタンプを「現在時刻+2*タイムステップ」とする場合)、k=1とし、この場合のタイムスタンプは「現在時刻+タイムステップ+微小時間」となる。
つまり、この実施の形態7では、データのタイムスタンプを任意に設定することができない。したがって、タイムスタンプの精度は、シミュレータA1,A2,B1,B2のタイムステップ程度と言うことになる。
以下、具体的な処理の進行例を説明する。
Further, when transmitting data, the simulators A1, A2, B1, and B2 set the time stamp as a value obtained by “current time + k * time step + minute time” (k is an integer). For example, when data representing a state after one time step is transmitted (originally, when the time stamp is “current time + time step”), k = 0 is set, and the time stamp in this case is “current time + Minute time ".
Also, when data representing the state after two time steps is transmitted (originally, the time stamp is “current time + 2 * time step”), k = 1, and the time stamp in this case is “current time” + Time step + minute time ".
That is, in the seventh embodiment, it is not possible to arbitrarily set a data time stamp. Therefore, the accuracy of the time stamp is about the time step of the simulators A1, A2, B1, and B2.
Hereinafter, a specific example of progress of processing will be described.
図11において、シミュレータA1,A2,B1,B2のタイムステップは全て共通で“4”、また、初期状態において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3の論理時刻は“t”であるとする。
シミュレーションシステム接続部3の時刻管理部4は、「全てのシミュレータA1,A2,B1,B2のタイムステップの最小値よりも小さな値」として“2”を選択し、タイムステップとして定めるものとする。
また、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3において、データ送信の際に指定するタイムスタンプに関し、上記の「微小時間」として“1”を設定するものとする。
In FIG. 11, the time steps of the simulators A1, A2, B1, and B2 are all “4”, and in the initial state, the logical times of the simulators A1, A2, B1, and B2 and the simulation
The
In the simulators A1, A2, B1, B2 and the simulation
まず、時点(1)において、シミュレータA1,A2,B1,B2が時刻tにおけるシミュレーションを実施し、シミュレータA1がシミュレーション結果に対応するデータとして、1タイムステップ後(時刻t+4)の状態を表すデータに、タイムスタンプt+1を付与して送信するものとする。ただし、説明の簡単化のため、シミュレータA1以外のシミュレータは、シミュレーション結果に対応するデータの送信を行わないものとする。 First, at time point (1), the simulators A1, A2, B1, and B2 perform simulation at time t, and the simulator A1 converts the data corresponding to the simulation result into data representing the state after one time step (time t + 4). Assume that a time stamp t + 1 is given and transmitted. However, for simplification of explanation, it is assumed that simulators other than the simulator A1 do not transmit data corresponding to the simulation result.
その後、時点(2)において、シミュレータA1,A2が、時刻t+4への時刻進行要求をシミュレータ管理部Aに送信し、シミュレータB1,B2が、時刻t+4への時刻進行要求をシミュレータ管理部Bに送信する。
また、シミュレーションシステム接続部3の時刻管理部4が、時刻t+2への時刻進行要求をシミュレータ管理部A,Bに送信する。
この際、シミュレータA2は、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信する。
また、シミュレーションシステム接続部3のデータ転送部5も、シミュレータA1から送信されたデータD(t+1)をシミュレータ管理部A経由で受信する。
Thereafter, at time point (2), simulators A1 and A2 transmit a time advance request to time t + 4 to simulator management unit A, and simulators B1 and B2 transmit a time advance request to time t + 4 to simulator management unit B. To do.
In addition, the
At this time, the simulator A2 receives the data D (t + 1) transmitted from the simulator A1 via the simulator management unit A.
The
時点(2)の状況においては、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が「時刻進行要求中」の状態にある。
そこで、シミュレータ管理部A,Bの時刻進行管理部2は、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻(具体的には、t+2)を求める。
そして、シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行要求先時刻がt+2と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信することになる。
In the situation at the time point (2), all the simulators A1, A2, B1, B2 and the simulation
Therefore, the time
Then, the time
ここで、上記のように時刻進行許可を送信しても良い理由を説明する。
まず、時点(2)の状況において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、時刻進行要求先時刻の最小時刻であるt+2以下のタイムスタンプの付いたデータを送信することができない状態にある。
したがって、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3に関し、時刻t+2以下のタイムスタンプ付きのデータの配信が完了していると判定することができる。
よって、もし、時刻進行要求先時刻がt+2と等しいシミュレータ及びシミュレーションシステム接続部3が、要求通りに時刻t+2に時刻進行しても、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が過去のタイムスタンプ付きのデータを受信する状況が生じ得ないので、時刻t+2への時刻進行許可を出してもよい。
Here, the reason why the time advance permission may be transmitted as described above will be described.
First, in the situation at time (2), all the simulators A1, A2, B1, B2 and the simulation
Therefore, with respect to the simulators A1, A2, B1, B2 and the simulation
Therefore, even if the simulator and simulation
このため、時点(3)において、シミュレーションシステム接続部3は、論理時刻をt+2に進める。
ここで、シミュレーションシステム接続部3のデータ転送部5は、受信済みのデータD(t+1)をシミュレータ管理部Bに送信することになるが、この時点では、シミュレーションシステム接続部3の論理時刻がt+2であるので、タイムスタンプをt+3に付け替えて送信する。
Therefore, at the time point (3), the simulation
Here, the
その後、時点(4)において、シミュレーションシステム接続部3の時刻管理部4は、時刻t+4への時刻進行要求をシミュレータ管理部A,Bに送信する。
シミュレータB1,B2は、シミュレーションシステム接続部3から転送されたデータD(t+3)をシミュレータ管理部B経由で受信する。
時点(4)の状況において、全てのシミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3が「時刻進行要求中」の状態にある。
そこで、シミュレータ管理部A,Bの時刻進行管理部2は、管理対象のシミュレータ及びシミュレーションシステム接続部3の時刻進行要求先時刻の最小時刻(具体的には、t+4)を求める。
そして、シミュレータ管理部A,Bの時刻進行管理部2は、時刻進行要求先時刻がt+4と等しいという条件を満たす管理対象のシミュレータ及びシミュレーションシステム接続部3に対して時刻進行許可を送信することになる。
最後に、時点(5)において、シミュレータA1,A2,B1,B2及びシミュレーションシステム接続部3は、論理時刻をt+4に進める。
Thereafter, at the time (4), the
The simulators B1 and B2 receive the data D (t + 3) transferred from the simulation
In the situation at the time point (4), all the simulators A1, A2, B1, B2 and the simulation
Therefore, the time
Then, the time
Finally, at time (5), the simulators A1, A2, B1, B2 and the simulation
図11では、上述のように、シミュレータA1から送信されたデータが、全シミュレータに対し、次時刻に時刻進行する際に配信されている。ただし、シミュレータA2は受信したデータのタイムスタンプt+1をt+4に、また、シミュレータB1,B2は受信したデータのタイムスタンプt+3をt+4に解釈して、その後のシミュレーションを実行する必要がある。 In FIG. 11, as described above, the data transmitted from the simulator A1 is distributed to all the simulators when the time advances at the next time. However, the simulator A2 needs to interpret the time stamp t + 1 of the received data as t + 4, and the simulators B1 and B2 interpret the time stamp t + 3 of the received data as t + 4 and execute the subsequent simulation.
以上のように、シミュレーションシステム接続部3のタイムステップを、全てのシミュレータA1,A2,B1,B2のタイムステップよりも小さく設定することにより、小さな処理コストで、データ遅延が発生しないような複数シミュレーションシステムの連接を行うことができる。
なお、この実施の形態7のシミュレーション装置を、HLAを用いて実装する場合は、上記実施の形態1とは異なり、シミュレーションシステム接続部3は、time−regulating、かつ、time−constrainedとして設定すればよい。
また、この実施の形態7では、シミュレーションシステム接続部3はRTIに保持されている時刻進行情報を参照する必要がないため、上記実施の形態1とは異なり、MOM機能等を利用する必要がない。
As described above, by setting the time step of the simulation
When the simulation apparatus according to the seventh embodiment is mounted using HLA, unlike the first embodiment, the simulation
In the seventh embodiment, since the simulation
A1,A2,B1,B2,C1,C2 シミュレータ、A,B,C シミュレータ管理部(シミュレータ管理手段)、1 データ配信部、2 時刻進行管理部、3 シミュレーションシステム接続部(ネットワーク接続手段)、3−1,3−2 シミュレーションシステム接続部(ネットワーク接続手段)、4 時刻管理部、5 データ転送部。 A1, A2, B1, B2, C1, C2 Simulator, A, B, C Simulator management section (simulator management means), 1 data distribution section, 2 time progress management section, 3 simulation system connection section (network connection means), 3 -1,3-2 Simulation system connection part (network connection means), 4 time management part, 5 data transfer part.
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007339696A JP5159300B2 (en) | 2007-12-28 | 2007-12-28 | Simulation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007339696A JP5159300B2 (en) | 2007-12-28 | 2007-12-28 | Simulation device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009163319A JP2009163319A (en) | 2009-07-23 |
| JP5159300B2 true JP5159300B2 (en) | 2013-03-06 |
Family
ID=40965905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007339696A Expired - Fee Related JP5159300B2 (en) | 2007-12-28 | 2007-12-28 | Simulation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5159300B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6091278B2 (en) * | 2013-03-22 | 2017-03-08 | 三菱電機株式会社 | Distributed simulation system |
| JP6252134B2 (en) * | 2013-11-28 | 2017-12-27 | 三菱電機株式会社 | Transmission simulation apparatus and transmission simulation method |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10198649A (en) * | 1997-01-09 | 1998-07-31 | Mitsubishi Electric Corp | Distributed simulation device |
| JP2001306538A (en) * | 2000-04-21 | 2001-11-02 | Mitsubishi Electric Corp | Distributed simulation management method and distributed simulation system |
-
2007
- 2007-12-28 JP JP2007339696A patent/JP5159300B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009163319A (en) | 2009-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105701159B (en) | A data synchronization device and method | |
| US8767564B2 (en) | Field communication system and field communication method | |
| CN104965726A (en) | Configuration updating method, apparatus and system | |
| CN101595669A (en) | Server Time Protocol messages and methods | |
| WO2019104713A1 (en) | Machine learning method, master node, work node, and system | |
| CN103176790A (en) | Application releasing method and application releasing system | |
| CN113867889B (en) | Distributed real-time simulation platform | |
| KR101670307B1 (en) | Method for enabling interoperation between component-based integrative simulation environment and matlab/simulink legacy simulation program, and an interface design method for interoperation | |
| CN110535654A (en) | Parallel system dispositions method, device and computer equipment based on block chain | |
| JP2020013347A (en) | History management method and history management device | |
| CN117041179A (en) | Method, device and storage medium for opening computing power network | |
| CN103731465A (en) | Distributed system and transaction treatment method thereof | |
| CN102316117A (en) | Resource processing method and device | |
| CN117675355A (en) | Multi-layer network data exchange method and system based on node identification matching | |
| JP5159300B2 (en) | Simulation device | |
| CN112311567B (en) | Communication method and device | |
| CN103297222B (en) | A kind of management method of control authority | |
| US8037160B2 (en) | Method and device arrangement for managing a user application/device management server/client device environment | |
| US20250062970A1 (en) | System and methods for mission execution in network | |
| CN116264546A (en) | Digital twin network construction method and network element | |
| KR101513393B1 (en) | Program creation device and programmable logic controller | |
| CN109635377B (en) | Equipment Maintenance Resource Allocation Control Method Based on Discrete Event Modeling | |
| JP2009157786A (en) | Message transmission control method, message transmission control device, and message transmission control program | |
| WO2019225420A1 (en) | Conversion device and conversion program | |
| CN113836061B (en) | A distributed real-time simulation method suitable for simulation models and process models |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100930 |
|
| 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: 20121113 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121211 |
|
| 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: 20151221 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |