IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

<>
  • 特許-仮想開発環境装置、方法および記録媒体 図1
  • 特許-仮想開発環境装置、方法および記録媒体 図2
  • 特許-仮想開発環境装置、方法および記録媒体 図3
  • 特許-仮想開発環境装置、方法および記録媒体 図4
  • 特許-仮想開発環境装置、方法および記録媒体 図5
  • 特許-仮想開発環境装置、方法および記録媒体 図6
  • 特許-仮想開発環境装置、方法および記録媒体 図7
  • 特許-仮想開発環境装置、方法および記録媒体 図8
  • 特許-仮想開発環境装置、方法および記録媒体 図9
  • 特許-仮想開発環境装置、方法および記録媒体 図10
  • 特許-仮想開発環境装置、方法および記録媒体 図11
  • 特許-仮想開発環境装置、方法および記録媒体 図12
  • 特許-仮想開発環境装置、方法および記録媒体 図13
  • 特許-仮想開発環境装置、方法および記録媒体 図14
  • 特許-仮想開発環境装置、方法および記録媒体 図15
  • 特許-仮想開発環境装置、方法および記録媒体 図16
  • 特許-仮想開発環境装置、方法および記録媒体 図17
  • 特許-仮想開発環境装置、方法および記録媒体 図18
  • 特許-仮想開発環境装置、方法および記録媒体 図19
  • 特許-仮想開発環境装置、方法および記録媒体 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-23
(45)【発行日】2024-10-31
(54)【発明の名称】仮想開発環境装置、方法および記録媒体
(51)【国際特許分類】
   G06F 11/36 20060101AFI20241024BHJP
   G06F 8/35 20180101ALI20241024BHJP
【FI】
G06F11/36 164
G06F8/35
【請求項の数】 12
(21)【出願番号】P 2021116022
(22)【出願日】2021-07-13
(65)【公開番号】P2023012395
(43)【公開日】2023-01-25
【審査請求日】2023-12-21
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】井上 庸
(72)【発明者】
【氏名】佐藤 光一
【審査官】久々宇 篤志
(56)【参考文献】
【文献】特開2008-269022(JP,A)
【文献】特開2021-043749(JP,A)
【文献】伊藤 康宏 ほか,Virtual HILS:システム全体仮想化による、組込みソフト検証の高効率化,情報処理学会研究報告2011April,日本,一般社団法人情報処理学会,2011年04月15日
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 8/35
(57)【特許請求の範囲】
【請求項1】
MILSモデルのシミュレーションと仮想ECUのシミュレーションとが共同してvHILSを行う仮想開発環境装置であって、
中央処理装置と第一のメモリとを含む処理実行ユニットと、
入力ポートおよび出力ポートを含むコントローラブロックと前記コントローラブロックの制御対象であるプラントブロックとを含む前記MILSモデルと、前記MILSモデル内のコントローラブロックを特定するための第一設定情報と、前記仮想ECUのシミュレーションの実行の際に利用される前記コントローラブロックの機能を実現するプログラムと、前記仮想ECUにおいて使用可能なI/Oポートのリストが記載された第二設定情報と、を記憶する第二のメモリと、を備え、
前記処理実行ユニットは、
前記第一設定情報に基づいて前記MILSモデル内のコントローラブロックを特定し、
前記特定したコントローラブロックの前記入力ポートおよび前記出力ポートに、前記入力ポートおよび前記出力ポートと前記仮想ECUのI/Oポートとを接続するためのブリッジを配置し、
前記第二設定情報に基づいて前記ブリッジと前記仮想ECUのI/Oポートを接続するよう構成される、
仮想開発環境装置。
【請求項2】
請求項1の仮想開発環境装置において、
前記仮想ECUのI/Oポートは入力用I/Oポートと出力用I/Oポートを備え、
前記処理実行ユニットは、
前記特定されたコントローラブロックの前記入力ポートおよび前記出力ポートの位置を第一結果情報として生成し、
前記第一結果情報に基づいて前記出力ポートおよび前記入力ポートに前記ブリッジを配置した第二モデルを生成し、
前記第二設定情報および前記第二モデルに基づいて前記仮想ECUのI/Oポートに前記入力ポートまたは前記出力ポートを対応付けた第二結果情報を生成し、
前記第一結果情報および第二結果情報に基づいて前記ブリッジにおける前記入力ポートおよび出力ポートと前記入力用I/Oポートおよび前記出力用I/Oポートとをそれぞれ接続したvHILSモデルを生成するよう構成される、
仮想開発環境装置。
【請求項3】
請求項2の仮想開発環境装置において、
前記処理実行ユニットは、
前記第一設定情報に基づいて前記コントローラブロックのブロック名を取得し、前記MILSモデル内の全てのブロックのブロック名を取得し、
前記取得したブロック名に基づいて前記MILSモデル内のコントローラブロックを検索して特定するよう構成される、
仮想開発環境装置。
【請求項4】
請求項3の仮想開発環境装置において、
前記処理実行ユニットは、
前記第一結果情報から前記コントローラブロックの出力ポート情報を取得し、
取得した出力ポート情報に基づいて前記コントローラブロックの前記出力ポートに入力ブリッジを配置し、
前記第一結果情報から前記コントローラブロックの入力ポート情報を取得し、
取得した入力ポート情報に基づいて前記コントローラブロックの前記入力ポートに出力ブリッジを配置し、
前記コントローラブロック内の前記入力ブリッジおよび前記出力ブリッジ以外のブロックを削除して、前記第二モデルを生成するよう構成される、
仮想開発環境装置。
【請求項5】
請求項4の仮想開発環境装置において、
前記処理実行ユニットは、前記第二設定情報および前記第二モデルに基づいて、前記仮想ECUの入力用I/Oポートに前記入力ポートを対応付けると共に、前記仮想ECUの出力用I/Oポートに前記出力ポートを対応付けて、前記第二結果情報を生成するよう構成される、
仮想開発環境装置。
【請求項6】
請求項5の仮想開発環境装置において、
前記処理実行ユニットは、
前記第二モデルおよび前記第二結果情報から入力用I/Oポート情報および入力ポート名を取得し、
前記取得した入力用I/Oポート情報および入力ポート名に基づいて前記出力ブリッジにおける前記入力ポートと前記入力用I/Oポートとを接続し、
前記第二モデルおよび前記第二結果情報から出力用I/Oポート情報および出力ポート名を取得し、
前記取得した出力用I/Oポート情報および出力ポート名に基づいて前記入力ブリッジにおける前記出力ポートと前記出力用I/Oポートとを接続して、
前記vHILSモデルを生成するよう構成される、
仮想開発環境装置。
【請求項7】
請求項5の仮想開発環境装置において、
前記処理実行ユニットは、
前記仮想ECUのI/Oポートと前記入力ポートまたは前記出力ポートとを対応付けた対応付け情報を取得し、
前記対応付け情報に基づいてI/Oポートの初期化設定を行うドライバコードを生成するよう構成される、
仮想開発環境装置。
【請求項8】
請求項7の仮想開発環境装置において、
前記対応付け情報は、前記入力ポートに対応付けた入力用I/Oポートの名称および前記出力ポートに対応付けた出力用I/Oポートの名称であり、
前記処理実行ユニットは、
前記入力用I/Oポートの名称に基づいて前記入力用I/Oポートの初期化設定を行う入力用ドライバコードを生成し、
前記出力用I/Oポートの名称に基づいて前記出力用I/Oポートの初期化設定を行う出力用ドライバコードを生成するよう構成される、
仮想開発環境装置。
【請求項9】
請求項2の仮想開発環境装置において、
前記処理実行ユニットは、
前記第二設定情報および前記第二モデルに基づいて、前記仮想ECUの入力用I/Oポートに前記入力ポートを対応付け、
前記仮想ECUの出力用I/Oポートの数が前記出力ポートの数よりも少ない場合、仮想ECUを追加し、
前記第二設定情報および前記第二モデルに基づいて、前記仮想ECUの出力用I/Oポートおよび追加した前記仮想ECUの出力用I/Oポートに前記出力ポートを対応付け、
前記第二結果情報を生成するよう構成される、
仮想開発環境装置。
【請求項10】
請求項9の仮想開発環境装置において、
前記第二のメモリは、さらに、前記仮想ECUのI/Oポートに優先的に接続する出力ポートを特定する第三設定情報を記憶し、
前記処理実行ユニットは、
前記第二設定情報、前記第二モデルおよび第三設定情報に基づいて、前記仮想ECUの出力用I/Oポートおよび追加した前記仮想ECUの出力用I/Oポートに前記出力ポートを対応付けて、前記第二結果情報を生成するよう構成される、
仮想開発環境装置。
【請求項11】
中央処理装置とメモリとを備え、MILSモデルのシミュレーションと仮想ECUのシムレーションとが共同してvHILSを行う仮想開発環境装置において実行される方法であって、
前記メモリは、入力ポートおよび出力ポートを含むコントローラブロックと前記コントローラブロックの制御対象であるプラントブロックとを含む前記MILSモデルと、前記MILSモデル内のコントローラブロックを特定するための第一設定情報と、前記仮想ECUのシミュレーションの実行の際に利用される前記コントローラブロックの機能を実現するプログラムと、前記仮想ECUにおいて使用可能なI/Oポートのリストが記載された第二設定情報と、を記憶し、
前記第一設定情報に基づいて前記MILSモデル内のコントローラブロックを特定し、
前記特定したコントローラブロックの前記入力ポートおよび前記出力ポートに、前記入力ポートおよび前記出力ポートと前記仮想ECUのI/Oポートとを接続するためのブリッジを配置し、
前記第二設定情報に基づいて前記ブリッジと前記仮想ECUのI/Oポートを接続する方法。
【請求項12】
中央処理装置とメモリとを備え、MILSモデルのシミュレーションと仮想ECUのシムレーションとが共同してvHILSを行う仮想開発環境装置において実行されるプログラムを非一時的に記録し、コンピュータ読み取り可能な記録媒体であって、
前記メモリは、入力ポートおよび出力ポートを含むコントローラブロックと前記コントローラブロックの制御対象であるプラントブロックとを含む前記MILSモデルと、前記MILSモデル内のコントローラブロックを特定するための第一設定情報と、前記仮想ECUのシミュレーションの実行の際に利用される前記コントローラブロックの機能を実現するプログラムと、前記仮想ECUにおいて使用可能なI/Oポートのリストが記載された第二設定情報と、を記憶し、
前記第一設定情報に基づいて前記MILSモデル内のコントローラブロックを特定する手順と、
前記特定したコントローラブロックの前記入力ポートおよび前記出力ポートに、前記入力ポートおよび前記出力ポートと前記仮想ECUのI/Oポートとを接続するためのブリッジを配置する手順と、
前記第二設定情報に基づいて前記ブリッジと前記仮想ECUのI/Oポートを接続する手順とを実行させるプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は仮想開発環境装置に関する。本開示は、例えば、vHILS(Virtual Hardware In the Loop Simulation)と呼ばれる仮想環境を用いる仮想開発環境装置に適用可能である。
【背景技術】
【0002】
ECU(Electronic Control Unit)等の制御装置のソフトウェアの開発ではMBD(Model Based Development)が広まっている。制御システム開発においては、MATLAB(登録商標)/shimulink(登録商標)等のCAE(Computer Aided Engineering)ツールを用いて、制御装置と制御対象の機能がモデル化される。MBDは、それらのモデルを実行可能な仕様書として用いることで、製品ライフサイクル全般に渡った品質向上と開発効率向上を目指した開発手法である。また、MBDはV字開発プロセスと呼ばれる開発プロセスに沿って実行される。
【0003】
V字開発プロセスの中には、コンピュータシミュレーションが重要な役割を担う工程として、MILS(Model In the Loop Simulation)およびHILS(Hardware In the Loop Simulation)などがある。MILSでは、制御装置の機能およびプラントと呼ばれる制御対象の機能をモデル化した上でこれらを結合したMILSモデルの検証が行われる。HILSは実装対象のECUを用いたシミュレーションである。HILSにおいては、ECUの実機にプラントのモデルを組み合わせて、ECUの検証が行われる。
【0004】
HILSの性能検証においてECUの性能が未達であることが判明した場合、再度、ECUの設計を行う必要がある。ECUの再設計には、作業工数を要する。そこで、HILSに代えてvHILSが用いられている。vHILSは実装対象のECUのモデル(仮想ECU)を用いてHILSを仮想化したシミュレーションである。vHILS環境では、MILSから生成されたソフトウェアコードが使用され、仮想ECUシミュレーションツールを用いて検証が行われる。これにより、再設計に戻る作業工数が削減される。
【0005】
特開2018-81400号公報には次のことが開示されている。開発対象であるECUの仮想デバイスモデル(仮想ECU)とECUのシステムテストプログラムとを用いて、ECUのシステム制御アプリケーションプログラムの開発およびその検証が行われる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2018-81400号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
MILSからvHILS環境を構築する作業は手作業であり、再設計の工数は依然として残っている。CAEツールと仮想ECUシミュレーションツールとの接続には、ブリッジが必要となる。ユーザは手動でこのブリッジをMILSモデルに配置する必要がある。また、配置したブリッジに仮想ECUのI/O(Input / Output)ポートの信号線を接続する設定をユーザが手動で行う必要がある。
【0008】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0009】
本開示のうち代表的なものの概要を簡単に説明すれば次の通りである。すなわち、仮想開発環境装置はvHILS環境構築ツールを備え、vHILSを行う上で必要となるブリッジの配置とブリッジの接続設定を自動で行う。
【図面の簡単な説明】
【0010】
図1図1はvHILS環境を説明する図である。
図2図2はCAEツールと仮想ECUシミュレーションツールとを接続するブリッジを説明する図である。
図3図3は比較例における仮想開発環境装置の構成例を示す図である。
図4図4は第一実施例における仮想開発環境装置の構成例を示す図である。
図5図5図4に示されるvHILS環境構築ツールの構成および処理を説明するための図である。
図6図6は第二実施例における仮想開発環境装置の構成例を示す図である。
図7図7図6に示されるvHILS環境構築ツールの構成および処理を説明するための図である。
図8図8は第三実施例におけるMILSモデルの構成を示す図である。
図9図9図8に示されるMILSモデルにおいて出力用I/Oポートが不足する場合のvHILSの構成例を示す図である。
図10図10は第三実施例におけるvHILS環境を説明する図である。
図11図11は第三実施例における仮想開発環境装置の構成例を示す図である。
図12図12図11に示されるvHILS環境構築ツールの構成および処理を説明するための図である。
図13図13図12に示されるI/Oポート設定部の処理を示すフローチャートである。
図14図14図12に示されるI/Oポート設定部の処理を示すフローチャートである。
図15図15図8に示されるMILSモデルにおいて入力用I/Oポートが不足する場合のvHILSの構成例を示す図である。
図16図16図8に示されるMILSモデルに対応する第三実施例の変形例におけるvHILSの構成例を示す図である。
図17図17は第三実施例の変形例における仮想開発環境装置の構成例を示す図である。
図18図18図17に示されるvHILS環境構築ツールの構成および処理を説明するための図である。
図19図19図17に示されるI/Oポート設定部の処理を示すフローチャートである。
図20図20図17に示されるI/Oポート設定部の処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施形態、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【0012】
まず、MILS環境からvHILS環境を構築する作業について図1および図2を用いて説明する。
【0013】
MILS環境では、制御装置の機能およびプラントと呼ばれる制御対象の機能をモデル化した上でこれらを結合したMILSモデルが作成される。そして、CAEツール(CAE_T)を用いて、MILSモデルをシミュレーションしてMILSモデルの検証が行われる。例えば、図1に示されるように、MILSモデルは制御を実装したコントローラブロック(CNTR)と制御対象のプラントブロック(PLNT)と遅延ブロック(DLY)との三つのブロックを有する。また、これら三つのブロックはループシミュレーション(Loop Simulation)を実現するため、それぞれの入出力は相互に信号線で環状に接続されている。
【0014】
vHILS環境では、CAEツール(CAE_T)と仮想ECUシミュレーションツール(vECU_ST)とが接続され、CAEツール(CAE_T)と仮想ECUシミュレーションツール(vECU_ST)とが共同してシミュレーションを行う。そのため、MILSモデルと仮想ECUシミュレーションツール(vECU_ST)とを接続するためのブリッジ(BRDG)が作成される。そして、そのブリッジ(BRDG)をMILSモデルのコントローラブロック(CNTR)と置き換えてvHILSモデルが作成される。また、検証済みのMILSモデルのコントローラブロック(CNTR)から生成されたソフトウエアプログラム(コントローラブロックの機能を実現するプログラム)のソースコードがビルドされる。そして、ビルドされたロードモジュールが仮想ECUシミュレーションツール(vECU_ST)にダウンロードされ、仮想ECUのシミュレーションの際に利用される。
【0015】
図2に示されるように、仮想ECUシミュレーションツール(vECU_ST)により検証が行われる仮想ECU(vECU)は、ダウンロードされたロードモジュールを格納するROM(Read Only Memory)、入力用I/Oポート(I1)および出力用I/Oポート(O1)等を有する。図1に示されるブリッジ(BRDG)は出力ブリッジおよび入力ブリッジにより構成される。図2に示されるように、出力ブリッジはコントローラブロックの入力ポート(in1)と仮想ECU(vECU)への入力に用いる入力用I/Oポート(I1)とを接続するものである。そして、入力ブリッジはコントローラブロック(CNTR)の出力ポート(out1)と仮想ECU(vECU)からの出力に用いる出力用I/Oポート(O1)とを接続するものである。
【0016】
続いて、本実施形態を明確するため、比較例における仮想開発環境装置の構成について図3を用いて説明する。
【0017】
比較例における仮想開発環境装置100は、CPU(中央処理装置)110、主記憶装置120、補助記憶装置130およびそれらを接続するバス(BUS)140を有する。主記憶装置120はCAEツール(CAE_T)121、ビルドツール(BUILD_T)122および仮想ECUシミュレーションツール(vECU_ST)123を格納する。補助記憶装置130はvHILSモデルおよびソースコード一式(c1)を格納する。
【0018】
CAEツール121はMILSモデルまたはvHILSモデルを使用してシミュレーションを行うツールである。仮想ECUシミュレーションツール123は仮想ECU(vECU)をシミュレーションするツールである。
【0019】
ユーザはソースコード一式(c1)を用意して補助記憶装置130に格納する。ソースコード一式(c1)は、MILSモデルから生成された、仮想ECU(vECU)において動作させるアプリケーションプログラムのソースコード(c11)および入力用および出力用I/Oポートの初期化設定を行うドライバのソースコード(c12,c13)を含む。ビルドツール122はソースコード一式(c1)からロードモジュール(c2)を生成する。また、ユーザはvHILSモデルを用意して補助記憶装置130に格納する。
【0020】
比較例における仮想開発環境装置においては、ユーザは手動によりブリッジ(BRDG)をMILSモデルに配置する必要がある。さらに、ユーザは手動によりブリッジ(BRDG)に仮想ECU(vECU)のI/Oポートの信号線の接続を設定する必要がある。ユーザは、これらの作業を行って、vHILSモデルを作成し、補助記憶装置130に格納する。
【0021】
続いて、実施形態について以下説明する。実施形態における仮想開発環境装置は、比較例に対して新たにvHILS環境構築ツールを有する。そして、ユーザは新たにコントローラブロック(CNTR)の第一設定情報としてのブロック名情報と第二設定情報としてのI/Oポート情報を用意する。vHILS環境構築ツールはブリッジ(BRDG)の配置とブリッジ(BRDG)の接続設定を自動で行う。
【0022】
このように、実施形態は、コントローラブロック(CNTR)のブロック名情報とI/Oポート情報とに基づいてブリッジ(BRDG)を配置し、ブリッジ(BRDG)の設定を行うまでを形式的に一つにまとめ自動で行えるようにする。これにより、CAEツール(CAE_T)と仮想ECUシミュレーションツール(vECU_ST)を接続したvHILS環境が自動構築され得る。ユーザにとってはブリッジ(BRDG)の配置と設定に要する時間が削減され得る。また、MILSモデルの変更により使用する信号線の増減があった場合にも、ブリッジ(BRDG)の配置変更と再設定に要する時間が削減され得る。
【0023】
以下、実施形態の具体例について第一実施例、第二実施例および第三実施例を用いて説明する。
【実施例1】
【0024】
第一実施例における仮想開発環境装置の構成について図4を用いて説明する。
【0025】
仮想開発環境装置100は、CPU110、第一のメモリとしての主記憶装置120、第二のメモリとしての補助記憶装置130およびそれらを接続するバス140を有する。CPU110および主記憶装置120は処理実行ユニットを構成する。仮想開発環境装置100は、各種の入力装置、ディスプレイおよび通信インターフェイス等を含む構成であってもよい。各種の入力装置は、仮想開発環境装置100への操作入力を受け付ける装置である。各種の入力装置は、例えば、キーボード、ボタンおよびマウスである。ディスプレイは各種情報を表示する装置である。通信インターフェイスは各種データを外部の装置との間で通信する装置である。
【0026】
仮想開発環境装置100は、例えば、ディスプレイを備える据置型のパーソナルコンピュータである。ただし、仮想開発環境装置100は、これに限られず、後述する機能を有する装置であればよい。仮想開発環境装置100は、例えば、ラップトップ型のパーソナルコンピュータ等であってもよい。
【0027】
CPU110は補助記憶装置130にインストールされているOS(Operating System)およびアプリケーションプログラムを含む各種プログラムを読み出す。そして、CPU110は読み出したプログラムを主記憶装置120に展開しつつ実行する。
【0028】
主記憶装置120は、典型的には、SDRAM(Synchronous Dynamic Random Access Memory)などの揮発性記憶媒体である。主記憶装置120は、CPU110によって実行されるOSを含む各種プログラムのコードの他、各種プログラムの実行に必要な各種ワークデータを保持する。補助記憶装置130は、ハードディスクまたはSSD(Solid State Drive)などの不揮発性記憶媒体である。補助記憶装置130はOSを含む各種プログラムの他、各種設計情報などを保持する。なお、主記憶装置120および補助記憶装置130をメモリと総称する場合がある。
【0029】
CAEツール(CAE_T)121、ビルドツール(BUILD_T)122、仮想ECUシミュレーションツール(vECU_ST)123およびvHILS環境構築ツール(vHILS_ECT)124は主記憶装置120および補助記憶装置130に格納されるソフトウエアプログラムである。なお、図4においては、各ツールは実行時の格納状態が示されている。
【0030】
CAEツール121はMILSモデルまたはvHILSモデルを使用してシミュレーションを行うツールである。ビルドツール122はビルドを構成するタスク(解析、コンパイル、リンク、テスト実行など)を個別に定義しそれを実行するツールである。ビルドツール122はソースコード(c1)からロードモジュール(c2)を生成する。仮想ECUシミュレーションツール123は仮想ECU(vECU)をシミュレーションするツールである。vHILS環境構築ツール124はvHILSの環境を構築するツールである。vHILS環境構築ツール124はMILSモデル解析部A1を有する。
【0031】
vHILS環境構築ツール124による処理に先立って、ユーザはCAEツール121上で動作するMILSモデル(m1)を用意して補助記憶装置130に格納する。上述したように、MILSモデル(m1)は制御を実装したコントローラブロック(CNTR)および制御対象のプラントブロック(PLNT)等を有している。
【0032】
また、ユーザは第一設定情報(a1)および第二設定情報(a2)を用意して補助記憶装置130に格納する。第一設定情報(a1)は、、MILSモデル(m1)に含まれるブロックのうちコントローラブロック(CNTR)に付けられた名称であり、コントローラブロック(CNTR)のブロック名情報である。第二設定情報(a2)は、仮想ECU(vECU)において使用可能なI/Oポートのリストが記載されたI/Oポート情報である。
【0033】
さらに、ユーザはソースコード一式(c1)を用意して補助記憶装置130に格納する。ソースコード一式(c1)は、アプリコード(c11)、入力用I/Oポートのドライバ(c12)および出力用I/Oポートのドライバ(c13)を含む。アプリコード(c11)は仮想ECU(vECU)において動作させるアプリケーションプログラムのソースコードである。アプリコード(c11)はMILSモデルから生成される。入力用I/Oポートのドライバ(c12)は仮想ECU(vECU)のI/Oポートの初期化設定を行うものである。例えば、ドライバ(c12)は仮想ECU(vECU)のI/Oポートを入力用I/Oポートとして使用する設定を行う。出力用I/Oポートのドライバ(c13)は仮想ECU(vECU)のI/Oポートの初期化設定を行うものである。例えば、ドライバ(c13)は仮想ECU(vECU)のI/Oポートを出力用I/Oポートとして使用する設定を行う。ドライバ(c12)およびドライバ(c13)はユーザが作成する。ビルドツール122はソースコード一式(c1)からロードモジュール(c2)を生成する。
【0034】
vHILS環境構築ツール124の構成および処理について図5を用いて説明する。
【0035】
MILSモデル解析部A1は、モデル解析部A1-1、ブリッジ配置部A1-2、I/Oポート設定部A1-3およびブリッジ・ポート接続部A1-4を有している。
【0036】
MILSモデル解析部A1の処理について図5を用いて説明する。
【0037】
(モデル解析部A-1)
モデル解析部A1-1は、補助記憶装置130からMILSモデル(m1)および第一設定情報(a1)を読み込む。そして、モデル解析部A1-1は、第一設定情報(a1)からコントローラブロック(CNTR)のブロック名称を取得する。次に、モデル解析部A1-1は、MILSモデル(m1)を解析し、MILSモデル(m1)に含まれる全てのブロックの名称を取得する。モデル解析部A1-1は、取得した全てのブロックの名称からコントローラブロック(CNTR)のブロック名称と一致するものを検索し、コントローラブロック(CNTR)を特定する。モデル解析部A1-1は、コントローラブロック(CNTR)の入力ポートおよび出力ポートの位置を特定し、その位置を第一結果情報(b1)として主記憶装置120に出力する。第一結果情報(b1)はブリッジ(BRDG)の配置位置の情報である。
【0038】
(ブリッジ配置部A1-2)
ブリッジ配置部A1-2は、補助記憶装置130からMILSモデル(m1)および第一結果情報(b1)を読み込む。そして、ブリッジ配置部A1-2は、第一結果情報(b1)からコントローラブロック(CNTR)の出力ポート情報を取得し、ブリッジ(BRDG)の配置位置であるコントローラブロック(CNTR)の出力ポートに出力ブリッジを配置する。ブリッジ配置部A1-2は、第一結果情報(b1)コントローラブロック(CNTR)の入力ポート情報を取得し、ブリッジ(BRDG)の配置位置であるコントローラブロック(CNTR)の入力ポートに入力ブリッジを配置する。ブリッジ配置部A1-2は、コントローラブロック(CNTR)内のブリッジ(BRDG)以外のブロックを削除する。これにより、ブリッジ(BRDG)を配置したMILSモデルが生成される。ブリッジ配置部A1-2は、ブリッジ(BRDG)が配置されたMILSモデルを第二モデル(m2)として主記憶装置120に出力する。
【0039】
(I/Oポート設定部A1-3)
I/Oポート設定部A1-3は、主記憶装置120から第二モデル(m2)を読み込む。そして、I/Oポート設定部A1-3は補助記憶装置130から第二設定情報(a2)を読み込み、仮想ECU(vECU)の使用可能なI/Oポートの情報を取得する。I/Oポート設定部A1-3は、仮想ECU(vECU)の使用可能なI/Oポートにコントローラブロック(CNTR)の全ての入力ポートと出力ポートの1対1の対応付けを行う。すなわち、I/Oポート設定部A1-3は、仮想ECU(vECU)の入力用I/Oポートにコントローラブロック(CNTR)の入力ポートを対応付け、仮想ECU(vECU)の出力用I/Oポートにコントローラブロック(CNTR)の出力ポートを対応付ける。これにより、仮想ECU(vECU)のI/Oポートとコントローラブロック(CNTR)の入力ポートおよび出力ポートとの対応付け情報が生成される。I/Oポート設定部A1-3は、対応付け情報を第二結果情報(b2)として主記憶装置120に出力する。
【0040】
(ブリッジ・ポート接続部A1-4)
ブリッジ・ポート接続部A1-4は、主記憶装置120から第二モデル(m2)および第二結果情報(b2)を読み込む。そして、ブリッジ・ポート接続部A1-4は、ブリッジ(BRDG)と仮想ECUシミュレーションツール123を接続する。具体的は、ブリッジ・ポート接続部A1-4は、第二結果情報(b2)から仮想ECU(vECU)の入力用I/Oポートおよび出力用I/Oポートとコントローラブロック(CNTR)の入力ポートおよび出力ポートとの対応付け情報を得る。ブリッジ・ポート接続部A1-4は、対応付け情報に基づいて、第二モデル(m2)のブリッジ(BRDG)において入力用I/Oポートに入力ポートを対応付け、出力用I/Oポートに出力ポートを対応付ける。すなわち、ブリッジ・ポート接続部A1-4は、仮想ECU(vECU)の入力用I/Oポート情報とコントローラブロック(CNTR)の入力ポート名を取得し、入力ブリッジの入力ポートと入力用I/Oポートと接続する。ブリッジ・ポート接続部A1-4は、仮想ECU(vECU)の出力用I/Oポート情報とコントローラブロック(CNTR)の出力ポート名を取得し、出力ブリッジの出力ポートと出力用I/Oポートを接続する。これにより、ブリッジ(BRDG)と仮想ECU(vECU)のI/Oポートとが対応付けされて接続されたモデルが生成される。ブリッジ・ポート接続部A1-4は、対応付けが完了したモデルをvHILSモデル(m3)として主記憶装置120に出力する。
【0041】
第一実施例によれば、vHILSによる検証に必要となる、ブリッジ(BRDG)の配置とブリッジ(BRDG)の接続設定が自動で行われる。これにより、ユーザにとってはvHILSによる検証環境の構築時間(作業工数)が削減され得る。また、vHILS環境構築の自動化により、vHILS環境構築時のユーザによるミスが低減され得る。
【実施例2】
【0042】
次に、第二実施例について説明する。第二実施例では、第一実施例におけるvHILS環境構築ツールにI/Oポートドライバ生成部A2をさらに設けて仮想ECU(vECU)のI/Oポートのドライバを自動生成する。
【0043】
第二実施例における仮想開発環境装置の構成について図6を用いて説明する。
【0044】
第二実施例における仮想開発環境装置100の構成は第一実施例と同様である。ただし、主記憶装置120および補助記憶装置130に格納されるvHILS環境構築ツール124はMILSモデル解析部A1aおよびI/Oポートドライバ生成部A2を有する。
【0045】
第二実施例におけるvHILS環境構築ツール124の構成および処理について図7を用いて説明する。
【0046】
MILSモデル解析部A1aはモデル解析部A1-1、ブリッジ配置部A1-2、I/Oポート設定部A1-3aおよびブリッジ・ポート接続部A1-4を有している。第二実施例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第一実施例と同様の構成である。そして、I/Oポートドライバ生成部A2はドライバ生成部A2-1を有している。
【0047】
第二実施例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第一実施例と同様の処理を行う。I/Oポート設定部A1-3aの処理について図7を用いて説明する。
【0048】
(I/Oポート設定部A1-3a)
まず、第一実施例のI/Oポート設定部A1-3と同様に、I/Oポート設定部A1-3aは、主記憶装置120から第二モデル(m2)を読み込む。そして、I/Oポート設定部A1-3aは補助記憶装置130から第二設定情報(a2)を読み込む。そして、I/Oポート設定部A1-3aは、仮想ECU(vECU)のI/Oポートにコントローラブロック(CNTR)の入力ポートおよび出力ポートを対応付ける。そして、I/Oポート設定部A1-3aは、対応付けた結果を第二結果情報(b2)として主記憶装置120に出力する。
【0049】
次に、I/Oポート設定部A1-3aは、対応付けたI/Oポートの情報を第三結果情報(b3)および第四結果情報(b4)として主記憶装置120に出力する。すなわち、I/Oポート設定部A1-3は、対応付けた入力用I/Oポートの名称を第三結果情報(b3)として出力する。そして、I/Oポート設定部A1-3は、対応付けた出力用I/Oポートの名称を第四結果情報(b4)として出力する。
【0050】
(I/Oポートドライバ生成部A2)
I/Oポートドライバ生成部A2のドライバ生成部A2-1は、主記憶装置120から第三結果情報(b3)を読み込む。そして、ドライバ生成部A2-1は入力用I/Oポートの名称を取得する。そして、ドライバ生成部A2-1は、取得した入力用I/Oポートの名称に基づいて入力用にI/Oポートの初期化設定を行うドライバコードを生成する。そして、ドライバ生成部A2-1は当該ドライバコードを入力用I/Oポートのドライバ(c12)として補助記憶装置130に出力する。
【0051】
ドライバ生成部A2-1は、主記憶装置120から第四結果情報(b4)を読み込む。そして、ドライバ生成部A2-1は出力用I/Oポートの名称を取得する。そして、ドライバ生成部A2-1は、取得した出力用I/Oポートの名称に基づいて出力用I/Oポートドライバの初期化設定を行うドライバコードを生成する。そして、ドライバ生成部A2-1は当該ドライバコードを出力用I/Oポートのドライバ(c13)として補助記憶装置130に出力する。
【0052】
第二実施例によれば、仮想ECU(vECU)のI/Oポートのドライバを自動作成することにより、第一実施例のようにユーザはドライバを作成する必要がなくなる。これにより、ドライバの作成工数およびユーザによるドライバ作成時のミスが削減され得る。
【実施例3】
【0053】
第一実施例および第二実施例では、MILSモデルの入力ポートおよび出力ポートの数に対して仮想ECU(vECU)の使用可能なI/Oポートの数が足りている場合について説明した。第三実施例では仮想ECU(vECU)の使用可能なI/Oポートの数が不足する場合について説明する。
【0054】
MILSモデルの入力ポートおよび出力ポートの数に対して仮想ECU(vECU)の使用可能なI/Oポートの数が不足する場合のvHILSの構成の方法について図8および図9を用いて説明する。
【0055】
図8に示すように、コントローラブロック(CNTR)は四個のプラントブロック(PLNT1~PLNT4)を制御対象としている。コントローラブロック(CNTR)は四個の入力ポート(in1~in4)および四個の出力ポート(out1~out4)を有する。四個の出力ポート(out1~out4)はそれぞれ四個のプラントブロック(PLNT1~PLNT4)の入力ポート(i1~i4)に接続されている。例えば、仮想ECU(vECU)の出力用I/Oポート数が二個であるとき、出力用I/Oポートが不足する。
【0056】
そこで、仮想ECU(vECU)のI/Oポート(IO)が不足する場合、図9に示すように、第一の仮想ECU(vECU1)に第二の仮想ECU(vECU2)およびLIN(Local Interconnect Network)バスを追加する。そして、追加した第二の仮想ECU(vECU2)のI/Oポート(IO)も併用することで、I/Oポートの不足を解消する。
【0057】
ここで、第一の仮想ECU(vECU1)の四つの入力用I/Oポート(I1~I4)は、出力ブリッジを介してコントローラブロック(CNTR)の四つの入力ポート(in1~in4)と接続される。第一の仮想ECU(vECU1)の二つの出力用I/Oポート(O3,O4)は、入力ブリッジを介してコントローラブロック(CNTR)の二つの出力ポート(out3,out4)と接続される。第二の仮想ECU(vECU2)の二つの出力用I/Oポート(O1,O2)は、入力ブリッジを介してコントローラブロック(CNTR)の二つの出力ポート(out1,out2)と接続される。
【0058】
なお、第一の仮想ECU(vECU1)において処理された二つの信号は第一の仮想ECU(vECU1)のLINの規格に従って通信制御を行うLINブロック、LINバスおよび第二の仮想ECU(vECU2)のLINブロックを介して第二の仮想ECU(vECU2)の出力用I/Oポート(O1,O2)に出力される。第一の仮想ECU(vECU1)において処理された他の二つの信号は第一の仮想ECU(vECU1)の出力用I/Oポート(O3,O4)に出力される。
【0059】
第三実施例におけるvHILS環境について図10を用いて説明する。vHILS環境では、MILSモデルのコントローラブロック(CNTR)を第一の仮想ECU(vECU1)および第二の仮想ECU(vECU2)に置き換えてシミュレーションが行われる。そのため、コントローラブロック(CNTR)の入力ポート(in1~in4)と第一の仮想ECU(vECU1)の入力用I/Oポート(I1~I4)とを接続する出力ブリッジが作成される。そして、コントローラブロック(CNTR)の出力ポート(out1,out2)と第二の仮想ECU(vECU2)の出力用I/Oポート(O1,O2)とを接続すると共にコントローラブロック(CNTR)の出力ポート(out3,out4)と第一の仮想ECU(vECU1)の出力用I/Oポート(O3,O4)とを接続する入力ブリッジが作成される。
【0060】
そして、これらの出力ブリッジと入力ブリッジを合わせたブリッジ(BRDG)をMILSモデルのコントローラブロック(CNTR)と置き換えてvHILSモデルが作成される。また、MILSモデルのコントローラブロック(CNTR)から生成されたソフトウエアプログラムのソースコードはビルドされて第一の仮想ECU(vECU1)のROMにダウンロードされる。CAEツール(CAE_T)内のvHILSモデルと第一の仮想ECUシミュレーションツール(vECU_ST1)内の第一の仮想ECU(vECU1)と第二の仮想ECUシミュレーションツール(vECU_ST2)内の第二の仮想ECU(vECU2)とが接続される。そして、CAEツール(CAE_T)と第一の仮想ECUシミュレーションツール(vECU_ST1)と第二の仮想ECUシミュレーションツール(vECU_ST2)とが共同してシミュレーションが行われる。
【0061】
第三実施例における仮想開発環境装置の構成について図11を用いて説明する。第三実施例における仮想開発環境装置100の構成は第一実施例と同様である。ただし、主記憶装置120に格納されるvHILS環境構築ツール124はMILSモデル解析部A1bを有する。
【0062】
第三実施例におけるMILSモデル解析部の構成および処理について図12を用いて説明する。
【0063】
MILSモデル解析部A1bはモデル解析部A1-1、ブリッジ配置部A1-2、I/Oポート設定部A1-3bおよびブリッジ・ポート接続部A1-4を有している。第三実施例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第一実施例と同様の構成である。第三実施例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第一実施例と同様の処理である。
【0064】
I/Oポート設定部A1-3bの処理について図13および図14を用いて説明する。
【0065】
図13に示すように、I/Oポート設定部A1-3は、補助記憶装置130から第二設定情報(a2)を読み込む(ステップS31)。そして、I/Oポート設定部A1-3bは、主記憶装置120から第二モデル(m2)を読み込む(ステップS32)。そして、I/Oポート設定部A1-3は、仮想ECU(vECU)の入力用I/Oポート1つに対しコントローラブロック(CNTR)の入力ポートを1つ対応付け、この対応付けを全て入力ポートに対して行う(ステップS33)。
【0066】
続いて、I/Oポート設定部A1-3は、仮想ECU(vECU)の出力用I/Oポートの数(Nvop)とコントローラブロック(CNTR)の出力ポートの数(Ncop)を比較する(ステップS3b1)。
【0067】
仮想ECU(vECU)の出力用I/Oポートの数(Nvop)が出力ポートの数(Ncop)以上の場合、I/Oポート設定部A1-3は、仮想ECU(vECU)の全ての出力用I/Oポートにコントローラブロック(CNTR)の出力ポートを1つずつ対応付ける(ステップS34)。I/Oポート設定部A1-3bは、対応付けた結果を第二結果情報(b2)として出力する(ステップS35)。なお、第一実施例におけるI/Oポート設定部A1-3の処理はステップS31,S32,S33,S34,S35により行われる。
【0068】
仮想ECU(vECU)の出力用I/Oポートの数(Nvop)が出力ポートの数(Ncop)より少ない場合、図14に示すように、I/Oポート設定部A1-3は、変数(mcu)に1を設定し、変数(uaop)に使用する出力用I/Oポートの数(Ncop)を設定する(ステップS3b2)。そして、I/Oポート設定部A1-3は、仮想ECU(vECU)の全ての出力用I/Oポートにコントローラブロック(CNTR)の出力ポートを1つずつ対応付ける(ステップS3b3)。そして、I/Oポート設定部A1-3は、対応付けた出力ポートを未対応出力ポートの対象から除外する。すなわち、I/Oポート設定部A1-3は、変数(uaop)から割り当てた仮想ECU(vECU)の出力用I/Oポートの数(Naop)を差し引く(ステップS3b4)。
【0069】
続いて、I/Oポート設定部A1-3は、変数(uaop)と「0」とを比較して対応付けが行われていない出力ポートが残っているかどうかを判断する(ステップS3b5)。
【0070】
I/Oポート設定部A1-3は、対応付けが行われていない出力ポートが残っている場合(uaop>0)、仮想ECU(vECU)を1つ追加し、変数(mcu)に「1」を加える(ステップS3b6)。そして、I/Oポート設定部A1-3は、追加した仮想ECU(vECU)の全ての出力用I/Oポートにコントローラブロック(CNTR)の出力ポートを1つずつ対応付ける(ステップS3b3)。この処理を全ての出力ポートが出力I/Oポートに対応付けられるまで行う。I/Oポート設定部A1-3は、対応付けが行われていない出力ポートがない場合(uaop=0)、図13に示すステップS35に移る。
【0071】
MILSモデルの入力ポートの数に対して仮想ECU(vECU)の使用可能な入力用I/Oポートの数が不足する場合のvHILSの構成の方法について図8および図15を用いて説明する。
【0072】
図8に示すように、コントローラブロック(CNTR)の入力ポートおよび出力ポートの数が4個ずつである場合において、仮想ECU(vECU)の入力用I/Oポート数が2個であるとき、入力用I/Oポートが不足する。
【0073】
そこで、仮想ECU(vECU)の入力用I/Oポートが不足した場合、図15に示すように、第一の仮想ECU(vECU1)の他に第二の仮想ECU(vECU2)を追加する。そして、追加した第二の仮想ECU(vECU2)のI/Oポートも併用することで、I/Oポートの不足を解消する。
【0074】
ここで、第一の仮想ECU(vECU1)の二つの入力用I/Oポート(I3,I4)は、出力ブリッジを介してコントローラブロック(CNTR)の二つの入力ポート(in3,in4)と接続される。第一の仮想ECU(vECU1)の四つの出力用I/Oポート(O1~O4)は、入力ブリッジを介してコントローラブロック(CNTR)の四つの出力ポート(out1~out4)と接続される。第二の仮想ECU(vECU2)の二つの入力用I/Oポート(I1,I2)は、出力ブリッジを介してコントローラブロック(CNTR)の二つの入力ポート(in1,in2)と接続される。
【0075】
なお、第二の仮想ECU(vECU2)のI/Oポート(IO)に入力された二つの信号は第二の仮想ECU(vECU2)のLINブロック、LINバスおよび第一の仮想ECU(vECU1)のLINブロックを介して第一の仮想ECU(vECU1)で処理される。第一の仮想ECU(vECU1)のI/Oポート(IO)に入力された二つの信号は第一の仮想ECU(vECU1)において処理される。第一の仮想ECU(vECU1)において処理された四つの信号は第一の仮想ECU(vECU1)の出力用I/Oポート(O1~O4)に出力される。
【0076】
I/Oポート設定部A1-3bは、入力用I/Oポートが不足した場合も出力用I/Oポートが不足した場合と同様の処理を行い、第三結果情報(b3)として出力する。
【0077】
第三実施例によれば、仮想ECU(vECU)のI/Oポートの不足が発生する場合でも、自動でI/Oポートの不足を解消することができ、I/Oポートの不足の対応時の対応工数を削減できる。また、使用するECUの確定する前の検討において、必要になるI/Oポート数が明確になることにより、使用するECUのターゲットスペックを決めることができる。
【0078】
[第三実施例の変形例]
第三実施例では、I/Oポートの数が不足する場合、複数の仮想ECU(vECU)のI/Oポートを併用する例を説明した。制御対象(プラント)が複数ある場合、特定の複数のプラントが一つのECUにより制御されることが好ましい場合がある。
【0079】
例えば、複数の制御対象が同時に動作する必要がある場合、ECUが同時に信号を出力する必要がある。そのような組み合わせや、同等・類似の制御対象が複数ある場合、配線上で近い場所に配置される可能性が高い。また、複数の制御対象において、ある制御対象を駆動させた後に、他の制御対象を駆動する、というような、制御対象に依存関係がある(制御対象に優先度がある)場合、ECUがタイミング差を維持して信号を出力する必要がある。
【0080】
本変形例では、これらの場合、一つのECUに優先的にこれらの複数の制御対象を割り当てる。
【0081】
MILSモデルの出力ポートの数に対して仮想ECU(vECU)の使用可能な出力用I/Oポートの数が不足する場合の変形例におけるvHILSの構成の方法について図8および図16を用いて説明する。
【0082】
図8に示すように、コントローラブロック(CNTR)の入力ポートおよび出力ポートの数が4個ずつである場合において、仮想ECU(vECU)の出力用I/Oポート数が2個であるとき、出力用I/Oポートが不足する。ここで、図8において一点破線により囲まれた第二のプラントブロック(PLNT2)および第四のプラントブロック(PLNT4)は優先度を有する制御対象である。
【0083】
そこで、仮想ECU(vECU)のI/Oポートが不足した場合、図16に示すように、優先度を考慮して第一の仮想ECU(vECU1)に第二の仮想ECU(vECU2)およびLINバスを追加する。追加した第二の仮想ECU(vECU2)のI/Oポートも併用することで、I/Oポートの不足を解消することができる。
【0084】
仮想ECU(vECU)のI/Oポートとコントローラブロック(CNTR)の入力ポートおよび出力ポートの対応付けの際に、例えば、ECUの近くにプラントが配置されるものを優先的に対応付ける。例えば、図16に示すように、第二のプラントブロック(PLNT2)と第四のプラントブロック(PLNT4)とは近くに配置されるので、第二のプラントブロック(PLNT2)と第四のプラントブロック(PLNT4)とは同一の第一の仮想ECU(vECU1)により制御するようにする。第一のプラントブロック(PLNT1)と第三のプラントブロック(PLNT3)には配置の制約はないので、第二の仮想ECU(vECU2)により制御するようにする。
【0085】
ここで、第一の仮想ECU(vECU1)の四つの入力用I/Oポート(I1~I4)は、出力ブリッジを介してコントローラブロック(CNTR)の四つの入力ポート(in1~in4)と接続される。第一の仮想ECU(vECU1)の二つの出力用I/Oポート(O2,O4)は、入力ブリッジを介してコントローラブロック(CNTR)の二つの出力ポート(out2,out4)と接続される。第二の仮想ECU(vECU2)の二つの出力用I/Oポート(O1,O3)は、入力ブリッジを介してコントローラブロック(CNTR)の一つの出力ポート(out1,out3)と接続される。
【0086】
なお、第一の仮想ECU(vECU1)において処理された二つの信号は第一の仮想ECU(vECU1)のLINブロック、LINバスおよび第二の仮想ECU(vECU2)のLINブロックを介して第二の仮想ECU(vECU2)の出力用I/Oポート(O1,O3)に出力される。第一の仮想ECU(vECU1)において処理された他の二つの信号は第一の仮想ECU(vECU1)の出力用I/Oポート(O2,O4)に出力される。
【0087】
本変形例における仮想開発環境装置の構成および処理について図17を用いて説明する。本変形例における仮想開発環境装置100の構成は第三実施例と同様である。ただし、主記憶装置120に格納されるvHILS環境構築ツール124はMILSモデル解析部A1cを有する。また、MILSモデル(m1)、第一設定情報(a1)および第二設定情報(a2)に加えて第三設定情報(a3)が補助記憶装置130に格納される。第三設定情報(a3)は一つの仮想ECU(vECU)のI/Oポートに優先的に割り付けるプラントブロック(PLNT)、すなわち、コントローラブロック(CNTR)の出力ポートの情報であり、優先ポート情報ともいう。
【0088】
本変形例におけるMILSモデル解析部の構成について図18を用いて説明する。MILSモデル解析部A1cはモデル解析部A1-1、ブリッジ配置部A1-2、I/Oポート設定部A1-3cおよびブリッジ・ポート接続部A1-4を有している。第三実施例の変形例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第三実施例と同様の構成である。
【0089】
本変形例におけるMILSモデル解析部A1cの処理について図18を用いて説明する。本変形例におけるモデル解析部A1-1、ブリッジ配置部A1-2およびブリッジ・ポート接続部A1-4は第一実施例と同様の処理である。
【0090】
I/Oポート設定部A1-3cの処理について図19および図20を用いて説明する。
【0091】
図19に示すように、本変形例のステップS31,S32,S33,S34,S35は第三実施例の処理と同様である。また、図20に示すように、本変形例のステップS3b2,S3b3,S3b4,S3b5,S3b6は第三実施例の処理と同様である。以下、第三実施例とは異なる処理について説明する。
【0092】
図19に示すように、I/Oポート設定部A1-3は、後述するステップ3c3よりも前に第三設定情報(a3)を読み込む。
【0093】
図20に示すように、ステップS3b2の後、I/Oポート設定部A1-3は、変数(mcu)と「1」とを比較する(ステップS3c2)。I/Oポート設定部A1-3は、最初の仮想ECU(vECU)のI/Oポートへの割り付けの場合、第三設定情報(a3)に基づいて仮想ECU(vECU)の全出力用I/Oポートに未対応出力ポートを割り付ける(ステップS3c3)。I/Oポート設定部A1-3は、二つ目以降の仮想ECU(vECU)のI/Oポートへの割り付けの場合、仮想ECU(vECU)の全出力用I/Oポートに未対応出力ポートを対応付ける(ステップS3c3)。
【0094】
例えば、複数のプラントが近接している場合、これらを同じECUでコントロールすることで、ECU実装時の配線を短くできる。これにより、実行速度の向上等の性能を改善およびコストの低減を考慮した、I/Oポートの不足が解消できる。
【0095】
上述の実施例において説明したような処理を実行させるプログラムは、コンピュータに付属するHDD等の磁気ディスク、CD等の光ディスク、MO等の光磁気ディスクおよびUSBメモリ等の半導体メモリなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【0096】
以上、本開示者らによってなされた開示を実施形態、実施例および変形例に基づき具体的に説明したが、本開示は上記実施形態、実施例および変形例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0097】
100・・・仮想開発環境装置
110・・・CPU(中央処理装置)
120・・・主記憶装置(第一のメモリ)
130・・・補助記憶装置(第二のメモリ)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20