JP2019086996A - シミュレーション装置及びプログラム - Google Patents
シミュレーション装置及びプログラム Download PDFInfo
- Publication number
- JP2019086996A JP2019086996A JP2017214395A JP2017214395A JP2019086996A JP 2019086996 A JP2019086996 A JP 2019086996A JP 2017214395 A JP2017214395 A JP 2017214395A JP 2017214395 A JP2017214395 A JP 2017214395A JP 2019086996 A JP2019086996 A JP 2019086996A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- failure
- unit
- fault
- model
- 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.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 136
- 238000002347 injection Methods 0.000 claims abstract description 92
- 239000007924 injection Substances 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 12
- 239000000243 solution Substances 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 41
- 238000000034 method Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 32
- 238000012795 verification Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0243—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】異なるシミュレーション環境に属する各モデルに対する故障の発生を統合的に制御する。【解決手段】シミュレーション装置1は、第1のデバイスの仮想デバイスモデル4_1についてのシミュレーションを行うシミュレーション部2_1と、前記第1のデバイスを用いた処理を行う第2のデバイスの仮想デバイスモデル4_2についてのシミュレーションを行うシミュレーション部2_2と、前記第1のデバイスについての故障の内容及び発生条件を示すシナリオ並びに前記第2のデバイスについての故障の内容及び発生条件を示すシナリオを含むシナリオリスト5に基づいて、仮想デバイスモデル4_1及び仮想デバイスモデル4_2のそれぞれに故障を注入する故障注入制御部3とを有する。【選択図】図1
Description
本発明はシミュレーション装置及びプログラムに関し、例えば仮想デバイスモデルに故障注入を行うシミュレーション装置及びプログラムに関する。
自動車、航空、医療など、安全に対する要求が非常に高い領域などにおいて、モデルベース開発や仮想開発の環境を用いることによって、実際のデバイスが故障した状況を模擬した上での製品開発が求められている。
特許文献1は、マイクロコンピュータに接続する回路のモデルに対し、故障モード定義ファイルに記載された故障状態の情報を挿入し、当該挿入した故障状態に対応する故障注入テストを行う故障注入手段を備えるシミュレーション装置について開示している。
近年、階層の異なる複数のシミュレーション環境を統合して、全体の検証を行いたいというニーズが増えている。しかしながら、特許文献1に記載のシミュレーション装置では、マイクロコンピュータと接続する回路のモデルに故障を発生させることはできるが、異なるシミュレーション環境に属する他のモデルへの故障の発生を制御できない。すなわち、特許文献1に記載のシミュレーション装置では、例えば、テスト実行時に、マイクロコンピュータモデル及びプラントモデルの双方に故障を注入することができない。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、シミュレーション装置は、第1のデバイスについての故障の内容及び発生条件を示すシナリオ並びに第2のデバイスについての故障の内容及び発生条件を示すシナリオを含むシナリオリストに基づいて、第1のデバイスの第1の仮想デバイスモデル及び第2のデバイスの第2の仮想デバイスモデルのそれぞれに故障を注入する故障注入制御部を有する。
前記一実施の形態によれば、異なるシミュレーション環境に属する各モデルに対する故障の発生を統合的に制御することができる。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<実施の形態の概要>
まず、実施の形態の詳細な説明に先立って、実施の形態の概要について説明する。図1は、実施の形態の概要にかかるシミュレーション装置1の構成の一例を示すブロック図である。図1に示すように、シミュレーション装置1は、シミュレーション部2_1と、シミュレーション部2_2と、故障注入制御部3とを有する。
まず、実施の形態の詳細な説明に先立って、実施の形態の概要について説明する。図1は、実施の形態の概要にかかるシミュレーション装置1の構成の一例を示すブロック図である。図1に示すように、シミュレーション装置1は、シミュレーション部2_1と、シミュレーション部2_2と、故障注入制御部3とを有する。
シミュレーション部2_1(第1のシミュレーション部)は、第1のデバイスの仮想デバイスモデル4_1(第1の仮想デバイスモデル)についてのシミュレーションを行う。すなわち、シミュレーション部2_1は、実機である第1のデバイスをモデル化した仮想デバイスモデル4_1を使用したシミュレーションを行う。
シミュレーション部2_2(第2のシミュレーション部)は、第2のデバイスの仮想デバイスモデル4_2(第2の仮想デバイスモデル)についてのシミュレーションを行う。すなわち、シミュレーション部2_2は、実機である第2のデバイスをモデル化した仮想デバイスモデル4_2を使用したシミュレーションを行う。なお、この第2のデバイスは、例えば、上記の第1のデバイスを用いた処理を行うデバイスである。例えば、第1のデバイスは、マイクロコンピュータであり、第2のデバイスはこのマイクロコンピュータにより制御されるプラントであってもよい。
ここで、シミュレーション部2_1によるシミュレーション環境とシミュレーション部2_2によるシミュレーション環境は、互いに異なっている。例えば、シミュレーション部2_2によるシミュレーション環境は、シミュレーション部2_1に対して上位のシミュレーション環境であり、シミュレーション部2_1によるシミュレーション環境は、シミュレーション部2_2に対して下位のシミュレーション環境である。具体的には、例えば、シミュレーション部2_1は、SPILS(Simulated Processor In the Loop
)環境であり、シミュレーション部2_2は、MILS(Model In the Loop Simulation)環境である。
)環境であり、シミュレーション部2_2は、MILS(Model In the Loop Simulation)環境である。
故障注入制御部3は、第1のデバイスについての故障の内容及び発生条件を示すシナリオ並びに第2のデバイスについての故障の内容及び発生条件を示すシナリオを含むシナリオリスト5に基づいて、仮想デバイスモデル4_1及び仮想デバイスモデル4_2のそれぞれに故障を注入する。
上述の通り、シナリオリスト5には、属するシミュレーション環境が互いに異なる仮想デバイスモデル4_1、4_2についての故障の内容及び発生条件が記載されている。そして、故障注入制御部3は、このシナリオリスト5に従って、仮想デバイスモデル4_1及び仮想デバイスモデル4_2のそれぞれに故障を注入する。このため、シミュレーション装置1によれば、異なるシミュレーション環境に属する各仮想デバイスモデルに対する故障の発生を統合的に制御することができる。
<実施の形態1>
次に、実施の形態の詳細について説明する。図2は、実施の形態1にかかるシミュレーション装置10の機能構成の一例を示すブロック図である。シミュレーション装置10は、SPILS環境部100と、MILS環境部200と、テスト制御部300とを有する。なお、本実施の形態では、自動車のモデルベース開発環境(仮想開発環境)を例に説明するが、開発対象が自動車以外であってもよい。すなわち、本実施の形態では、仮想デバイスモデルとして、自動車に用いられるデバイスのモデルを例として説明するが、自動車以外の開発対象に用いられるデバイスのモデルであってもよい。
次に、実施の形態の詳細について説明する。図2は、実施の形態1にかかるシミュレーション装置10の機能構成の一例を示すブロック図である。シミュレーション装置10は、SPILS環境部100と、MILS環境部200と、テスト制御部300とを有する。なお、本実施の形態では、自動車のモデルベース開発環境(仮想開発環境)を例に説明するが、開発対象が自動車以外であってもよい。すなわち、本実施の形態では、仮想デバイスモデルとして、自動車に用いられるデバイスのモデルを例として説明するが、自動車以外の開発対象に用いられるデバイスのモデルであってもよい。
MILS環境部200は、MILS環境を提供するソフトウェアであり、実機のデバイスについての仮想デバイスモデルを用いたシミュレーションを行う。本実施の形態では、上述の通り、自動車の開発を例に説明しているため、MILS環境部200は、自動車モデル210及び各構成モジュールのモデル(例えば、車体モジュールモデル220_1、エンジン(モータ)モジュールモデル220_2、ミッションモジュールモデル220_3、並びに、レーダモジュールモデル220_4A及びカメラモジュールモデル220_4Bを含む自動運転モジュールモデル220_4)を用いて、開発対象の自動車及びモジュールのシミュレーションを行う。なお、MILS環境部200は、図1のシミュレーション部2_2に対応している。以下、車体モジュールモデル220_1、エンジン(モータ)モジュールモデル220_2、ミッションモジュールモデル220_3、及び自動運転モジュールモデル220_4といった構成モジュールのモデルを、モジュールモデル220と称す。
SPILS環境部100は、SPILS環境を提供するソフトウェアであり、実機のデバイスについての仮想デバイスモデルを用いたシミュレーションを行う。SPILS環境部100に属する仮想デバイスモデルは、MILS環境部200に属する仮想デバイスモデルに対応する実機の制御に使われるプロセッサの仮想デバイスモデルである。言い換えると、MILS環境部200でモデル化対象となるデバイスの少なくとも一つは、SPILS環境部100でモデル化対象となるプロセッサを用いた処理を行う。例えば、SPILS環境部100は、図2に示すように、自動車の構成モジュールの制御のために用いられるECU(Electronic Control Unit)の仮想デバイスモデルであるECUモデル110_1、110_2、110_3、110_4を用いて、ECUの動作のシミュレーションを行う。なお、ECUモデル110_1、110_2、110_3、110_4は、マイクロコンピュータモデル111_1、111_2、111_3、111_4を含む。マイクロコンピュータモデル111_1、111_2、111_3、111_4は、ECUに搭載されるマイクロコンピュータをモデル化したものである。なお、SPILS環境部100は、図1のシミュレーション部2_1に対応している。以下、ECUモデル110_1、110_2、110_3、110_4を特に区別せずに言及する場合、ECUモデル110と称す。同様に、マイクロコンピュータモデル111_1、111_2、111_3、111_4を特に区別せずに言及する場合、マイクロコンピュータモデル111と称す。
MILS環境部200は、例えば、時分秒を時間軸としてシミュレーションを実行する。例えば、MILS環境部200は、ミリ秒単位で、時刻を管理する。また、SPILS環境部100は、マイクロコンピュータを動作させるためのクロックのクロック数を時間軸としてシミュレーションを実行する。
テスト制御部300は、仮想デバイスモデルを用いたシミュレーションによるテストの実行を制御するソフトウェアである。テスト制御部300は、全体検証制御部310と故障注入制御スーパーバイザー320とを有する。
全体検証制御部310(テスト制御部)は、予め定められたテストシナリオに沿って、仮想デバイスモデルを動作させることによりテストを実行する。具体的には、全体検証制御部310は、テストシナリオで定義された動作条件が満たされると、テストシナリオで定義された動作内容を実行するよう自動車モデル210を制御する。自動車モデル210は、全体検証制御部310の制御のもと、モジュールモデル220を用いた処理を実行する。また、モジュールモデル220は、例えば、ECUモデル110及びマイクロコンピュータモデル111を用いた処理を実行する。
また、全体検証制御部310は、故障注入制御スーパーバイザー320を制御する。具体的には、全体検証制御部310は、故障注入制御スーパーバイザー320による故障注入を行うか否かを制御する。全体検証制御部310が、故障を注入するよう故障注入制御スーパーバイザー320を制御した場合、デバイスに故障が発生した際の動作を模擬したシミュレーションが実行される。すなわち、この場合、異常系の検証を行うことが可能となる。また、全体検証制御部310が、故障を注入しないよう故障注入制御スーパーバイザー320を制御した場合、正常なデバイスの動作を模擬したシミュレーションが実行される。すなわち、この場合、正常系の検証を行うことが可能となる。
故障注入制御スーパーバイザー320は、故障シナリオリスト321に基づいて、MILS環境部200のシミュレーションで用いられる仮想デバイスモデル及びSPILS環境部100のシミュレーションで用いられる仮想デバイスモデルのそれぞれに故障を注入する。ここで、故障シナリオリスト321は、MILS環境部200のシミュレーションで用いられる仮想デバイスモデルでモデル化されたデバイスについての故障内容及び故障発生条件を示すシナリオ並びにSPILS環境部100のシミュレーションで用いられる仮想デバイスモデルでモデル化されたデバイスについての故障内容及び故障発生条件を示すシナリオを含む。なお、故障注入制御スーパーバイザー320による故障注入の詳細については後述する。
ここで、シミュレーション装置10のハードウェア構成について説明する。図3は、実施の形態1にかかるシミュレーション装置10のハードウェア構成の一例を示すブロック図である。シミュレーション装置10は、演算装置(プロセッサ)としてのCPU(Central Processing Unit)11と、プログラムや各種データを記憶するメモリ12と、キーボードなどの入力装置13と、フラットパネルディスプレイなどの表示装置14と、これらを互いに接続するバス15とを有している。
メモリ12は、例えばRAM(Random Access Memory)又はROM(Read Only Memory)により構成されており、MILS環境部200、SPILS環境部100、及びテスト制御部300の処理を記述したプログラム、並びに、各仮想デバイスモデルなどのソフトウェアを記憶している。すなわち、シミュレーション装置10において、CPU11がメモリ12に記憶されたプログラム(ソフトウェア)を実行することで、MILS環境部200、SPILS環境部100、及びテスト制御部300の上述の処理が行われる。
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
入力装置13は、例えば、後述するテストシナリオリスト及び故障シナリオリスト321の編集を行う際などに用いられる。このように、テスト制御部300は、入力装置13を介してユーザから入力された情報に従って、テストシナリオリスト及び故障シナリオリスト321の内容を設定してもよい。表示装置14は、例えば、テスト結果を表示する際などに用いられる。このように、テスト制御部300は、テスト結果を表示装置14に表示してもよい。また、SPILS環境部100、MILS環境部200、又はテスト制御部300は、GUI(Graphical User Interface)又はCUI(Character User Interface)などのユーザインタフェースを表示装置14に表示してもよい。
次に、仮想デバイスモデルに対する故障注入の詳細について説明する。図4は、実施の形態1にかかるシミュレーション装置10における故障注入について示す模式図である。また、図5は、全体検証制御部310が用いるテストシナリオリストの一例を示す表であり、図6は、故障注入制御スーパーバイザー320が用いる故障シナリオリスト321の一例を示す表である。なお、テストシナリオリスト及び故障注入シナリオリストは、例えば、メモリ12に予め記憶されている。
MILS環境部200は、自動車モデル210によるシミュレーションにおいて、プラント250_1〜250_mに対する制御260_1〜260_nを実行する。制御260_1〜260_nは、モジュールモデル220を用いてシミュレーションされる。図4では、一例として、制御260_1における処理に着目した図を示している。例えば、制御260_1は、エンジン(モータ)モジュールモデル220_2による処理(図4のプロセスPR1)とミッションモジュールモデル220_3による処理(図4のプロセスPR2)により構成されている。なお、図4に示した例では、プロセスPR1、PR2が入力IN1、IN2に対して所定の処理を実行し、その出力OUT1、OUT2がフィードバックされる処理を図示しているが、これに限らず、任意の処理のシミュレーションが実行可能であることは言うまでもない。また、図4に示した例では、破線で示されるように、プロセスPR1は、ECUモデル110_1によりモデル化されているECUを使う処理をシミュレーションするプロセスである。同様に、図4に示した例では、プロセスPR2は、ECUモデル110_2によりモデル化されているECU及びECUモデル110_3によりモデル化されているECUを使う処理をシミュレーションするプロセスである。
MILS環境部200は、仮想デバイスモデルに故障を注入するための故障注入機能FI1、FI2を有している。同様に、SPILS環境部100は、仮想デバイスモデルに故障を注入するための故障注入機能FI3、FI4を有している。故障注入機能FI1、FI2、FI3、FI4は、例えば、故障時の動作を仮想デバイスモデルに反映させるスクリプト(プログラム)である。図4に示した例では、故障注入機能FI1は、プロセスPR1(すなわち、プロセスPR1を実行するモジュールモデル220)に対して故障を注入する機能であり、故障注入機能FI2は、プロセスPR2(すなわち、プロセスPR2を実行するモジュールモデル220)に対して故障を注入する機能である。また、故障注入機能FI3は、マイクロコンピュータモデル111_1に対して故障を注入する機能であり、故障注入機能FI4は、ECUモデル110_3に対して故障を注入する機能である。
全体検証制御部310は、例えば、図5に示すテストシナリオリストに従って、テストを実行する。テストシナリオリストには、例えば、「要求識別子」、「実行対象の制御」、「時刻」、「事象」などが記載されている。テストシナリオリストにおいて、「要求識別子」は、各テストシナリオを識別する識別子である。「実行対象の制御」は、実行される制御を特定する情報である。「時刻」は、「事象」の動作条件を示す情報の一例であり、「事象」の発生時刻を示す。「事象」は、動作内容を示す情報であり、MILS環境部200が管理する時刻がテストシナリオリストの「時刻」に達した際に発生させる事象を示している。
全体検証制御部310は、MILS環境部200の管理している時刻(テストシミュレーション中の時刻)を監視し、当該時刻がテストシナリオリストに記載された時刻に達すると、テストシナリオにおいて定義された事象を実行するよう自動車モデル210を制御する。例えば、図5に示したテストシナリオリストによれば、全体検証制御部310は、MILS環境部200が管理するシミュレーション実行中の時刻を監視し、当該時刻が時刻t1になると、制御260_1を起動する。これにより、プロセスPR1、PR2の実行がMILS環境において開始され、必要に応じて、SPILS環境におけるECUモデル110_1〜110_3の実行が行われる。
また、例えばユーザインタフェースを介して、ユーザから故障発生を伴うテストの実行が指示された場合(すなわち、異常系の検証の実行が指示された場合)、全体検証制御部310は、故障注入制御スーパーバイザー320に故障発生を制御するよう指示する。
故障注入制御スーパーバイザー320は、例えば、図6に示す故障シナリオリストに従って故障注入を実行する。テストシナリオリストには、例えば、「要求識別子」、「故障の注入対象」、「時刻」、「事象」などが記載されている。故障シナリオリストにおいて、「要求識別子」は、各故障シナリオを識別する識別子である。図6に示した例では、この識別子として、故障注入のために用いられる故障注入機能(故障注入機能FI1、FI2、FI3、FI4)を特定する情報が記載されている。「故障の注入対象」は、故障の注入対象を特定する情報である。「時刻」は、故障の発生条件を示す情報であり、「事象」で示される故障の発生時刻を示す。「事象」は、故障内容を示す情報であり、MILS環境部200が管理する時刻が故障シナリオリストの「時刻」に達した際に発生させる事象を示している。
故障注入制御スーパーバイザー320は、例えば、図6に示す故障シナリオリストに従って故障注入を実行する。テストシナリオリストには、例えば、「要求識別子」、「故障の注入対象」、「時刻」、「事象」などが記載されている。故障シナリオリストにおいて、「要求識別子」は、各故障シナリオを識別する識別子である。図6に示した例では、この識別子として、故障注入のために用いられる故障注入機能(故障注入機能FI1、FI2、FI3、FI4)を特定する情報が記載されている。「故障の注入対象」は、故障の注入対象を特定する情報である。「時刻」は、故障の発生条件を示す情報であり、「事象」で示される故障の発生時刻を示す。「事象」は、故障内容を示す情報であり、MILS環境部200が管理する時刻が故障シナリオリストの「時刻」に達した際に発生させる事象を示している。
故障注入制御スーパーバイザー320は、MILS環境部200の管理している時刻を監視し、当該時刻が故障シナリオリストに記載された時刻に達すると、故障シナリオにおいて定義された事象を実行する故障注入機能に故障注入の指示をする。例えば、図6に示した故障シナリオリストによれば、故障注入制御スーパーバイザー320は、MILS環境部200が管理するシミュレーション実行中の時刻を監視し、当該時刻が時刻t4になると、回路のショートをプロセスPR1(プロセスPR1を実行する仮想デバイスモデル)において発生させるよう故障注入機能FI1に指示する。また、MILS環境部200の時刻が時刻t5になると、メモリの記憶値の固着をプロセスPR2(プロセスPR2を実行する仮想デバイスモデル)において発生させるよう故障注入機能FI2に指示する。また、MILS環境部200の時刻が時刻t6になると、例外処理をマイクロコンピュータモデル111_1において発生させるよう故障注入機能FI3に指示する。また、MILS環境部200の時刻が時刻t7になると、メモリの記憶値のエラーをマイクロコンピュータモデル111_1において発生させるよう故障注入機能FI3に指示する。また、MILS環境部200の時刻が時刻t8になると、回路の断線をECUモデル110_3において発生させるよう故障注入機能FI4に指示する。
以上、実施の形態1について説明した。実施の形態1にかかるシミュレーション装置10では、故障注入制御スーパーバイザー320が、故障シナリオリストに定義された情報に従って、MILS環境の仮想デバイスモデル及びSPILS環境の仮想デバイスモデルのそれぞれに故障を注入する。このため、異なるシミュレーション環境に属する各モデルに対する故障の発生を統合的に制御することができる。また、特に、本実施の形態では、故障シナリオリストは、故障発生条件として、MILS環境部200が管理している時刻における故障の発生タイミング(図6の「時刻」)を含んでおり、故障注入制御スーパーバイザー320は、MILS環境部200が管理している時刻が、この発生タイミングに到達すると、この発生タイミングに関連づけられている故障内容の故障発生をSPILS環境部100又はMILS環境部200に指示する。このため、MILS環境及びSPILS環境による同期したシミュレーションにおいて、故障発生時のデバイスの動作を模擬することが可能となる。したがって、上述のように例えば車全体を異なる複数のシミュレーション環境を利用してモデル化している場合であっても、各仮想デバイスモデルを共通のシミュレーションモデルとして扱うことができ、全体の構成をまとめた設計及び検証を容易に行うことが可能になる。また、例えば、機能安全プロセスに従った、安全性を確保するための検証も容易に行うことができる。
また、故障シナリオリスト321は、マイクロコンピュータの内部の回路についての故障内容及び故障発生条件を示すシナリオを含んでもよい。この場合、本実施の形態にかかるシミュレーション装置10によれば、シミュレーションの際にマイクロコンピュータの内部の回路についての故障を模擬することができる。
<実施の形態2>
次に、実施の形態2について説明する。実施の形態1では、故障注入制御スーパーバイザー320は、故障発生条件として、時刻を用いた。しかしながら、故障発生条件は、時刻以外であってもよい。実施の形態2は、所定のイベント(事象)を故障発生条件として用いる点で、実施の形態1と異なる。
次に、実施の形態2について説明する。実施の形態1では、故障注入制御スーパーバイザー320は、故障発生条件として、時刻を用いた。しかしながら、故障発生条件は、時刻以外であってもよい。実施の形態2は、所定のイベント(事象)を故障発生条件として用いる点で、実施の形態1と異なる。
図7は、実施の形態2において故障注入制御スーパーバイザー320が用いる故障シナリオリスト321の一例を示す表である。図7に示すように、本実施の形態では、故障シナリオリストは、故障発生条件として、トリガーとなるイベントを定義している。すなわち、実施の形態1では、故障注入制御スーパーバイザー320は、タイムドリブンな故障の発生を制御したのに対し、実施の形態2ではイベントドリブンな故障の発生を制御する。
なお、トリガーとなるイベントとして、実施の形態1と同様に、時刻が定義されてもよい。また、トリガーとなるイベントは、GUIなどのユーザインタフェースからの指示、すなわちユーザからの指示の発生であってもよい。
故障注入制御スーパーバイザー320は、例えば、MILS環境部200及びSPILS環境部100における仮想デバイスモデルの処理状態、MILS環境部200が管理するシミュレーション実行中の時刻、並びにユーザインタフェースを監視し、故障シナリオリストにおいて定義されたイベントが発生したか否かを確認する。そして、故障シナリオリストにおいて定義されたイベントが発生した場合、故障シナリオリストにおいて当該イベントに関連づけられている事象を発生させるようSPILS環境部100又はMILS環境部200に指示する。
例えば、図7に示した故障シナリオリストによれば、故障注入制御スーパーバイザー320は、所定の割り込み処理が発生すると、回路のショートをプロセスPR1(具体的には、プロセスPR1を実行する仮想デバイスモデル)において発生させるよう故障注入機能FI1に指示する。また、メモリからの所定のリード処理が発生すると、メモリの記憶値の固着をプロセスPR2(プロセスPR2を実行する仮想デバイスモデル)において発生させるよう故障注入機能FI2に指示する。また、メモリへの所定のライト処理が発生すると、例外処理をマイクロコンピュータモデル111_1において発生させるよう故障注入機能FI3に指示する。また、MILS環境部200の時刻が時刻t9になると、メモリの記憶値のエラーをマイクロコンピュータモデル111_1において発生させるよう故障注入機能FI3に指示する。また、GUIを介して指示が入力されると、回路の断線をECUモデル110_3において発生させるよう故障注入機能FI4に指示する。
上述したように、実施の形態2では、故障シナリオリストは、故障の発生条件として、SPILS環境部100又はMILS環境部200によるシミュレーションにおいて発生する所定のイベント(事象)を含む。そして、故障注入制御スーパーバイザー320は、この所定のイベントが発生すると、このイベントに関連づけられている故障内容の故障の発生をSPILS環境部100又はMILS環境部200に指示する。このため、MILS環境及びSPILS環境による同期したシミュレーションにおいて、様々な態様で、故障の発生を模擬することが可能となる。
なお、MILS環境部200の仮想デバイスモデルにおける故障発生条件が、当該仮想デバイスモデルにおけるイベントであってもよいし、他の仮想デバイスモデル(MILS環境部200の他の仮想デバイスモデル又はSPILS環境部100の仮想デバイスモデル)におけるイベントであってもよい。同様に、SPILS環境部100の仮想デバイスモデルにおける故障発生条件が、当該仮想デバイスモデルにおけるイベントであってもよいし、他の仮想デバイスモデル(SPILS環境部100の他の仮想デバイスモデル又はMILS環境部200の仮想デバイスモデル)におけるイベントであってもよい。
このため、故障注入制御スーパーバイザー320は、例えば、SPILS環境部100によるシミュレーションにおいて所定のイベントが発生すると、このイベントに関連づけられている故障内容の故障の発生をMILS環境部200に指示する。また、同様に、例えば、故障注入制御スーパーバイザー320は、MILS環境部200によるシミュレーションにおいて所定のイベントが発生すると、このイベントに関連づけられている故障内容の故障の発生をSPILS環境部100に指示する。このように、本実施の形態では、異なるシミュレーション環境で発生したイベントをトリガーとして、仮想デバイスモデルへの故障注入を行うことができる。
また、上述の通り、故障シナリオリストに定義される故障発生条件は、ユーザインタフェースからの指示であってもよい。すなわち、故障注入制御スーパーバイザー320は、ユーザインタフェースからの指示に従って所定の故障内容の故障の発生をSPILS環境部100又はMILS環境部200に指示してもよい。このような構成とすることにより、ユーザはシミュレーション中に任意のタイミングで故障を発生させることができる。
<実施の形態3>
実施の形態1及び実施の形態2では、テスト制御部300が、MILS環境部200及びSPILS環境部100とは別のソフトウェアとして構成される例を示した。しかしながら、テスト制御部300は、シミュレーション環境に組み込まれてもよい。本実施の形態では、テスト制御部300がMILS環境部200に含まれている。すなわち、上述の全体検証制御部310及び故障注入制御スーパーバイザー320が、MILS環境部200の機能として含まれている。
実施の形態1及び実施の形態2では、テスト制御部300が、MILS環境部200及びSPILS環境部100とは別のソフトウェアとして構成される例を示した。しかしながら、テスト制御部300は、シミュレーション環境に組み込まれてもよい。本実施の形態では、テスト制御部300がMILS環境部200に含まれている。すなわち、上述の全体検証制御部310及び故障注入制御スーパーバイザー320が、MILS環境部200の機能として含まれている。
図8は、実施の形態3にかかるシミュレーション装置10における故障注入について示す模式図である。上述の通り、実施の形態3にかかるシミュレーション装置10では、テスト制御部300は、MILS環境におけるブロックとして存在している。また、これに伴い、テスト制御部300は、MILS環境における他のブロックである故障注入機能FI5、FI6を介してSPILS環境部100における仮想デバイスモデルに対する故障の注入を制御する。なお、MILS環境部200における仮想デバイスモデルへの故障注入は上述の実施の形態と同様、故障注入機能FI1、FI2を用いて行われる。
故障注入機能FI5、FI6は、SPILS環境部100の仮想デバイスモデルに対する故障の注入を仲介する機能を有するスクリプト(プログラム)である。すなわち、故障注入機能FI5、FI6は、故障注入のためのインタフェースである。故障注入機能FI5、FI6は、故障注入制御スーパーバイザー320から故障注入の指示を受けると、SPILS環境部100の故障注入機能FI3、FI4に対し、故障の注入を指示する。
本実施の形態によれば、故障注入制御スーパーバイザー320による故障の注入を、シミュレーションソフトウェアの一つの機能として実行させることができる。なお、本実施の形態では、MILS環境部200が全体検証制御部310及び故障注入制御スーパーバイザー320の両方を含む例について示したが、全体検証制御部310又は故障注入制御スーパーバイザー320のいずれか一方のみがMILS環境部200に含まれてもよいし、SPILS環境部100がこれらのいずれか又は両方を含んでもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 シミュレーション装置
2_1、2_2 シミュレーション部
3 故障注入制御部
4_1、4_2 仮想デバイスモデル
5 シナリオリスト
10 シミュレーション装置
100 SPILS環境部
110 ECUモデル
111 マイクロコンピュータモデル
200 MILS環境部
210 自動車モデル
220 モジュールモデル
300 テスト制御部
310 全体検証制御部
320 故障注入制御スーパーバイザー
321 故障シナリオリスト
2_1、2_2 シミュレーション部
3 故障注入制御部
4_1、4_2 仮想デバイスモデル
5 シナリオリスト
10 シミュレーション装置
100 SPILS環境部
110 ECUモデル
111 マイクロコンピュータモデル
200 MILS環境部
210 自動車モデル
220 モジュールモデル
300 テスト制御部
310 全体検証制御部
320 故障注入制御スーパーバイザー
321 故障シナリオリスト
Claims (10)
- 第1のデバイスの第1の仮想デバイスモデルについてのシミュレーションを行う第1のシミュレーション部と、
前記第1のデバイスを用いた処理を行う第2のデバイスの第2の仮想デバイスモデルについてのシミュレーションを行う第2のシミュレーション部と、
前記第1のデバイスについての故障の内容及び発生条件を示すシナリオ並びに前記第2のデバイスについての故障の内容及び発生条件を示すシナリオを含むシナリオリストに基づいて、前記第1の仮想デバイスモデル及び前記第2の仮想デバイスモデルのそれぞれに故障を注入する故障注入制御部と
を有するシミュレーション装置。 - 前記シナリオリストは、故障の発生条件として前記第2のシミュレーション部が管理している時刻における故障の発生タイミングを含み、
前記故障注入制御部は、前記第2のシミュレーション部が管理している時刻が、前記発生タイミングに到達すると、該発生タイミングに関連づけられている故障内容の故障の発生を前記第1のシミュレーション部又は前記第2のシミュレーション部に指示する
請求項1に記載のシミュレーション装置。 - 前記シナリオリストは、故障の発生条件として、前記第1のシミュレーション部又は前記第2のシミュレーション部によるシミュレーションにおいて発生する所定の事象を含み、
前記故障注入制御部は、前記所定の事象が発生すると、該事象に関連づけられている故障内容の故障の発生を前記第1のシミュレーション部又は前記第2のシミュレーション部に指示する
請求項1に記載のシミュレーション装置。 - 前記故障注入制御部は、前記第1のシミュレーション部によるシミュレーションにおいて前記所定の事象が発生すると、該事象に関連づけられている故障内容の故障の発生を前記第2のシミュレーション部に指示する
請求項3に記載のシミュレーション装置。 - 前記故障注入制御部は、ユーザインタフェースからの指示に従って所定の故障内容の故障の発生を前記第1のシミュレーション部又は前記第2のシミュレーション部に指示する
請求項1に記載のシミュレーション装置。 - 前記第2のシミュレーション部は、前記第1のシミュレーション部に対して上位のシミュレーション環境であり、前記第1のシミュレーション部は、前記第2のシミュレーション部に対して下位のシミュレーション環境である
請求項1に記載のシミュレーション装置。 - 前記第1のシミュレーション部は、SPILS(Simulated Processor In the Loop
)環境であり、前記第2のシミュレーション部は、MILS(Model In the Loop Simulation)環境である
請求項6に記載のシミュレーション装置。 - 前記第1のデバイスは、マイクロコンピュータであり、
前記シナリオリストは、前記マイクロコンピュータの内部の回路についての故障の内容及び発生条件を示すシナリオを含む
請求項1に記載のシミュレーション装置。 - 前記故障注入制御部が、前記第2のシミュレーション部の機能として含まれている
請求項1に記載のシミュレーション装置。 - 第1のデバイスの第1の仮想デバイスモデルについてのシミュレーションを行う第1のシミュレーションステップと、
前記第1のデバイスを用いた処理を行う第2のデバイスの第2の仮想デバイスモデルについてのシミュレーションを行う第2のシミュレーションステップと、
前記第1のデバイスについての故障の内容及び発生条件を示すシナリオ並びに前記第2のデバイスについての故障の内容及び発生条件を示すシナリオを含むシナリオリストに基づいて、前記第1の仮想デバイスモデル及び前記第2の仮想デバイスモデルのそれぞれに故障を注入する故障注入制御ステップと
をコンピュータに実行させるプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017214395A JP2019086996A (ja) | 2017-11-07 | 2017-11-07 | シミュレーション装置及びプログラム |
US16/100,873 US20190138671A1 (en) | 2017-11-07 | 2018-08-10 | Simulation device and program |
EP18188628.4A EP3480699A1 (en) | 2017-11-07 | 2018-08-13 | Simulation device and program for fault-injection into a plurality of models |
CN201811187803.7A CN109752968A (zh) | 2017-11-07 | 2018-10-12 | 仿真装置和计算机可读存储介质 |
KR1020180133336A KR20190051833A (ko) | 2017-11-07 | 2018-11-02 | 시뮬레이션 장치 및 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017214395A JP2019086996A (ja) | 2017-11-07 | 2017-11-07 | シミュレーション装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019086996A true JP2019086996A (ja) | 2019-06-06 |
Family
ID=63452358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017214395A Pending JP2019086996A (ja) | 2017-11-07 | 2017-11-07 | シミュレーション装置及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190138671A1 (ja) |
EP (1) | EP3480699A1 (ja) |
JP (1) | JP2019086996A (ja) |
KR (1) | KR20190051833A (ja) |
CN (1) | CN109752968A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190079809A (ko) * | 2017-12-28 | 2019-07-08 | 현대자동차주식회사 | 결함 주입 테스트 장치 및 그 방법 |
JP2019200524A (ja) * | 2018-05-15 | 2019-11-21 | ルネサスエレクトロニクス株式会社 | プログラム、情報処理装置、および情報処理方法 |
CN110785718B (zh) * | 2019-09-29 | 2021-11-02 | 驭势科技(北京)有限公司 | 一种车载自动驾驶测试系统及测试方法 |
CN110687901A (zh) * | 2019-10-31 | 2020-01-14 | 重庆长安汽车股份有限公司 | 仿真测试平台 |
CN111238817B (zh) * | 2020-01-02 | 2022-09-30 | 北京航天测控技术有限公司 | 故障注入方法和系统 |
CN113535532B (zh) * | 2020-04-14 | 2023-11-10 | 中国移动通信集团浙江有限公司 | 故障注入系统、方法和装置 |
CN113238933B (zh) * | 2021-04-30 | 2024-03-12 | 阿波罗智联(北京)科技有限公司 | 底盘仿真方法、装置、服务器、存储介质及程序产品 |
JP2023012395A (ja) * | 2021-07-13 | 2023-01-25 | ルネサスエレクトロニクス株式会社 | 仮想開発環境装置、方法および記録媒体 |
CN113806862B (zh) * | 2021-09-07 | 2022-08-30 | 北京三快在线科技有限公司 | 无人车仿真方法、装置、存储介质及电子设备 |
CN114822200B (zh) * | 2022-04-06 | 2023-05-09 | 江汉大学 | 模拟断层运动配合式箱体结构以及地震断层模拟实验平台 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080215925A1 (en) * | 2007-03-02 | 2008-09-04 | International Business Machines Corporation | Distributed fault injection mechanism |
CN100492032C (zh) * | 2007-06-05 | 2009-05-27 | 中南大学 | 一种基于拓扑图的配电系统故障测试方法 |
US8073668B2 (en) * | 2008-01-30 | 2011-12-06 | International Business Machines Corporation | Method and apparatus for testing a full system integrated circuit design by statistical fault injection using hardware-based simulation |
CN102622455A (zh) * | 2011-01-26 | 2012-08-01 | 北京科银京成技术有限公司 | 模型的故障仿真实时注入技术 |
CN102566567B (zh) * | 2012-02-20 | 2015-01-07 | 浙江大学 | 一种用于发动机hils系统的ecu传感器信号故障注入装置 |
CN202870210U (zh) * | 2012-10-24 | 2013-04-10 | 北京经纬恒润科技有限公司 | 一种故障注入电路及装置 |
JP2014203314A (ja) | 2013-04-08 | 2014-10-27 | 日立オートモティブシステムズ株式会社 | Ecuシミュレーション装置 |
CN103472385A (zh) * | 2013-09-29 | 2013-12-25 | 哈尔滨工业大学 | 一种带故障注入功能的通用型电路故障仿真系统 |
CN105094109B (zh) * | 2014-05-23 | 2018-09-04 | 上海通用汽车有限公司 | 一种故障注入装置 |
KR20160000758A (ko) * | 2014-06-25 | 2016-01-05 | 주식회사 알티베이스 | 품질테스트장치 및 방법 |
-
2017
- 2017-11-07 JP JP2017214395A patent/JP2019086996A/ja active Pending
-
2018
- 2018-08-10 US US16/100,873 patent/US20190138671A1/en not_active Abandoned
- 2018-08-13 EP EP18188628.4A patent/EP3480699A1/en not_active Withdrawn
- 2018-10-12 CN CN201811187803.7A patent/CN109752968A/zh active Pending
- 2018-11-02 KR KR1020180133336A patent/KR20190051833A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
CN109752968A (zh) | 2019-05-14 |
KR20190051833A (ko) | 2019-05-15 |
US20190138671A1 (en) | 2019-05-09 |
EP3480699A1 (en) | 2019-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019086996A (ja) | シミュレーション装置及びプログラム | |
US7895025B2 (en) | Validation method for embedded systems | |
US20150142402A1 (en) | Safety analysis of a complex system using component-oriented fault trees | |
CN112084113B (zh) | 基于嵌入式仿真验证软件的可配置自动化测试方法及系统 | |
JP6030237B2 (ja) | マイコン故障注入方法及びシステム | |
CN111190820B (zh) | 一种显示控制软件的配置项测试平台构建方法和测试方法 | |
JP6692278B2 (ja) | 演算装置及び仮想開発環境装置 | |
EP3379436B1 (en) | Method and apparatus for testing design of satellite wiring harness and signal processing units | |
JP2014203314A (ja) | Ecuシミュレーション装置 | |
JP5714543B2 (ja) | 自己監視機能を備えたコンピュータ、監視プログラム | |
Peleska | Model-based avionic systems testing for the airbus family | |
US10997344B2 (en) | ECU simulation device | |
KR102141287B1 (ko) | Autosar 기반 차량 소프트웨어의 결함 테스트 방법 및 결함 테스트 시스템 | |
CN106294036A (zh) | 一种硬件故障验证方法、装置及客户端 | |
Chaki et al. | The ComFoRT reasoning framework | |
US20170220712A1 (en) | Computer-implemented method for simulating a restbus control unit network | |
CN111190821B (zh) | 一种舱门综合管理软件的测试平台构建方法和测试方法 | |
JP2019174874A (ja) | シミュレーション装置及び方法並びにプログラム | |
Oertel et al. | Proving compliance of implementation models to safety specifications | |
Yang et al. | An effective model-based development process using simulink/stateflow for automotive body control electronics | |
KR101856065B1 (ko) | Obd 테스트 장치 및 방법 | |
US20230315616A1 (en) | Method for testing a data processing distributed to multiple programs | |
Silva Filho et al. | An integrated model-driven approach for mechatronic systems testing | |
Sandhu | Comparison of Fault Simulation Over Custom Kernel Module Using Various Techniques | |
CN117311672A (zh) | 软件模型架构、电池管理系统控制器和车辆 |