(57)【要約】【課題】ハードウェアリソースと前記ハードウェアリソースに割り付けられたモデル等のソフトウェアリソースとを容易に対応付けて把握することのできる分散型シミュレーションシステムを提供する。【解決手段】管理装置５と複数のシミュレータ２０、２１、３０、４０とがネットワーク６、７、８を介して接続され、前記管理装置５の管理下で各シミュレータ２０、２１、３０、４０に割り付けられた複数のシミュレーションモデルが分散して実行される分散型シミュレーションシステム１に、前記管理装置５に表示されるシミュレーションモデルに関する情報とそのシミュレーションモデルに基づく演算を行うシミュレータとを対応付けて報知する報知手段５３を備える。【選択図】図１
2008040983.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と複数のシミュレータとがネットワークを介して接続され、前記管理装置の管理下で各シミュレータに割り付けられた複数のシミュレーションモデルが分散して実行される分散型シミュレーションシステムであって、
前記管理装置に表示されるシミュレーションモデルに関する情報とそのシミュレーションモデルに基づく演算を行うシミュレータとを対応付けて報知する報知手段を備えている分散型シミュレーションシステム。
【請求項２】
シミュレーションモデルに基づくシミュレータの演算結果を前記管理装置に表示するものであり、前記報知手段は各シミュレーションモデルに基づく演算を行うシミュレータと対応付けるように各演算結果を異なる表示形態で表示する請求項１記載の分散型シミュレーションシステム。
【請求項３】
シミュレーションモデルに基づくシミュレータの演算結果を前記管理装置に表示するものであり、前記報知手段は、前記演算結果の表示部位に対して所定の操作がなされたときに、対応するシミュレータの識別情報をその近傍に表示する請求項１または２記載の分散型シミュレーションシステム。
【請求項４】
シミュレーションモデルに基づくシミュレータの演算結果を前記管理装置に表示するものであり、前記報知手段は、前記演算結果の表示部位に対して所定の操作がなされたときに、対応するシミュレータに識別可能に報知させる請求項１から３の何れかに記載の分散型シミュレーションシステム。
【請求項５】
前記報知手段は、シミュレータに対して所定の操作がなされたときに、操作がなされたシミュレータの演算結果の表示形態を他のシミュレータの演算結果の表示形態と異ならせて表示する請求項１から４の何れかに記載の分散型シミュレーションシステム。
【請求項６】
互いに異なるシミュレーションモデルに基づく演算を行う複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段は、前記管理装置にシミュレータの構成をツリー形式で階層表示する際に、シミュレータの構成要素である各ＣＰＵボードの階層下にそのＣＰＵボードにより演算されるシミュレーションモデルに関する情報を表示する請求項１から５の何れかに記載の分散型シミュレーションシステム。
【請求項７】
互いに異なるシミュレーションモデルに基づく演算を行う複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段は、前記管理装置にシミュレータの構成をツリー形式で階層表示する際に、シミュレータの構成要素である各ＣＰＵボードとそのＣＰＵボードにより演算されるシミュレーションモデルに関する情報をその対応が識別できるように、他のＣＰＵボード及びシミュレーションモデルに関する情報とは異なる表示形態で表示する請求項１から５の何れかに記載の分散型シミュレーションシステム。
【請求項８】
互いに異なるシミュレーションモデルに基づく演算を行う複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段は、前記管理装置にシミュレータの構成をツリー形式で階層表示する際に、シミュレータの構成要素である各ＣＰＵボードまたは各ＣＰＵボードにより演算されるシミュレーションモデルの演算結果の表示部位に対して所定の操作がなされたときに、対応するシミュレーションモデルまたはＣＰＵボードの識別情報をその近傍に表示する請求項１から５の何れかに記載の分散型シミュレーションシステム。
【請求項９】
前記管理装置にシステムを構成する各シミュレータに関する情報とその構成要素がツリー形式で階層表示され、前記報知手段は特定のシミュレータに関する情報の表示部位に対して所定の操作がなされたときに、対応するシミュレータに識別可能に報知させる請求項１から８の何れかに記載の分散型シミュレーションシステム。
【請求項１０】
管理装置と複数のシミュレータとがネットワークを介して接続され、前記管理装置の管理下で、各シミュレータに割り付けられた複数のシミュレーションモデルが分散して実行される分散型シミュレーションシステムにおけるシミュレータとシミュレーションモデルの識別方法であって、
前記管理装置に表示された任意のシミュレーションモデルに関する情報とそのシミュレーションモデルに基づく演算を行うシミュレータとを対応付けるための視覚および／または聴覚による識別情報を出力するシミュレーションモデルの識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置と複数のシミュレータとがネットワークを介して接続され、前記管理装置の管理下で各シミュレータに割り付けられた複数のシミュレーションモデルが分散して実行される分散型シミュレーションシステム、及び、前記分散型シミュレーションシステムにおけるシミュレータとシミュレーションモデルの識別方法に関する。
【背景技術】
【０００２】
近年、様々な分野において、実際の装置やプラントにおけるメカニズムや電気的信号等の果たす役割を数式化したモデルをコンピュータに演算させる、つまり、仮想空間においてシミュレーションすることにより、現実の実証実験を行なうことなく製品特性の確認や起こり得る問題の抽出を可能とするシミュレーション装置が利用されている。前記シミュレーション装置を利用することで製品開発に要する期間やコストを削減し、製品開発に係る安全性を向上させることができる。
【０００３】
複雑な装置やプラント等のシステムに対応して多数の複雑なモデルを処理する必要のある場合に単体のシミュレーション装置では演算速度を律するハードウェアによる限界や、ソフトウェアを処理する演算装置の処理負荷の増大による限界等があるため、モデルを複数に分割し、各モデルに対応した複数のシミュレーション装置を相互にネットワーク接続した分散型シミュレーションシステムが多く利用されている。
【０００４】
このような分散型シミュレーションシステムでは、シミュレーションに要する時間やコストを削減するため、システム全体のハードウェア能力を効率よく使用する必要がある。
【０００５】
特許文献１には、分散シミュレーションシステムにおいて、個々のモデルの実行時のＣＰＵ負荷率やメモリ消費量、他のモデルとのデータ交換量等の実際のシステムリソース消費量に基づいて各モデルの配置を決定することを目的として、各モデルの消費するシステムリソースを計測し、前記計測値に基づき、次に実行すべき一連のモデル群中の各モデルの配置先を決定し、決定された配置先に各モデルを複数のプロセッサに割り付ける分散シミュレーション制御装置が提案されている。
【０００６】
特許文献１の分散シミュレーション制御装置は、最適なハードウェアリソースに最適なモデルを割り付け、システム全体として最適な条件でシミュレーションを実行する。
【０００７】
【特許文献１】特開２００２−３４２２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の分散シミュレーション制御装置では、例えばシミュレーション実行中等にハードウェアリソースに不具合が生じ、システムのメンテナンスが必要となったときに、実行不能なモデルが判明していても、どのハードウェアリソースにどのモデルが割り付けられているのかが不明であり、逆にハードウェアリソースから前記ハードウェアリソースに割り付けられたモデルを判断することもできず、不具合を生じているハードウェアリソースを判別することが困難であった。
【０００９】
本発明は、ハードウェアリソースと前記ハードウェアリソースに割り付けられたモデル等のソフトウェアリソースとを容易に対応付けて把握することのできる分散型シミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、本発明による分散型シミュレーションシステムの第一の特徴構成は、管理装置と複数のシミュレータとがネットワークを介して接続され、前記管理装置の管理下で各シミュレータに割り付けられた複数のシミュレーションモデルが分散して実行される分散型シミュレーションシステムであって、前記管理装置に表示されるシミュレーションモデルに関する情報とそのシミュレーションモデルに基づく演算を行うシミュレータとを対応付けて報知する報知手段を備えている点にある。
【００１１】
上述の構成によれば、報知手段はシミュレーションモデルに関する情報と前記シミュレーションモデルに基づく演算を行うシミュレータを対応付けて報知するため、どのシミュレーションモデルがどのシミュレータに割り付けられているのかを容易に把握することができる。
【発明の効果】
【００１２】
以上説明した通り、本発明によれば、ハードウェアリソースと前記ハードウェアリソースに割り付けられたモデル等のソフトウェアリソースとを容易に対応付けて把握することのできる分散型シミュレーションシステムを提供することができるようになった。
【発明を実施するための最良の形態】
【００１３】
以下に、管理装置と車両の各部を模擬する複数のシミュレータがネットワーク接続された分散型シミュレーションシステムを例に、本発明による分散型シミュレーションシステム、及び、シミュレータとシミュレーションモデルの識別方法を説明する。
【００１４】
図２に示すように、評価対象である制御系２、３、４と夫々ローカル接続され、前記制御系２、３、４により制御される被制御系を模擬する複数のシミュレータ２０、２１、３０、４０と、各シミュレータ２０、２１、３０、４０を管理して前記制御系２、３、４を評価する管理装置としてのホストコンピュータ（以下、「ホストＰＣ」と記す。）５とがネットワーク（イーサネット（ゼロックス社の登録商標））６により接続され、各シミュレータ２０、２１、３０、４０が所定の単位模擬演算処理を所定周期で繰り返すことにより前記被制御系全体の動作、つまり車両の動作を模擬する分散型シミュレーションシステム１が構成されている。
【００１５】
前記シミュレータ２１は、前記シミュレータ２０をマスタシミュレータとするスレーブシミュレータであり、前記ネットワーク６と直接接続していない。前記シミュレータ２１と前記シミュレータ２０とは、ネットワーク８を介して接続し、前記シミュレータ２１は前記ホストＰＣ５からのデータを前記ネットワーク８を介して受信するように構成されている。尚、前記マスタシミュレータ及び前記スレーブシミュレータについては後述する。
【００１６】
前記シミュレータ２０、２１、３０、４０は、エンジンやブレーキ等の車両の各機能ブロックを模擬するもので、具体的にはシミュレータ２０、２１はエンジンシステムを模擬し、シミュレータ３０はブレーキシステムを模擬し、シミュレータ４０はトランスミッションシステムを模擬するものである。本実施形態ではこれらを中心に説明するが、実際には、車両の他の機能ブロックを構成する複数のシミュレータが前記ネットワーク６に接続されている。
【００１７】
各シミュレータ２０、２１、３０、４０には、それらを電子制御するマイクロコンピュータを備えた制御系としての電子制御装置（以下、「ＥＣＵ」と記す。）２、３、４がローカル接続され、各ＥＣＵ２、３、４からの制御指令に基づいて所定の模擬演算を実行し、その結果を各ＥＣＵ２、３、４に出力するように構成されている。ここで、ＥＵＣ２はエンジン制御ＥＣＵ、ＥＣＵ３はブレーキ制御ＥＣＵ、ＥＣＵ４はトランスミッション制御ＥＣＵである。
【００１８】
尚、ＥＣＵとしては、ＣＰＵボードに実装された実機搭載可能な形態に限らず、ＥＣＵの開発段階等にＥＣＵをエミュレートするＰＣとその動作プログラムや周辺機器などから構成される擬似ＥＣＵが前記シミュレータに接続されることも可能である。
【００１９】
前記ホストＰＣ５は、演算処理部と表示部と記憶部等を備えて構成され、前記シミュレータ２０、２１、３０、４０に割り付ける複数のシミュレーションモデル（エンジンやブレーキ等の車両の機能ブロックである被制御系を数式で模擬するプログラムで、以下「モデル」とも記す。）や、シミュレーション条件を設定する制御プログラムが記憶部に格納され、演算処理部と表示部を用いて実現されるＧＵＩ（グラフィカルユーザインターフェース）を介したオペレータからの設定条件に基づき、前記ネットワーク６を介して前記シミュレータ２０、２１、３０、４０にシミュレーションモデルを割り付けるとともに、所定のシミュレーション条件を入力してシミュレーションを実行制御する。
【００２０】
前記ホストＰＣ５は、後述するノード単位で各シミュレータ２０、２１、３０、４０を認識し、その表示部に前記設定条件やノード構成、さらには、各シミュレータ２０、２１、３０、４０から吸い上げた各部の計測データ、例えばエンジン回転数や油温等のデータである割り付けられたシミュレーションモデルに基づく演算結果がグラフィカルに表示されるように構成され、オペレータが表示画面を操作または確認しながら各ＥＣＵ２、３、４の評価が行えるように構成されている。
【００２１】
前記シミュレータ２０、２１、３０、４０は単独、または協働でモデルに基づく演算を行う。即ち、動作が複雑または実行による演算負荷が多大となる等のモデルは、当該モデル実行用のハードウェア構成を備えた単独のシミュレータで演算が行われるのではなく、それらの機能を分割したハードウェア構成を備えた複数のシミュレータで演算が行われるように構成されている。
【００２２】
夫々のモデルに基づき演算を行うハードウェアつまりシミュレータの単位を「ノード」といい、前記ノードが複数のシミュレータから構成される場合、前記ノードは１つのマスタシミュレータと単一または複数のスレーブシミュレータから構成される。本実施例において、前記シミュレータ２０、２１はノード１を、前記シミュレータ３０はノード２を、前記シミュレータ４０はノード３を構成する。
【００２３】
各シミュレータ２０、２１、３０、４０は、図３に示すように、前記ネットワーク６と接続するためのポートをオンボードで備え、自身を統括制御するオペレーティングシステムを実行するＣＰＵを備えた管理ボード９０と、前記ホストＰＣ５から割り付けられたシミュレーションモデルに基づいて演算を行うＣＰＵを備えた単一または複数のＣＰＵボードからなるモデル演算処理ユニット９１と、前記モデル演算処理ユニット９１から入力された演算結果に基づく論理レベルを物理レベルの信号に変換するとともに前記ＥＣＵ２、３、４からの物理レベルの制御信号を論理レベルの制御信号に変換して前記モデル演算処理ユニット９１に出力する各種のドライバを備えた複数のＩ／Ｏボード９２０、９２１と、各シミュレータ２０、３０、４０間で演算に必要なプロセスデータ等でなる関連データを相互に遣り取りする共有メモリ９２３を備えた共有メモリボード９２２等からなるＩ／Ｏユニット９２と、前記ＥＣＵ２、３、４と前記Ｉ／Ｏユニット９２との間で信号レベルを整合させるレベル変換機能等を備えたＩ／Ｆボード９３０や、各ＥＣＵ間のデータ伝送を行なうＣＡＮバスの信号を中継するＣＡＮボード９３１とを備えたＩ／Ｆユニット９３とからなり、夫々がＰＣＩバス９４により前記管理ボード９０と接続されると共に、前記モデル演算処理ユニット９１と前記Ｉ／Ｏユニット９２と前記Ｉ／Ｆユニット９３が複数のローカル信号ライン９５、９６、９７で接続されている。
【００２４】
つまり、前記ＥＣＵ２、３、４の入出力ポートと前記Ｉ／Ｆユニット９３が実際の車両で使用されるごとき信号伝達用のハーネス９８で接続され、前記Ｉ／Ｆユニット９３により前記Ｉ／Ｏユニット９２との間で信号レベルが整合される。
【００２５】
前記ホストＰＣ５から割り付けられるモデルは単一または複数のモデルからなり、前記モデル演算処理ユニット９１を構成する各ＣＰＵボードは夫々異なるモデルに基づき演算を行う。
【００２６】
前記Ｉ／Ｏユニット９２は、前記各ＣＰＵボードで実行されたモデルの演算結果であるエンジンオイルの温度、排ガス温度、排ガスの酸素濃度等のデジタル信号をアナログ信号に変換するとともに前記Ｉ／Ｆユニット９３から出力された制御用のアナログ信号をデジタル信号に変換するＡ／Ｄ変換ボード９２０と、前記モデル演算処理ユニット９１で実行されたモデルの演算結果である各種の論理レベルのデータをパルス信号に変換するとともに前記Ｉ／Ｆユニット９３を介して入力されたパルス信号を論理レベルのデータに変換するパルス処理ボード９２１等を備えて構成される。例えば、前記パルス処理ボード９２１では、エンジンモデルに基づいて演算を行う前記モデル演算処理ユニット９１の演算結果であるエンジンの回転数をクランクパルス信号に変換し、前記Ｉ／Ｆユニット９３を介して入力された前記ＥＣＵ２、３、４からの各種の電磁バルブに対するデューティ制御信号をデジタルデータに変換する。
【００２７】
各マスタシミュレータ２０、３０、４０のＩ／Ｏユニット９２に装着された共有メモリボード９２２は、図４に示すように、他のマスタシミュレータとの間でモデル演算に必要な関連データを遣り取りする共有メモリ９２３と、前記共有メモリ９２３に記憶されたデータをシミュレータ間で転送制御する光ファイバ７を用いた数十Ｇｂｐｓから数Ｇｂｐｓの通信速度を実現するスターファブリックや高速ＬＡＮ等と接続する通信インターフェース９２４と、スレーブシミュレータとの間で演算に必要な関連データを遣り取りするローカル共有メモリ９２５と、前記ローカル共有メモリ９２５に記憶された関連データを転送する前記ネットワーク８と接続して前記関連データを転送制御するローカル通信インターフェース９２６等を備え、何れかの共有メモリボード９２２には、それら通信インターフェース９２４、９２６を管理する通信制御手段９２７、９２８を備えている。
【００２８】
つまり、前記共有メモリボード９２２と、共有メモリ９２３またはローカル共有メモリ９２５とを管理する管理ボード９０により各シミュレータ２０、２１、３０、４０間でデータを共有するデータ共有手段１１が構成される。尚、データ共有化処理については後に詳述する。
【００２９】
各共有メモリ９２３は、図５に示すように、自装置のモデル演算処理ユニット９１や自装置に接続されたＥＣＵに必要な関連データであって、他のシミュレータから入力される関連データを格納する受信データ領域９２３ａと、他のシミュレータのモデル演算処理ユニット９１や他のシミュレータに接続された前記ＥＣＵに必要な関連データであって、自装置で生成された関連データを記憶する送信データ領域９２３ｂに領域区画され、後述する所定のタイミングで前記通信インターフェース９２４を介して他のシミュレータの送信データ領域９２３ｂに格納された関連データが自装置の受信データ領域９２３ａに配送され、自装置の送信データ領域９２３ｂに格納された関連データが他のシミュレータの受信データ領域９２３ａに配送される。ここで、前記受信データ領域９２３ａは送信元である他のシミュレータ毎に異なる領域に区分され、前記送信データ領域９２３ｂは送信先である他のシミュレータ毎に異なる領域に区分されている。
【００３０】
例えば、自装置に接続されたＥＣＵのＣＡＮバスを流れる制御信号やデータからなる関連データは自装置のＣＡＮボード９３１を介して送信データ領域９２３ｂに格納され、前記通信インターフェース９２４を介して他のシミュレータの受信データ領域９２３ａに転送された後に当該他のシミュレータのＣＡＮボード９３１を介して当該他のシミュレータに接続されたＥＣＵのハーネス９８に接続される。また、他のシミュレータに接続されたＥＣＵのＣＡＮバスを流れる制御信号やデータからなる関連データは当該他のシミュレータのＣＡＮボード９３１を介して前記送信データ領域９２３ｂに格納され、通信インターフェース９２４を介して自装置の受信データ領域９２３ａに転送された後に自装置のＣＡＮボード９３１を介して自装置に接続されたＥＣＵのハーネス９８に接続される。つまり、前記ＣＡＮボード９３１と共有メモリボード９２２と前記通信インターフェース９２４により、ＣＡＮバスがエミュレートされる。
【００３１】
各シミュレータ２０、３０、４０のモデル演算処理ユニット９１やＩ／Ｏユニット９２間で共有されるべき関連データも同様にして、他のシミュレータに配送すべき関連データが送信データ領域９２３ｂに格納され、通信インターフェース９２４を介して他のシミュレータから配送されるべき関連データが受信データ領域９２３ａに取り込まれるのである。
【００３２】
尚、上述では各シミュレータ２０、３０、４０が備える共有メモリ９２３間での関連データの遣り取りについて説明したが、シミュレータ２０、２１が備えるローカル共有メモリ９２５の関連データの遣り取りについても同様に関連データの遣り取りを行う。つまり、前記ローカル共有メモリ９２５は受信データ領域９２５ａと、送信データ領域９２５ｂとに領域区画され、前記ローカル通信インターフェース９２６を介して関連データの遣り取りを行うのである。
【００３３】
該分散型シミュレーションシステム１の行う車両の動作のシミュレーションは、図６に示すように、前記ホストＰＣ５が、前記ＧＵＩを介してオペレータから操作されたシミュレーション条件、または、予めプログラムとして準備されたシミュレーション条件で各シミュレータ２０、２１、３０、４０を起動させるべく、前記ネットワーク６を介して各シミュレータ２０、２１、３０、４０の管理ボード９０にシミュレーション条件及び起動指令を出力すると（ＳＡ１）、管理ボード９０は当該シミュレーション条件をＰＣＩバス９４を介して各モデル演算処理ユニット９１、Ｉ／Ｏユニット９２に反映させ（ＳＡ２）、各シミュレータ２０、２１、３０、４０は、与えられたシミュレーション条件に従って後述の所定の単位模擬演算処理を所定周期で繰り返す（ＳＡ３、ＳＡ４）。
【００３４】
例えば、前記ＧＵＩを介して入力された各ＥＣＵ２、３、４がバッテリに接続されたというシミュレーション条件で前記ホストＰＣ５から起動指令が出力されると、前記モデル演算処理ユニット９１から前記Ｉ／Ｏユニット９２にバッテリ電圧信号が出力され、当該バッテリ電圧信号が前記Ｉ／Ｆユニット９３によりＤＣ１４Ｖの電圧に変換されて各ＥＣＵ２、３、４にバッテリ電圧が供給される。各ＥＣＵ２、３、４はバッテリ供給電圧に基づいて作動するリセット回路によりリセット信号が入力されて夫々の制御演算を開始する。
【００３５】
以後、各ＥＣＵ２、３、４からの制御指令が、前記Ｉ／Ｆユニット９３、前記Ｉ／Ｏユニット９２を介して前記モデル演算処理ユニット９１に伝達され、前記モデル演算処理ユニット９１によりエンジン等の動作を模擬する模擬演算が実行されるのである。前記モデル演算処理ユニット９１による模擬演算結果は、前記Ｉ／Ｏユニット９２、前記Ｉ／Ｆユニット９３を介して実際の車両の各種の状態信号に変換されて前記各ＥＣＵ２、３、４に入力される。
【００３６】
この状態で、前記ＧＵＩを介して入力されたイグニッションスイッチ信号がオンされたというシミュレーション条件が前記ホストＰＣ５から出力されると、例えば、前記エンジンＥＵＣ２はスタータモータを起動する制御信号を出力し、前記モデル演算処理ユニット９１はスタータモータの模擬演算を実行し、エンジン模擬演算が起動されるのである。
【００３７】
また、例えば、エンジンが高速回転中の車両の挙動を解析する場合には、前記ホストＰＣ５からエンジンが高速回転中の車両の状態データがシミュレーション条件としての初期データとして管理ボード９０に入力され、前記管理ボード９０から前記モデル演算処理ユニット９１等に車両の状態データが反映されて各シミュレータが起動する。
【００３８】
さらに、例えば、エンジン系のあるセンサが故障したときの各ＥＣＵ２、３、４の動作を評価する場合には、前記ホストＰＣ５からエンジン起動中であるセンサが故障しているとのシミュレーション条件としてのイベント発生条件が各管理ボード９０に入力され、前記各管理ボード９０から前記モデル演算処理ユニット９１等に車両の状態データが反映されて各シミュレータ２０、２１、３０、４０が起動する。
【００３９】
前記モデル演算処理ユニット９１へのＥＣＵ等からの入力データや、前記モデル演算処理ユニット９１による演算結果は、前記ＰＣＩバス９４を介して前記管理ボード９０に吸い上げられた後に前記ホストＰＣ５にネットワーク６を介して出力され、前記ホストＰＣ５の表示部の画面に、例えばトレンドグラフやグラフィックデータ等の表示データに変換されて表示される。具体的には、エンジン回転数や燃費の推移を示すトレンドグラフとして表示され、運転席の表示装置を模擬した回転数表示計や速度表示計として表示される。
【００４０】
どのような条件でどのような模擬演算を実行するかというシミュレーション条件や、模擬演算結果を前記ホストＰＣ５の表示装置に表示するために各シミュレータ２０、２１、３０、４０から吸い上げるべきデータの種類等は予め前記ホストＰＣ５を介して設定されるものであり、これにより各ＥＣＵ２、３、４の制御状態が評価できるように構成されている。
【００４１】
前記ホストＰＣ５は、図１に示すように、各シミュレータ２０、２１、３０、４０のモデル演算処理ユニット（ＣＰＵボード）９１にソフトウェアリソースとしてのモデルを割り付けるモデル割付手段５０と、割り付けられたソフトウェアリソースと、各シミュレータ２０、２１、３０、４０を構成するモデル演算処理ユニット（ＣＰＵボード）９１やＩ／Ｏユニット９２やＩ／Ｆユニット９３等のハードウェアリソースでなる各構成要素を表示部に表示する構成要素表示手段５１と、各シミュレータ２０、２１、３０、４０での演算結果を吸い上げて前記表示部に表示するコントローラ表示手段５２と、各シミュレータ２０、２１、３０、４０にシミュレーション条件を設定する条件設定手段５４と、シミュレーションの開始または終了を指示するシミュレーション制御手段５５等を備えている。
【００４２】
前記構成要素表示手段５１は、図８に示すように、各シミュレータ２０、２１、３０、４０の構成要素を構成要素表示画面５１０としてツリー形式で階層表示する。前記構成要素表示画面５１０には、最上位層に各ノードが表示され、下位層にノードを構成する各ハードウェアリソース及びソフトウェアリソースが表示されるように構成され、ノードの左側に配されたボックス５１１が「＋」表示されているときにはノード名のみが表示され、ボックス５１１がマウスでクリックされると「−」表示に切り替えられてノード名の下位層に各ハードウェアリソース及びソフトウェアリソースが表示される。なお、構成要素が多く、一度に画面表示ができないときには、画面右側に表示されたスクロールバー５１２を上下に移動させることで、希望のノードの構成要素がスクロール表示され、その構成を確認することができるように構成されている。
【００４３】
前記モデル割付手段５０は、前記ホストＰＣ５に格納されているシミュレーションモデルを前記表示部に一覧表示し、オペレータにより一覧から特定のモデルが選択され前記構成要素表示画面５１０に表示された特定のＣＰＵボードに関連付け操作（例えば、ドラッグアンドドロップ操作）されると、当該特定モデルを当該ＣＰＵボードに割り付けるべく、モデルを当該ＣＰＵボードに移植する。移植されたモデルは、前記構成要素表示画面５１０の対応するノードの配下に表示される。
【００４４】
前記コントローラ表示手段５２は、各ノードに移植され、対応するＣＰＵボードにより演算が行われるモデルの演算条件を設定する操作スイッチ５２２やモデルの演算結果をグラフィック表示するラベル５２１等で構成されるコントロール画面を、ＧＵＩ形式で表示する。例えば、図７に示すように、コントロール画面５２０には、エンジンモデルに対応してエンジン回転数やタービン回転数が回転数メータとして、また、アクセル開度やスロットル開度が開度メータとして表示され、無断変速機構のトランスミッションモデルに対応してプライマリーシーブ及びセカンダリーシーブの回転数が回転数メータとして表示され、さらには、選択されているシフトレンジに対応した表示灯等が表示されるとともに、シフトレンジを切替操作するシフトスイッチ、バッテリからの給電状態を制御するバッテリスイッチ、エンジンを始動させるイグニッションスイッチ等が表示される。
【００４５】
つまり、各ラベル５２１が、シミュレーションモデルに基づくシミュレータの演算結果の表示部位として前記ホストＰＣ５に表示される。
【００４６】
前記条件設定手段５４は、オペレータにより前記コントロール画面５２０に表示された操作スイッチ５２２の操作に基づきシミュレーション条件を設定し、或いは変更して、各シミュレータに指令するように構成されている。
【００４７】
例えば、シフトスイッチが操作される度に走行レンジが順次変更され、対応する表示灯が表示され、対応するレンジでトランスミッションモデルの演算が行われる。また、バッテリスイッチが操作されると、各シミュレータに接続されているＥＣＵ等に電源が供給され、イグニッションスイッチが操作されるとエンジンモデルにエンジンの始動または停止が指示される。
【００４８】
前記シミュレーション制御手段５５からシミュレーションの起動指令が出力されると、前記条件設定手段５４により設定された条件に基づいて、各シミュレータに移植されたモデルの演算が行われ、その演算結果が前記コントローラ表示手段５２により前記コントロール画面５２０に表示され、その評価が行なわれる。
【００４９】
上述したコントロール画面５２０は一例に過ぎず、例えば、エンジン回転数であれば、時間軸と回転数軸上にトレンドグラフとして回転数が表示される場合もあり、コントロール画面５２０の表示を視認することにより、シミュレーション結果が視覚的に認識できるように構成されている。
【００５０】
前記ホストＰＣ５には、さらに、前記ホストＰＣ５に接続されたハードウェアリソースとしての各シミュレータと、各シミュレータの何れかのＣＰＵボードに割り付けられたソフトウェアリソースとしてのシミュレーションモデルとの対応関係がオペレータに把握できるように、前記表示部に表示されるシミュレーションモデルに関する情報とそのシミュレーションモデルを実行するシミュレータとを対応付けて報知する報知手段５３を備えている。
【００５１】
以下に、シミュレーションモデルの演算結果とそのシミュレーションモデルを実行するシミュレータとの対応付けを行なう前記報知手段５３の具体的態様について説明する。
【００５２】
第一態様では、前記報知手段５３は前記コントロール画面５２０に表示されたシミュレーションモデルの演算結果の表示部位であるラベル５２１を、前記モデルの演算を行うＣＰＵボードを備えたシミュレータに対応付けるように夫々異なる表示形態で表示するように構成されている。
【００５３】
具体的には、前記報知手段５３に、各ラベル５２１の表示色を選択指定する第一表示色選択手段を備え、選択された表示色の色相で各ラベル５２１を表示するように構成されている。各シミュレータ２０、２１、３０、４０のケーシングには、図９（ａ）に示すように、夫々異なる色のカラープレート９９０が貼り付けられ、第一表示色選択手段により各ラベル５２１の表示色を対応するシミュレータ２０、２１、３０、４０のカラープレート９９０と同系色に選択設定することにより、表示部に表示されたラベルつまりシミュレーションモデルの演算結果と、シミュレータとが一意に対応付けられるのである。
【００５４】
第一表示色選択手段としては、例えば、各ラベル５２１の表示エリアにマウスポインタを重ね、右クリックして表示されたメニュー一覧から「表示色選択」メニューを選択して表示されるカラーパレットから対応するカラープレート９９０と同系色の色を選択するように構成することで実現できる。各シミュレータ２０、２１、３０、４０が複数のＣＰＵボードを備え、夫々に異なるシミュレーションモデルが割り付けられる場合には、夫々のシミュレーションモデルに対応したラベルの１つに前記第一表示色選択手段により表示色が選択されると、前記夫々のシミュレーションモデルに対応したラベルの表示色が自動的に同一色に設定されるように構成することもできる。この場合には、前記ラベルの表示色を個別に選択する労力を軽減することができる。
【００５５】
各シミュレータ２０、２１、３０、４０に設けられるカラープレート９９０に代えてカラー液晶パネルを備え、第一表示色選択手段により選択されたラベルつまりシミュレーションモデルの演算結果の表示部位の表示色と同系色の色が、前記ホストＰＣ５からの制御信号により表示制御されるように構成してもよい。各シミュレータ２０、２１、３０、４０が複数のＣＰＵボードを備え、夫々に異なるシミュレーションモデルが割り付けられるとき、夫々のシミュレーションモデルに対応するラベルに前記第一表示色選択手段により異なる表示色が選択される場合には、前記カラー液晶パネルを領域分割して夫々の表示色を同時に表示制御することができる。これによりラベルの表示色選択の自由度は高くなると共に、前記表示色数に基づいて各シミュレータ２０、２１、３０、４０に割り付けられたシミュレーションモデルの個数を判別することができる。尚、前記カラー液晶パネルを領域分割して夫々の表示色を同時に表示制御する構成に替えて、時分割して夫々の表示色を切替えるように表示制御しても良い。
【００５６】
さらに、カラープレート９９０またはカラー液晶パネルに当該シミュレータの名称を表記しておくことにより認識が容易になる。
【００５７】
ここでは、表示形態として色相を用いて、シミュレータと対応するシミュレーションモデルの演算結果の表示部位の色相を一致させることにより双方の対応付けが認識できるように構成するものを説明したが、表示形態としては色相以外に彩度、明度、或いはそれらを組み合わせるものであってもよい。
【００５８】
第二態様では、前記報知手段５３は、前記コントロール画面５２０に表示されたラベル５２１つまりシミュレーションモデルの演算結果の表示部位に対して所定の操作がなされたときに、対応するシミュレータの識別情報をその近傍に表示するように構成されている。
【００５９】
具体的には、前記報知手段５３は、前記所定の操作としてラベル５２１上にマウスポインタを移動させるように操作すると起動し、マウスポインタが重ねられたラベル５２１に対応するシミュレータ名（ノード名）とＣＰＵボード名がラベル５２１の近傍に表示するように制御するのである。
【００６０】
例えば、図１０に示すように、オペレータがラベルの一つであるエンジン回転数の表示メータにマウスポインタを重ねると、その近傍に、エンジンモデルを実行するＣＰＵボード名と前記ＣＰＵボードを備えるノード名がポップアップ表示される。なお、報知手段５３が起動される所定の操作としてはラベル５２１をマウスポインタで指示する操作以外に、予め設定されていれば、ラベル５２１をマウスポインタで指示して左または右クリックし、或いは、ダブルクリックする等の任意の操作を採用することができる。
【００６１】
第三態様では、前記報知手段５３は、前記コントロール画面５２０に表示されたラベル５２１つまりシミュレーションモデルの演算結果の表示部位に対して所定の操作がなされたときに、対応するシミュレータに識別可能に報知させるように構成されている。
【００６２】
具体的には、各シミュレータの夫々に報知部を備え、前記報知手段５３は、前記所定の操作としてラベル５２１上にマウスポインタを移動させて左クリックすると起動し、マウスポインタが重ねられたラベル５２１に対応するシミュレータの報知部から所定の報知が行なわれるように制御するのである。
【００６３】
例えば、図９（ｂ）に示すように、各シミュレータ２０、２１、３０、４０の夫々に報知部としてＬＥＤ等の発光部９９１を備え、オペレータがラベルの一つであるエンジン回転数の表示メータにマウスポインタを重ねて左クリックすると、エンジンモデルを実行するＣＰＵボードを備えたシミュレータの発光部９９１が点灯または点滅表示されるのである。なお、報知手段５３が起動される所定の操作としては第二態様と同様、ラベル５２１をマウスポインタで指示する操作、ラベル５２１をマウスポインタで指示して右クリックし、或いは、ダブルクリックする等の任意の操作を採用することができる。
【００６４】
また、各シミュレータの夫々に備える報知部としては、ＬＥＤ等の発光部９９１に限るものではなく、液晶パネルにノード名を点滅表示させるもの、液晶パネルの表示色を他のシミュレータと異なるように切り替えるもの、ブザー等の鳴動手段を設けて鳴動させるもの、音声合成回路を備えて発音させるもの、回転振動子等のバイブレータを備えて振動させるもの等、オペレータが認識できるものであれば任意の構成を採用することができる。
【００６５】
第四態様では、前記報知手段５３は、各シミュレータに対して所定の操作がなされたときに、操作がなされたシミュレーションモデルの演算結果の表示形態を他のシミュレーションモデルの演算結果の表示形態と異ならせて表示するように構成されている。
【００６６】
具体的には、各シミュレータ２０、２１、３０、４０のケーシングに例えば自己復帰型のプッシュスイッチを備え、オペレータによりプッシュスイッチが押圧操作されると、前記報知手段５３により対応するシミュレータに割り付けられたモデルの演算結果を反映するラベルつまりシミュレーションモデルの演算結果の表示部位が他のラベルと表示形態を異ならせて表示されるのである。
【００６７】
例えば、オペレータによりブレーキシステムを模擬するシミュレータ３０のプッシュスイッチを押圧操作されると、ブレーキ踏力を表示するラベルを点滅表示するのである。なお、表示形態は点滅表示に限定されるものではなく、他のシミュレーションモデルと識別できるように表示されるものであればよく、対応するラベルの色相、色彩または明度等を他のラベルと異ならせて表示するものであってもよく、色相、色彩、明度、点滅等を組み合わせて他のラベルと識別できるように表示するものであってもよい。
【００６８】
第五態様では、互いに異なるシミュレーションモデルに基づく演算を行う複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段５３は、前記ホストＰＣ５の表示部にツリー形式で階層表示される各シミュレータの構成要素である各ＣＰＵボードの階層下に、そのＣＰＵボードにより演算されるシミュレーションモデルに関する情報を表示するように構成されている。
【００６９】
具体的には、図１１に示すように、前記報知手段５３は、前記構成要素表示画面５１０に表示された各ノードの下位層に表示される複数のＣＰＵボードの下位層に、そのＣＰＵボードに割り付けられたシミュレーションモデルのシミュレーションモデル名を表示することにより、表示されるシミュレーションモデルとそのシミュレーションモデルに基づく演算を行うシミュレータとが対応付けて報知されるのである。
【００７０】
第六態様では、互いに異なるシミュレーションモデルに基づく演算を行う複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段５３は、前記ホストＰＣ５の表示部にツリー形式で階層表示される各シミュレータの構成要素である各ＣＰＵボードとそのＣＰＵボードにより演算されるシミュレーションモデルに関する情報をその対応が識別できるように、他のＣＰＵボード及びシミュレーションモデルに関する情報とは異なる表示形態で表示するように構成されている。
【００７１】
具体的には、前記報知手段５３に、各ＣＰＵボードの表示色を選択指定する第二表示色選択手段を備え、選択された表示色の色相で各ＣＰＵボードとそのＣＰＵボードに割り付けられているシミュレーションモデルに関する情報であるシミュレーションモデル名が表示されるように構成されている。つまり、ＣＰＵボード名の表示色と同色で表示されるシミュレーションモデル名のモデルが当該ＣＰＵボードに割り付けられていることが識別できるのである。ここでは、表示形態として色相を用いて、シミュレータを構成するＣＰＵボードと対応するシミュレーションモデル名の色相を一致させることにより双方の対応付けが認識できるように構成するものを説明したが、表示形態としては色相以外に彩度、明度、或いはそれらを組み合わせるものであってもよい。
【００７２】
第七態様として、互いに異なるシミュレーションモデルを実行する複数のＣＰＵボードを少なくとも一つのシミュレータが備え、前記報知手段５３は、前記ホストＰＣ５の表示部にツリー形式で階層表示される各シミュレータの構成要素である各ＣＰＵボードまたは各ＣＰＵボードにより演算されるシミュレーションモデルの表示部位に対して所定の操作がなされたときに、対応するシミュレーションモデルまたはＣＰＵボードの識別情報をその近傍に表示するように構成されている。
【００７３】
具体的には、前記構成要素表示画面５１０に表示されたＣＰＵボード名の上に、所定の操作としてマウスポインタが移動操作されると、マウスポインタが重ねられたＣＰＵボード名の近傍に当該ＣＰＵボードに割り付けられたシミュレーションモデル名がポップアップ表示され、シミュレーションモデル名の上にマウスポインタが移動操作されると、マウスポインタが重ねられたシミュレーションモデル名の近傍に当該シミュレーションモデルが割り付けられたＣＰＵボード名がポップアップ表示されるように構成されている。
【００７４】
例えば、図１２に示すように、オペレータがノード１のＣＰＵボード１−１にマウスポインタを重ねると、前記ＣＰＵボード１−１の近傍に、前記ＣＰＵボード１−１に対応するモデル名であるモデル１−１がポップアップで表示される。なお、上述と同様、報知手段５３が起動される所定の操作としてはラベル５２１をマウスポインタで指示する操作以外に、予め設定されていれば、ラベル５２１をマウスポインタで指示して左または右クリックし、或いは、ダブルクリックする等の任意の操作を採用することができる。
【００７５】
第八態様として、前記ホストＰＣ５の表示部にシステムを構成する各シミュレータに関する情報とその構成要素がツリー形式で階層表示され、前記報知手段５３は特定のシミュレータに関する情報の表示部位に対して所定の操作がなされたときに、対応するシミュレータに識別可能に報知させるように構成されている。
【００７６】
具体的には、各シミュレータの夫々に報知部を備え、前記報知手段５３は、前記構成要素表示画面５１０に表示されたＣＰＵボード名またはＣＰＵボードに割り付けられたシミュレーションモデル名の表示部位に対して、ポインティングデバイスにより所定の操作がなされたときに、それを検知し、マウスポインタが重ねられたＣＰＵボード名またはシミュレーションモデル名に対応するシミュレータの報知部から所定の報知が行なわれるように制御するのである。
【００７７】
例えば、各シミュレータ２０、２１、３０、４０の夫々に報知部としてＬＥＤ等の発光部を備え、オペレータによりＣＰＵボード名またはモデル名の表示部位がマウスポインタで左クリックされると、対応するシミュレータの発光部が点滅表示されるのである。
【００７８】
なお、報知手段５３が起動される所定の操作としては第二態様と同様、ＣＰＵボード名またはモデル名の表示部位をマウスポインタで指示する操作、マウスポインタで指示して右クリックし、或いは、ダブルクリックする等の任意の操作を採用することができる。
【００７９】
また、各シミュレータの夫々に備える報知部としては、ＬＥＤ等の発光部以外に、液晶パネルを備えてノード名を点滅表示させるもの、液晶パネルの表示色を他のシミュレータと異なるように切り替えるもの、ブザー等の鳴動手段を設けて鳴動させるもの、音声合成回路を備えて発音させるもの、回転振動子等のバイブレータを備えて振動させるもの等、オペレータが認識できるものであれば任意の構成を採用することができるのは上述と同様である。
【００８０】
上述したように、本発明による分散型シミュレーションシステムでは、ホストＰＣ５に表示されるソフトウェアリソースである複数のシミュレーションモデルと、各シミュレーションモデルが割り付けられたハードウェアリソースである各シミュレータ２０、２１、３０、４０とが対応付けられるように、視覚または聴覚等による識別情報が出力される識別方法が具現化されている。
【００８１】
前記ホストＰＣ５により、各シミュレータのＣＰＵボードにシミュレーションモデルが割り付けられ、シミュレーション条件が設定されると、シミュレーション制御手段５５により模擬演算処理が起動される。
【００８２】
以下に、各シミュレータ２０、２１、３０、４０で実行される模擬演算について詳述する。各シミュレータ２０、２１、３０、４０は、各管理ボード９０による管理の下で、所定の周期、例えば１ｍｓｅｃ．周期で、機能の異なる複数の演算ステップの集合で構成される単位模擬演算処理を繰り返すように制御される。
【００８３】
各シミュレータ２０、２１、３０、４０の管理ボード９０には、図１３に示すように、内部動作を統括する基準クロック発生手段が設けられ、前記モデル演算処理ユニット９１や前記Ｉ／Ｏユニット９２等の各ユニットは、前記基準クロック発生手段９０ａからの基準クロックに基づいて演算処理に必要なタイマー値等の管理を行なうように構成されている。つまり、各ユニットに設けられたＣＰＵは内部クロックに基づくタイマーレジスタの値に基づいて予め設定された演算処理を実行するのであるが、演算に必要なタイマー処理は前記基準クロックに基づいて判断されるのである。
【００８４】
さらに、管理ボード９０には、前記データ共有手段１１と協働して該分散型シミュレーションシステム１に組み込まれた全てのシミュレータ２０、２１、３０、４０が同期して単位模擬演算処理を実行させるように同期制御手段９０ｂが設けられている。
【００８５】
前記同期制御手段９０ｂは、図１３に示すように、前記ホストＰＣ５の前記シミュレーション制御手段５５から起動指令が送られると、前記基準クロックに基づいて自装置の単位模擬演算処理を起動し、前記単位模擬演算処理が分割された複数ステップのうち、何れかのステップの開始前または終了後に各シミュレータ間での演算タイミングの同期をとり、全シミュレータが同期して前記単位模擬演算処理を実行できるように制御する。尚、前記シミュレータ２１は前記シミュレータ２０と前記ネットワーク８を介して、前記起動指令を受信する。
【００８６】
前記単位模擬演算処理は、図１４に示すように、初期に他のシミュレータに必要なデータ、つまり関連データを前記共有メモリ９２３の送信データ領域９２３ｂに格納するとともに、他のシミュレータから自装置に必要な関連データを前記共有メモリ９２３の受信データ領域９２３ａに取り込む第一データ共有化処理（Ｓ１）、ＥＣＵからのデータをＩ／Ｏユニット９２に取り込むデバイス入力処理（Ｓ２）、取り込まれたデータのうち、他のシミュレータのモデル演算に必要なデータ、つまり関連データを前記共有メモリ９２３の送信データ領域９２３ｂに格納するとともに、他のシミュレータにより取り込まれたデータのうち自装置のモデル演算に必要な関連データを前記共有メモリ９２３の受信データ領域９２３ａに取り込む第二データ共有化処理（Ｓ３）、共有化処理の終了後に前記モデル演算ユニット９１がＩ／Ｏユニット９２及び受信データ領域９２３ａから必要なデータを取り込んでモデル演算を実行するモデル演算処理（Ｓ４）、モデル演算の終了後に演算結果のうち他のシミュレータに必要なデータ、つまり関連データを前記共有メモリ９２３の送信データ領域９２３ｂに格納するとともに、他のシミュレータによる演算結果のうち自装置が必要とする関連データを前記共有メモリ９２３の受信データ領域９２３ａに取り込む第三データ共有化処理（Ｓ５）、モデル演算結果をＩ／Ｏユニット９２に出力するデバイス出力処理（Ｓ６）、モデル演算の結果やモデル演算の完了または未完了等の進捗状況を前記ホストＰＣ５に出力するモデル演算後処理（Ｓ７）、デバイス出力処理後にＩ／Ｏユニット９２からサンプリングして他のシミュレータに関連データとして出力すべきデータを前記共有メモリ９２３の送信データ領域９２３ｂに格納するとともに、他のシミュレータのＩ／Ｏユニット９２からサンプリングされ自装置に必要な関連データを前記共有メモリ９２３の受信データ領域９２３ａに取り込む第四データ共有化処理（Ｓ８）、予め設定された必要なデータをＩ／Ｏユニット９２及び受信データ領域９２３ａからサンプリングして管理ボード９０のメモリに記憶し前記ホストＰＣ５に出力するサンプリング処理（Ｓ９）で構成され、各ステップの終了後に設定された演算周期に同期してステップＳ１に戻る（Ｓ１０）。
【００８７】
尚、上述したデータ共有化処理ではマスタシミュレータ間での共有処理について説明しているが、このときマスタシミュレータとスレーブシミュレータ間でもデータ共有化処理が行なわれている。
【００８８】
即ち、前記単位模擬演算処理は、少なくとも前記制御系からのデータ入力ステップと、前記被制御系を模擬するモデル演算ステップと、モデル演算結果の前記制御系へのデータ出力ステップと、予め設定された必要なデータをサンプリングして管理ボード９０のメモリに記憶し前記ホストＰＣ５に出力するサンプリングステップを備えて構成され、前記データ共有手段は、前記データ入力ステップ、前記モデル演算ステップ、前記データ出力ステップ、前記サンプリングステップの各ステップの開始前に各シミュレータ間で関連データを整合させるように構成されている。
【００８９】
上述した第一から第四のデータ共有化処理について、図１５、図１６のフローチャート及び図５に基づいて詳述する。各シミュレータ２０、３０、４０の管理ボード９０には予めホストＰＣ５により他のシミュレータと共有すべき関連データが定義されている。この定義データは、システムの初期設定時（ＳＢ１）、つまり、シミュレーションモデルが各ノードに割付られるとき、またはシミュレーション開始時にシミュレーション条件の一部として各管理ボード９０に入力される（ＳＢ２）。
【００９０】
各シミュレータの管理ボード９０により、他のシミュレータに送信すべき関連データが自装置の共有メモリ９２３の送信データ領域９２３ｂに夫々格納され（ＳＢ３）、送信すべき全ての関連データが格納されると（ＳＢ４）、送信準備完了フラグ９２３ｃがセットされる（ＳＢ５）。送信準備完了フラグ９２３ｃがセットされた各通信インターフェース９２４は、各通信インターフェース９２４を管理する通信制御手段９２７に送信要求する（ＳＢ６）。前記通信制御手段９２７は、全ての通信インターフェース９２４から通信要求があるまで待機する（ＳＢ７）。
【００９１】
ここで、送信すべき関連データが無いとき、つまり、前回送信した関連データと値が変わらないときには、単に送信準備完了フラグ９２３ｃがセットされる。
【００９２】
前記通信制御手段９２７は、全ての通信インターフェース９２４から通信要求があると（ＳＢ７）、全てのシミュレータ２０、３０、４０の送信準備完了フラグ９２３ｃがセットされたと確認し（ＳＢ８）、予め設定された順に関連データの送信処理を許容する（ＳＢ９）。具体的には、先ず、最初のシミュレータ２０に設けられた通信インターフェース９２４は、共有メモリ９２３の送信データ領域９２３ｂに格納された関連データを送信先毎に順次吸い上げて、各送信先のシミュレータ３０、４０の通信インターフェース９２４に送信する。各送信先のシミュレータ３０、４０の通信インターフェース９２４は、夫々の共有メモリ９２３の受信データ領域９２３ａに格納する。このような関連データの送信処理をシミュレータ３０、４０毎に繰り返される。
【００９３】
送信元の通信インターフェース９２４は、送信データ領域９２３ｂに格納された関連データの全ての配送処理が終了すると（ＳＢ１０）、当該送信データ領域９２３ｂにセットされている送信準備完了フラグ９２３ｃをリセットして（ＳＢ１１）、当該シミュレータの管理ボード９０に関連データの送信処理が終了したことを通知する（ＳＢ１２）。
【００９４】
さらに、送信先の通信インターフェース９２４は、受信データ領域９２３ａに他のシミュレータからの関連データを格納すると（ＳＢ１３）、送信元のシミュレータ毎に区画された受信データ領域９２３ａに受信完了フラグ９２３ｄ１、９２３ｄ２をセットして（ＳＢ１４）、送信先のシミュレータの前記同期制御手段９０ｂを備えた管理ボード９０に送信元毎に関連データの受信処理が終了したことを通知する（ＳＢ１５）。送信先のシミュレータの管理ボード９０（同期制御手段９０ｂ）は、受信データ領域９２３ａの受信完了フラグ９２３ｄ１、９２３ｄ２がセットされたときに（ＳＢ１６）、送信元のシミュレータから関連データの受信が終了したことを確認する（ＳＢ１７）のである。
【００９５】
各シミュレータ２０、３０、４０の管理ボード９０（同期制御手段９０ｂ）は、自装置の送信データ領域９２３ｂの送信準備完了フラグ９２３ｃがリセットされ（ＳＢ１１）、且つ、受信データ領域９２３ａの送信元毎の受信完了フラグ９２３ｄ１、９２３ｄ２の全てがセットされるまで待機し（ＳＢ１６）、送信準備完了フラグ９２３ｃがリセットされ（ＳＢ１１）、且つ、受信データ領域９２３ａの送信元毎の受信完了フラグ９２３ｄ１、９２３ｄ２の全てがセットされていると確認すると（ＳＢ１７）、データ共有化処理が終了したと判断して（ＳＢ１８）、全ての受信完了フラグ９２３ｄ１、９２３ｄ２をリセットして（ＳＢ１９）、次の処理を開始するように制御する（ＳＢ２０）。
【００９６】
以上の動作により、前記シミュレータ２０、３０、４０において、前記制御系からのデータ入力ステップ、前記被制御系を模擬するモデル演算ステップ、モデル演算結果の前記制御系へのデータ出力ステップ、モデル演算後処理ステップ、サンプリングステップの各ステップが同期して実行され、単位模擬演算処理が円滑に進められるのである。
【００９７】
つまり、前記データ共有手段１１は、送信準備完了フラグ９２３ｃに基づいて、関連データを送信する他のシミュレータと同期をとった後にデータの共有化処理を行なうものであり、データの共有化処理を行なう前に行なう必要がある処理、つまり、上述のデバイス入力処理、モデル演算処理、デバイス出力処理、モデル演算後処理、サンプリング処理の何れかの処理を完了させていることを示す受信完了フラグ９２３ｄ１、９２３ｄ２が共有メモリ９２３に設定されている場合に、前記他のシミュレータと関連データを整合するための同期が取れたと判断するものである。
【００９８】
上述したデータ共有化処理は、各シミュレータ２０、３０、４０の管理ボード９０により、他のシミュレータに送信すべき関連データが自装置の共有メモリ９２３の送信データ領域９２３ｂに夫々格納され、送信準備完了フラグ９２３ｃがセットされるものであるが、関連データを自装置の共有メモリ９２３の送信データ領域９２３ｂに格納し、送信準備完了フラグ９２３ｃをセットするのは管理ボード９０に制限されるものではなく、管理ボード９０の監視下でモデル演算処理に基づくデータ共有化処理ではモデル演算処理ユニット９１が、デバイス入出力処理に基づくデータ共有化処理ではＩ／Ｏユニット９２が実行してもよい。
【００９９】
上述したデータ共有化処理はマスタシミュレータ間でのデータ共有化処理であるが、図１７に示すように、マスタシミュレータ間でのデータ共有化処理の前に（ＳＤ１）、マスタシミュレータとスレーブシミュレータ間で他のマスタシミュレータに送信すべき関連データの共有化処理が行なわれ（ＳＤ２）、前記データ共有化処理後に（ＳＤ３）、マスタシミュレーション間でのデータ共有化処理を行い（ＳＤ４）、マスタシミュレータ間でのデータ共有化処理の後に（ＳＤ５）、マスタシミュレータとスレーブシミュレータ間で他のマスタシミュレータから受信すべき関連データの共有化処理が行なわれる（ＳＤ６）。また、マスタシミュレータとスレーブシミュレータ間でのみ共有する必要のある関連データは、マスタシミュレータ間でのデータ共有化処理の前後の何れで行なわれるものであってもよい。
【０１００】
このようにして全てのシミュレータ２０、２１、３０、４０が同期を取って単位模擬演算処理を実行することができるのであるが、前記基準クロック発生手段９０ａからの基準クロックはシミュレータ毎に微妙に異なり、各基準クロックに基づく演算結果が累積されると大きな誤差となって、シミュレータの演算精度に大きな影響を与える虞がある。
【０１０１】
そこで、前記ホストＰＣ５に設けた同期クロック生成手段５ａにより生成された同期クロックデータを前記ネットワーク６を介して各シミュレータ２０、２１、３０、４０に送信するように構成してあり、各シミュレータ２０、２１、３０、４０の管理ボード９０に、前記同期クロックデータに基づいてシミュレーション演算の基準クロックに基づくタイマーレジスタの値を補正するクロック補正手段９０ｃを備えている。
【０１０２】
図１８に示すように、前記同期クロックデータは夫々の前記基準クロックで動作する単位模擬演算処理の時間１ｍｓｅｃ．よりも短い時間間隔で入力されるため、前記シミュレータ２０、２１、３０、４０は前記クロック補正手段９０ｃにより前記基準クロックの僅かなずれを補正することができる。
【０１０３】
以下、別実施形態について説明する。上述の実施形態では、シミュレータ２０がマスタシミュレータ、シミュレータ２１がスレーブシミュレータとして協働して、被制御系であるエンジンのノードを構成したが、マスタシミュレータに接続されるスレーブシミュレータの数は特に制限されるものではない。
【０１０４】
上述の実施形態では、複数の電子制御装置により分散制御される車両の各機能ブロックを模擬する分散型シミュレーションシステム１について説明したが、分散型シミュレーションシステム１は車両を対象とするものに限るものではなく、航空機、空調システム、或いは化学プラントシステム等、複雑な処理系を模擬する場合に適用できるものである。
【０１０５】
上述の実施形態では、各シミュレータ２０、２１、３０、４０に制御系としての電子制御装置２、３、４を接続するものを説明したが、シミュレータに必要な外部データを供給するものであれば、接続される外部機器は被制御系機器に限るものではない。
【０１０６】
上述した実施形態で説明した報知手段５３によるモデルに関する情報とそのモデルを実行するシミュレータとの対応付けの態様は、単独で実現されるものであってもよいし、各態様が複数組み合わせて実現されるものであってもよい。
【０１０７】
上述した実施形態において、構成要素表示画面５１０とコントロール画面５２０とは、夫々別ウィンドウで表示されるものであってもよいし、前記構成要素表示画面５１０の右横または左横等に前記コントロール画面５２０が並置された１つのウィンドウとして表示されるものであってもよい。
【０１０８】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【０１０９】
【図１】管理装置（ホストＰＣ）の機能ブロック図
【図２】分散型シミュレーションシステムの構成図
【図３】シミュレーション装置（シミュレータ）のブロック構成図
【図４】シミュレーション装置（シミュレータ）の要部のブロック構成図
【図５】データ共有手段の説明図
【図６】分散型シミュレーションシステムの行う車両の動作のシミュレーションの説明に用いるフローチャート
【図７】コントロール画面の説明図
【図８】構成要素表示画面の説明図
【図９】（ａ）シミュレーション装置（シミュレータ）のイメージ色表示部の説明図、（ｂ）シミュレーション装置（シミュレータ）の発光部の説明図
【図１０】コントロール画面の説明図
【図１１】構成要素表示画面の説明図
【図１２】構成要素表示画面の説明図
【図１３】管理ボードの説明図
【図１４】単位模擬演算処理を示すフローチャート
【図１５】マスタシミュレータ間でのデータ共有化処理の説明に用いるフローチャート
【図１６】マスタシミュレータ間でのデータ共有化処理の説明に用いるフローチャート
【図１７】マスタシミュレータとスレーブシミュレータ間でのデータ共有化処理の説明に用いるフローチャート
【図１８】基準クロックの補正の説明に用いる図
【符号の説明】
【０１１０】
５：管理装置（ホストＰＣ）
５０：モデル割付手段
５１：構成要素表示手段
５２：コントローラ表示手段
５３：報知手段
５４：条件設定手段
５５：シミュレーション制御手段
【図１】
2008040983.tif 000003
【図２】
2008040983.tif 000004
【図３】
2008040983.tif 000005
【図４】
2008040983.tif 000006
【図５】
2008040983.tif 000007
【図６】
2008040983.tif 000008
【図７】
2008040983.tif 000009
【図８】
2008040983.tif 000010
【図９】
2008040983.tif 000011
【図１０】
2008040983.tif 000012
【図１１】
2008040983.tif 000013
【図１２】
2008040983.tif 000014
【図１３】
2008040983.tif 000015
【図１４】
2008040983.tif 000016
【図１５】
2008040983.tif 000017
【図１６】
2008040983.tif 000018
【図１７】
2008040983.tif 000019
【図１８】
2008040983.tif 000020