(57)【要約】【課題】複数アプリケーションソフトを組み合わせた１つのシステムにおいて、目的に応じて使用するアプリケーションソフトの組合せを容易に組み替えることを実現するプログラム連携システムであって、さらに、処理速度が速い連携システムを提供すること。【解決手段】情報を保持及び中継するデータベースメモリサーバ１３にデータの読み書きを行う連携モジュール１７，１９を備えた複数のシミュレーションツール１６，１８と、データベースメモリサーバ１３とシミュレーションツール１６，１８の設定及び実行管理を行う管理部９とを有し、複数のシミュレーションツール１６，１８が連携してシミュレーションを行うことをで、データベースメモリサーバ１３を経由してデータの読み書きを行い、複数のシミュレータや開発ツールの連携を実現している。この場合、メモリへのアクセススピードでその連携を図ることができる。【選択図】図２
2008250788.tif 000002
【特許請求の範囲】
【請求項１】
情報を保持及び中継するデータベースメモリサーバと、
該データベースメモリサーバにデータの読み書きを行う連携モジュールを備えた複数のシミュレーションツールと、
該データベースメモリサーバと該シミュレーションツールの設定及び実行管理を行う管理部とを有し、
該複数のシミュレーションツールが連携してシミュレーションを行うことを特徴とする連携シミュレーションシステム。
【請求項２】
前記データベースメモリサーバが、シミュレーションの変数を保持するＩＯ（Input Output）空間部と、前記シミュレーションツールの同期のための情報を保持するタイマ部と、から構成されることを特徴とする請求項１に記載の連携シミュレーションシステム。
【請求項３】
前記複数のシミュレーションツールのそれぞれに対応した複数のカウンタをタイマ部に有し、各シミュレーションツールの同期間隔の最大公約数を前記複数のカウンタの最小同期間隔とすることを特徴とする請求項２記載の連携シミュレーションシステム。
【請求項４】
前記連携モジュールと前記データメモリサーバとが通信の履歴を伝達する必要のある信号で通信する場合に、
前記シミュレーションツールの複数の書込みデータ及びデータ出力時間を前記連携モジュール内に保持し、
前記シミュレーションツールの同期時に前記ＩＯ空間部へ前記データ及びデータ出力時間を書込むことを特徴とする請求項２または請求項３記載の連携シミュレーションシステム。
【請求項５】
前記管理部は、前記ＩＯ空間部の信号レコードの状態を表示部に表示することを特徴とする請求項２〜４のいずれか１項に記載の連携シミュレーションシステム。
【請求項６】
前記管理部が、各シミュレーションツールから前記データベースメモリサーバへの接続を管理する接続管理部と、前記シミュレーションツールの同期に係る時間設定を管理する時間管理部と、から構成されることを特徴とする請求項１〜５のいずれか１項に記載の連携シミュレーションシステム。
【請求項７】
前記管理部に連携モジュールを有することを特徴とする請求項１〜６のいずれか１項に記載の連携シミュレーションシステム。
【請求項８】
前記連携モジュールが、データベース内の変数に対してリード又はライト要求があったときにイベントが前記連携モジュールに送付されリード又はライトを行うプル型と、前記シミュレーションツールの同期時に前記連携モジュールからリード又はライトを行うプッシュ型とに対応していることを特徴とする請求項１〜７のいずれか１項に記載の連携シミュレーションシステム。
【請求項９】
前記複数のシミュレーションツールのうちの少なくとも一つのシミュレーションツールが、シミュレーションの実行を制御する実行制御ツールであることを特徴とする請求項１〜８のいずれか１項に記載の連携シミュレーションシステム。
【請求項１０】
前記実効制御ツール又は前記管理部が、連携シミュレーションに使用するシミュレーションツールを一度の操作で起動、初期設定及び終了する機能を有することを特徴とする請求項９に記載の連携シミュレーションシステム。
【請求項１１】
前記管理部にツール管理ウィンドウと、信号管理ウィンドウと、信号接続設定ウィンドウと、メッセージウィンドウとから構成されるＧＵＩ（Graphical User Interface）を有することを特徴とする請求項１〜１０のいずれか１項に記載の連携シミュレーションシステム。
【請求項１２】
前記データベースメモリサーバの時間履歴を保存する保存部を有することを特徴とする請求項１〜１１のいずれか１項に記載の連携シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は連携シミュレーションシステムに関する。さらに詳しくは、複数のシミュレータや開発ツールの連携を高速で行う連携シミュレーションシステムの構成に関する。
【背景技術】
【０００２】
自動車のウィンカー、ウィンドウ、ドア、複写機、プリンタなどは、メカ部をマイコンで制御している。このような装置は、通常制御対象であるメカ部とファームソフトウェアを含むマイコンボード装置からなる制御部とで構成される。このような装置開発において、最も工数がかかるのが、システムテストと呼ばれる装置状態での機能テストである。
ここで、図１にメカ部１と制御部５の開発工程の概略図を示す。メカ部１は、例えば、抽象モデル（又は数式/数値モデル）設計２、仮想試作設計３、実機４の順に段階的に開発される。また、制御部５も、例えば、モデル設計６、コード設計７、実機（ＭＰＵ：Micro Processing Unit ）８の順に段階的に開発される。
【０００３】
しかし、開発の段階が異なる場合など、インターフェースが一致しない場合には、原則としてメカ部１と制御部５を連携してシステムテストを行うことができない。例えば、同一の開発段階であっても、メカ部１の抽象モデル設計２と制御部５のモデル設計６とのインターフェースが一致しない場合には連携してシステムテストを行うことができない。また、開発段階が異なる場合には、通常、インターフェースが一致しないため、例えば、メカ部１の仮想試作設計３と制御部５のモデル設計６を連携してシステムテストを行うことができない。これらを連携してシステムテストを行うためには、それぞれの開発段階においてそれぞれに合ったインターフェースから構成されるシステムを構築する必要がある。
【０００４】
例えば、特許文献１として示す従来のプログラム連携システムでは、独立プロセスとして動作する複数のアプリケーションソフトを同期処理部、接続部、外部インターフェース部から構成される中間インターフェース部を介して連携動作させる例が示されている。この場合、外部インターフェース部がそれぞれのアプリケーションソフトとの直接の通信を担当し、あらかじめシステム構成が決められているため、前記外部インターフェース部は固定のシステム構成にのみ対応できるようになっている。
【０００５】
したがって、システム構成に自由度がなく、通常はメカ部１と制御部５の両方の最終実機４、８が完成するまでシステムテストを行うことはできない。つまり、いずれか一方が先に完成した場合であっても、もう一方の完成を待ってからシステムテストを行うこととなり、最終段階において要件やアルゴリズムの誤りが見つかった場合には、かなりの手戻りが起こってしまい開発が遅延することとなる。
【０００６】
このように、複数のアプリケーションプログラムを連携させて１つのシステムを構成する場合、システム構成に自由度を持たせることができれば、システムの汎用性、利便性が高まる。しかしながら、前述の従来技術では、必要なシステム構成毎に中間インターフェース部を新たに作成する必要があり、ユーザによって臨機応変にシステム構成を組み替えることができないという問題点があった。
【０００７】
そこで、この問題を解決するシステムとして、特許文献２に、複数アプリケーションソフトを組み合わせた１つのシステムにおいて、目的に応じて使用するアプリケーションソフトの組合せを容易に組み替えることを実現するプログラム連携システムが開示されている。
【特許文献１】特開平11-327956号公報
【特許文献２】特開2005-339029号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、前記特許文献２の技術では、プロセス間通信を用いて各アプリケーションソフト間の通信を行っているため、プロセス間通信の通信速度が遅く、如いては連携システム自体の処理速度が遅くなり、システムが複雑化した場合などには、早期装置開発の大きな障害となっている。また、各アプリケーションソフトの同期間隔は必ずしも一致するとは限らない。
【０００９】
そこで、本発明では、複数アプリケーションソフトを組み合わせた１つのシステムにおいて、目的に応じて使用するアプリケーションソフトの組合せを容易に組み替えることを実現するプログラム連携システムであって、さらに、処理速度が速い連携システムを提供することを目的とする。また、本発明の別の目的では、同期間隔の異なるアプリケーションソフトを効率よく連携させるシステムを提供することである。さらに、本発明の別の目的では、操作性に優れたプログラム連携システムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の連携シミュレーションシステムは、情報を保持及び中継するデータベースメモリサーバと、該データベースメモリサーバにデータの読み書きを行う連携モジュールを備えた複数のシミュレーションツールと、該データベースメモリサーバと該シミュレーションツールの設定及び実行管理を行う管理部とを有し、該複数のシミュレーションツールが連携してシミュレーションを行うことを特徴とする。
【００１１】
このように、データベースメモリサーバを経由してデータの読み書きを行うことで、複数のシミュレータや開発ツールの連携を実現している。しかも、メモリへのアクセススピードでその連携を図ることができる。
また、本発明の連携シミュレーションシステムは、前記データベースメモリサーバが、シミュレーションの変数を保持するＩＯ（Input Output）空間部と、前記シミュレーションツールの同期のための情報を保持するタイマ部と、から構成されることを特徴とする。このような構成をとることで、同期を取りながらデータの読み書きを容易に行うことができる。
【００１２】
さらに、本発明の連携シミュレーションシステムは、前記複数のシミュレーションツールのそれぞれに対応した複数のカウンタをタイマ部に有し、各シミュレーションツールの同期間隔の最大公約数を前記複数のカウンタの最小同期間隔とすることを特徴とする。このような構成をとることで、同期間隔の異なる複数のシミュレーションツールと同期を取って連携することを可能としている。
【００１３】
さらに、本発明の連携シミュレーションシステムは、前記連携モジュールと前記データメモリサーバが通信の履歴を伝達する必要のある信号で通信する場合に、前記シミュレーションツールの複数の書込みデータ及びデータ出力時間を前記連携モジュール内に保持し、前記シミュレーションツールの同期時に前記ＩＯ空間部へ前記データ及びデータ出力時間を書込むことを特徴とする。このような構成をとることで、シリアル通信などの通信履歴を伝達する必要がある信号でも通信することができる。
【００１４】
さらに、本発明の連携シミュレーションシステムは、前記管理部が、ＩＯ空間部の信号レコードの状態を表示部に表示することを特徴とする。このようにすることで、表示のための負荷を低減することができる。
さらに、本発明の連携シミュレーションシステムは、前記管理部が、各シミュレーションツールから前記データベースメモリサーバへの接続を管理する接続管理部と、前記シミュレーションツールの同期に係る時間設定を管理する時間管理部と、から構成されることを特徴とする。このような構成をとることで、効率的な処理をすることができる。
【００１５】
さらに、本発明の連携シミュレーションシステムは、前記管理部に連携モジュールを有することを特徴とする。このような構成をとることで、複数のシミュレーションツールのいずれかが外部プログラムを読み込めるインターフェースを有する場合には、外部プログラムにデータベースメモリサーバとデータの読み書きするための連携モジュールを読み込むことで各シミュレーションツールの連携を行うことができる。
【００１６】
さらに、本発明の連携シミュレーションシステムは、前記連携モジュールが、データベース内の変数に対してリード又はライト要求があったときにイベントが前記連携モジュールに送付されリード又はライトを行うプル型と、前記シミュレーションツールの同期時に前記連携モジュールからリード又はライトを行うプッシュ型とに対応していることを特徴とする。かかる構造をとることで多くのシミュレーションツールとの同期が可能となる。
【００１７】
さらに、本発明の連携シミュレーションシステムは、前記複数のシミュレーションツールのうちの少なくとも一つのシミュレーションツールが、シミュレーションの実行を制御する実行制御ツールであることを特徴とする。かかる構成を有することで、システムテストの自動実行が可能となる。
さらに、本発明の連携シミュレーションシステムは、前記実効制御ツール又は前記管理部が、連携シミュレーションに使用するシミュレーションツールを一度の操作で起動、初期設定及び終了する機能を有することを特徴とする。かかる構成を取ることで、シミュレーション操作の負担が軽減される。
【００１８】
さらに、本発明の連携シミュレーションシステムは、前記管理部にツール管理ウィンドウと、信号管理ウィンドウと、信号接続設定ウィンドウと、メッセージウィンドウから構成されるＧＵＩ（Graphical User Interface）を有することを特徴とする。かかる構成を取ることで、複雑な連携シミュレーションシステムをより簡単に操作することができる。
さらに、本発明の連携シミュレーションシステムは、前記データベースサーバの時間履歴を保存する保存部を有することを特徴とする。時間履歴を保存することでデバッグが容易となり、さらなる早期開発が可能となる。
【発明の効果】
【００１９】
本出願に係る発明によれば、目的に応じて使用するアプリケーションソフトの組合せを容易に組み替えることができ、しかも処理速度が速い連携シミュレーションシステムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付した図面に基づき本発明の実施形態を詳細に説明する。
（第１の実施形態）
図２に本発明の第１の実施形態に係る連携シミュレーションシステムの概略構成図を示す。この連携シミュレーションシステムは管理部９と、データベースメモリサーバ（図中“ＤＢメモリサーバ”と表記）１３と、シミュレーションツールＡ１６、シミュレーションツールＢ１８を備え構成されている。
【００２１】
管理部９は、データベースメモリサーバ１３とシミュレーションツールＡ１６およびシミュレーションツールＢ１８の設定及び実行管理を行うものであり、シミュレーションツールＡ１６およびシミュレーションツールＢ１８（以下、これらをまとめていうときにはシミュレーションツールＡ１６，Ｂ１８という）の同期に係る時間設定として、後述するタイマ部１５における各シミュレーションツールＡ１６，Ｂ１８の同期間隔や後述するカウンタの最小同期間隔、さらに、カウンタの動作管理（初期化やカウントアップ等）を管理する時間管理部１０と、ＩＯ（Input Output）空間へのツールの接続を管理する接続管理部１１と、操作性向上のために設けられたＧＵＩ（Graphical User Interface）１２とから構成されている。また、データベースメモリサーバ１３は、シミュレーションの変数を保持するＩＯ空間部１４とカウント、経過時間、サンプリングタイムなどをシミュレーションの同期のための情報として保持するタイマ部１５とから構成されている。さらに、シミュレーションツールＡ１６、シミュレーションツールＢ１８は、連携モジュール１７、１９を備えた構成をしている。
【００２２】
ここで、シミュレーションツールＡ１６、シミュレーションツールＢ１８と連携モジュール１７、１９は、それぞれのシミュレーションツールＡ１６、シミュレーションツールＢ１８上の別個のプロセスで動作し、連携モジュール１７、１９がデータベースメモリサーバ１３と情報をやり取りすることで、シミュレーションが動作する。連携モジュール１７、１９は、信号の授受、同期制御のほか、データベースメモリサーバ１３内の制御変数によって、それぞれシミュレーションツールＡ１６、シミュレーションツールＢ１８のシミュレーション開始・停止・リセットなどの実行制御を行うことも可能である。
【００２３】
また、シミュレーションツールＡ１６、シミュレーションツールＢ１８は時間またはサイクルベースのシミュレーションを行うシミュレーションツールであり、ソフトウェアアプリケーションのほか、ＩＣＥ（In Circuit Emulator）などのエミュレーションツールやテストボードなどのハードウェア装置も使用することができる。
本発明において、ＩＯ空間部１４は、伝達する信号ごとのレコードとなっており、信号種別と値から構成される。このＩＯ空間上のレコードには、複数の連携モジュールからのアクセスが可能であり、ｍ：ｎの複数の入力から複数の出力への信号の伝達が可能となっている。したがって、このシステムでは通信が発生しないため、従来の連携システムよりも早く動作することができる。
【００２４】
また、データベースメモリサーバ１３のタイマ部１５にはシミュレーションツールＡ１６およびシミュレーションツールＢ１８にそれぞれ対応した２つのカウンタ（図示略）があり、シミュレーションツールＡ１６およびシミュレーションツールＢ１８それぞれの同期間隔の最大公約数をかかる２つのカウンタ（つまり、データベースメモリサーバ１３）の最小同期間隔（仮想的な同期間隔；以下、最小サンプリング間隔という）としている。シミュレーション実行時には、各シミュレーションツールＡ１６，Ｂ１８に対応したデータベースメモリサーバ１３のタイマ部１５内のカウンタを最小サンプリング間隔で＋１して、カウンタが同期間隔／最小サンプリング間隔（公倍数）になったときにそのシミュレーションツールＡ１６，Ｂ１８と同期を行いカウンタを０にしている。
【００２５】
例えば、シミュレーションツールＡ、シミュレーションツールＢ、シミュレーションツールＣの三つのシミュレーションツールを有する場合を考える。図３に示すように、それぞれのシミュレーションツール（図中“ｓｉｍツール”と表記）Ａ〜Ｃの同期間隔を20ms、30ms、40msとすると、これらの最大公約数である10msが最小サンプリング間隔となる。時間0msには、シミュレーションツールＡ、シミュレーションツールＢ、シミュレーションツールＣのそれぞれに対応したカウンタはすべて0となっている。次に、時間10msには、各カウンタが＋１されてシミュレーションツールＡ、シミュレーションツールＢ、シミュレーションツールＣのそれぞれに対応したカウンタは＋１となっている。次に、時間20msには、各カウンタがさらに＋１されてシミュレーションツールＢ、シミュレーションツールＣのそれぞれに対応したカウンタは＋１となっているが、同期間隔20msであるシミュレーションツールＡに対応したカウンタは0となっている。このようにして各シミュレーションツールと同期を行っている。なお、カウンタ初期値を公倍数として、カウンタを−１してゆき０になったときに同期して、初期値にカウンタを戻す方法でもよい。
【００２６】
また、連携モジュール１７，１９とデータメモリサーバ１３とが通信の履歴を伝達する必要のある信号で通信する場合、シミュレーションツールＡ１６，Ｂ１８の複数の書込みデータ及びデータ出力時間を連携モジュール１７，１９がそれぞれ保持し、連携モジュール１７，１９のそれぞれは、上記図３を参照しながら説明したカウンタを用いたシミュレーションツールＡ１６，Ｂ１８の同期時に、ＩＯ空間部１４へデータ及びデータ出力時間を書込む。
【００２７】
つまり、シリアル通信などの通信の履歴すべてを通信すべき変数の場合、シミュレーションツールＡ１６，Ｂ１８が行う複数のライト処理を連携モジュール１７，１９内にデータベースライトイベントリストとして同期時間まで保持し、ＩＯ空間部１４へのライト処理を行うようにすることもできる。そのリストにはシミュレーションツールＡ１６，Ｂ１８がライト処理を行った時間を記録してもよい。データベース内でもこの変数はリストとして保持され、リード時に順次読み出されるか、リストとして読み出される。
【００２８】
これにより、パルスモータ信号などのそのときの値より値変化の頻度情報が必要な信号や、シリアル的なネットワーク信号も信号の欠落なく、信号の伝達が可能となる。なお、このシリアル信号に関して複数の入力がＩＯ空間部の１つのレコードに書き込む場合、書き込み時または読み出し時に時系列でソートされ、読み出し時には、信号の順序の前後がなく読み出される。
【００２９】
また、各連携モジュール１７、１９はプル型及びプッシュ型の双方に対応している。シミュレーションツール（アプリケーション）には、通常、割り込み的なイベントにより信号の読み書きを行うプルタイプ（イベントドリブンタイプ）と、同期時に指定された信号をプッシュするプッシュタイプの２種類があり、その双方に対応することでほとんどのシミュレーションツールとの同期が可能となる。
【００３０】
また、シミュレーションツールＡ１６およびシミュレーションツールＢ１７のいずれか一方は、シミュレーションの実行を制御する実行制御ツールとして構成される。この実行制御ツールは、シミュレーションの実行・停止、特定の時間または条件でのＩＯ空間部１４への読み書き動作を記述したスクリプトまたはリストを元に行うツールである。また、実行制御ツールはＩＯ空間部１４からのデータ読み込み結果を元にシミュレーション検証結果の可否の判断も行う。なお、実効制御ツールは、独立したアプリケーションのほか、管理部９にその機能を含むことが可能である。
【００３１】
このような連携シミュレーションシステムを使用し検証を行う場合、何度もシミュレーションを立ち上げ終了する必要があるが、それを手動で行うと非常に煩雑になる。そこで、実行制御ツールとしてのシミュレーションツールＡ１６、シミュレーションツールＢ１８、または、実行制御ツールの機能を有する管理部９が、シミュレーションツールＡ１６、シミュレーションツールＢ１８の立ち上げ・初期設定・終了をワンタッチで行う機能を備えることで、シミュレーション操作の負担が軽減される。
【００３２】
また、図４に示すように、管理部９はツール管理ウィンドウ２０と、信号管理ウィンドウ２１と、信号接続設定ウィンドウ２２と、メッセージウィンドウ２３から構成される操作用のＧＵＩ１２をもっている。
ツール管理ウィンドウ２０は、連携シミュレーションに使用するシミュレーションツールのリストを表示するものである。オペレータは、例えば管理部９に接続されたキーボード（図示せず）やマウス（図示せず）の入力インターフェースを介して、ツール管理ウィンドウ２０に表示されたシミュレーションツールを追加、削除等することによって、連携シミュレーションに使用するシミュレーションツールの追加、削除、設定を、管理部９に実行させることができる。
【００３３】
信号管理ウィンドウ２１は、データベースメモリサーバ１３で使用する信号名が列挙されるものである。オペレータは、入力インターフェースを介して、信号管理ウィンドウ２１の信号名を追加、削除等することによって、データベースメモリサーバ１３で使用する信号の追加、削除、設定を、管理部９に実行させることができる。
信号接続設定ウィンドウ２２は、シミュレーションツールごとの信号接続設定を表示するものであり、オペレータは、入力インターフェースを介して信号接続設定ウィンドウ２２の内容を変更することにより接続設定を行うことができる。例えば、“データベース信号名”，“ＩＮシミュレーションツール”，“ツール信号名”，“ＯＵＴシミュレーションツール”，“ツール信号名”が信号接続設定ウィンドウ２２に表示され、オペレータは、各項目に入力することにより、シミュレーションツールごとの信号の接続設定を管理部９に実行させることができる。
【００３４】
メッセージウィンドウ２３は、エラーメッセージや状況ログメッセージなどを表示するものである。
ここで、信号管理ウィンドウ２１は、信号接続設定ウィンドウ２２を兼ねていても良い。信号接続設定ウィンドウ２２では、設定ファイルまたは、連携モジュール１７、１９より取得したシミュレーションツールごとの変数リストより、接続する変数を選択できる。
【００３５】
さらに、管理部９（ＧＵＩ１２）は、上記信号管理ウィンドウ２１または、信号接続設定ウィンドウ２２（つまり、管理部９に接続された表示部（図示略））にＩＯ空間部１４の信号レコードの状態を表示することもできる。さらに、常に全ての信号の情報を表示すると、表示のための負荷が高くなってしまうため、選択した信号の値のみを表示するようにすることもできる。なお、信号表示は、数値（文字列）での表示のほか、グラフによる表示も可能である。
【００３６】
管理部９または前述の実行制御ツールまたは、独立のログツールにより、データベースメモリサーバ１３の時間履歴を保存することができる。つまり、管理部９あるいは前述の実行制御ツールもしくは独立のログツールは、データベースメモリサーバ１３の時間履歴を保存する保存部として機能する。この機能により検証時にエラーが起こったときの信号状態を把握したり、自動テスト時の合否判定に使用することが出来る。また、この時刻履歴を実効制御ツールの入力として、使用することで、検証の再現なども可能である。
【００３７】
（第２の実施形態）
図５に本発明の第２の実施形態に係る連携シミュレーションシステムの概略構成図を示す。基本的な構造は第１の実施形態と同様であるため、ここでは第１の実施形態と異なる構造についてのみ説明する。なお、図５における符号１０９〜１１９は、図１における符号９〜１９にそれぞれ対応するものである。
【００３８】
本発明の第２実施形態に係る連携シミュレーションシステムは、管理部１０９に、連携モジュール１２４が備えられており、プロセス間通信しかできないシミュレーションツールＣ１２５との通信を実現している。
通常は、時間またはサイクルベースのシミュレータは外部インターフェースを備えていることが多いが、そのインターフェースが、ダイナミックライブラリなどでプログラムを読み込む方式でなく、SocketやCOMなどのプロセス通信である場合には、連携モジュールがシミュレーションツールと同じプロセスで動作することはできない。しかし、管理部１０９に連携モジュール１２４を内包している場合には、管理部１０９のプロセスで動作し、シミュレーションツールＣ１２５とプロセス間通信を行うことで連携を行うことができる。この仕組みにより、外部インターフェースをもつシミュレーションツールＣ１２５を含む場合であっても連携シミュレーションを行うことが可能である。
【００３９】
次に、本発明の第２実施形態に係る連携シミュレーションシステムの具体的な動作について説明する。例えば、シミュレーションツールＡ１１６は自動車のマイコン制御部のシミュレーター、シミュレーションツールＢ１１８は自動車のエンジンのシミュレーター、シミュレーションツールＣ１２５は自動車のアクセルやブレーキ等の操作部のシミュレーターとして動作する場合を考える。通常これらのシミュレーションツールＡ１１６、Ｂ１１８、Ｃ１２５は、それぞれのシミュレーション対象に適したシミュレーションツールが利用されている。
【００４０】
例えば、自動車のアクセルを踏んだ場合  エンジンの回転数や温度等の状態で  点火タイミングや燃料供給量をマイコン制御のプログラムにより調整している。これをシミュレーションした状態を考える。まず、シミュレーションツールＣ１２５において、アクセルが踏み込まれると、プロセス間通信により連携モジュール１２４を介して、データメモリサーバ１１３のＩＯ空間部１１４に「アクセルが踏まれた」ことが記憶される。
【００４１】
管理部１０９の接続管理部１１１は、ＩＯ空間部１１４の記憶情報の中から「アクセルが踏まれた」ことを確認して、シミュレーションツールＢ１１８から連携モジュール１１９を介してエンジンの回転数や温度等の状態に関する情報を取得し、その情報を連携モジュール１１７を介してシミュレーションツールＡ１１６に転送する。
シミュレーションツールＡ１１６では、受取ったエンジンに関する情報を用いて、エンジンの点火タイミングや燃料供給量を計算し、その計算結果を連携モジュール１１７を介してデータメモリサーバ１１３のＩＯ空間部１１４に記憶する。
【００４２】
管理部１０９の接続管理部１１１は、ＩＯ空間部１１４からエンジンの点火タイミングや燃料供給量の計算結果を確認し、連携モジュール１１９を介してシミュレーションツールＢ１１８に転送する。シミュレーションツールＢ１１８は、その計算結果に基づいてエンジン回転数を計算しシミュレーションを行う。
ここで、マイコン制御部及びエンジンは操作部に比べて高速の動作をシミュレーションしているため、シミュレーションツールＡ１１６、Ｂ１１８は数nsec間隔の変化をシミュレーションする必要があり、その同期間隔は、数nsecに設定される。一方、操作部はマイコン制御部及びエンジンに比べて低速の動作をシミュレーションしているため、シミュレーションツールＣ１２５は数sec間隔の変化をシミュレーションすれば十分であり、その同期間隔は、数secに設定される。このように、同期速度の異なるシミュレーションツールが混在している場合でも、上記図３を参照しながら説明したようにタイマ部１１５で同期をとることで、それぞれのシミュレーションツールに最適の同期間隔で効率よくシミュレーションを行うことができる。また、このタイマ部１１５における各シミュレーションツール１１６，１１８，１２５の同期間隔や最小同期間隔などの設定や、タイマ部１１５の初期化、タイマ部１１５のカウントアップを時間管理部１１０で行っている。
【００４３】
このように、メモリへのアクセス速度で処理を行うことができ、かつ、各シミュレーションツールに応じた同期間隔で同期することができるため、本発明に係る連携シミュレーションツールの処理速度は速い。
【００４４】
（第３の実施形態）
図６に本発明の第３の実施形態に係る連携シミュレーションシステムの概略構成図を示す。基本的な構造は第１の実施形態及び第２の実施形態と同様であるため、ここでは第１の実施形態及び第２の実施形態と異なる構造についてのみ説明する。なお、図６における符号２０９〜２１９は、図１における符号９〜１９にそれぞれ対応するものである。
【００４５】
本発明の第３実施形態に係る連携シミュレーションシステムは、管理部２０９に、連携モジュール２２４に加えてさらにハードウェアインターフェース２２６が備えられており、シミュレーションツールだけでなく実装置２２７との連携を可能にしている。
【００４６】
（第４の実施形態）
図７に本発明の第４の実施形態に係る連携シミュレーションシステムの概略構成図を示す。また、比較のために図８に従来のパーソナルコンピュータ間通信の構成を示す。図７には、第１の実施形態と同様に管理部、データベースメモリサーバ及びシミュレーションツールから構成されたパーソナルコンピュータ（ＰＣ１，ＰＣ２，ＰＣ３）３０１、３０２、３０３が複数配置され、それぞれのパーソナルコンピュータの各管理部が直接パーソナルコンピュータ間通信で繋がった構成をしている。
【００４７】
これに対して図８に示すように、従来では、管理部のみを有するパーソナルコンピュータ（ＰＣ０）４０１が、シミュレーションツールのみを有するパーソナルコンピュータ（ＰＣ１，ＰＣ２，ＰＣ３）４０２、４０３、４０４のそれぞれと通信を行っており、管理部を有するパーソナルコンピュータ４０１の管理部に管理プログラムの負荷が集中している。これに対して、本実施形態であれば、パーソナルコンピュータ間の通信の軋轢を減らすことができる。
【００４８】
管理部がモジュール化されている場合には、用途に応じて入れ替えることが容易になる。例えば、拡張例のネットワーク対応においても、管理部を入れ替えるだけでデータベースメモリサーバ、各シミュレーションツールの連携モジュールの変更を行う必要はない。
【図面の簡単な説明】
【００４９】
【図１】メカ部と制御部及びファームソフトウェア部の開発工程の概略図である。
【図２】本発明の第１の実施形態の連携シミュレーションシステムの構成図である。
【図３】本発明の第１の実施形態の連携シミュレーションシステムのカウンタの値と各シミュレーションツールの同期動作との関係である。
【図４】本発明の第１の実施形態の連携シミュレーションシステムの管理部に設けられたGUIの構成図である。
【図５】本発明の第２の実施形態の連携シミュレーションシステムの構成図である。
【図６】本発明の第３の実施形態の連携シミュレーションシステムの構成図である。
【図７】本発明の第４の実施形態の連携シミュレーションシステムの構成図である。
【図８】従来のパーソナルコンピュータ間通信の構成を示す図である。
【符号の説明】
【００５０】
１  メカ部
２  抽象モデル設計
３  仮想試作設計
４  実機
５  制御部
６  モデル設計
７  コード設計
８  実機（ＭＰＵ）
９，１０９，２０９  管理部
１０，１１０，２１０  時間管理部
１１，１１１，２１１  接続管理部
１２，１１２，２１２  ＧＵＩ
１３，１１３，２１３  データベースメモリサーバ
１４，１１４，２１４  ＩＯ空間部
１５，１１５，２１５  タイマ部
１６，１１６，２１６  シミュレーションツールＡ
１７，１９，１１７，１１９，２１７，２１９  連携モジュール
１８，１１８，２１８  シミュレーションツールＢ
２０  ツール管理ウィンドウ
２１  信号管理ウィンドウ
２２  信号接続設定ウィンドウ
２３  メッセージウィンドウ
１２５  シミュレーションツールＣ
２２４  連携モジュール
２２６  ハードウェアインターフェース
２２７  実装置
３０１〜３０３，４０１〜４０４  パーソナルコンピュータ
【図１】
2008250788.tif 000003
【図２】
2008250788.tif 000004
【図３】
2008250788.tif 000005
【図４】
2008250788.tif 000006
【図５】
2008250788.tif 000007
【図６】
2008250788.tif 000008
【図７】
2008250788.tif 000009
【図８】
2008250788.tif 000010