JP2004038785A - Integrated simulation system and program - Google Patents
Integrated simulation system and program Download PDFInfo
- Publication number
- JP2004038785A JP2004038785A JP2002197695A JP2002197695A JP2004038785A JP 2004038785 A JP2004038785 A JP 2004038785A JP 2002197695 A JP2002197695 A JP 2002197695A JP 2002197695 A JP2002197695 A JP 2002197695A JP 2004038785 A JP2004038785 A JP 2004038785A
- Authority
- JP
- Japan
- Prior art keywords
- simulator
- simulation
- information
- time
- message
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 246
- 230000006854 communication Effects 0.000 claims abstract description 65
- 238000004891 communication Methods 0.000 claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims abstract description 57
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 abstract description 24
- 238000012795 verification Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 230000001360 synchronised effect Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は複数台のコンピュータ上に互いに異なるシミュレータを構築し、当該複数のシミュレータ間のデータの送受信の制御、及び、上記各シミュレータ間の時間同期をとることでシミュレーションを実行する統合シミュレーションシステム及びこれをコンピュータに実現させるプログラムに関するものである。
【0002】
【従来の技術】
コンピュータ上である事象をシミュレートするにあたり、より現実の事象に近いものとするためには、シミュレーションの精度をさらに高めることが必要となる。しかしながら、シミュレーション精度を向上させるに従って、コンピュータの処理量も増加する。このため、単一のコンピュータにシミュレーションを実行させるのでなく、複数のコンピュータを用いて分散処理させ、これらの処理結果を統合してシミュレーションを実行する統合シミュレーションが必要となってくる。つまり、複数のコンピュータを用いて分散処理することから、単位時間当りの処理量を向上させることができ、ひいては、シミュレーションの精度を高めることができるのである。
【0003】
また、上述した統合シミュレーションシステムでは、分散する各シミュレータとして機能するコンピュータがシミュレーションを実行するにあたり、それぞれの処理結果の時間的な同期が正確にとれるように制御することが必要となる。このため、例えば特開2001−306538公報に開示されるように、分散する各シミュレータとして機能するコンピュータの他に、各コンピュータによる処理の時間的な同期をとるための管理部が設けられている。
【0004】
具体的な動作を説明する。
分散する各シミュレータは、自己の処理分を完了すると、シミュレーション上の時間を進行させる要求を上記管理部に出力する。管理部では、全てのシミュレータから時間の進行要求を受けると、これら全てのシミュレータにそれぞれ適切な時間の進行許諾を出力する。これによって、分散する複数のシミュレータによる処理の時間的な同期をとることができる。
【0005】
また、上記システムでは、各シミュレータ間でデータの授受を行う場合、各シミュレータ間の接続仕様などで配信先が決定されるメッセージが利用されている。また、このメッセージは、上記シミュレータ間の接続仕様、各シミュレータが公開、購読する模擬オブジェクトやその属性値などのシミュレーション情報の種別情報を設定する設定部を有している。
【0006】
【発明が解決しようとする課題】
従来の統合シミュレーションシステムは以上のように構成されているので、分散する各シミュレータによる処理の時間的な同期をとるにあたり、各シミュレータの処理能力やこれらが担当する処理量が異なっていても、管理部は全てのシミュレータから時間の進行要求を受けるまで時間の進行許諾を行わない。このため、例えば処理の最も遅いシミュレータが処理を完了して時間進行要求を出すまで、処理を終えた他の全てのシミュレータが、時間の進行許諾を待つ必要がある。この結果、シミュレータとして機能するのに十分な処理能力を有したコンピュータを使用していても、統合シミュレーション処理全体の進行が遅くなる可能性があるという課題があった。
【0007】
また、従来の統合シミュレーションシステムでは、各シミュレータ間のデータの授受で使うメッセージに通信遅延を考慮した時間についての情報が定義されていない。このため、統合シミュレーションによってデータ通信遅延による不具合を検証することができないという課題があった。
【0008】
この発明は上記のような課題を解決するためになされたもので、シミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータとの間のみでシミュレーションの実行上の時間的な同期をとることで、全てのシミュレータによる時間の進行許諾を待つことなく同期をとるための通信量を低減することができ、効率的に統合したシミュレーションを実行することができる統合シミュレーションシステム及びプログラムを得ることを目的とする。
【0009】
また、この発明は、シミュレータ間の接続形態に応じた伝送遅延時間やシミュレータ間の情報通信量に応じた伝送遅延時間を含む時間情報を元にして、シミュレーションの実行上の時間的な同期をとることで、シミュレータ間のデータ通信時に生じる伝送遅延時間による不具合を低減することができると共に、その検証もすることができる統合シミュレーションシステム及びプログラムを得ることを目的とする。
【0010】
【課題を解決するための手段】
この発明に係る統合シミュレーションシステムは、複数のシミュレータが情報交換しながら統合してシミュレーションを実行する統合シミュレーションシステムにおいて、各シミュレータ間の接続関係を定義する接続情報を格納する記憶部と、当該接続情報に基づいてシミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータを認識すると共に、当該シミュレータとの間でシミュレーションの実行上の時間的な同期をとる同期整合部とを備えるものである。
【0011】
この発明に係る統合シミュレーションシステムは、同期整合部が、自シミュレータ、及び、接続情報に基づいて認識された自シミュレータと情報交換の対象となる接続関係を有するシミュレータについて、これらのシミュレーション実行上の現在時間及びシミュレーションを完了する周期を含む同期用情報を保持する同期用情報保持部を備えるものである。
【0012】
この発明に係る統合シミュレーションシステムは、同期整合部が、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、これらシミュレータ間の接続形態に応じた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信するメッセージ配信部を備え、当該メッセージ情報によって認識される時間情報に基づいて、シミュレータとの間でシミュレーションの実行上の時間的な同期をとるものである。
【0013】
この発明に係る統合シミュレーションシステムは、同期整合部が、シミュレーション実行中にシミュレータ間の情報通信量を算出し、当該情報通信量に応じて伝送遅延時間を求める伝送遅延計算部と、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、伝送遅延計算部が求めた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信するメッセージ配信部を備え、当該メッセージ情報によって認識される上記時間情報に基づいて、シミュレータとの間でシミュレーションの実行上の時間的な同期をとるものである。
【0014】
この発明に係る統合シミュレーションシステムは、同期整合部が、シミュレータ間における情報通信を中継するにあたり、シミュレータの入出力デバイスに直接アクセスするデバイスレベルで情報を送受信するものである。
【0015】
この発明に係る統合シミュレーションシステムは、シミュレーションの実行中にシステムの構成及びその状態を規定する構成情報に変更があると、当該変更後の構成情報をシミュレーション実行に関与する全ての構成要素に対して認識させて、当該構成情報にて規定されるシステムでシミュレーションを続行するものである。
【0016】
この発明に係るプログラムは、複数のシミュレータが情報交換しながら統合してシミュレーションを実行するにあたり、各シミュレータ間の接続関係を定義する接続情報に基づいて、シミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータを認識すると共に、当該シミュレータとの間でシミュレーションの実行上の時間的な同期をとる同期整合部としてコンピュータを機能させるものである。
【0017】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による統合シミュレーションシステムの構成を示す図である。図において、1はある事象を模擬するシミュレーションプログラムを分散して処理する複数のシミュレータであって、コンピュータ上にシミュレータオブジェクト部3ごとに構築される。また、シミュレータ1間のデータ通信は、後述する仕様のメッセージによって行われる。2は分散する複数のシミュレータ1の同期管理、通信管理や分散管理を実行するシミュレーションサービス部である。このシミュレーションサービス部2は、シミュレータオブジェクト部3、メッセージ配信部4及び接続情報を格納する記憶部5から構成される。
【0018】
3は各シミュレータ1に対応して設けられたシミュレータオブジェクト部(同期整合部)であって、シミュレータ1に関する同期管理及びデータ通信管理を実行する。また、シミュレータオブジェクト部3は、シミュレータ1の現在のシミュレーション上の論理時間を管理している。このシミュレータオブジェクト部3は、同期機構部6、論理時計7及びメッセージキュー8としてコンピュータを機能させるプログラムによって具現化される。
【0019】
4はメッセージ配信部で、シミュレータオブジェクト部3から送信されたメッセージを配信先のシミュレータオブジェクト部3に配信する。このメッセージ配信部4も、その機能をコンピュータに持たせるプログラムによって具現化される。5は接続情報を格納する記憶部であって、シミュレーションサービス部2として機能するコンピュータに搭載されたハードディスク装置や、CD−ROMなどの記憶媒体を用いるディスク装置によって実現される。
【0020】
また、接続情報とは、互いに接続されてデータの授受を行うシミュレータ1間の関係を記述した情報である。例えば、接続情報には、シミュレータ1間でデータ通信を行う場合における、データを送信するシミュレータ1とデータを受信するシミュレータ1との関係が記述される。さらに、接続情報には、シミュレータ1間で通信接続する際における通信媒体に応じたデータ伝送遅延時間の情報も記述される。
【0021】
従って、シミュレータオブジェクト部3やメッセージ配信部4は、上記接続情報を参照することにより、当該統合シミュレーションシステム内のどのシミュレータ1がどのシミュレータ1とデータ通信可能に接続しているかを把握することができる。また、シミュレータ1間でのデータ通信におけるデータの流れ(方向)や、データ通信を行うときのデータ伝送遅延時間も把握することができる。ここで、上記接続情報に保持される「通信媒体に応じたデータ伝送遅延時間」に関する情報は、固定値であってもよいし、確率分布として与えられてもよい。
【0022】
6は同期機構部(同期整合部)であって、接続情報に基づいて自己が管理するシミュレータ1とそれに接続する他のシミュレータ1との論理時間に関する情報を互いにやり取りして自己が管理するシミュレータ1の論理時間の更新を判定する。7は論理時計(同期整合部)で、シミュレータオブジェクト部の論理時間を保持する時計である。この論理時計7に保持される論理時間は、同期機構部6によって時間の進行が許可されたときにシミュレータオブジェクト部3によってシミュレータ1の実行周期分だけ進められる。
【0023】
このように、論理時計7を用いて論理時間を個別に管理して、各シミュレータ1について必要最低限の同期さえとれば、時間的な整合性が保証される。これにより、各シミュレータ1が独立してシミュレーションを実行することができる。また、後述するように、配信時間が記述されたメッセージの当該配信時間にて到達したか否かの判定には、論理時計7に保持された論理時間が使用される。
【0024】
8はメッセージキュー(同期用情報保持部)であって、シミュレータオブジェクト部3から受信したメッセージを一時的に保持する。また、メッセージキュー8に保持されるメッセージには、後述するように配信時間が記述されている。あるシミュレータオブジェクト部3が管理するシミュレータ1に、他のシミュレータオブジェクト部3から受信したメッセージを送出する場合、当該シミュレータオブジェクト部3は、自己が管理するシミュレータ1の現在の論理時間以前に相当する上記配信時間を記述するメッセージをメッセージキュー8から読み出して送出する。
【0025】
図2は実施の形態1による統合シミュレーションシステムで用いられるメッセージの構成を示す図である。図に示すように、メッセージ(メッセージ情報)は、ヘッダ部とデータ部から構成される。また、ヘッダ部には、「送信元」、「配信先」、「識別子」、「タイプ」、「送信時間」、「配信時間」及び「優先度」のようなメッセージを配信するのに必要となる情報が記述される。これらの情報は、各シミュレータ1やシミュレータオブジェクト部3を特定するための特有な識別子に相当する。
【0026】
具体的に説明すると、「送信元」は、メッセージの送信元のシミュレータ1を特定するための識別子である。また、「配信先」は、メッセージの配信先のシミュレータ1を特定するための識別子である。「識別子」は、メッセージを特定するための識別子である。「タイプ」は、メッセージの種類を特定する識別子である。ここで、メッセージの種類としては、通常のデータ通信に関するメッセージの他に、デバイスを扱うメッセージ、シミュレーションサービス部2がシミュレータ1の管理のために内部的に使用するメッセージなどがある。
【0027】
「送信時間」は、メッセージが送信された時間を特定する情報である。この時間は、メッセージ送信元のシミュレータの論理時間に基づく時間に相当する。
また、「配信時間」は、メッセージが配信されるべき時間を特定する情報である。この時間は、「送信時間」に通信媒体に応じた遅延時間を加えた時間に相当する。
【0028】
メッセージ配信部4によってシミュレータオブジェクト部3に配信されたメッセージは、配信先のシミュレータ1の論理時間が上記配信時間に到達した時点で実際にシミュレータ1に送信される。但し、送信して即時に配信する必要がある特別なメッセージの場合では、上記配信時間を0に設定してもよい。このようにメッセージに配信時間を持たせることにより、通信遅延時間を考慮したデータ通信シミュレーションが可能になる。また、メッセージの時間的な整合性を保証することもできる。
【0029】
「優先度」は、メッセージを処理する順位を決定するための値である。当該「優先度」が高いほど先に処理される。例えば、強制終了などの管理用のメッセージでは、「優先度」を最高にして、他のメッセージと区別することができる。
【0030】
一方、データ部には、実際にシミュレータ1間で授受するデータが記述される。このデータ部に記述する内容には、サイズに制限を設けてもよいし、設けなくてもよい。また、データ部に記述するデータの形式としては、テキスト形式でもよいし、バイナリ形式でもよい。
【0031】
このように、シミュレータオブジェクト部3を介してシミュレータ1間で行われるデータ通信に用いられるメッセージは、時間の概念を持ち、シミュレーション上の伝送遅延も含めた時間的な整合性を保証して相手のシミュレータ1に配信される。
【0032】
図3は実施の形態1の統合シミュレーションシステムにおけるメッセージ配信部の他の構成を示す図である。図において、4aはメッセージ配信部であって、接続情報に記述されたシミュレータ1間の通信媒体に応じたデータ伝送遅延時間を算出するデータ伝送遅延計算部(伝送遅延計算部)9を有する。このデータ伝送遅延計算部9は、実際にシミュレーションを実行しているときのシミュレータ1間におけるデータ通信量に応じてデータ伝送遅延時間を算出する計算式が設定されている。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0033】
図4は図1中のメッセージ配信部の配置形態を説明する図であり、(a)はローカルマシンにメッセージ配信部を配置した形態を示し、(b)はリモートマシンにメッセージ配信部を配置した形態を示している。図において、10はローカルマシンであって、メッセージ配信部4(若しくは4a)、複数のシミュレータオブジェクト部3、及び接続情報を格納する記憶部5が構築された単一のコンピュータによって具現化される。10−1,10−2はメッセージ配信部4(若しくは4a)、シミュレータオブジェクト部3及び接続情報を格納する記憶部5がそれぞれ構築されたリモートマシンであって、互いにネットワーク11によってデータ通信可能に接続された複数のコンピュータによって具現化される。なお、ネットワークの形態としては、インターネットであっても専用線であってもよく、それらが混在していてもよい。
【0034】
メッセージ配信部4,4aは、シミュレータオブジェクト部3からメッセージを受信すると、記憶部5からシミュレータ1の識別子と起動マシン名が記述された接続情報を読み出して参照し、当該メッセージに記述された配信先を検索する。また、メッセージ配信部4,4aは、接続情報からデータ伝送遅延時間を取得し、受信したメッセージの「送信時間」に設定された時間に当該データ伝送遅延時間を加えた時間を、当該メッセージの「配信時間」として設定する。
このあと、(a)に示すように、配信先のシミュレータ1がローカルマシン10内に存在する場合、メッセージ配信部4,4aは、その配信先のシミュレータ1を管理するシミュレータオブジェクト部3のメッセージキュー8にメッセージを追加する。
【0035】
また、(b)に示すように、送信先のシミュレータ1がリモートマシン10−1,10−2内に存在する場合、これに対応するメッセージ配信部4,4aは、配信先のシミュレータ1が存在するマシン内のメッセージ配信部4,4aにメッセージを送信し、そのメッセージの配信を依頼する。リモートマシン10−1,10−2からメッセージを受信すると、メッセージ配信部4,4aは、接続情報のうち同様な構成情報を参照してメッセージに記述された配信先を検索し、配信先のシミュレータ1を管理するシミュレータオブジェクト部3のメッセージキュー8にメッセージを追加する。
【0036】
このとき、接続情報にデータ伝送遅延時間を求める計算式が定義されていれば、図3に示すメッセージ配信部4a内のデータ伝送遅延計算部9は、シミュレータオブジェクト部3から受信したメッセージからデータ部分のサイズを取得し、そのサイズと接続情報に定義された計算式からデータ伝送遅延時間を算出する。そして、メッセージ配信部4aは、受信したメッセージの「送信時間」に設定された時間に、上記データ伝送遅延時間を加えた時間を「配信時間」として設定する。
【0037】
図5は図1中の同期機構部によるメッセージ送信処理を説明する図であり、(a)は送信側のシミュレータAが受信側のシミュレータBよりも現在の論理時間が進んでいる場合を示し、(b)は受信側のシミュレータBが送信側のシミュレータAよりも現在の論理時間が進んでいる場合を示している。この図は2つのシミュレータA,B間でのメッセージ通信の例を示している。(a),(b)いずれもシミュレータAからシミュレータBにメッセージを送信し、そのときの「配信時間」が320であることを想定している。
【0038】
(a)に示す例では、受信側のシミュレータBの論理時間が次の周期の350になった時点で、メッセージを受け取れるので問題はない。一方、(b)に示すように、受信側のシミュレータBが送信側のシミュレータAよりも現在の論理時間が進んでいると、例えばシミュレータBの論理時間が350となって、既にメッセージの「配信時間」320を過ぎている。このため、シミュレータAは、過去のメッセージを受信することになり、時間的な不整合が生じる。この例からもわかるようにメッセージの受信側のシミュレータBは、送信側のシミュレータAよりも時間的に先に進むと問題が生じる可能性がある。
【0039】
そこで、同期機構部6は、シミュレータオブジェクト部3が管理するシミュレータ1とそれに接続するメッセージの送信元のシミュレータ1との論理時間を比較して時間的な不整合が生じないようにシミュレーション実行に関して同期をとる。つまり、シミュレータ1から1周期のシミュレーション実行の“完了”メッセージがシミュレータオブジェクト部3に送られると、同期機構部6は、メッセージ送信元のシミュレータ1の論理時間よりも進み過ぎないように制御する。
【0040】
ここで、具体的な論理時間の調整処理について説明する。
先ず、各シミュレータ1は、自己の論理時間を更新するにあたり、必要に応じてその論理時間をメッセージを用いてデータ送信先のシミュレータ1に通知する。これにより、各シミュレータオブジェクト部3は、データ送信元のシミュレータ1の現在の論理時間を把握することができる。このデータ送信元の論理時間に基づいて、シミュレータオブジェクト部3内の同期機構部6は、その状態(オープン又はクローズ)を切り換える。
【0041】
上述した同期機構部6の状態の切り換えは、下記式(1)に従う。
T+Δt≦Ti+Δti(i=1,2,・・・,n) ・・・(1)
但し、あるシミュレータ1の論理時間をT、周期をΔtとし、これに対してメッセージ送信元となるn個のシミュレータ1をそれぞれS1,S2,・・・,Snとし、これらシミュレータ1の論理時間をそれぞれT1,T2,・・・,Tn、周期をそれぞれΔt1,Δt2,・・・,Δtnとする。ここで、同期機構部6は、上記式(1)を全てのiに対して満たす場合はオープン状態をとなり、満たさない場合はクローズ状態となる。
【0042】
シミュレータ1がメッセージを受信してから1つのシミュレーション実行が完了すると、当該シミュレータ1は、“完了”メッセージを対応するシミュレータオブジェクト部3に送信する。続いて、シミュレータ1から“完了”メッセージを受けたシミュレータオブジェクト部3において、同期機構部6がオープン状態になると、当該シミュレーションオブジェクト部3内の論理時計7が1周期分だけ進められる。
【0043】
一方、他のシミュレーションオブジェクト部3が管理するシミュレータ1から“開始”メッセージが送られると、シミュレーションオブジェクト部3は、メッセージキュー8から「配信時間」に到達した受信メッセージを読み出し、自己が管理するシミュレータ1に送信する。このあと、当該メッセージを受信したシミュレータ1は、1周期のシミュレーション実行を開始する。これによって、時間的な整合性を保って適切な時間にメッセージを配信することができる。
【0044】
次に動作について説明する。
先ず、シミュレータ1は、起動時にシミュレータオブジェクト部3を起動する。シミュレータオブジェクト部3は、起動すると、自己が管理するシミュレータ1に“開始”メッセージを送出する。シミュレータオブジェクト部3からの“開始”メッセージを受けると、シミュレータ1は、メッセージキュー8に格納されているメッセージの読み出しを、シミュレータオブジェクト部3に要求する。
【0045】
シミュレータオブジェクト部3では、上記読み出し要求を受けると、自己が管理するシミュレータ1の現在の論理時間(つまり、現在、論理時計7に設定されている時間)以前に相当する「配信時間」を記述するメッセージをメッセージキュー8から読み出して上記シミュレータ1に送出する。シミュレータオブジェクト部3からのメッセージを受信すると、シミュレータ1は、1周期のシミュレーションを実行する。
【0046】
上記シミュレータ1は、1周期のシミュレーション実行を完了すると、シミュレータオブジェクト部3に“完了”メッセージを送出する。シミュレータオブジェクト部3では、“完了”メッセージを受けると、同期をとる必要がある(自己が管理するシミュレータ1にメッセージを送信してくる可能性のある)シミュレータ1の現在の論理時間を確認する。
【0047】
このあと、シミュレータオブジェクト部3は、時間を進めても時間的な矛盾が生じなければ、自己の論理時計7の現在の論理時間を進めた後、当該シミュレータ1に“開始”メッセージを送出する。これにより、上述した内容と同様な処理により、時間的な整合性を保ちながら複数のシミュレータ1にてシミュレーションを実行することができる。
【0048】
次に本発明におけるメッセージ通信を詳細に説明する。
図6は図1中の同期機構部によるメッセージ通信処理のシーケンスを示す図であり、この図に沿ってシミュレータA,B間でのメッセージ通信の時間的な同期をとるための処理を詳細に説明する。また、この図に示す例では、シミュレーション実行の周期が100のシミュレータAと、シミュレーション実行の周期が70のシミュレータBとの間だけで互いにメッセージの送受信を行う場合を考えている。さらに、説明の簡単のため、シミュレータA,B間での時間的な同期をとるためのメッセージのみを図示している。この同期通信用のメッセージは内部メッセージであり、データ伝送遅延時間は0である。
【0049】
先ず、シミュレータAは、1周期で処理すべきシミュレーションが完了すると、シミュレータBにメッセージ(配信時間=600)を送信する。シミュレータBを管理するシミュレータオブジェクト部3は、上記メッセージによってシミュレータAの論理時間が600に到達したことを認識する。
【0050】
このあと、シミュレータBを管理するシミュレータオブジェクト部3は、当該シミュレータBによって実行されていたシミュレーションが完了すると、シミュレータAと時間的な整合がとれる論理時間(配信時間600より進んだ時間)に時間を進めることができる。ここで、シミュレータBによるシミュレーション実行が完了した際、その論理時間が例えば630であった場合を考えると、シミュレータBを管理するシミュレータオブジェクト部3は、自己の論理時計7を630に進めると共に、これを配信時間とするメッセージをシミュレータAに送信する。
【0051】
シミュレータAを管理するシミュレータオブジェクト部3は、シミュレータBからのメッセージによってその論理時間が630に到達したことを認識する。このあと、シミュレータオブジェクト部3は、自己が管理するシミュレータAによる1周期のシミュレーション実行が完了すると、論理時間600に1周期分の時間100が加わって実際は論理時間700となっている。しかしながら、シミュレータAを管理するシミュレータオブジェクト部3は、同期通信用のメッセージを配信すべきシミュレータBの論理時間が、先ほどのメッセージから630であることを認識しているので、論理時間を700とすることができない。
【0052】
つまり、上記式(1)によって自己の論理時間(論理時間600+1周期分の時間100)=700)>(メッセージ送信元であるシミュレータBの論理時間630)である。これにより、シミュレータAを管理するシミュレータオブジェクト部3は、自己の同期機構部6がオープン状態となる条件を満たしていないことから、自己の論理時計7を700に進めることが抑制される(論理時計7を700に進められない)。そこで、シミュレータAを管理するシミュレータオブジェクト部3は、配信時間を700としたメッセージをシミュレータB側に送出する。
【0053】
一方、シミュレータB側では、上記メッセージによってシミュレータAが論理時間700であることを認識する。ここで、シミュレータBによって1周期分のシミュレーション実行が完了すると、当該シミュレータBを管理するシミュレータオブジェクト部3は、自己の論理時間を700に進める。
【0054】
つまり、上記式(1)によって、{自己の論理時間(論理時間630+1周期分の時間70)=700}={メッセージ送信元であるシミュレータBの論理時間700}である。これにより、シミュレータBを管理するシミュレータオブジェクト部3は、自己の同期機構部6がオープン状態となる条件を満たしていることから、自己の論理時計7を700に進める。このあと、シミュレータBを管理するシミュレータオブジェクト部3は、配信時間を700に設定したメッセージをシミュレータA側に送信する。
【0055】
また、論理時間を進行が抑制されていたシミュレータA側においても、シミュレータB側から、配信時間が700に設定された上記メッセージを受けることにより、同期機構部6がオープン状態になる条件が満たされる。従って、シミュレータAを管理するシミュレータオブジェクト部3は、当該シミュレータAの論理時間を700に進めることができる。このようなメッセージの送受信を繰り返すことにより、同期をとりながら各シミュレータA,Bのシミュレーションを進めることができる。
【0056】
なお、図6に示す例では、いずれのシミュレータA,Bも1周期のシミュレーション実行を完了するごとに同期をとるため、接続相手のシミュレータ1に対して自己の論理時間を示す情報をメッセージとして送信する必要がある。このようなシーケンスの場合、シミュレータA,B間で無駄な同期通信用メッセージが送信される可能性がある。
【0057】
例えば、図6に示す場合、シミュレータBが論理時間600でのシミュレーションの実行を完了した際、シミュレータBを管理するシミュレータオブジェクト部3が、配信時間を630に設定したメッセージをシミュレータAに送信している。しかしながら、このメッセージを送信してもシミュレータA側の同期機構部6は、上記式(1)の条件を満たさず、オープン状態にならない。この場合、配信時間630のメッセージは無駄であり、シミュレータB側は、配信時間を700に設定したメッセージさえ送ればよい。
【0058】
このような無駄なメッセージによる同期通信量は、接続相手のシミュレータのシミュレーション実行周期の差が大きく異なるほど多くなる。そこで、シミュレータオブジェクト部3が接続先のシミュレータの現在の論理時間とそのシミュレーション実行周期を保持しておき後述する処理を実行することで、上述したような無駄な同期メッセージを送信する必要がなくなる。
【0059】
先ず、同期通信用メッセージを受信するシミュレータオブジェクト部3の現在の論理時間及びこれが管理するシミュレータのシミュレーション実行周期を、それぞれTr、Δtrとする。また、同期通信用メッセージを送信するシミュレータオブジェクト部3が管理するシミュレータのシミュレーション実行周期をΔts、1周期Δts分のシミュレーション実行を完了した後、当該周期分だけ更新した論理時間をTs’とする。これにより、下記式(2)が得られる。同期通信用メッセージを送信するシミュレータオブジェクト部3は、下記式(2)の条件を満たす場合だけ同期通信用メッセージを送信すればよい。
Ts’≦Tr+Δtr<Ts’+Δts ・・・(2)
【0060】
ここで、図6の場合を例に挙げて説明すると、シミュレータAの現在の論理時間がTr=600、シミュレータBが1周期のシミュレーション実行を完了して更新した後の論理時間をTs’=630とすると、(Ts’=630)<{(Tr=600)+(Δtr=100)=700}={(Ts’=630)+(Δts=70)=700}となって、上記式(2)の条件式が成り立たない。従って、シミュレータB側では、この時点で同期通信用メッセージをシミュレータA側に送信する必要はない。
【0061】
一方、シミュレータBが次のシミュレーション実行を完了してTs’=700になると、(Ts’=700)={(Tr=600)+(Δtr=100)=700}<{(Ts’=700)+(Δts=70)=770}となって、上記式(2)の条件を満たすので、この時点で同期メッセージを送信すればよい。
【0062】
以上のように、この実施の形態1によれば、複数のシミュレータ1が情報交換しながら統合してシミュレーションを実行するにあたり、各シミュレータ1間の接続関係を定義する接続情報に基づいて、シミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータ1を認識すると共に、同期機構部6や論理時計7によって、シミュレータ1間でシミュレーション上の現在時間に伝送遅延時間を加えた時間情報を含むメッセージを用いて、上記認識したシミュレータ1との間でのシミュレーション実行上の時間的な同期をとるので、接続情報を参照してシミュレーション上の時間的な同期をとることが必要なシミュレータだけの間で同期をとることができ、データをやり取りしない無関係なシミュレータの遅れによってシミュレーション実行の進行が妨げられることを避けることができる。また、従来のように、全てのシミュレータ同期をとるためのメッセージ通信量を削減することができる。
【0063】
実施の形態2.
FA機器はそれぞれ入出力デバイスを持っている場合が多く、機器間でデータ通信を行う場合、それらのデバイス間を接続することによってデータ通信を実現することが多い。シミュレータでも同様に、他のシミュレータとデータ通信を行う場合、シミュレータのデバイス間を接続することによってデータ通信を実現することができる。
【0064】
例えば、リレー、タイマ、カウンタを組み合わせて構成する論理回路(ハードワイヤードロジック)の信号処理部(論理演算部・制御部)をマイクロコンピュータに代行させるシーケンサ(プログラマブルコントローラ)を用いる場合を考える。シーケンサは、その入出力接点を他の機器の入出力デバイスと接続することで、当該機器との間でのデータ通信やその制御することができる。そこで、シミュレータを構築するコンピュータを上記シーケンサの1つの機器として、その入出力デバイスと入出力接点を接続する。このようにして、シミュレータを構築するコンピュータの入出力デバイスに直接メッセージの送受信を行うことで、シミュレータ自体がメッセージの作成や送受信を行う必要がなく、より扱いやすいデバイスに対する読み書きによって他のシミュレータとのデータ通信を行うことができる。
【0065】
このように、シミュレータがデバイスレベルでデータ通信を行うためには、シミュレーションサービス部にデバイス層を設ければよい。つまり、デバイス層をシミュレーションサービス部に設けることにより、シミュレータがメッセージを意識することなくデバイスレベルでデータにアクセスすることができる。
【0066】
図7はこの発明の実施の形態2による統合シミュレーションシステムのシミュレーションサービス部の構成を示す図である。図において、2Aは実施の形態2によるシミュレーションサービス部であって、メッセージ層12及びデバイス層13に分けたシミュレーションオブジェクト部3aを有する。3aはメッセージ層12及びデバイス層13を有するシミュレーションオブジェクト部で、自己が管理するシミュレータ1が使用するデバイスに対して、デバイスオブジェクト(同期整合部)14,15をデバイス層13に作成する。また、このシミュレータオブジェクト部3aは、図示を省略しているが上記実施の形態1と同様に同期機構部6、論理時計7及びメッセージキュー8を有している。
【0067】
ここで、デバイスオブジェクト14,15は、シミュレータ1のデバイスに対応し、そのデバイスに関する情報を保持する。具体的に説明すると、デバイス層13内の入力デバイスに格納されるデバイスオブジェクト14は、当該デバイス層13を有するシミュレータオブジェクト部3aが管理するシミュレータ1の各デバイスを特定する情報及びこれに入力すべき情報(デバイスに読み出されるべき情報)が一時記憶される。また、デバイス層13内の出力デバイスに格納されるデバイスオブジェクト15は、当該デバイス層13を有するシミュレータオブジェクト部3aが管理するシミュレータ1の各デバイスを特定する情報及びこれから出力された情報(デバイスから書き込まれた情報)が一時記憶される。
【0068】
このように、シミュレータ1は、自身を管理するシミュレータオブジェクト部3a上のデバイスオブジェクト14,15に対してデバイス値の読み書きを行うことができる。また、シミュレータオブジェクト部3aは、自身のデバイスと他のシミュレータオブジェクト部3aが管理するシミュレータ1のデバイスとの接続関係を記述したデバイスマップを参照してデバイスオブジェクトとメッセージの変換を行う。このデバイスマップは、上記実施の形態1で説明した接続情報と共に記憶部5aに格納される。当該記憶部5aは、シミュレーションサービス部2Aとして機能するコンピュータに搭載されたハードディスク装置や、CD−ROMなどの記憶媒体を用いるディスク装置によって実現される。
【0069】
次に動作について説明する。
シミュレータオブジェクト部3aは、自己が管理するシミュレータ1から“完了”メッセージを受信すると、上記実施の形態1と同様に同期機構部6がオープン状態になった時点で、デバイス層13内の入出力デバイス中のデバイスオブジェクト14,15に格納されたデバイス値を参照して、シミュレータ1のデバイスのうちデバイス値に変化があったものを抽出する。
【0070】
このあと、シミュレータオブジェクト部3aは、記憶部5aからデバイスマップを読み出して参照し、デバイス値に変化があるものとして抽出したデバイスの接続先(シミュレータオブジェクト部3a及びデバイス)を検索し、当該デバイス値を書き込むべきデバイスを特定するデバイス名及びそのデバイス値を記述したメッセージを作成し送信する。ここで作成されるメッセージの種類は、デバイス間のデータ通信を扱うデバイスタイプである。
【0071】
シミュレータオブジェクト部3aは、上述したデバイスタイプのメッセージを受けると、これをメッセージキュー8に格納する。続いて、当該デバイスタイプの受信メッセージが配信時間に到達すると、シミュレータオブジェクト部3aは、当該メッセージの内容を解釈してデバイス名及びこれに特定されるデバイスに書き込むべきデバイス値を読み出す。このあと、シミュレータオブジェクト部3aは、自己が管理するシミュレータ1のデバイスのうちから上記デバイス名に対応するデバイスを抽出し、これに上記デバイス値を設定・更新する。
【0072】
以上のように、この実施の形態2によれば、シミュレータオブジェクト部3a内にデバイス層を設けることで、シミュレータ1間における情報通信を中継するにあたり、シミュレータ1の入出力デバイスに直接アクセスするデバイスレベルで情報を送受信するので、シミュレータ1からはメッセージを意識する必要がなく、扱いやすいデバイスに対して読み書きを行うだけで他のシミュレータ1と通信することができる。
【0073】
実施の形態3.
この実施の形態3は、ネットワークで接続された複数のコンピュータに分散させてシミュレータを構築して統合シミュレーションを実行するにあたり、分散するシミュレータに対しても同期管理機能および通信管理機能を使用できるように、これらを管理する機構を設けたものである。
【0074】
図8はこの発明の実施の形態3による統合シミュレーションシステムの構成を示す図であり、この図ではネットワークで接続された複数のコンピュータに分散させてシミュレータを構成した場合を示している。図において、2aは分散するシミュレータ1などにより構築される分散環境全体の構成及びその状態(起動・停止)を管理するマスタとして機能するシミュレーションサービス部であって、シミュレーションオブジェクト部3の他に、シミュレーションサービス部リスト16及びシミュレータリスト17を有する。また、このシミュレーションサービス部2aは、上記実施の形態1と同様にメッセージ配信部4及び接続情報を格納する記憶部5を有しているが図示を省略している。
【0075】
2bはマスタとして機能するシミュレーションサービス部2aに管理される非マスタのシミュレーションサービス部であって、シミュレーションオブジェクト部3の他に、シミュレータリスト17を有する。また、このシミュレーションサービス部2bも、上記実施の形態1と同様にメッセージ配信部4及び接続情報を格納する記憶部5を有しているが図示を省略している。10a−1,10a−2はネットワーク11でデータ通信可能に接続されたコンピュータで、シミュレータ1の他に、それぞれシミュレーションサービス部2a,2bが構築される。
【0076】
16はマスタとして機能するシミュレーションサービス部2aに構築されたシミュレーションサービス部リストであって、分散環境内の全てのシミュレーションサービス部2bをそれぞれ特定する情報をリスト形式で保持する。このシミュレーションサービス部リスト16は、マスタとして機能するシミュレーションサービス部2aが分散環境でのシミュレーションサービス部2bの構成を管理するために使用するリストである。また、シミュレーションサービス部リスト16には、各シミュレーションサービス部2bを特定する情報として、例えばこれを起動しているコンピュータのマシン名などが記述される。
【0077】
17はシミュレータリストで、ネットワーク11上に存在するコンピュータにそれぞれ構築されている全てのシミュレータをそれぞれ特定する情報をリスト形式で保持する。このシミュレータリスト17は、各シミュレーションサービス部2a,2bが分散環境内のシミュレータ1の構成を特定するために使用するリストである。また、シミュレータリスト17には、各シミュレータ1の「識別子」、シミュレーション実行の「周期」、これが構築されて起動するコンピュータの「マシン名」がそれぞれ記述される。ここで、上記実施の形態1で説明したような、同期通信用メッセージを送信するか否かの判定に必要となる送信先のシミュレータ1のシミュレーション実行の周期は、当該シミュレータリスト17を参照して取得することができる。
【0078】
次に動作について説明する。
先ず、分散環境内に新たなシミュレータ1を追加する場合を説明する。
マスタとして機能するシミュレーションサービス部2aに既に登録されているシミュレータ1を起動する場合、当該シミュレータ1を有するコンピュータ10a−2を立ち上げ、上記シミュレータ1を管理するシミュレーションサービス部2bを起動する。このあと、シミュレーションサービス部2bは、ネットワーク11を介して上記シミュレーションサービス部2aに自己が起動した旨を通知する。
【0079】
シミュレーションサービス部2aでは、新たに起動したシミュレータ1を管理するシミュレーションサービス部2bからの通知を受けると、当該シミュレーションサービス部2bが構築されたコンピュータを特定する情報(マシン名など)をシミュレーションサービス部リスト16に追加する。
【0080】
次に新たなシミュレータ1を追加する場合について説明する。
先ず、分散環境内のシミュレーションサービス部2bを有するいずれかのコンピュータ上に新たに追加すべきシミュレータ1を構築し起動させる。このとき、当該シミュレータ1は、上記シミュレーションサービス部2bに対して自己が起動した旨及びそのシミュレーション実行周期を通知する。シミュレーションサービス部2bでは、上記通知を受けると、ネットワーク11を介してマスタとして機能するシミュレーションサービス部2aにその通知内容を送信する。
【0081】
シミュレーションサービス部2aは、上記通知を受けると、シミュレーションサービス部リスト16を読み出して参照し、これに登録されている全てのシミュレーションサービス部2bの分散環境内の各位置を特定する。このあと、シミュレーションサービス部2aは、上述のように特定した情報を用いて、シミュレーションサービス部リスト16に登録されている全てのシミュレーションサービス部2bに対して、新たなシミュレータ1が追加された旨及びそのシミュレーション実行周期を通知する。
【0082】
分散環境内の各シミュレーションサービス部2bでは、受信した上記通知の内容から上記シミュレータ1を特定する情報及びそのシミュレーション実行周期を読み出して自己のシミュレータリスト17に追加する。
【0083】
続いて、シミュレーション実行中に起動したシミュレータ1や新たに追加したシミュレータ1を統合シミュレーションに参加させる場合について説明する。
この場合、シミュレーション実行中に起動したシミュレータ1や新たに追加したシミュレータ1を管理するシミュレータオブジェクト部2bは、起動時に記憶部5から接続情報を読み出して参照し、自己とデータ通信可能に接続する他のシミュレータ1を検索する。このあと、シミュレータオブジェクト部2bは、検索結果として抽出されたシミュレータ1を管理するシミュレータオブジェクト部2bにそれぞれアクセスして現在の論理時間を問い合わせる。
【0084】
これにより、シミュレータオブジェクト部2bは、自己が管理するシミュレータ1が、データを送信する可能性があるシミュレータ1のうち現在の論理時間が最も早いもの(以下、論理時間Treとする)を、自己が管理するシミュレータ1の現在の論理時間として設定し、当該論理時間からシミュレーション実行を開始する。
【0085】
ここで、シミュレーション実行中に起動したシミュレータ1や新たに追加したシミュレータ1は、データを受信する可能性があるシミュレータ1の中で現在の論理時間が最も遅いものをTslとして、下記式(3)の条件に合致する場合にシミュレーション実行を開始する。
Tre≦Tsl ・・・(3)
【0086】
つまり、上記式(3)を満たす場合、シミュレーション実行中に起動したシミュレータ1や新たに追加したシミュレータ1は、シミュレーション実行を開始してよい。一方、上記式(3)の条件を満たさない場合、この時点で上記シミュレータ1によるシミュレーション実行を開始すると、他のシミュレータ1から過去のメッセージを受信して時間的な整合性が取れなくなる可能性がある。
【0087】
そこで、上記シミュレータ1は、データを送信する可能性がある全てのシミュレータ1の論理時間がTreを越えないように抑制しながら、且つこれらが論理時間Treを越えるのを待って、上記式(3)の条件を満たす状態になってからシミュレーション実行を開始する。これにより、本実施の形態3による統合シミュレーションシステムにおいて、シミュレーション実行中に新たにシミュレータ1を参加させてもその時間的な整合性を保つことができる。
【0088】
次に分散環境からシミュレータ1を削除する場合について説明する。
統合シミュレーション実行中にシミュレータ1を停止する場合、当該シミュレータ1は、自己を管理するシミュレーションサービス部2a,2bに対して、自己が停止される旨を通知する。この通知を受けたシミュレーションサービス部2bは、ネットワーク11を介してマスタとして機能するシミュレーションサービス部2aに上記シミュレータ1が停止する旨を通知する。
【0089】
シミュレーションサービス部2aでは、上記通知を受けると、シミュレーションサービス部リスト16を読み出して、これに登録されている全てのシミュレーションサービス部2bがそれぞれ構築されたコンピュータを特定する「マシン名」を抽出する。このあと、シミュレーションサービス部2aは、上述のように抽出した情報を用いて、シミュレーションサービス部リスト16に登録されている全てのシミュレーションサービス部2bに対して、上記シミュレータ1が停止する旨を通知する。
【0090】
分散環境内の各シミュレーションサービス部2bでは、受信した上記通知の内容から上記シミュレータ1を特定する情報及びそのシミュレーション実行周期を読み出して自己のシミュレータリスト17から、当該シミュレータ1に関する情報を削除する。
【0091】
ここで、シミュレーションサービス部2b自体を停止する場合を説明する。
先ず、シミュレーションサービス部2bは、停止しようとする場合、記憶部5から接続情報を読み出して参照し、マスタとして機能するシミュレーションサービス部2aの分散環境内での位置を特定する。
【0092】
このあと、シミュレーションサービス部2bは、ネットワーク11を介してシミュレーションサービス部2aにその通知内容を送信する。シミュレーションサービス部2aでは、上記シミュレーションサービス部2bからの通知を受けると、当該シミュレーションサービス部2bが構築されたコンピュータを特定する情報(マシン名など)をシミュレーションサービス部リスト16から削除する。
【0093】
以上のように、この実施の形態3によれば、シミュレーションの実行中にシステムの構成及びその状態を規定するシミュレーションサービス部リスト16やシミュレータリスト17に変更があると、当該変更後の構成情報をシミュレーション実行に関与する全ての構成要素に対して認識させて、当該構成情報にて規定されるシステムでシミュレーションを続行するので、分散するシミュレーションサービス部2a,2bの全てが、現在実行中の統合シミュレーションに参加しているシミュレータ1を把握することができることから、統合シミュレーション実行中に動的にシミュレータ1を追加あるいは停止することができる。
【0094】
なお、上記実施の形態3では、マスタとして機能するシミュレーションサービス部2aをコンピュータ10a−1に固定して分散環境全体を管理する例を示したが、本発明はこれに限定されるものではない。例えば、分散環境に存在する全てのシミュレーションサービス部に、分散環境全体の構成及びその状態を保持・管理し、定期的にこれらの情報を互いに交換する機構を組み入れる。これにより、マスタが存在しない完全な自律分散環境にすることも可能である。
【0095】
【発明の効果】
以上のように、この発明によれば、複数のシミュレータが情報交換しながら統合してシミュレーションを実行する統合シミュレーションシステムにおいて、各シミュレータ間の接続関係を定義する接続情報を格納しておき、当該接続情報に基づいてシミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータを認識すると共に、当該シミュレータとの間でシミュレーションの実行上の時間的な同期をとるので、シミュレーションを実行するにあたり、情報交換の対象となる接続関係を有するシミュレータ間だけで同期をとればよいことから、同期をとるための通信量を低減することができ、効率的に統合したシミュレーションを実行することができるという効果がある。
【0096】
この発明によれば、自シミュレータ、及び、接続情報に基づいて認識された自シミュレータ情報交換の対象となる接続関係を有するシミュレータについて、これらのシミュレーション実行上の現在時間及びシミュレーションを完了する周期を含む同期用情報を保持するので、自シミュレータが自己と情報交換の対象となる接続関係を有する全てのシミュレータに対して次に同期をとるべき時間を認識することができ、シミュレータ間で時間的な同期をとるための通信量を低減することができるという効果がある。また、情報交換の対象となるシミュレータとの上記周期の差が大きく異なる場合であっても、非常に効率的に統合してシミュレーションを実行することができるという効果がある。
【0097】
この発明によれば、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、これらシミュレータ間の接続形態に応じた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信するメッセージ配信部を備え、当該メッセージ情報によって認識される時間情報に基づいて、シミュレータとの間でシミュレーションの実行上の時間的な同期をとるので、シミュレータ間のデータ通信時に生じる伝送遅延時間による不具合を低減することができると共に、その検証もすることができるという効果がある。
【0098】
この発明によれば、シミュレーション実行中にシミュレータ間の情報通信量を算出し、当該情報通信量に応じて伝送遅延時間を求め、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、伝送遅延計算部が求めた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信し、メッセージ情報によって認識される時間情報に基づいて、シミュレータとの間でシミュレーションの実行上の時間的な同期をとるので、シミュレーション実行時における情報通信量に応じて動的に求められた伝送遅延を考慮したシミュレーションを実現することができるという効果がある。
【0099】
この発明によれば、シミュレータ間における情報通信を中継するにあたり、シミュレータの入出力デバイスに直接アクセスするデバイスレベルで情報を送受信するので、シミュレータ自体が情報の作成や送受信を行うことない情報通信を実現することができるという効果がある。
【0100】
この発明によれば、シミュレーションの実行中にシステムの構成及びその状態を規定する構成情報に変更があると、当該変更後の構成情報をシミュレーション実行に関与する全ての構成要素に対して認識させて、当該構成情報にて規定されるシステムでシミュレーションを続行するので、複数のシミュレータを使用した分散環境で統合シミュレーションを実行するにあたり、動的にシミュレータを追加あるいは削除することができるという効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による統合シミュレーションシステムの構成を示す図である。
【図2】実施の形態1による統合シミュレーションシステムで用いられるメッセージの構成を示す図である。
【図3】実施の形態1の統合シミュレーションシステムにおけるメッセージ配信部の他の構成を示す図である。
【図4】図1中のメッセージ配信部の配置形態を説明する図である。
【図5】図1中の同期機構部によるメッセージ送信処理を説明する図である。
【図6】図1中の同期機構部によるメッセージ通信処理のシーケンスを示す図である。
【図7】この発明の実施の形態2による統合シミュレーションシステムのシミュレーションサービス部の構成を示す図である。
【図8】この発明の実施の形態3による統合シミュレーションシステムの構成を示す図である。
【符号の説明】
1 シミュレータ、2,2a,2b,2A シミュレーションサービス部、3,3a シミュレータオブジェクト部(同期整合部)、4,4a メッセージ配信部、5,5a 記憶部、6 同期機構部(同期整合部)、7 論理時計(同期整合部)、8 メッセージキュー(同期用情報保持部)、9 伝送遅延計算部(伝送遅延計算部)、10 ローカルマシン、10−1,10−2,10a−1,10a−2 リモートマシン、11 ネットワーク、12 メッセージ層、13デバイス層、14,15 デバイスオブジェクト(同期整合部)、16 シミュレーションサービス部リスト、17 シミュレータリスト。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an integrated simulation system in which different simulators are constructed on a plurality of computers, data transmission and reception between the plurality of simulators are controlled, and a simulation is executed by synchronizing time between the simulators. In a computer.
[0002]
[Prior art]
In simulating an event on a computer, it is necessary to further improve the accuracy of the simulation in order to make the event closer to a real event. However, as the simulation accuracy is improved, the processing amount of the computer is also increased. For this reason, it is necessary to perform an integrated simulation in which distributed processing is performed using a plurality of computers, and a simulation is performed by integrating the processing results, instead of having a single computer execute the simulation. That is, since the distributed processing is performed using a plurality of computers, the processing amount per unit time can be improved, and the accuracy of the simulation can be improved.
[0003]
Further, in the above-described integrated simulation system, when the computers functioning as the distributed simulators execute the simulation, it is necessary to perform control so that time synchronization of respective processing results can be accurately obtained. Therefore, as disclosed in, for example, Japanese Patent Application Laid-Open No. 2001-306538, in addition to the computers functioning as the simulators to be distributed, a management unit for temporally synchronizing the processing by the computers is provided.
[0004]
A specific operation will be described.
When the simulators to be distributed complete their processing, they output a request to advance the simulation time to the management unit. When receiving a time progress request from all simulators, the management unit outputs appropriate time progress permission to all of these simulators. This makes it possible to synchronize the processing by the plurality of distributed simulators in time.
[0005]
Further, in the above system, when data is exchanged between the simulators, a message whose destination is determined by the connection specifications between the simulators is used. This message also has a setting unit for setting the type of simulation information such as the connection specifications between the simulators, the simulated objects that each simulator publishes and subscribes to, and their attribute values.
[0006]
[Problems to be solved by the invention]
Since the conventional integrated simulation system is configured as described above, in order to synchronize the processing by the distributed simulators in time, even if the processing capacity of each simulator and the amount of processing assigned to them are different, The unit does not grant time progress until receiving time progress requests from all simulators. For this reason, for example, all the other simulators that have completed the process need to wait for the time progress permission until the slowest simulator completes the process and issues a time progress request. As a result, there has been a problem that even if a computer having sufficient processing capability to function as a simulator is used, the progress of the entire integrated simulation process may be slow.
[0007]
Further, in the conventional integrated simulation system, information on time in consideration of communication delay is not defined in a message used for data transfer between simulators. For this reason, there has been a problem that a failure due to a data communication delay cannot be verified by the integrated simulation.
[0008]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and achieves time synchronization in simulation execution only with a simulator having a connection relationship that is an object of information exchange in executing the simulation. Accordingly, it is possible to obtain an integrated simulation system and a program that can reduce the amount of communication for synchronization without waiting for permission of time progress by all simulators, and can execute an integrated simulation efficiently. With the goal.
[0009]
Further, the present invention synchronizes the time in simulation execution based on time information including a transmission delay time according to a connection mode between simulators and a transmission delay time according to an information communication amount between simulators. Accordingly, it is an object of the present invention to obtain an integrated simulation system and a program that can reduce a problem due to a transmission delay time generated at the time of data communication between simulators and can verify the problem.
[0010]
[Means for Solving the Problems]
An integrated simulation system according to the present invention is an integrated simulation system in which a plurality of simulators integrate and execute a simulation while exchanging information, and a storage unit for storing connection information defining a connection relationship between the simulators; And a synchronization matching unit that recognizes a simulator having a connection relationship that is an object of information exchange when executing a simulation based on the simulator, and synchronizes the simulation with the simulator in time with respect to execution of the simulation. is there.
[0011]
The integrated simulation system according to the present invention is characterized in that the synchronization matching unit is configured to execute a simulation with respect to its own simulator and a simulator having a connection relationship to be exchanged with the own simulator recognized based on the connection information. A synchronization information holding unit for holding synchronization information including a time and a cycle for completing the simulation is provided.
[0012]
In the integrated simulation system according to the present invention, the synchronization matching unit determines a current time on a simulation executed by a simulator having a connection relationship to be exchanged with the own simulator according to a connection mode between the simulators. A message distribution unit that distributes message information including time information to which a transmission delay time is added, and synchronizes with a simulator in terms of time in simulation execution based on the time information recognized by the message information; Things.
[0013]
In the integrated simulation system according to the present invention, the synchronization matching unit calculates an information communication amount between the simulators during execution of the simulation, and calculates a transmission delay time according to the information communication amount; A message distribution unit that distributes message information including time information obtained by adding a transmission delay time obtained by a transmission delay calculation unit to a current time in a simulation executed by a simulator having a connection relationship between which information is exchanged between the two. Based on the time information recognized by the message information, time synchronization with the simulator is performed in the execution of the simulation.
[0014]
In the integrated simulation system according to the present invention, when the synchronization matching unit relays information communication between simulators, information is transmitted and received at a device level that directly accesses an input / output device of the simulator.
[0015]
In the integrated simulation system according to the present invention, when there is a change in the configuration information that defines the configuration and the state of the system during the execution of the simulation, the changed configuration information is applied to all the components involved in the simulation execution. The recognition is performed, and the simulation is continued by the system specified by the configuration information.
[0016]
In a program according to the present invention, when a plurality of simulators execute a simulation by integrating information while exchanging information, a target of information exchange is executed when executing a simulation based on connection information defining a connection relationship between the simulators. In addition to recognizing a simulator having the following connection relationship, the computer is caused to function as a synchronization matching unit that synchronizes the simulator with the simulator in terms of time during execution of the simulation.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
FIG. 1 is a diagram showing a configuration of an integrated simulation system according to
[0018]
[0019]
Reference numeral 4 denotes a message delivery unit which delivers the message transmitted from the
[0020]
The connection information is information describing a relationship between the
[0021]
Therefore, by referring to the connection information, the
[0022]
[0023]
As described above, if the logical time is individually managed using the logical clock 7 and the minimum necessary synchronization is obtained for each
[0024]
[0025]
FIG. 2 is a diagram showing a configuration of a message used in the integrated simulation system according to the first embodiment. As shown in the figure, a message (message information) includes a header part and a data part. In the header part, it is necessary to distribute messages such as “source”, “destination”, “identifier”, “type”, “transmission time”, “delivery time” and “priority”. Is described. These pieces of information correspond to unique identifiers for specifying each
[0026]
More specifically, the “source” is an identifier for identifying the
[0027]
“Transmission time” is information that specifies the time at which the message was transmitted. This time corresponds to the time based on the logic time of the simulator that sent the message.
The “delivery time” is information for specifying a time at which a message should be delivered. This time is equivalent to the time obtained by adding the delay time according to the communication medium to the “transmission time”.
[0028]
The message delivered to the
[0029]
“Priority” is a value for determining the order of processing messages. The higher the “priority”, the earlier the processing. For example, in the case of a management message such as a forced termination, the “priority” can be set to the highest and distinguished from other messages.
[0030]
On the other hand, data actually transmitted and received between the
[0031]
As described above, the message used for data communication performed between the
[0032]
FIG. 3 is a diagram illustrating another configuration of the message delivery unit in the integrated simulation system according to the first embodiment. In the figure, reference numeral 4a denotes a message distribution unit having a data transmission delay calculation unit (transmission delay calculation unit) 9 for calculating a data transmission delay time according to the communication medium between the
[0033]
4A and 4B are diagrams for explaining an arrangement form of the message delivery unit in FIG. 1. FIG. 4A shows a form in which a message delivery unit is arranged on a local machine, and FIG. 4B shows a form in which a message delivery unit is arranged on a remote machine. The form is shown. In the figure,
[0034]
When receiving the message from the
Thereafter, as shown in (a), when the
[0035]
Further, as shown in (b), when the
[0036]
At this time, if a calculation formula for calculating the data transmission delay time is defined in the connection information, the data transmission delay calculation unit 9 in the message distribution unit 4a shown in FIG. The data transmission delay time is calculated from the size and the calculation formula defined in the connection information. Then, the message delivery unit 4a sets a time obtained by adding the data transmission delay time to the time set in the “transmission time” of the received message as the “delivery time”.
[0037]
FIG. 5 is a diagram for explaining a message transmission process by the synchronization mechanism unit in FIG. 1. FIG. 5A shows a case where the current logic time of the simulator A on the transmission side is ahead of the simulator B on the reception side, (B) shows a case where the current logic time of the simulator B on the receiving side is ahead of the simulator A on the transmitting side. This figure shows an example of message communication between two simulators A and B. In both cases (a) and (b), it is assumed that a message is transmitted from the simulator A to the simulator B, and the “delivery time” at that time is 320.
[0038]
In the example shown in (a), there is no problem because the message can be received when the logic time of the simulator B on the receiving side reaches 350 in the next cycle. On the other hand, as shown in (b), if the current logic time of the simulator B on the receiving side is ahead of the simulator A on the sending side, for example, the logic time of the simulator B becomes 350, and the “delivery” of the message has already been performed. Time "320 has passed. For this reason, the simulator A receives a past message, and a time mismatch occurs. As can be seen from this example, a problem may occur if the simulator B on the receiving side of the message is ahead of the simulator A on the transmitting side in time.
[0039]
Therefore, the
[0040]
Here, a specific logic time adjustment process will be described.
First, when updating the logic time of each
[0041]
The switching of the state of the
T + Δt ≦ Ti + Δti (i = 1, 2,..., N) (1)
Here, the logic time of a
[0042]
When one simulation execution is completed after the
[0043]
On the other hand, when the “start” message is sent from the
[0044]
Next, the operation will be described.
First, the
[0045]
Upon receiving the read request, the
[0046]
When the
[0047]
Thereafter, if there is no time inconsistency even if the time is advanced, the
[0048]
Next, the message communication in the present invention will be described in detail.
FIG. 6 is a diagram showing a sequence of a message communication process by the synchronization mechanism unit in FIG. 1, and a process for temporally synchronizing the message communication between the simulators A and B will be described in detail with reference to FIG. I do. Further, in the example shown in this figure, a case is considered in which messages are mutually transmitted and received only between the simulator A whose simulation execution cycle is 100 and the simulator B whose simulation execution cycle is 70. Further, for the sake of simplicity, only messages for time synchronization between the simulators A and B are shown. This message for synchronous communication is an internal message, and the data transmission delay time is zero.
[0049]
First, when the simulation to be processed in one cycle is completed, the simulator A transmits a message (delivery time = 600) to the simulator B. The
[0050]
After that, when the simulation executed by the simulator B is completed, the
[0051]
The
[0052]
In other words, according to the above equation (1), the logical time of the own device (the
[0053]
On the other hand, the simulator B recognizes from the above message that the simulator A has a logic time of 700. Here, when the simulation of one cycle is completed by the simulator B, the
[0054]
That is, according to the above equation (1), {the logic time of the self (the
[0055]
Also, on the simulator A side where the progress of the logic time has been suppressed, the condition that the
[0056]
In the example shown in FIG. 6, since each of the simulators A and B synchronizes each time the simulation of one cycle is completed, information indicating its own logical time is transmitted as a message to the
[0057]
For example, in the case shown in FIG. 6, when the simulator B completes the execution of the simulation in the
[0058]
The amount of synchronous communication due to such useless messages increases as the difference between the simulation execution cycles of the simulators to be connected greatly differs. Therefore, the
[0059]
First, the current logical time of the
Ts ′ ≦ Tr + Δtr <Ts ′ + Δts (2)
[0060]
Here, taking the case of FIG. 6 as an example, the current logic time of the simulator A is Tr = 600, and the logic time after the simulator B completes and updates the simulation of one cycle is Ts ′ = 630. Then, (Ts ′ = 630) <{(Tr = 600) + (Δtr = 100) = 700} = {(Ts ′ = 630) + (Δts = 70) = 700}, and the above equation (2) The condition expression (2) does not hold. Therefore, the simulator B does not need to transmit the synchronous communication message to the simulator A at this time.
[0061]
On the other hand, when the simulator B completes the next simulation and reaches Ts ′ = 700, (Ts ′ = 700) =) (Tr = 600) + (Δtr = 100) = 700} <{(Ts ′ = 700) + (Δts = 70) = 770 °, which satisfies the condition of the above equation (2), so that the synchronization message may be transmitted at this time.
[0062]
As described above, according to the first embodiment, when a plurality of
[0063]
Each of the FA devices often has an input / output device, and when performing data communication between the devices, data communication is often realized by connecting the devices. Similarly, when performing data communication with another simulator, data communication can be realized by connecting devices of the simulator.
[0064]
For example, a case is considered in which a sequencer (programmable controller) that substitutes a microcomputer for a signal processing unit (logic operation unit / control unit) of a logic circuit (hard-wired logic) configured by combining a relay, a timer, and a counter is used. By connecting the input / output contact to an input / output device of another device, the sequencer can perform data communication with the device and control the same. Therefore, a computer for constructing a simulator is used as one device of the sequencer, and its input / output devices and input / output contacts are connected. In this way, by sending and receiving messages directly to the input / output device of the computer that builds the simulator, the simulator itself does not need to create or send or receive messages, and it can read and write to other simulators more easily by reading and writing to other devices. Data communication can be performed.
[0065]
Thus, in order for the simulator to perform data communication at the device level, a device layer may be provided in the simulation service unit. That is, by providing the device layer in the simulation service unit, the simulator can access data at the device level without being aware of messages.
[0066]
FIG. 7 is a diagram showing a configuration of a simulation service unit of an integrated simulation system according to
[0067]
Here, the device objects 14 and 15 correspond to devices of the
[0068]
As described above, the
[0069]
Next, the operation will be described.
When the simulator object unit 3a receives the “completion” message from the
[0070]
Thereafter, the simulator object unit 3a reads the device map from the storage unit 5a, refers to the device map, searches for a connection destination (the simulator object unit 3a and the device) of the device extracted as having a change in device value, and searches for the device value. A message that describes a device name for specifying a device to which is to be written and its device value is created and transmitted. The type of message created here is a device type that handles data communication between devices.
[0071]
When receiving the above-mentioned device type message, the simulator object unit 3a stores it in the
[0072]
As described above, according to the second embodiment, by providing a device layer in the simulator object section 3a, when relaying information communication between the
[0073]
According to the third embodiment, when a simulator is constructed by distributing the simulator to a plurality of computers connected by a network and an integrated simulation is executed, a synchronization management function and a communication management function can be used for the simulator to be distributed. , And a mechanism for managing these.
[0074]
FIG. 8 is a diagram showing a configuration of an integrated simulation system according to
[0075]
[0076]
[0077]
[0078]
Next, the operation will be described.
First, a case where a
When starting the
[0079]
When the
[0080]
Next, a case where a
First, a
[0081]
Upon receiving the notification, the
[0082]
Each of the
[0083]
Subsequently, a case will be described in which the
In this case, the
[0084]
As a result, the
[0085]
Here, the
Tre ≦ Tsl (3)
[0086]
That is, when the above equation (3) is satisfied, the
[0087]
Therefore, the
[0088]
Next, a case where the
When stopping the
[0089]
Upon receiving the notification, the
[0090]
Each
[0091]
Here, a case where the
First, when trying to stop the
[0092]
Thereafter, the
[0093]
As described above, according to the third embodiment, if the simulation
[0094]
In the third embodiment, the
[0095]
【The invention's effect】
As described above, according to the present invention, in an integrated simulation system in which a plurality of simulators execute a simulation while integrating information while exchanging information, connection information defining a connection relationship between the simulators is stored, and In performing the simulation based on the information, the simulator recognizes the simulator having the connection relationship that is the object of information exchange, and synchronizes the simulation with the simulator in terms of time in executing the simulation. Since it is only necessary to synchronize between simulators having a connection relationship to exchange information, it is possible to reduce the amount of communication required for synchronization and to execute an efficient integrated simulation. effective.
[0096]
According to the present invention, the present simulator and the simulator having the connection relation to be exchanged with the own simulator information recognized based on the connection information include the current time in executing the simulation and the cycle of completing the simulation. Since the synchronization information is retained, the own simulator can recognize the next time to synchronize with all the simulators having a connection relationship with which information is to be exchanged with itself, and time synchronization between the simulators can be realized. This has the effect of reducing the amount of communication for taking Further, even when the difference in the period from the simulator to which information is exchanged is greatly different, there is an effect that the simulation can be executed very efficiently and integrated.
[0097]
According to the present invention, the time information obtained by adding the transmission delay time according to the connection mode between the simulators to the current time in the simulation executed by the simulator having the connection relation to be exchanged with the simulator itself. A message distribution unit that distributes message information including, and based on time information recognized by the message information, time synchronization is performed between the simulator and the simulation, so that data communication between the simulators can be performed. It is possible to reduce the trouble caused by the transmission delay time and to verify the trouble.
[0098]
According to the present invention, a simulator having a connection relationship for exchanging information with its own simulator by calculating an information communication amount between simulators during a simulation execution, obtaining a transmission delay time according to the information communication amount, Distributes the message information including the time information obtained by adding the transmission delay time obtained by the transmission delay calculation unit to the current time on the simulation executed, and communicates with the simulator based on the time information recognized by the message information. Since time synchronization is performed during the execution of the simulation, there is an effect that a simulation can be realized in consideration of a transmission delay dynamically determined according to the amount of information communication at the time of executing the simulation.
[0099]
According to the present invention, when relaying information communication between simulators, information is transmitted and received at a device level that directly accesses an input / output device of the simulator, thereby realizing information communication without the simulator itself creating or transmitting or receiving information. There is an effect that can be.
[0100]
According to the present invention, if there is a change in the configuration information that defines the configuration of the system and its state during the execution of the simulation, the configuration information after the change is recognized for all components involved in the simulation execution. Since the simulation is continued in the system specified by the configuration information, there is an effect that a simulator can be dynamically added or deleted when executing an integrated simulation in a distributed environment using a plurality of simulators.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an integrated simulation system according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a message used in the integrated simulation system according to the first embodiment.
FIG. 3 is a diagram illustrating another configuration of the message delivery unit in the integrated simulation system according to the first embodiment;
FIG. 4 is a diagram illustrating an arrangement form of a message delivery unit in FIG. 1;
FIG. 5 is a diagram illustrating a message transmission process by a synchronization mechanism unit in FIG. 1;
FIG. 6 is a diagram showing a sequence of a message communication process by the synchronization mechanism unit in FIG. 1;
FIG. 7 is a diagram showing a configuration of a simulation service unit of the integrated simulation system according to the second embodiment of the present invention.
FIG. 8 is a diagram showing a configuration of an integrated simulation system according to a third embodiment of the present invention.
[Explanation of symbols]
1 simulator, 2, 2a, 2b, 2A simulation service section, 3, 3a simulator object section (synchronization matching section), 4, 4a message delivery section, 5, 5a storage section, 6 synchronization mechanism section (synchronization matching section), 7 Logical clock (synchronization matching unit), 8 message queue (synchronization information holding unit), 9 transmission delay calculation unit (transmission delay calculation unit), 10 local machine, 10-1, 10-2, 10a-1, 10a-2 Remote machine, 11 network, 12 message layer, 13 device layer, 14, 15 device object (synchronization matching section), 16 simulation service section list, 17 simulator list.
Claims (7)
上記各シミュレータ間の接続関係を定義する接続情報を格納する記憶部と、
上記接続情報に基づいてシミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータを認識すると共に、当該シミュレータとの間でシミュレーションの実行上の時間的な同期をとる同期整合部と
を備えたことを特徴とする統合シミュレーションシステム。In an integrated simulation system where multiple simulators integrate and execute simulation while exchanging information,
A storage unit that stores connection information that defines a connection relationship between the simulators;
A synchronization matching unit for recognizing a simulator having a connection relationship that is an object of information exchange when executing a simulation based on the connection information, and performing time synchronization with the simulator for executing the simulation. An integrated simulation system, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197695A JP3621392B2 (en) | 2002-07-05 | 2002-07-05 | Integrated simulation system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002197695A JP3621392B2 (en) | 2002-07-05 | 2002-07-05 | Integrated simulation system and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004038785A true JP2004038785A (en) | 2004-02-05 |
JP3621392B2 JP3621392B2 (en) | 2005-02-16 |
Family
ID=31705400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002197695A Expired - Fee Related JP3621392B2 (en) | 2002-07-05 | 2002-07-05 | Integrated simulation system and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3621392B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079341A (en) * | 2004-09-09 | 2006-03-23 | Mitsubishi Electric Corp | Distribution simulation system and program |
JPWO2005083615A1 (en) * | 2004-02-26 | 2007-11-29 | 国立大学法人京都大学 | Biological simulation apparatus and program |
JP2008070368A (en) * | 2006-09-11 | 2008-03-27 | Dspace Digital Signal Processing & Control Engineering Gmbh | How to test electronic control system |
WO2008146859A1 (en) * | 2007-06-01 | 2008-12-04 | Mitsubishi Electric Corporation | Simulation system |
JP2008310449A (en) * | 2007-06-12 | 2008-12-25 | Canon Inc | Simulation synchronizer and control method thereof |
US8036761B2 (en) | 2006-09-27 | 2011-10-11 | Fujitsu Ten Limited | Simulation hardware apparatus comprising vehicle model |
JP2011248600A (en) * | 2010-05-26 | 2011-12-08 | Mitsubishi Electric Corp | Distributed simulation system |
JP2012128809A (en) * | 2010-12-17 | 2012-07-05 | Fujitsu Ltd | Parallel computer system, synchronization device, and control method for parallel computer system |
JP2015032120A (en) * | 2013-08-02 | 2015-02-16 | キヤノン株式会社 | Simulation device, simulation method, and program |
JPWO2013145270A1 (en) * | 2012-03-30 | 2015-08-03 | 三菱電機株式会社 | Air conditioner test system, air conditioning system simulator and program |
JP7418368B2 (en) | 2021-02-22 | 2024-01-19 | トヨタテクニカルディベロップメント株式会社 | Simulation system, simulation method and simulation program |
WO2024084582A1 (en) * | 2022-10-18 | 2024-04-25 | 日本電信電話株式会社 | Link system, link method, and link program |
-
2002
- 2002-07-05 JP JP2002197695A patent/JP3621392B2/en not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005083615A1 (en) * | 2004-02-26 | 2007-11-29 | 国立大学法人京都大学 | Biological simulation apparatus and program |
JP4679856B2 (en) * | 2004-09-09 | 2011-05-11 | 三菱電機株式会社 | Distributed simulation system and program |
JP2006079341A (en) * | 2004-09-09 | 2006-03-23 | Mitsubishi Electric Corp | Distribution simulation system and program |
JP2008070368A (en) * | 2006-09-11 | 2008-03-27 | Dspace Digital Signal Processing & Control Engineering Gmbh | How to test electronic control system |
US8036761B2 (en) | 2006-09-27 | 2011-10-11 | Fujitsu Ten Limited | Simulation hardware apparatus comprising vehicle model |
WO2008146859A1 (en) * | 2007-06-01 | 2008-12-04 | Mitsubishi Electric Corporation | Simulation system |
JP2008310449A (en) * | 2007-06-12 | 2008-12-25 | Canon Inc | Simulation synchronizer and control method thereof |
JP2011248600A (en) * | 2010-05-26 | 2011-12-08 | Mitsubishi Electric Corp | Distributed simulation system |
JP2012128809A (en) * | 2010-12-17 | 2012-07-05 | Fujitsu Ltd | Parallel computer system, synchronization device, and control method for parallel computer system |
JPWO2013145270A1 (en) * | 2012-03-30 | 2015-08-03 | 三菱電機株式会社 | Air conditioner test system, air conditioning system simulator and program |
US9817410B2 (en) | 2012-03-30 | 2017-11-14 | Mitsubishi Electric Corporation | Air conditioner testing system, air-conditioning system simulator, and program |
JP2015032120A (en) * | 2013-08-02 | 2015-02-16 | キヤノン株式会社 | Simulation device, simulation method, and program |
JP7418368B2 (en) | 2021-02-22 | 2024-01-19 | トヨタテクニカルディベロップメント株式会社 | Simulation system, simulation method and simulation program |
WO2024084582A1 (en) * | 2022-10-18 | 2024-04-25 | 日本電信電話株式会社 | Link system, link method, and link program |
Also Published As
Publication number | Publication date |
---|---|
JP3621392B2 (en) | 2005-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210042266A1 (en) | Geographically-distributed file system using coordinated namespace replication over a wide area network | |
US9983957B2 (en) | Failover mechanism in a distributed computing system | |
TWI470459B (en) | Storage control system, method, data carrier, and computer program product to operate as a remote copy pair by communicating between a primary and a secondary of said remote copy pair | |
CN103297529B (en) | Based on the tree-type structure data synchronous method of timestamp | |
US8132173B2 (en) | Method and system for coordinating hypervisor scheduling | |
JP2004038785A (en) | Integrated simulation system and program | |
US20150278244A1 (en) | Geographically-distributed file system using coordinated namespace replication over a wide area network | |
US8416811B2 (en) | Coordinated timing network having servers of different capabilities | |
JP2000137638A (en) | Information storage system | |
CN112148798A (en) | Data processing method and device applied to distributed system | |
CN108833610B (en) | Information updating method, device and system | |
Ferreira et al. | Combining operational flexibility and dependability in FTT-CAN | |
US20160285576A1 (en) | Gateway for interconnection of heterogeneous middleware and time synchronization method thereof | |
CN100527661C (en) | Method and system for realizing multi-clock synchronization | |
TW201824030A (en) | Main database/backup database management method and system and equipment thereof | |
CN109918116A (en) | O&M object support method and system | |
US20130110782A1 (en) | Oportunistic database duplex operations | |
JP2000222268A (en) | Method for synchronizing file for plural computers | |
CN107179912B (en) | Hot upgrading method for distributed architecture software defined network controller | |
CN107005434B (en) | Method, device and equipment for synchronizing Virtual Network Function (VNF) state | |
JP3471637B2 (en) | Parallel distributed simulation system, simulation manager, and parallel distributed simulator control method | |
CN112052104A (en) | Message queue management method based on multi-computer-room realization and electronic equipment | |
JP2002007191A (en) | Information duplicating method between information expressed in language with tag | |
US11586592B2 (en) | Methods, devices and systems for writer pre-selection in distributed data systems | |
Cisco | Understanding Replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040709 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040928 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041001 |
|
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: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041117 |
|
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: 20071126 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |