JP2019174874A - シミュレーション装置及び方法並びにプログラム - Google Patents

シミュレーション装置及び方法並びにプログラム Download PDF

Info

Publication number
JP2019174874A
JP2019174874A JP2018059088A JP2018059088A JP2019174874A JP 2019174874 A JP2019174874 A JP 2019174874A JP 2018059088 A JP2018059088 A JP 2018059088A JP 2018059088 A JP2018059088 A JP 2018059088A JP 2019174874 A JP2019174874 A JP 2019174874A
Authority
JP
Japan
Prior art keywords
model
behavior
verification target
behavior verification
signal
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
Application number
JP2018059088A
Other languages
English (en)
Inventor
亙宏 太田
Nobuhiro Ota
亙宏 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Industry and Control Solutions Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Industry and Control Solutions Co Ltd
Priority to JP2018059088A priority Critical patent/JP2019174874A/ja
Publication of JP2019174874A publication Critical patent/JP2019174874A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】故障注入を容易化し、システムの開発を迅速化させ得るシミュレーション装置及び方法並びにプログラムを提案する。【解決手段】シミュレーション装置が、挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成し、第1の故障注入モデルにより加工された第1の信号を挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、故障内容の故障発生時における挙動検証対象部品の挙動をシミュレートする。【選択図】図6

Description

本発明はシミュレーション装置及び方法並びにプログラムに関し、例えば、組込みシステムの挙動をシミュレートするシミュレーション装置に適用して好適なものである。
従来、自動車や家電製品又は産業機械などの電気機器には、組込みシステムが組み込まれている。組込みシステムとは、制御対象を構成するメカニズムと、このメカニズムから受け取った物理量を元に制御演算を行い、その演算結果に基づいてメカニズムを制御するマイクロコンピュータ装置(以下、これをマイコンと呼ぶ)のハードウェアと、当該マイコンに実装されたソフトウェアとから構成されるシステムを指す。
例えば、自動車には、制御対象であるエンジン等のメカニズムと、このメカニズムを制御するECU(Electronic Control Unit)等のマイコンのハードウェアと、このマイコン上で動作するソフトウェアとから構成される組込みシステムが組み込まれている。
組込みシステムを構成するソフトウェアの挙動は制御対象のメカニズムの構成と、マイコンのハードウェア構成とに強く依存する。このため、かかるソフトウェアの挙動を分析するに際しては、ソフトウェア単独での挙動を分析するのではなく、メカニズム、ハードウェア及びソフトウェアを組み合わせた組込みシステム全体の中でのそのソフトウェアの挙動を分析する必要がある。
一方で、近年、自動車や電気機器等の高信頼化及び高機能化により組込みシステムの構成が複雑化している。このため、この種の組込みシステムの開発現場では、開発期間短縮のために、ハードウェア及びソフトウェアの各部品を細分化して開発を分業化し、これらを複数拠点で同時開発する開発手法が用いられている。
このような分業化が進むにつれて、部品の組立て時に判明するシステムの性能不足、仕様の不具合が増加しており、製品出荷前の最終段階での手戻りに起因する開発期間の遅延が多発するなどの開発効率の悪化が問題となっている。
このような問題を解決するための手段として、近年では、組込みシステムの設計時点でのメカニズム、ハードウェア及びソフトウェアを協調させたシミュレーションによるシステム全体の性能評価・検証手法が組込みシステムの開発現場で用いられ始めている。
なお、このようなシミュレーションに関連して、特許文献1には、それぞれのシミュレータが独立して動作する問題を解決するため、シミュレーションの実行過程で利用者が任意のタイミングでシミュレータ全体を一時停止・再生することにより検証対象のシステムについてその挙動の分析を容易に行い得るようにする発明が開示されている。
特開2013−137658号公報
ところで、シミュレーションによる性能評価・検証手法において、評価対象のシステムやモデルに外乱を注入するためには、モデルの機能追加やシミュレータのデバック機能による作り込みが必要になる。この場合、モデルの機能追加はモデルごとに対応が必要であり、ユーザの負担が大きくなるという問題がある。
またシミュレータのデバック機能による作り込みでは、シミュレータは端子状態が変更された後でデバック機能が有効になるため、例えば、端子状態を固着させる故障状態をシミュレートしたい場合でも、端子状態が変更された後で固着値に書き戻すことになるため、マイコンの割込み機能が動作してしまい、意図したシミュレーションが実行できないという問題がある。
本発明は以上の点を考慮してなされたもので、故障注入を容易化し、システムの開発を迅速化させ得るシミュレーション装置及び方法並びにプログラムを提案しようとするものである。
かかる課題を解決するため本発明においては、故障発生時の挙動検証対象部品の挙動をシミュレートするシミュレーション装置において、プログラムが格納されたメモリと、前記メモリに格納された前記プログラムを実行するプロセッサとを設け、前記プロセッサが、前記プログラムに基づいて、前記挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成し、前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートするようにした。
また本発明においては、故障発生時の挙動検証対象部品の挙動をシミュレートするシミュレーション装置において実行されるシミュレーション方法であって、前記シミュレーション装置に、プログラムが格納されたメモリと、前記メモリに格納された前記プログラムを実行するプロセッサとを設け、前記プロセッサが、前記プログラムに基づいて、前記挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成する第1のステップと、前記プロセッサが、前記プログラムに基づいて、前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートする第2のステップとを設けるようにした。
さらに本発明においては、プログラムが、コンピュータ装置に、挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成する第1のステップと、前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートする第2のステップとを備える処理を実行させるようにした。
本シミュレーション装置及び方法並びにプログラムによれば、他のモデルの改変等を必要とせずに種々の故障内容の故障発生時における挙動検証対象部品の挙動をシミュレートすることができる。
本発明によれば、故障注入を容易化し、システムの開発を迅速化させ得るシミュレーション装置及び方法を実現できる。
本実施の形態によるシミュレーション装置の全体構成を示すブロック図である。 図1のシミュレーション装置の論理構成を示すブロック図である。 マイコン系シミュレータの論理構成の構成例を示すブロック図である。 (A)−(D)は、従来のシミュレーション装置の問題点の説明に供するブロック図である。 従来のシミュレーション装置の問題点の説明に供するブロック図である。 本実施の形態による部品別シミュレータの論理構成の構成例を示すブロック図である。 故障注入モデルの概念的な構成例を示す概念図である。 故障注入モデルの処理手順を示すフローチャートである。 (A)は故障設定がなされていない場合における故障注入モデルの動作の説明に供する概念図であり、(B)は故障注入モデルへの入力信号の信号波形を示す波形図、(C)は(A)の場合における故障注入モデルからの出力信号の信号波形を示す波形図である。 (A)は故障として「追従」が設定された場合における故障注入モデルの動作の説明に供する概念図であり、(B)は故障注入モデルへの入力信号の信号波形を示す波形図、(C)は(A)の場合における故障注入モデルからの出力信号の信号波形を示す波形図である。 (A)は故障として「固着」が設定された場合における故障注入モデルの動作の説明に供する概念図であり、(B)は故障注入モデルへの入力信号の信号波形を示す波形図、(C)は(A)の場合における故障注入モデルからの出力信号の信号波形を示す波形図である。 (A)は故障として「ゲイン」が設定された場合における故障注入モデルの動作の説明に供する概念図であり、(B)は故障注入モデルへの入力信号の信号波形を示す波形図、(C)は(A)の場合における故障注入モデルからの出力信号の信号波形を示す波形図である。 (A)は故障として「中間」が設定された場合における故障注入モデルの動作の説明に供する概念図であり、(B)は故障注入モデルへの入力信号の信号波形を示す波形図、(C)は(A)の場合における故障注入モデルからの出力信号の信号波形を示す波形図である。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態によるシミュレーション装置の構成
図1において、1は本実施の形態によるシミュレーション装置を示す。このシミュレーション装置1は、例えば、自動車の組込みシステムのメカニズム、ハードウェア及びソフトウェアを協調させたシミュレーションを行い得るコンピュータ装置であり、CPU2(Central Processing Unit)、メモリ3、補助記憶装置4、入力装置5及び表示装置6を備えて構成される。
CPU2は、シミュレーション装置1全体の動作制御を司るプロセッサである。またメモリ3は、DRAM(Dynamic RAM(Random Access Memory))又はSRAM(Static RAM)などの揮発性の半導体メモリから構成され、主としてCPU2のワークメモリとして利用される。後述する各種シミュレータ用のアプリケーション(以下、これをシミュレーションアプリと呼ぶ)7もこのメモリ3に格納されて保持される。
補助記憶装置4は、例えば、ハードディスク装置やSSD(Solid State Disk)などの不揮発性の大容量の記憶装置から構成され、アプリケーションなどのソフトウェアや制御データを長期間保持するために利用される。
入力装置5は、キーボードやマウスなどから構成され、ユーザが必要な操作入力を行う際に利用される。また表示装置6は、例えば、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイなどから構成され、各種設定画面や、各種シミュレーション結果画面などを表示するために利用される。
図2は、本シミュレーション装置1のシミュレーション機能に関する論理構成を示す。この図2に示すように、本シミュレーション装置1は、組込みシステムの主要な各部品の挙動をそれぞれシミュレートする複数の部品別シミュレータ10と、ハブシミュレータ11とを備えて構成される。
部品別シミュレータ10は、CPU2(図1)が、図1のようにメモリ3に格納された対応するシミュレーションアプリ7を実行することにより具現化される機能部である。部品別シミュレータ10は、ユーザにより設定されたシミュレーションの条件に従って、組込みシステムを構成する各部品やその周辺の各部品の挙動をシミュレート(模倣)する。
本実施の形態の場合、図2に示すように、このような部品別シミュレータ10として、組込みシステムのマイコンの挙動をシミュレートするマイコン系シミュレータ10Aや、モータやエンジンの挙動をシミュレートする数学系シミュレータ10Bなどがあり、これらの部品別シミュレータ10に対応するシミュレーションアプリ7がメモリに格納される。
ハブシミュレータ11も、CPU2(図1)が、メモリ3に格納された対応するシミュレーションアプリ7を実行することにより具現化される機能部である。ハブシミュレータ11は、別々のサンプリング周期で動作する各部品別シミュレータ10のシミュレーション時間を、自己のサンプリング周期に同期させる機能を有する。
実際上、本実施の形態の場合、部品別シミュレータ10間の信号データの交換は、このハブシミュレータ11を経由して行われる。そこで、ハブシミュレータ11は、部品別シミュレータ10間のデータの交換を自己のサンプリング周期で行うことにより、各部品別シミュレータ10のシミュレーション時間を自己のサンプリング周期に同期させる。
(2)本実施の形態によるシミュレーション機能
次に、本シミュレーション装置1に搭載された本実施の形態によるシミュレーション機能について説明する。これに際して、まず、従来のシミュレーション装置における部品別シミュレータの構成について説明する。
図3は、既存のシミュレーション装置において生成される部品別シミュレータ10のうち、組込みシステムのマイコンに対応する部品別シミュレータ(以下、これをマイコン系シミュレータと呼ぶ)27の論理構成例を示す。図3では、マイコン系シミュレータ10Aが、組込みシステムのマイコンの挙動をシミュレートするマイコンモデル21と、そのマイコンの入力側の周辺部品(例えば、センサを制御するセンサ制御IC(Integrated Circuit))である第1のIC部品の挙動をシミュレートする第1のICモデル20と、そのマイコンの出力側の周辺部品(例えば、モータのドライバとして機能するドライバIC)である第2のIC部品の挙動をシミュレートする第2のICモデル22とから構成される場合を例示している。
この図3において、第1のICモデル20は、対応する第1のIC部品の挙動を設定された条件に従ってシミュレートし、前段のシミュレータ10A等から与えられた信号をこのシミュレート結果に基づいて加工してマイコンモデル21に出力する。
またマイコンモデル21は、対応するマイコンの挙動を設定された条件に従ってシミュレートし、第1のICモデル20から与えられる信号を、このシミュレート結果に基づいて加工して第2のICモデル22に出力する。
さらに第2のICモデル22は、対応する第2のIC部品の挙動を設定された条件に従ってシミュレートし、マイコンモデル21から与えられる信号を、このシミュレート結果に基づいて加工して次段のシミュレータ(例えば、制御対象のエンジンやモータの挙動をシミュレートする数学系シミュレータ)10に出力する。
このようなシミュレーション装置において、かかるマイコン系シミュレータ27のデバッグ機能を用いてプログラムを作成した場合のシミュレーション処理の流れを図4(A)〜図4(D)に示す。ここでは、故障の発生によりマイコンに入力される信号が異常値となった場合のマイコンの挙動をシミュレートするため、第1のICモデル20からマイコンモデル21に出力される信号の信号レベルが正常時の信号レベル(ローレベルとする)から異常時の信号レベル(ハイレベルとする)に変化させるものとする。
この場合、既存のシミュレーション装置では、マイコンモデル21の入力端子23に与えられる第1のICモデル20から出力された上述の信号の信号レベルが図4(A)のようなローレベルから図4(B)のようなハイレベルに変化した際に、マイコンモデル21内の割込みキュー24に割込みコマンドが格納される。この後、この割込みコマンドが実行され、シミュレータのデバッグ機能によってその入力端子23の信号レベルが図4(C)のように元のローレベルに書き戻された後、図4(D)のように割込みキューからその割込みコマンドが割込みキュー24から削除される。
このように既存のシミュレータ装置を利用したシミュレーションでは、故障を注入した場合においてもシミュレータのデバッグ機能により故障状態が維持されず、故障の発生によりマイコンに入力される信号が異常値となった場合のマイコンの挙動を正しくシミュレーションできない問題があった。
このような問題を解決するための手法として、例えば図5に示すように、故障を注入する故障注入機能25,26を第1のICモデル20´や第2のICモデル22´に搭載することも考えられるものの、このようにするためにはICモデル20´、22´ごとの対応が必要であり、ユーザ負担が大きくなる問題があった。
そこで本実施の形態のシミュレーション装置1では、図3との対応部分に同一符号を付した図6に示すように、故障発生時の挙動を検証する対象となる部品(図6の例ではマイコン)のモデル(以下、適宜、これを挙動検証対象部品モデルと呼ぶ)の前段に、その直前のモデルから出力される信号を、所望する故障が発生したときの状態に加工し得る故障注入モデル30を挿入できるようになされている。
この故障注入モデル30は、CPU2(図1)が対応する部品別シミュレータ10のシミュレーションアプリ7(図1)を実行することにより具現化される機能部であり、図7に示すように、挙動検証対象部品(及び挙動検証対象部品モデル)の入力端子と同じ数の概念的な入力端子41A〜46A及び出力端子41B〜46Bを備えて構成される。従って、図6の故障注入モデル30は、マイコンモデル21の入力端子と同じ数の概念的な入力端子41A〜46A及び出力端子41B〜46Bを備える。
なお、以下においては、故障注入モデル30が有する各入力端子41A〜46Aを、適宜、図7において上の方から順番にそれぞれ第1の入力端子41A、第2の入力端子42A、……と呼び、故障注入モデル30が有する各出力端子41B〜46Bを、適宜、図7において上の方から順番にそれぞれ第1の出力端子41B、第2の出力端子42B、……と呼ぶものとする。なお、第N(Nは整数)の入力端子41A〜46Aは第Nの出力端子41B〜46Bと対応する。
また故障注入モデル30には、メモリ3(図1)内の対応する記憶領域と対応付けられた概念的な制御レジスタ47が設けられる。そしてユーザは、図示しない所定の設定画面を用いて、所望する故障内容を表すパラメータ(以下、これを故障条件パラメータと呼ぶ)をこの制御レジスタ47に設定することができる。そして、このように故障条件パラメータを設定することにより、前段のモデルから故障注入モデル30の各入力端子41A〜46Aにそれぞれ与えられる各信号を、その故障が発生した場合の状態にそれぞれ加工して対応する出力端子41B〜46Bからそれぞれ出力するよう故障注入モデル30を動作させることができる。
なお本実施の形態の場合、故障注入モデル30には、かかる故障として「追従」、「固着」、「ゲイン(gain)」及び「中間」の4つの故障のいずれかを設定することができる。「追従」は、挙動検証対象部品の2つの入力端子や挙動検証対象部品の直前の部品の2つの出力端子がショート等することにより、挙動検証対象部品の一方の入力端子に入力する信号が他方の入力端子に入力する信号に追従する故障である。また「固着」は、挙動検証対象部品の入力端子又は当該挙動検証対象部品の直前の部品の出力端子から配線が外れるなどして挙動検証対象部品の入力端子がオープンとなる故障であり、「ゲイン」は、挙動検証対象部品の入力端子に入力し又は挙動検証対象部品の直前の部品の出力端子から出力する信号の信号レベルが正常な信号レベルよりも大きく又は小さくなる故障である。さらに「中間」は、挙動検証対象部品の2つの入力端子又は挙動検証対象部品の直前の部品の2つの出力端子がショート等することにより、挙動検証対象部品の2つの入力端子にそれぞれ入力する信号の信号レベルが共にこれら2つの信号の信号レベルの平均値となる故障である。
従って、ユーザは、上述の故障内容として、故障の種別(「追従」、「固着」、「ゲイン(gain)」又は「中間」)に加えて、「追従」及び「中間」の場合には、ショートしたと仮定する挙動検証対象直前部品の入力端子又は挙動検証対象部品の直前の部品の出力端子とそれぞれ対応付けられた故障注入モデル30の2以上の入力端子41A〜46Aの識別番号を上述の故障条件パラメータとして制御レジスタ47に設定するようにする。
また「固着」の場合には、オープン状態となったと仮定する挙動検証対象部品の入力端子又は挙動検証対象部品の直前の部品の出力端子と対応付けられた故障注入モデル30の入力端子41A〜46Aの識別番号を故障条件パラメータとして制御レジスタ47に設定するようにする。
さらに「ゲイン」の場合には、故障により入力する信号の信号レベルが変化したと仮定する挙動検証対象部品の入力端子又は挙動検証対象部品の直前の部品の出力端子と対応付けられた故障注入モデル30の入力端子41A〜46Aの識別番号と、挙動検証対象部品におけるその入力端子に入力し、又は挙動検証対象部品の直前の部品におけるその出力端子から出力される信号の信号レベルの変化の割合(ゲイン)とを故障条件パラメータとして制御レジスタ47に設定するようにする。
さらに本シミュレーション装置1では、図6に示すように、挙動検証対象部品モデルの直後にも、挙動検証対象部品モデルから出力される信号を、予め設定された故障内容の故障が発生したときの状態に加工し得る故障注入モデル31を挿入できるようになされている。この故障注入モデル31は、挙動検証対象部品モデルから次段の第2のICモデル22に出力される信号を所望する故障内容に応じた加工するだけでなく、挙動検証対象部品から出力された信号が当該挙動検証対象部品にフィードバックする場合に、その信号を所望する故障内容に応じて加工するためのモデルである。この故障注入モデル31の構成及び機能は故障注入モデル30と同様であるため、ここでの説明は省略する。
(3)故障注入モデルの処理
次に、かかる故障注入モデル30,31の処理について説明する。なお、以下においては、説明の対象が図6において第1のICモデル20及びマイコンモデル21間に挿入された故障注入モデル30であるものとし、各種処理の主体をこの故障注入モデル30として説明するが、実際上は、シミュレーションアプリ7(図1)に基づいてCPU2(図1)がその処理を実行することは言うまでもない。
また以下に説明する処理は、マイコンの各入力端子のうち、故障注入モデル30の第1の入力端子41A(図7)に対応する入力端子(以下、これをマイコンの第1の入力端子と呼ぶ)について「追従」、「固着」、「ゲイン」又は「中間」の故障が発生した場合のマイコンの挙動をマイコンモデル21でシミュレートさせるシミュレーションの実行時における故障注入モデル30の処理内容であるものとする。
なお、「追従」及び「中間」のシミュレーションでは、マイコンの第1の入力端子が、故障注入モデル30の第2の入力端子41A(図7)と対応付けられた当該マイコンの入力端子(以下、これをマイコンの第2の入力端子と呼ぶ)とショートした場合のマイコンの挙動をマイコンモデル21によりシミュレートするものとする。
図8は、このようなシミュレーションの実行時における故障注入モデル30の処理内容を示す。かかるシミュレーションが開始されると、故障注入モデル30は、マイコンの第1の入力端子の状態を取得する(S1)。この判断は、制御レジスタ47(図7)に設定された上述の故障条件パラメータを取得することにより行われる。
続いて、故障注入モデル30は、ステップS1で取得した故障条件パラメータに基づいて、マイコンの第1の入力端子の状態が「追従」、「固着」、「ゲイン」及び「中間」のうちのいずれかに設定されているか否か(故障注入の設定がなされているか否か)を判断する(S2)。
この判断で否定結果を得ることは、そのとき実行すべきシミュレーションが、マイコンに「追従」、「固着」、「ゲイン」及び「中間」のいずれの故障も発生していない状態についてのシミュレーションであり、従って、図9(A)に示すように、故障注入モデル30が、第1のICモデル20から各入力端子41A〜46Aに与えられる信号をそれぞれそのまま対応する出力端子41B〜46Bから出力すべきことを意味する。
かくして、このとき故障注入モデル30は、第1の入力端子41Aに対応付けて設定される状態Aを、対応する入力端子41Aの現在の状態に設定すると共に(S3)、第1の出力端子41Bの状態を状態Aに設定する(S6)。なお、故障注入モデル30は、この際、第1の入力端子41A以外の入力端子42A〜46Aにそれぞれ対応付けて設定される状態Aについても、対応する入力端子42A〜46Aの現在の状態に設定する(S3)と共に、各出力端子42B〜46Bの状態をそれぞれ対応する状態Aに設定する(S6)。そして故障注入モデル30は、この後、この処理を終了する。
従って、この場合、図9(B)のように第1のICモデル20(図6)から故障注入モデル30の第1及び第2の入力端子41A,42Aにそれぞれ与えられた信号SIN1,SIN2は、加工されることなく9図(C)のようにそのままの状態で第1の出力端子41B,42Bから第1の出力信号SOUT1,SOUT2としてそれぞれ出力され、これがマイコンモデル21(図6)に与えられる。
これに対して、第1の故障注入モデル30は、ステップS2の判断で肯定結果を得ると、そのとき制御レジスタ47に設定されている故障の種類(「追従」、「固着」、「ゲイン」又は「中間」)に応じた処理を実行する(S4)。
例えば、制御レジスタ47に設定された故障条件パラメータに基づく故障の内容が、故障の種類が「追従」であり、第1の故障注入モデル30の第1の入力端子41Aから入力する信号を、当該第1の故障注入モデル30の第2の入力端子42Aに与えられる信号に追従させるという内容であったものとする。つまり、このシミュレーションは、故障注入モデル30の第1の入力端子41A(図7)及び第2の入力端子42A(図7)にそれぞれ対応するマイコンの2つの入力端子(以下、これらをそれぞれマイコンの第1及び第2の入力端子と呼ぶ)間がショートし、又は、マイコンの第1の入力端子と接続される第1のIC部品の出力端子(以下、これを第1のIC部品の第1の出力端子と呼ぶ)が、マイコンの第2の入力端子42A(図7)と接続される当該第1のIC部品の出力端子(以下、これを第1のIC部品の第2の出力端子と呼ぶ)とショートし、故障注入モデル30の第1の入力端子41Aに入力する信号が、当該故障注入も出る30の第2の入力端子42Aに入力する信号に追従するようになった場合のマイコンの挙動をマイコンモデルでシミュレートするシミュレーションである。
この場合、第1の故障注入モデル30は、ステップS4において、図10(A)に示すように、第1の出力端子41Bの接続先を第1の入力端子41Aから第2の入力端子42Aに切り替える。
また故障注入モデル30は、この後、第1の入力端子41Aに対応する状態Aを第2の入力端子42Aの状態に設定すると共に、これ以外の入力端子42A〜46Aにそれぞれ対応する状態Aを、図9の場合と同様に、対応する入力端子42A〜46Aの状態にそれぞれ設定する(S5)。さらに第1の故障注入モデル30は、この後、各出力端子41B〜46Bの状態をそれぞれ対応する状態Aに設定する(S6)。そして故障注入モデル30は、この後、この処理を終了する。
従って、この場合、図10(B)のように第1のICモデル20(図6)から第1の故障注入モデル30の第1の入力端子41Aに与えられた信号SIN1は、図10(C)のように第1のICモデル20から第1の故障注入モデル30の第2の入力端子42Aに与えられた信号SIN2に追従するよう加工されて第1の出力端子41Bから第1の出力信号SOUT1として出力され、これがマイコンモデル21の第1の入力端子に与えられる。
また制御レジスタ47に設定された故障条件パラメータに基づく故障の内容が、故障の種類が「固着」であり、第1の故障注入モデル30の第1の入力端子41Aに信号が入力しないという内容であったものとする。つまり、このシミュレーションは、マイコンの第1の入力端子又は第1のIC部品の第1の出力端子がオープン状態となった場合のマイコンの挙動をマイコンモデル21でシミュレートするシミュレーションである。
この場合、故障注入モデル30は、ステップS4において、図11(A)に示すように、第1の入力端子41Aから入力する信号を制御レジスタ47に設定された故障条件パラメータにより指定された信号レベルを維持する信号に加工する。
そして故障注入モデル30は、この後、第1の入力端子41Aに対応する状態AをステップS4の加工結果に設定し、これ以外の各入力端子42A〜46Aの状態Aを、図9の場合と同様に、対応する入力端子42A〜46Aの状態にそれぞれ設定する(S5)。さらに第1の故障注入モデル30は、各出力端子41B〜46Bの状態をそれぞれ対応する状態Aに設定する(S6)。そして故障注入モデル30は、この後、この処理を終了する。
従って、この場合、図11(B)のように第1のICモデル20(図6)から第1の故障注入モデル30の第1の入力端子41Aに与えられた信号SIN1は、図11(C)のように制御レジスタ47に設定された故障条件パラメータにより指定された一定の信号レベルに加工されて第1の出力端子41Bから第1の出力信号SOUT1として出力され、これがマイコンモデル21の第1の入力端子に与えられる。
一方、制御レジスタ47に設定された故障条件パラメータに基づく故障の内容が、故障の種類が「ゲイン」であり、第1の故障注入モデル30の第1の入力端子41Aから入力する信号の信号レベルを、故障条件パラメータにより指定されたゲインを乗算した値に変化させるという内容であったものとする。つまり、このシミュレーションは、第1のIC部品の第1の出力端子から出力される信号レベルが何らかの故障により大きく又は小さくなった場合のマイコンの挙動をマイコンモデル21でシミュレートするシミュレーションである。
この場合、第1の故障注入モデルは、ステップS4において、図12(A)に示すように、第1の入力端子41Aに与えられる信号を、制御レジスタ47に設定された故障条件パラメータにより指定されたゲイン(利得)を乗算した信号レベルの信号に加工する。
そして第1の故障注入モデル30は、この後、第1の入力端子41Aに対応する状態AをステップS4の加工結果に設定し、これ以外の各入力端子42A〜46Aの状態Aを、図9の場合と同様に、対応する入力端子42A46Aの状態に設定する(S5)。さらに第1の故障注入モデル30は、各出力端子41B〜46Bの状態をそれぞれ対応する状態Aに設定する(S6)。そして故障注入モデル30は、この後、この処理を終了する。
従って、この場合、図12(B)のように第1のICモデル20から第1の故障注入モデル30の第1の入力端子41Aに与えられた信号SIN1は、図12(C)のように制御レジスタ47に設定された故障条件パラメータにより指定されたゲインを乗算した信号レベルの信号に加工されて第1の出力端子41Bから第1の出力信号SOUT1として出力され、これがマイコンモデル21に与えられる。
また制御レジスタ48に設定された故障条件パラメータに基づく故障の内容が、故障の種類が「中間」であり、故障注入モデル30の第1の入力端子41Aに与えられる信号の信号レベルと、故障注入モデル30の第2の入力端子42Aに与えられる信号の信号レベルとが、これら2つの信号の平均値となるという内容であったものとする。つまり、このシミュレーションは、マイコンの第1及び第2の入力端子間又は第1のIC部品の第1及び第2の出力端子間がショートし、マイコンの第1及び第2の入力端から入力する信号の双方が、いずれも本来的にこれら第1及び第2の入力端子に入力する信号の平均値の信号レベルの信号となった場合のマイコンの挙動をマイコンモデル21で模擬するシミュレーションである。
この場合、故障注入モデル30は、ステップS4において、図13(A)に示すように、第1及び第2の入力端子41A,42Aからそれぞれ入力する信号を、これらの平均値のレベルを有する信号にそれぞれ加工する。
そして故障注入モデル30は、この後、第1及び第2の入力端子41A,42Aにそれぞれ対応する状態AをそれぞれステップS4の加工結果に設定し、これ以外の各入力端子43A〜46Aの状態Aを、図9の場合と同様に、対応する入力端子43A〜46Aの状態にそれぞれ設定する(S5)。さらに故障注入モデル30は、各出力端子41B〜46Bの状態をそれぞれ対応する状態Aに設定する(S6)。そして故障注入モデル30は、この後、この処理を終了する。
従って、この場合、図13(B)のように第1のICモデル20から故障注入モデル30の第1の入力端子41Aに与えられた信号SIN1と、第1のICモデル20から故障注入モデル30の第2の入力端子42Aに与えられた信号SIN2とのいずれもが、図13(C)のようにこれら2つの信号の信号レベルの平均値の信号レベルを有する信号にそれぞれ加工されて故障注入モデル30の第1及び第2の出力端子41B,42Bからそれぞれ第1の出力信号SOUT1又は第2の出力信号SOUT2として出力され、これがマイコンモデル21の第1及び第2の入力端子にそれぞれ与えられる。
(4)本実施の形態の効果
以上のように本実施の形態のシミュレーション装置1では、マイコン系シミュレータ10Aにおけるマイコンモデル21の前後に、当該マイコンモデル21に入力し又は当該マイコンモデル21から出力する信号を設定された故障内容に応じて加工する故障注入モデル30,31を挿入できるため、マイコンモデル21の前後に配置される第1のICモデル20や第2のICモデル21を改変して特別な故障注入機能をもたせることなく、種々の故障内容の故障発生時におけるマイコンの挙動をシミュレートすることができる。従って、本シミュレーション装置1によれば、故障注入を容易化し、組込みシステムの開発を迅速化させることができる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を組込みシステム全体の挙動をシミュレートするシミュレーション装置1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステムの挙動をシミュレートするシミュレーション装置に広く適用することができる。この場合、挙動検証対象部品としては、そのシステムにおいて挙動検証対象とする部品とすればよい。
また上述の実施の形態においては、故障注入モデル30,31において実現可能な故障内容が「追従」、「固着」、「ゲイン」及び「中間」の4つである場合について述べたが、本発明はこれに限らず、この他種々の故障に対応できるようにしてもよい。
さらに上述の実施の形態においては、ハブシミュレータ11が、部品別シミュレータ10間のデータの交換を自己のサンプリング周期で行うことにより、各部品別シミュレータ10のシミュレーション時間を自己のサンプリング周期に同期させるようにした場合について述べたが、本発明はこれに限らず、ハブシミュレータ11が、別々のサンプリング周期で動作する各部品別シミュレータ10のシミュレーション時間を、自己のサンプリング周期に同期させる方法としては、この他種々の方法を広く適用することができる。
本発明は種々のシミュレーション装置に広く適用することができる。
1……シミュレーション装置、2……CPU、3……メモリ、7……シミュレーションアプリ、10……部品別シミュレータ、11……ハブシミュレータ、20,22……ICモデル、21……マイコンモデル、30,31……故障注入モデル、41A〜46A……入力端子、41B〜46B……出力端子、47……制御レジスタ。

Claims (9)

  1. 故障発生時の挙動検証対象部品の挙動をシミュレートするシミュレーション装置において、
    プログラムが格納されたメモリと、
    前記メモリに格納された前記プログラムを実行するプロセッサと
    を備え、
    前記プロセッサは、前記プログラムに基づいて、
    前記挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成し、
    前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートする
    ことを特徴とするシミュレーション装置。
  2. 前記プロセッサは、前記プログラムに基づいて、
    前記挙動検証対象部品モデルから出力された第2の信号を、予め設定された故障内容に応じた信号に加工して出力する第2の故障注入モデルを生成する
    ことを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記挙動検証対象部品は、組込みシステムのマイクロコンピュータ装置であり、
    前記プロセッサは、前記プログラムに基づいて、
    前記挙動検証対象部品モデルと、前記挙動検証対象部品の入力側の部品の挙動を模倣する第1の部品モデルと、前記第1の部品モデル及び前記挙動検証対象部品モデル間に挿入された前記第1の故障注入モデルと、前記挙動検証対象部品の出力側の部品の挙動を模倣する第2の部品モデルと、前記挙動検証対象部品モデル及び前記第2の部品モデル間に挿入された前記第2の故障注入モデルからなる第1のシミュレータを生成する
    ことを特徴とする請求項2に記載のシミュレーション装置。
  4. 前記プロセッサは、前記プログラムに基づいて、
    それぞれ対応する部品の挙動を模倣する前記第1のシミュレータを含む複数の部品別シミュレータと、各前記部品別シミュレータのシミュレーション時間を、自己のサンプリング周期に同期させるハブシミュレータとを生成する
    ことを特徴とする請求項3に記載のシミュレーション装置。
  5. 故障発生時の挙動検証対象部品の挙動をシミュレートするシミュレーション装置において実行されるシミュレーション方法であって、
    前記シミュレーション装置は、
    プログラムが格納されたメモリと、
    前記メモリに格納された前記プログラムを実行するプロセッサと
    を有し、
    前記プロセッサが、前記プログラムに基づいて、前記挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成する第1のステップと、
    前記プロセッサが、前記プログラムに基づいて、前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートする第2のステップと
    を備える
    ことを特徴とするシミュレーション方法。
  6. 前記プロセッサは、
    前記第1のステップにおいて、予め設定された故障内容に応じて信号を加工する第2の故障注入モデルを生成し、
    前記第2のステップにおいて、
    前記挙動検証対象部品モデルから出力された第2の信号を、前記第2の故障注入モデルにおいて、予め設定された前期故障内容に応じて加工する
    ことを特徴とする請求項5に記載のシミュレーション方法。
  7. 前記挙動検証対象部品は、組込みシステムのマイクロコンピュータ装置であり、
    前記プロセッサは、前記プログラムに基づいて、
    前記第1のステップにおいて、前記挙動検証対象部品モデルと、前記挙動検証対象部品の入力側の部品の挙動を模倣する第1の部品モデルと、前記第1の部品モデル及び前記挙動検証対象部品モデル間に挿入された前記第1の故障注入モデルと、前記挙動検証対象部品の出力側の部品の挙動を模倣する第2の部品モデルと、前記挙動検証対象部品モデル及び前記第2の部品モデル間に挿入された前記第2の故障注入モデルからなる第1のシミュレータを生成する
    ことを特徴とする請求項6に記載のシミュレーション方法。
  8. 前記プロセッサは、前記プログラムに基づいて、
    前記第1のステップにおいて、それぞれ対応する部品の挙動を模倣する前記第1のシミュレータを含む複数の部品別シミュレータと、各前記部品別シミュレータのシミュレーション時間を、自己のサンプリング周期に同期させるハブシミュレータとを生成する
    ことを特徴とする請求項7に記載のシミュレーション方法。
  9. コンピュータ装置に、
    挙動検証対象部品の挙動を模倣する挙動検証対象部品モデルと、前記挙動検証対象部品モデルに入力すべき第1の信号を、予め設定された故障内容に応じた信号に加工する第1の故障注入モデルとをそれぞれ生成する第1のステップと、
    前記第1の故障注入モデルにより加工された前記第1の信号を前記挙動検証対象部品モデルに入力し、当該挙動検証対象部品モデルにおいて、前記故障内容の故障発生時における前記挙動検証対象部品の挙動をシミュレートする第2のステップと
    を備える処理を実行させることを特徴とするプログラム。
JP2018059088A 2018-03-26 2018-03-26 シミュレーション装置及び方法並びにプログラム Pending JP2019174874A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018059088A JP2019174874A (ja) 2018-03-26 2018-03-26 シミュレーション装置及び方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018059088A JP2019174874A (ja) 2018-03-26 2018-03-26 シミュレーション装置及び方法並びにプログラム

Publications (1)

Publication Number Publication Date
JP2019174874A true JP2019174874A (ja) 2019-10-10

Family

ID=68168805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018059088A Pending JP2019174874A (ja) 2018-03-26 2018-03-26 シミュレーション装置及び方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP2019174874A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022065121A (ja) * 2021-04-30 2022-04-26 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022065121A (ja) * 2021-04-30 2022-04-26 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム
JP7331178B2 (ja) 2021-04-30 2023-08-22 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム

Similar Documents

Publication Publication Date Title
JP2018139136A5 (ja)
Nabi et al. An overview of hardware-in-the-loop testing systems at Visteon
US20190138671A1 (en) Simulation device and program
US20090271169A1 (en) Training Simulators for Engineering Projects
US8108728B2 (en) Method and apparatus for operational-level functional and degradation fault analysis
US8543953B2 (en) Automated stimulus steering during simulation of an integrated circuit design
JP6692278B2 (ja) 演算装置及び仮想開発環境装置
JP6030237B2 (ja) マイコン故障注入方法及びシステム
US10997344B2 (en) ECU simulation device
US20180203973A1 (en) System and simulator for the disengageable simulation of installations or machines within programmable logic controllers
CN109753415B (zh) 处理器验证系统及基于处理器验证系统的处理器验证方法
JP2019174874A (ja) シミュレーション装置及び方法並びにプログラム
JP2002163020A (ja) プログラマブルコントローラにおける異常検出方法およびその装置
WO2015107611A1 (ja) シミュレーション方法およびその装置
EP3734379A1 (en) Method and system for generating control programs in a cloud computing environment
US20090271168A1 (en) Systems and Methods for Stimulating Engineering Projects
US8560987B2 (en) Test functionality integrity verification for integrated circuit design
CN115470141A (zh) 一种故障模拟方法、装置及相关设备
JP4417084B2 (ja) アナログ回路の故障検出シミュレーションシステム
JP2013003633A (ja) 故障再現装置、故障再現方法
CN117033113B (zh) 一种信号延迟的控制电路和方法
US20240193073A1 (en) Configuring a launch of components of a hardware-in-the-loop simulation environment
US20210406160A1 (en) Verification device and verification method
JP2010244183A (ja) 装置検査システム、装置検査方法、装置検査プログラム
Ozmen et al. Simulation-based testing for instrumentation and control systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210928