車両を制御する処理をシミュレーションするシステムであって、前記シミュレーションを実行するシミュレーション実行サーバと、前記シミュレーション実行サーバを管理する管理コンピュータと、を有し、前記シミュレーション実行サーバは、前記車両を制御する処理を記述した車両制御ソフトウェアのシミュレーションまたは前記車両の論理モデルのシミュレーションを実行する1以上の仮想サーバを実行し、前記仮想サーバは、前記車両制御ソフトウェアおよび前記論理モデルの種類毎に設けられており、前記管理サーバは、前記車両ソフトウェアのシミュレーションまたは前記論理モデルのシミュレーションの各工程において必要になる前記車両制御ソフトウェアまたは前記論理モデルと対応する前記仮想サーバを起動して前記シミュレーションを実行させることを特徴とする車両制御シミュレーションシステム。前記仮想サーバのサーバイメージデータは、前記仮想サーバ、前記仮想サーバが実行する前記車両制御ソフトウェア、および前記仮想サーバがシミュレーションを実行する前記車両の論理モデルをセットにして作成されており、前記管理コンピュータは、前記車両ソフトウェアのシミュレーションまたは前記論理モデルのシミュレーションの各工程において必要になる前記車両制御ソフトウェアまたは前記論理モデルとセットになって作成されている前記仮想サーバを起動するように前記シミュレーション実行サーバへ指示し、前記シミュレーション実行サーバは、前記管理コンピュータからの前記指示にしたがって、前記各工程において必要になる前記仮想サーバを起動して実行することにより、前記各工程において必要になる前記車両制御ソフトウェアのシミュレーションまたは前記論理モデルのシミュレーションを実行することを特徴とする請求項1記載の車両制御シミュレーションシステム。前記シミュレーション実行サーバは、複数の前記仮想サーバを同時に実行することによって複数種類の前記シミュレーションを同時に実行し、前記シミュレーションを実行する過程において、各前記仮想サーバ間でクロックを同期させることにより、各前記車両制御ソフトウェアのシミュレーションおよび各前記論理モデルのシミュレーションの間でクロックを合わせることを特徴とする請求項1記載の車両制御シミュレーションシステム。前記シミュレーション実行サーバは、複数の前記仮想サーバを同時に実行することによって複数種類の前記シミュレーションを同時に実行し、前記仮想サーバ間で前記複数種類のシミュレーションの結果を相互に授受することを特徴とする請求項1記載の車両制御シミュレーションシステム。車両全体のモデルを用いてシミュレーションを実行する場合、デスクトップタイプのパーソナルコンピュータ以下、PCと略す程度の処理能力では、シミュレーションデータを記憶するためのメモリの容量が不十分である。また、中央演算処理装置以下、CPUと略すの能力が不十分であるため、シミュレーションの実行時間が大幅に長くなってしまう。さらには、車両全体のシミュレーションは、複数種類のソフトウェア、制御モデルなどによって実行され、シミュレーションの工程に応じて用いられるソフトウェアなどがそれぞれ異なる場合があり、工程毎に個別にシミュレーション環境を構築すると多数のコンピュータが必要になってコストなどの面で望ましくない。本発明は、上記のような課題を解決するためになされたものであり、大量のコンピュータリソースを必要とする車両制御シミュレーションを、シミュレーション工程毎に柔軟に実行することのできるシミュレーションシステムを得ることを目的とする。本発明に係る車両制御シミュレーションシステムは、車両制御ソフトウェアおよび車両の論理モデルの種類毎に仮想サーバを備えており、シミュレーションの各工程において必要になる仮想サーバを起動して対応するシミュレーションを実行させる。本発明に係る車両制御シミュレーションシステムによれば、仮想サーバ上で車両制御シミュレーションを実行することにより、車両制御シミュレーションを、シミュレーション工程毎に柔軟に実行することができる。<実施の形態1>図1は、本発明の実施形態1に係る車両制御シミュレーションシステム100の構成図である。車両制御シミュレーションシステム100は、管理用コンピュータ110、シミュレーション実行サーバ120、データ保存用ストレージ130、システム用ストレージ140を有する。管理用コンピュータ110、シミュレーション実行サーバ120、データ保存用ストレージ130、システム用ストレージ140は、ネットワーク150で接続されている。ネットワーク150の具体例としては、例えばEthernet登録商標などのローカルエリアネットワーク用通信インタフェースを用いるとよい。ユーザは、ネットワーク150を介して、管理用コンピュータ110上で上記各装置にアクセスし、操作することができる。ユーザは、車両制御システム100が設置されている施設内の管理用コンピュータ110から各装置にアクセスしてもよいし、インターネットやイントラネットを介して別の施設にある管理用コンピュータ110から各装置にアクセスしてもよい。その他、モバイル端末から上記各装置にアクセスすることもできる。なお、ネットワーク150のセキュリティを維持するために、ハードウェアキーなどの装置を使った認証によって、アクセスを制御するとよい。管理用コンピュータ110は、シミュレーション実行管理プログラム111、モデル割当定義データ112、テストパターンデータ113を備える。管理用コンピュータ110自身も仮想サーバとして構成することができるが、ここでは独立したコンピュータであると仮定する。以下では記載の便宜上、各プログラムを動作主体として説明する場合があるが、実際に各プログラムを実行するのはコンピュータが備えるCPUなどの演算装置であることを付言しておく。シミュレーション実行管理プログラム111は、仮想サーバへ車両制御モデルデータをロードする処理、シミュレーションの実行順序制御、シミュレーション実行結果を保存する処理、などのシミュレーション実行に係る一連の処理を実施する。管理用コンピュータ110を仮想サーバによって構成する場合は、シミュレーション実行管理プログラム111をシステム用ストレージ140に格納しておき、ユーザが車両制御シミュレーションを実行する際に、管理用コンピュータ110にシミュレーション実行管理プログラム111をロードするようにすればよい。シミュレーション実行管理プログラム111の動作手順については後述する。モデル割当定義データ112は、後述する仮想サーバ120a~120iそれぞれに割り当てるプラントモデルを定義するデータである。モデル割当定義データ112の具体例については後述する。テストパターンデータ113は、後述する各仮想サーバがプラントモデルを用いて車両制御ソフトウェアを実行することによって実施されるテストのテスト条件を定義するデータである。テストパターンデータ113の具体例については後述する。モデル割当定義データ112とテストパターンデータ113は、シミュレーションを実行する前にユーザがあらかじめ作成し、管理用コンピュータ110に格納しておく。管理用コンピュータ110を仮想サーバによって構成する場合は、これらデータをデータ保存用ストレージ130に格納しておき、ユーザが車両制御シミュレーションを実行する際に管理用コンピュータ110にロードするようにすればよい。シミュレーション実行サーバ120は、仮想サーバ120a~120iを実行する。仮想サーバは、車両制御シミュレーションを実行するために必要な車両制御ソフトウェアおよびプラントモデルの種類毎に設けられている。すなわち、管理用コンピュータ110は車両制御シミュレーションの各工程を実行するために必要になる仮想サーバのみを起動すればよい。各仮想サーバのサーバイメージデータは、システム用ストレージ140に格納されている。サーバイメージデータには、各仮想サーバのオペレーティングシステム以下、OSと略す、シミュレーションソフトウェアなどがセットになって記録されている。各仮想サーバは、車両制御シミュレーションの実行結果をデータ保存用ストレージ130に格納する。図2は、モデル割当定義データ112の構成とデータ例を示す図である。モデル割当定義データ112は、管理用コンピュータ110が仮想サーバを起動する際に、どの仮想サーバにどのプラントモデルと車両制御ソフトウェアを割り当てるかを定義したデータファイルである。管理用コンピュータ110は、仮想サーバを起動するとき、モデル割当定義データ112の記述にしたがって、システム用ストレージ140に格納されているプラントモデルと車両制御ソフトウェアを仮想サーバにコピーする。仮想サーバは、そのプラントモデルと車両制御ソフトウェアを用いてシミュレーションを実行する。車両制御ソフトウェアは、車両制御シミュレーションを実行するソフトウェア本体である。実際に車両に搭載する制御ソフトウェアを用いてシミュレーションを実行してもよいし、シミュレーション専用の別ソフトウェアを用いてもよい。さらには、シミュレーション環境を提供する統合ソフトウェアの配下で制御ソフトウェアを実行するようにしてもよい。いずれの場合であっても、モデル割当定義データ112は、各仮想サーバが実行すべきソフトウェアを定義する。プラントモデルは、車両制御ソフトウェアの外部に存在する他のECU、アクチュエータ、機能部などを論理的な制御モデルとして記述したデータである。実際の車両上では、車両制御ソフトウェアは実車両が備えているこれら各部の動的に変化するパラメータを参照しながら制御処理を実行するが、シミュレーション環境では実環境が存在しないため、これを制御モデルによって模擬的に実現することとしたものである。図3は、テストパターンデータ113の構成とデータ例を示す図である。テストパターンデータ113は、仮想サーバ120a~120iに実行されるシミュレーションテストの条件を記述したデータであり、車両制御ソフトウェアやプラントモデルの初期条件、車両の走行条件などのテストシナリオと、シミュレーション結果を記録する観測点変数名を定義している。管理用コンピュータ110は、各仮想サーバが実行するシミュレーションテストに対応するテストパターンをテストパターンデータ113から読み出し、各仮想サーバに引き渡す。あるいは、各仮想サーバが実行する車両制御ソフトウェアがテストパターンデータ113を読み出すようにしてもよい。各仮想サーバ上の車両制御ソフトウェアは、テストパターンデータ113の記述にしたがってシミュレーションテストを実行する。図4は、車両制御シミュレーションシステム100が車両制御シミュレーションを実行する際の処理フローである。以下、図4の各ステップについて説明する。図4:ステップS401管理用コンピュータ110は、車両制御シミュレーションを開始すると、シミュレーション実行管理プログラム111を起動する。シミュレーション実行管理プログラム111は、モデル割当定義データ112を読み込み、その記述にしたがって、各仮想サーバが実行すべき車両制御ソフトウェアとプラントモデルを識別する。図4:ステップS402シミュレーション実行管理プログラム111は、ネットワーク150を介してシミュレーション実行サーバ120にアクセスし、シミュレーション工程を実行するために必要になる仮想サーバを起動する。図4:ステップS403シミュレーション実行管理プログラム111は、モデル割当定義データ112の記述にしたがって、各仮想サーバが実行すべき車両制御ソフトウェアとプラントモデルをシステム用ストレージ140から読み出し、各仮想サーバの配下にコピーする。各仮想サーバはプラントモデルを読み出し、実行すべき車両制御ソフトウェアを起動する。図4:ステップS404シミュレーション実行管理プログラム111は、テストパターンデータ113を読み込み、その記述にしたがって、シミュレーションテストの条件を各仮想サーバ配下の車両制御ソフトウェアに指示する。図4:ステップS405~S407各仮想サーバは、ステップS404で指定されたシミュレーションテストの条件にしたがって車両制御ソフトウェアを実行し、シミュレーションテストを実施するS405。各仮想サーバは、シミュレーションテストの結果をデータ保存用ストレージ130に格納するS406。全てのテスト項目を完了した場合は本処理フローを終了し、テスト項目が残っている場合はステップS405に戻って同様の処理を繰り返すS407。<実施の形態1:まとめ>以上のように、本実施形態1に係る車両制御シミュレーションシステム100は、車両制御ソフトウェアまたはプラントモデル毎に仮想サーバを設け、車両制御シミュレーションを実行するために必要になる仮想サーバを起動して、その配下で車両制御ソフトウェアを実行させる。これにより、シミュレーションの計算負荷を仮想サーバ間で自由に分散することができる。また、シミュレーションのパフォーマンスが向上して、車両制御ソフトウェアのロジック検証を効率よく実施することができる。また、本実施形態1に係る車両制御シミュレーションシステム100によれば、必要になるコンピュータリソースに応じて仮想サーバを追加削除することにより、コンピュータリソース不足による影響を抑えることができる。さらには、各工程で必要になる車両制御ソフトウェア等を実行する仮想サーバのみを起動すればよいので、工程毎にコンピュータを構成する必要がなくなり、シミュレーション環境を柔軟に構成することができる。<実施の形態2>実施形態1では、各仮想サーバが実行すべき車両制御ソフトウェアおよびプラントモデルを、モデル割当定義データ112の記述にしたがって管理用コンピュータ110が指示することとした。一方、各仮想サーバが実行すべき車両制御ソフトウェアおよびプラントモデルを、はじめから各仮想サーバの配下に配置しておくこともできる。例えば、仮想サーバを構成するサーバイメージデータ内に、その仮想サーバが実行する車両制御ソフトウェアおよびプラントモデルをインストールしておくことが考えられる。各仮想サーバは、インストールされている車両制御ソフトウェアおよびプラントモデルを実行するように構成しておく。これにより、シミュレーション実行サーバ120がサーバイメージデータを読み出して仮想サーバを実行すると、その工程において必要になる車両制御ソフトウェアなどがセットになって併せて読み出されることになる。車両制御ソフトウェアが複数のプラントモデルを用いる場合は、その対応関係をモデル割当定義データ112に記述しておき、管理用コンピュータ110が仮想サーバを起動する際に各仮想サーバに読み込ませるようにすればよい。上記のように各仮想サーバを構成しておけば、管理用コンピュータ110は各仮想サーバとその配下で実行する車両制御ソフトウェアおよびプラントモデルの割当関係を管理する必要がなくなり、各シミュレーション工程で必要になる仮想サーバを起動して配下の制御ソフトウェア等を実行するよう指示すれば済むので、シミュレーション工程の管理を簡易化することができる。<実施の形態3>図5は、シミュレーション実行サーバ120がシミュレーションを実行しているときの各車両制御ソフトウェアおよびプラントモデルの動作を示すタイミングチャートである。各車両制御ソフトウェアおよびプラントモデルは、車両の異なる機能部とその制御処理を記述したものであるため、実際の車両の動作に合わせて実行周期がそれぞれ異なる。シミュレーション実行管理プログラム111は、各仮想サーバが実行する車両制御ソフトウェアおよびプラントモデルの動作タイミングを合わせるため、各仮想サーバのクロックを同期させる。また、各車両制御ソフトウェアまたはプラントモデルの動作結果を他の仮想サーバ配下の車両制御ソフトウェアおよびプラントモデルが使用する場合は、これらの間でシミュレーション結果を互いに授受できるように、通信を仲介する。これにより、各仮想サーバ配下の車両制御ソフトウェアおよびプラントモデルの実行タイミングがそれぞれ異なる場合でも、各仮想サーバが車両制御シミュレーションを同時並行的に実行しつつ、シミュレーション結果をリアルタイムに相互利用することができる。