JP2004038785A - Integrated simulation system and program - Google Patents

Integrated simulation system and program Download PDF

Info

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
Application number
JP2002197695A
Other languages
Japanese (ja)
Other versions
JP3621392B2 (en
Inventor
Koichi Furusawa
古澤 康一
Tsutomu Yoshikawa
吉川 勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002197695A priority Critical patent/JP3621392B2/en
Publication of JP2004038785A publication Critical patent/JP2004038785A/en
Application granted granted Critical
Publication of JP3621392B2 publication Critical patent/JP3621392B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an integrated simulation system which can reduce failures due to transmission delay time to be generated in the case of data communication between simulators by taking synchronization in time on execution of the simulation based on time information including transmission delay time according to a connection state between the simulators and transmission delay time according to information communication quantity between the simulators and can also perform its verification. <P>SOLUTION: In the case of executing the simulation by integrating the simulation as exchanging information by a plurality of simulators 1, simulators 1 having the connection relation to be an object of information exchange on executing the simulation is recognized and synchronization in time on the execution of the simulation is taken between the recognized simulators 1 by using a message including the time information formed by adding the transmission delay time to the current time on the simulation between the simulators 1 by a synchronization mechanism section 6 and a logical clock 7. <P>COPYRIGHT: (C)2004,JPO

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.
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of an integrated simulation system according to Embodiment 1 of the present invention. In the figure, reference numeral 1 denotes a plurality of simulators for distributing and processing a simulation program for simulating a certain event, and is constructed on a computer for each simulator object unit 3. In addition, data communication between the simulators 1 is performed by a message having specifications described later. Reference numeral 2 denotes a simulation service unit that executes synchronization management, communication management, and distributed management of a plurality of distributed simulators 1. The simulation service unit 2 includes a simulator object unit 3, a message delivery unit 4, and a storage unit 5 for storing connection information.
[0018]
Reference numeral 3 denotes a simulator object unit (synchronization matching unit) provided for each simulator 1, and executes synchronization management and data communication management for the simulator 1. The simulator object unit 3 manages the current logic time of the simulator 1 in the simulation. The simulator object unit 3 is embodied by a program that causes a computer to function as the synchronization mechanism unit 6, the logical clock 7, and the message queue 8.
[0019]
Reference numeral 4 denotes a message delivery unit which delivers the message transmitted from the simulator object unit 3 to the destination simulator object unit 3. The message distribution unit 4 is also embodied by a program that causes a computer to have the function. Reference numeral 5 denotes a storage unit for storing connection information, which is realized by a hard disk device mounted on a computer functioning as the simulation service unit 2 or a disk device using a storage medium such as a CD-ROM.
[0020]
The connection information is information describing a relationship between the simulators 1 connected to each other and exchanging data. For example, the connection information describes the relationship between the simulator 1 that transmits data and the simulator 1 that receives data when data communication is performed between the simulators 1. Further, the connection information also describes information on a data transmission delay time according to a communication medium at the time of communication connection between the simulators 1.
[0021]
Therefore, by referring to the connection information, the simulator object unit 3 and the message delivery unit 4 can grasp which simulator 1 in the integrated simulation system is connected to which simulator 1 so as to enable data communication. . In addition, the flow (direction) of data in data communication between the simulators 1 and the data transmission delay time when performing data communication can be grasped. Here, the information relating to the “data transmission delay time according to the communication medium” held in the connection information may be a fixed value or may be given as a probability distribution.
[0022]
Reference numeral 6 denotes a synchronization mechanism unit (synchronization matching unit), which exchanges information on the logical time between the simulator 1 managed by itself and another simulator 1 connected thereto based on the connection information, and manages the simulator 1 by itself. Update of the logical time is determined. Reference numeral 7 denotes a logic clock (synchronization matching unit), which is a clock that holds the logic time of the simulator object unit. The logic time held by the logic clock 7 is advanced by the execution cycle of the simulator 1 by the simulator object unit 3 when the synchronization mechanism unit 6 permits the progress of the time.
[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 simulator 1, the temporal consistency is guaranteed. Thereby, each simulator 1 can execute a simulation independently. As will be described later, the logical time stored in the logical clock 7 is used to determine whether or not the message in which the distribution time is described arrives at the distribution time.
[0024]
Reference numeral 8 denotes a message queue (synchronization information holding unit), which temporarily holds a message received from the simulator object unit 3. The message held in the message queue 8 describes a delivery time as described later. When sending a message received from another simulator object unit 3 to a simulator 1 managed by a certain simulator object unit 3, the simulator object unit 3 corresponds to a time before the current logic time of the simulator 1 managed by itself. The message describing the delivery time is read out from the message queue 8 and transmitted.
[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 simulator 1 and simulator object unit 3.
[0026]
More specifically, the “source” is an identifier for identifying the simulator 1 that is the source of the message. The "delivery destination" is an identifier for specifying the simulator 1 to which the message is to be distributed. “Identifier” is an identifier for identifying a message. “Type” is an identifier that specifies the type of message. Here, as the types of messages, in addition to messages related to normal data communication, there are messages handling devices, messages used internally by the simulation service unit 2 to manage the simulator 1, and the like.
[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 simulator object unit 3 by the message delivery unit 4 is actually transmitted to the simulator 1 when the logical time of the delivery destination simulator 1 reaches the delivery time. However, in the case of a special message that needs to be transmitted and immediately distributed, the distribution time may be set to zero. By giving a delivery time to a message in this way, a data communication simulation in which a communication delay time is considered can be performed. It is also possible to guarantee temporal consistency of the message.
[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 simulators 1 is described in the data portion. The content described in this data section may or may not be limited in size. The format of the data described in the data section may be a text format or a binary format.
[0031]
As described above, the message used for data communication performed between the simulators 1 through the simulator object unit 3 has a concept of time, and guarantees temporal consistency including transmission delay in the simulation and guarantees time consistency. It is distributed to the simulator 1.
[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 simulators 1 described in the connection information. In the data transmission delay calculator 9, a calculation formula for calculating the data transmission delay time according to the data communication amount between the simulators 1 when the simulation is actually executed is set. The same components as those in FIG. 1 are denoted by the same reference numerals, and redundant description will be omitted.
[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, reference numeral 10 denotes a local machine, which is embodied by a single computer in which a message delivery unit 4 (or 4a), a plurality of simulator object units 3, and a storage unit 5 for storing connection information are constructed. Reference numerals 10-1 and 10-2 denote remote machines in each of which a message delivery unit 4 (or 4a), a simulator object unit 3, and a storage unit 5 for storing connection information are constructed, which are connected to each other so as to enable data communication via the network 11. Embodied by multiple computers. The form of the network may be the Internet or a dedicated line, and these may be mixed.
[0034]
When receiving the message from the simulator object unit 3, the message delivery units 4 and 4a read the connection information in which the identifier of the simulator 1 and the activation machine name are described from the storage unit 5 and refer to the delivery information described in the message. Search for. Further, the message delivery units 4 and 4a acquire the data transmission delay time from the connection information, and add the time obtained by adding the data transmission delay time to the time set in the “transmission time” of the received message to the “message” of the message. Delivery time. "
Thereafter, as shown in (a), when the simulator 1 of the delivery destination exists in the local machine 10, the message delivery units 4 and 4a send the message queue of the simulator object unit 3 that manages the simulator 1 of the delivery destination. Add a message to 8.
[0035]
Further, as shown in (b), when the destination simulator 1 exists in the remote machines 10-1 and 10-2, the corresponding message delivery units 4 and 4a determine that the destination simulator 1 does not exist. The message is transmitted to the message distribution units 4 and 4a in the corresponding machine, and the distribution of the message is requested. Upon receiving a message from the remote machines 10-1 and 10-2, the message delivery units 4 and 4a search for a delivery destination described in the message with reference to the same configuration information in the connection information, and execute a delivery destination simulator. A message is added to the message queue 8 of the simulator object unit 3 which manages the message queue 1.
[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 synchronization mechanism unit 6 compares the logic time between the simulator 1 managed by the simulator object unit 3 and the simulator 1 that is the source of the message connected to the simulator 1 and synchronizes the simulation execution so that no time mismatch occurs. Take. That is, when a "complete" message of one cycle of simulation execution is sent from the simulator 1 to the simulator object unit 3, the synchronization mechanism unit 6 controls so that the logic time of the simulator 1 which is the message transmission source does not advance too much.
[0040]
Here, a specific logic time adjustment process will be described.
First, when updating the logic time of each simulator 1, the simulator 1 notifies the simulator 1 of the data transmission destination using a message as necessary when updating the logic time. Thereby, each simulator object unit 3 can grasp the current logic time of the simulator 1 which is the data transmission source. The synchronization mechanism unit 6 in the simulator object unit 3 switches its state (open or closed) based on the logic time of the data transmission source.
[0041]
The switching of the state of the synchronization mechanism 6 described above is performed according to the following equation (1).
T + Δt ≦ Ti + Δti (i = 1, 2,..., N) (1)
Here, the logic time of a certain simulator 1 is represented by T, the cycle is represented by Δt, and the n simulators 1 that are the message transmission sources are represented by S1, S2,..., Sn, respectively. .., Tn, and the periods are Δt1, Δt2,. Here, the synchronization mechanism unit 6 is in an open state when the above equation (1) is satisfied for all i, and is in a closed state when not satisfied.
[0042]
When one simulation execution is completed after the simulator 1 receives the message, the simulator 1 transmits a “completion” message to the corresponding simulator object unit 3. Subsequently, in the simulator object unit 3 receiving the "completion" message from the simulator 1, when the synchronization mechanism unit 6 is opened, the logic clock 7 in the simulation object unit 3 is advanced by one cycle.
[0043]
On the other hand, when the “start” message is sent from the simulator 1 managed by the other simulation object unit 3, the simulation object unit 3 reads out the received message that has reached the “delivery time” from the message queue 8 and executes the simulator managed by itself. Send to 1. After that, the simulator 1 that has received the message starts executing the simulation in one cycle. As a result, a message can be delivered at an appropriate time while maintaining temporal consistency.
[0044]
Next, the operation will be described.
First, the simulator 1 activates the simulator object unit 3 at the time of activation. When activated, the simulator object unit 3 sends a “start” message to the simulator 1 managed by itself. Upon receiving the “start” message from the simulator object unit 3, the simulator 1 requests the simulator object unit 3 to read out the message stored in the message queue 8.
[0045]
Upon receiving the read request, the simulator object unit 3 describes a “delivery time” corresponding to a time before the current logical time of the simulator 1 managed by itself (that is, the time currently set in the logical clock 7). The message is read from the message queue 8 and sent to the simulator 1. Upon receiving the message from the simulator object unit 3, the simulator 1 executes a one-cycle simulation.
[0046]
When the simulator 1 completes one cycle of the simulation execution, it sends a “completion” message to the simulator object unit 3. Upon receiving the "completion" message, the simulator object unit 3 checks the current logic time of the simulator 1 which needs to be synchronized (the message may be transmitted to the simulator 1 managed by itself).
[0047]
Thereafter, if there is no time inconsistency even if the time is advanced, the simulator object unit 3 advances the current logical time of its own logical clock 7 and then sends a “start” message to the simulator 1. Thus, by the same processing as described above, a simulation can be executed by the plurality of simulators 1 while maintaining temporal consistency.
[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 simulator object unit 3 managing the simulator B recognizes that the logic time of the simulator A has reached 600 by the above message.
[0050]
After that, when the simulation executed by the simulator B is completed, the simulator object unit 3 managing the simulator B sets the time to a logical time (time advanced from the distribution time 600) in which the simulator A can be time-matched. You can proceed. Here, considering that the logic time is, for example, 630 when the simulation execution by the simulator B is completed, the simulator object unit 3 that manages the simulator B advances its own logical clock 7 to 630, Is transmitted to the simulator A.
[0051]
The simulator object unit 3 managing the simulator A recognizes from the message from the simulator B that the logical time has reached 630. After that, when one cycle of simulation by the simulator A managed by itself is completed, the simulator object unit 3 adds the time 100 for one cycle to the logic time 600, and actually has the logic time 700. However, since the simulator object unit 3 that manages the simulator A recognizes that the logic time of the simulator B to which the message for synchronous communication is to be delivered is 630 from the previous message, the logic time is set to 700. I can't.
[0052]
In other words, according to the above equation (1), the logical time of the own device (the logical time 600 + the time of one cycle 100) = 700)> (the logical time 630 of the simulator B that is the message transmission source). Accordingly, the simulator object unit 3 that manages the simulator A does not satisfy the condition that its synchronization mechanism unit 6 is in the open state, and therefore suppresses the advance of its own logical clock 7 to 700 (logical clock). 7 to 700). Therefore, the simulator object unit 3 that manages the simulator A sends a message with a delivery time of 700 to the simulator B side.
[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 simulator object unit 3 managing the simulator B advances its logic time to 700.
[0054]
That is, according to the above equation (1), {the logic time of the self (the logic time 630 + 1 the time of the period 70) = 700} = {the logic time 700 of the simulator B that is the message transmission source}. Accordingly, the simulator object unit 3 that manages the simulator B advances its own logical clock 7 to 700 because the condition that its own synchronization mechanism unit 6 is opened is satisfied. Thereafter, the simulator object unit 3 that manages the simulator B transmits a message with the distribution time set to 700 to the simulator A.
[0055]
Also, on the simulator A side where the progress of the logic time has been suppressed, the condition that the synchronization mechanism unit 6 is in the open state is satisfied by receiving the message with the distribution time set to 700 from the simulator B side. . Therefore, the simulator object unit 3 managing the simulator A can advance the logic time of the simulator A to 700. By repeating the transmission and reception of such a message, the simulations of the simulators A and B can proceed while maintaining synchronization.
[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 simulator 1 of the connection partner. There is a need to. In such a sequence, useless synchronous communication messages may be transmitted between the simulators A and B.
[0057]
For example, in the case shown in FIG. 6, when the simulator B completes the execution of the simulation in the logic time 600, the simulator object unit 3 managing the simulator B transmits a message in which the distribution time is set to 630 to the simulator A. I have. However, even if this message is transmitted, the synchronization mechanism unit 6 on the simulator A side does not satisfy the condition of the above equation (1) and does not enter the open state. In this case, the message with the delivery time 630 is useless, and the simulator B only needs to send the message with the delivery time set to 700.
[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 simulator object unit 3 holds the current logic time of the connected simulator and its simulation execution cycle and executes the processing described later, so that it is not necessary to transmit the useless synchronization message as described above.
[0059]
First, the current logical time of the simulator object unit 3 receiving the synchronous communication message and the simulation execution cycle of the simulator managed by the simulator object unit 3 are Tr and Δtr, respectively. Further, after the simulation execution cycle of the simulator managed by the simulator object unit 3 that transmits the synchronous communication message is completed by the simulation execution of Δts and one cycle Δts, the logic time updated by the cycle is set to Ts ′. Thereby, the following equation (2) is obtained. The simulator object unit 3 that transmits the synchronous communication message may transmit the synchronous communication message only when the condition of the following equation (2) is satisfied.
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 simulators 1 execute integration and simulation while exchanging information, simulation is performed based on connection information that defines a connection relationship between the simulators 1. Simulator 1 having a connection relationship to be exchanged information is recognized during execution, and time information obtained by adding the transmission delay time to the current time in the simulation between simulators 1 is synchronized between simulators 1 by synchronization mechanism unit 6 and logic clock 7. Since the simulation includes the use of the above-mentioned message, the simulation is synchronized with the simulator 1 in terms of time in executing the simulation. Can be synchronized between them, and the data is not exchanged. It is possible to prevent the progress of the simulation execution is prevented. Further, unlike the related art, it is possible to reduce the amount of message communication for synchronizing all simulators.
[0063]
Embodiment 2 FIG.
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 Embodiment 2 of the present invention. In FIG. 2, reference numeral 2A denotes a simulation service unit according to the second embodiment, which has a simulation object unit 3a divided into a message layer 12 and a device layer 13. Reference numeral 3a denotes a simulation object section having a message layer 12 and a device layer 13, which creates device objects (synchronization matching sections) 14 and 15 in the device layer 13 for devices used by the simulator 1 managed by itself. Although not shown, the simulator object unit 3a includes a synchronization mechanism unit 6, a logical clock 7, and a message queue 8 as in the first embodiment.
[0067]
Here, the device objects 14 and 15 correspond to devices of the simulator 1 and hold information on the devices. More specifically, the device object 14 stored in the input device in the device layer 13 includes information specifying each device of the simulator 1 managed by the simulator object unit 3a having the device layer 13 and information to be input thereto. Information (information to be read to the device) is temporarily stored. The device object 15 stored in the output device in the device layer 13 includes information for specifying each device of the simulator 1 managed by the simulator object unit 3a having the device layer 13 and information output from the device (written from the device). Is temporarily stored.
[0068]
As described above, the simulator 1 can read and write device values from and to the device objects 14 and 15 on the simulator object unit 3a that manages the simulator 1 itself. Further, the simulator object unit 3a converts a device object and a message with reference to a device map describing a connection relationship between its own device and a device of the simulator 1 managed by another simulator object unit 3a. This device map is stored in the storage unit 5a together with the connection information described in the first embodiment. The storage unit 5a is realized by a hard disk device mounted on a computer functioning as the simulation service unit 2A or a disk device using a storage medium such as a CD-ROM.
[0069]
Next, the operation will be described.
When the simulator object unit 3a receives the “completion” message from the simulator 1 managed by itself, the simulator object unit 3a sets the input / output device in the device layer 13 when the synchronization mechanism unit 6 is in the open state as in the first embodiment. With reference to the device values stored in the device objects 14 and 15 inside, the devices of the simulator 1 whose device values have changed are extracted.
[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 message queue 8. Subsequently, when the received message of the device type reaches the distribution time, the simulator object unit 3a interprets the content of the message and reads the device name and the device value to be written to the device specified by the message. Thereafter, the simulator object unit 3a extracts a device corresponding to the device name from the devices of the simulator 1 managed by itself, and sets and updates the device value to this.
[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 simulators 1, a device level for directly accessing the input / output devices of the simulator 1 is used. Since information is transmitted and received, the simulator 1 does not need to be aware of messages, and can communicate with other simulators 1 only by reading and writing to a device that is easy to handle.
[0073]
Embodiment 3 FIG.
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 Embodiment 3 of the present invention, and shows a case where a simulator is configured by being distributed to a plurality of computers connected via a network. In the figure, reference numeral 2a denotes a simulation service unit that functions as a master that manages the configuration and the state (start / stop) of the entire distributed environment constructed by the distributed simulator 1 and the like. It has a service section list 16 and a simulator list 17. The simulation service unit 2a has a message delivery unit 4 and a storage unit 5 for storing connection information as in the first embodiment, but is not shown.
[0075]
Reference numeral 2b denotes a non-master simulation service unit managed by the simulation service unit 2a functioning as a master, and has a simulator list 17 in addition to the simulation object unit 3. The simulation service unit 2b also has a message delivery unit 4 and a storage unit 5 for storing connection information, as in the first embodiment, but is not shown. Reference numerals 10a-1 and 10a-2 denote computers connected to the network 11 so as to be able to perform data communication. In addition to the simulator 1, simulation services 2a and 2b are constructed, respectively.
[0076]
Reference numeral 16 denotes a simulation service unit list constructed in the simulation service unit 2a functioning as a master, and holds information for specifying all the simulation service units 2b in the distributed environment in a list format. The simulation service unit list 16 is a list used by the simulation service unit 2a functioning as a master to manage the configuration of the simulation service unit 2b in a distributed environment. Further, in the simulation service unit list 16, as information for specifying each simulation service unit 2b, for example, a machine name of a computer running the simulation service unit 2b is described.
[0077]
Reference numeral 17 denotes a simulator list, which holds information for specifying all simulators respectively constructed on computers existing on the network 11 in a list format. The simulator list 17 is a list used by each of the simulation service units 2a and 2b to specify the configuration of the simulator 1 in the distributed environment. In the simulator list 17, the "identifier" of each simulator 1, the "period" of the simulation execution, and the "machine name" of the computer on which the simulator is constructed and started are described. Here, as described in the first embodiment, the simulation execution cycle of the destination simulator 1 required for determining whether to transmit the synchronous communication message is determined by referring to the simulator list 17. Can be obtained.
[0078]
Next, the operation will be described.
First, a case where a new simulator 1 is added to the distributed environment will be described.
When starting the simulator 1 already registered in the simulation service unit 2a functioning as the master, the computer 10a-2 having the simulator 1 is started up, and the simulation service unit 2b managing the simulator 1 is started. Thereafter, the simulation service unit 2b notifies the simulation service unit 2a via the network 11 that it has been started.
[0079]
When the simulation service unit 2a receives a notification from the simulation service unit 2b that manages the newly activated simulator 1, the simulation service unit list includes information (such as a machine name) specifying the computer on which the simulation service unit 2b is built. Add to 16.
[0080]
Next, a case where a new simulator 1 is added will be described.
First, a simulator 1 to be newly added is constructed and activated on any computer having the simulation service unit 2b in the distributed environment. At this time, the simulator 1 notifies the simulation service unit 2b that it has been started and the simulation execution cycle. Upon receiving the notification, the simulation service unit 2b transmits the content of the notification to the simulation service unit 2a functioning as a master via the network 11.
[0081]
Upon receiving the notification, the simulation service unit 2a reads out and refers to the simulation service unit list 16, and specifies each position in the distributed environment of all the simulation service units 2b registered therein. Thereafter, the simulation service unit 2a uses the information specified as described above, and informs all simulation service units 2b registered in the simulation service unit list 16 that a new simulator 1 has been added. The simulation execution cycle is notified.
[0082]
Each of the simulation service units 2b in the distributed environment reads the information for specifying the simulator 1 and the simulation execution cycle thereof from the content of the received notification and adds the information to its own simulator list 17.
[0083]
Subsequently, a case will be described in which the simulator 1 started during the execution of the simulation or the newly added simulator 1 participates in the integrated simulation.
In this case, the simulator object unit 2b which manages the simulator 1 started during the execution of the simulation or the newly added simulator 1 reads out the connection information from the storage unit 5 at the time of startup, refers to the connection information, and connects to be able to perform data communication with itself. Search for simulator 1 of. Thereafter, the simulator object unit 2b accesses each of the simulator object units 2b that manage the simulator 1 extracted as a search result and inquires about the current logic time.
[0084]
As a result, the simulator object unit 2b determines that the simulator 1 managed by itself has the earliest logic time (hereinafter referred to as logic time Tre) among the simulators 1 that may transmit data. The current logic time of the simulator 1 to be managed is set, and the simulation is started from the logic time.
[0085]
Here, the simulator 1 started during the execution of the simulation or the newly added simulator 1 is defined as the following equation (3), where Tsl is the simulator having the latest logic time among the simulators 1 that may receive data. When the condition is satisfied, the simulation execution is started.
Tre ≦ Tsl (3)
[0086]
That is, when the above equation (3) is satisfied, the simulator 1 started during the simulation execution or the newly added simulator 1 may start the simulation execution. On the other hand, if the condition of the above expression (3) is not satisfied, if the simulation execution by the simulator 1 is started at this time, there is a possibility that a past message is received from another simulator 1 and temporal consistency cannot be obtained. is there.
[0087]
Therefore, the simulator 1 suppresses the logic time of all the simulators 1 that may transmit data so that they do not exceed Tre, and waits for these to exceed the logic time Tre. The simulation is started after the condition of ()) is satisfied. Thereby, in the integrated simulation system according to the third embodiment, even if the simulator 1 is newly added during the execution of the simulation, the temporal consistency can be maintained.
[0088]
Next, a case where the simulator 1 is deleted from the distributed environment will be described.
When stopping the simulator 1 during the execution of the integrated simulation, the simulator 1 notifies the simulation service units 2a and 2b managing itself that the simulator 1 is to be stopped. Upon receiving this notification, the simulation service unit 2b notifies the simulation service unit 2a functioning as a master via the network 11 that the simulator 1 is to be stopped.
[0089]
Upon receiving the notification, the simulation service unit 2a reads out the simulation service unit list 16 and extracts a "machine name" that specifies the computer on which each of the simulation service units 2b registered has been constructed. Thereafter, the simulation service unit 2a uses the information extracted as described above to notify all the simulation service units 2b registered in the simulation service unit list 16 that the simulator 1 is stopped. .
[0090]
Each simulation service unit 2b in the distributed environment reads out the information for specifying the simulator 1 and the simulation execution cycle from the content of the received notification and deletes the information on the simulator 1 from its own simulator list 17.
[0091]
Here, a case where the simulation service unit 2b itself is stopped will be described.
First, when trying to stop the simulation service unit 2b, the connection information is read out from the storage unit 5 and referred to, and the position of the simulation service unit 2a functioning as a master in the distributed environment is specified.
[0092]
Thereafter, the simulation service unit 2b transmits the notification content to the simulation service unit 2a via the network 11. Upon receiving the notification from the simulation service unit 2b, the simulation service unit 2a deletes information (such as a machine name) specifying the computer on which the simulation service unit 2b is constructed from the simulation service unit list 16.
[0093]
As described above, according to the third embodiment, if the simulation service unit list 16 or the simulator list 17 that defines the system configuration and its state during the execution of the simulation is changed, the changed configuration information is changed. Since all components involved in the execution of the simulation are recognized and the simulation is continued in the system specified by the configuration information, all of the distributed simulation service units 2a and 2b execute the integrated simulation currently being executed. Since the simulator 1 participating in the simulation can be grasped, the simulator 1 can be dynamically added or stopped during the execution of the integrated simulation.
[0094]
In the third embodiment, the simulation service unit 2a functioning as a master is fixed to the computer 10a-1 to manage the entire distributed environment. However, the present invention is not limited to this. For example, a mechanism for maintaining and managing the configuration and the state of the entire distributed environment and periodically exchanging such information with each other is incorporated in all the simulation service units existing in the distributed environment. This makes it possible to create a completely autonomous distributed environment in which no master exists.
[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:
同期整合部は、自シミュレータ、及び、接続情報に基づいて認識された上記自シミュレータと情報交換の対象となる接続関係を有するシミュレータについて、これらのシミュレーション実行上の現在時間及びシミュレーションを完了する周期を含む同期用情報を保持する同期用情報保持部を備えたことを特徴とする請求項1記載の統合シミュレーションシステム。The synchronization matching unit sets the current time and the cycle of completing the simulation for the own simulator and the simulator having a connection relation to be exchanged with the own simulator recognized based on the connection information. 2. The integrated simulation system according to claim 1, further comprising: a synchronization information holding unit that holds the synchronization information. 同期整合部は、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、これらシミュレータ間の接続形態に応じた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信するメッセージ配信部を備え、当該メッセージ情報によって認識される上記時間情報に基づいて、上記シミュレータとの間でシミュレーションの実行上の時間的な同期をとることを特徴とする請求項1記載の統合シミュレーションシステム。The synchronization matching unit calculates time information obtained by adding a transmission delay time according to a connection mode between the simulators to a current time in a simulation executed by a simulator having a connection relationship to be exchanged with the own simulator. A message delivery unit that delivers message information including the message information, and synchronizes the simulation with the simulator based on the time information recognized by the message information. 2. The integrated simulation system according to 1. 同期整合部は、シミュレーション実行中にシミュレータ間の情報通信量を算出し、当該情報通信量に応じて伝送遅延時間を求める伝送遅延計算部と、自シミュレータとの間で情報交換の対象となる接続関係を有するシミュレータが実行するシミュレーション上の現在時間に、上記伝送遅延計算部が求めた伝送遅延時間を加えた時間情報を含むメッセージ情報を配信するメッセージ配信部を備え、当該メッセージ情報によって認識される上記時間情報に基づいて上記シミュレータとの間でシミュレーションの実行上の時間的な同期をとることを特徴とする請求項1記載の統合シミュレーションシステム。The synchronization matching unit calculates the information traffic between the simulators during the execution of the simulation, and calculates a transmission delay time according to the information traffic. A message distribution unit for distributing message information including time information obtained by adding the transmission delay time obtained by the transmission delay calculation unit to a current time on a simulation executed by a simulator having a relationship, and being recognized by the message information; 2. The integrated simulation system according to claim 1, wherein the simulation is time-synchronized with the simulator based on the time information. 同期整合部は、シミュレータ間における情報通信を中継するにあたり、上記シミュレータの入出力デバイスに直接アクセスするデバイスレベルで情報を送受信することを特徴とする請求項1記載の統合シミュレーションシステム。2. The integrated simulation system according to claim 1, wherein the synchronization matching unit transmits and receives information at a device level for directly accessing an input / output device of the simulator when relaying information communication between simulators. シミュレーションの実行中にシステムの構成及びその状態を規定する構成情報に変更があると、当該変更後の構成情報をシミュレーション実行に関与する全ての構成要素に対して認識させて、当該構成情報にて規定されるシステムでシミュレーションを続行することを特徴とする請求項1記載の統合シミュレーションシステム。If there is a change in the configuration information that defines the system configuration and its state during the execution of the simulation, the configuration information after the change is recognized by all the components involved in the simulation execution, and the configuration information is used. The integrated simulation system according to claim 1, wherein the simulation is continued in a specified system. 複数のシミュレータが情報交換しながら統合してシミュレーションを実行するにあたり、上記各シミュレータ間の接続関係を定義する接続情報に基づいて、シミュレーションを実行する上で情報交換の対象となる接続関係を有するシミュレータを認識すると共に、当該シミュレータとの間でシミュレーションの実行上の時間的な同期をとる同期整合部としてコンピュータを機能させるプログラム。When a plurality of simulators integrate and execute a simulation while exchanging information, based on the connection information defining the connection relationship between the simulators, a simulator having a connection relationship that is an object of information exchange in executing the simulation. And a program that causes the computer to function as a synchronization matching unit that synchronizes the simulation with the simulator in time with respect to execution of the simulation.
JP2002197695A 2002-07-05 2002-07-05 Integrated simulation system and program Expired - Fee Related JP3621392B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (14)

* Cited by examiner, † Cited by third party
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&amp;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