(57)【要約】【課題】  車載電子制御装置の故障注入検証作業を容易にする。【解決手段】  車載電子制御コントローラ（ＥＣＵ）のモデルの作成、実行とこのＥＣＵに接続する装置のモデルの作成、実行が可能な２つのシミュレーション手段とが接続されたＥＣＵシミュレーション装置において、  ＥＣＵに接続する装置のモデルにおける故障状態を定義した故障モード定義と、故障注入テストのシナリオを定義した故障注入テストパターン及び故障注入テストデータを保有する記憶手段と、  ＥＣＵに接続する装置のモデルに対し、故障モード定義に格納されている故障状態の情報を挿入し、当該挿入した故障状態に対応する故障注入テストのシナリオを故障注入テストパターンに追加してテストを行う故障注入手段とを備える。【選択図】  図１
2014203314.tif 000002
【特許請求の範囲】
【請求項１】
車載電子制御コントローラのモデルの作成及び／又は実行が可能な第１のシミュレーション手段と、車載電子制御コントローラに接続する装置のモデルの作成及び／又は実行が可能な第２のシミュレーション手段とが接続されたＥＣＵシミュレーション装置において、
前記装置のモデルにおける故障状態を定義した故障モード定義と、故障注入テストのシナリオを定義した故障注入テストパターン及び故障注入テストデータを保有する記憶手段と、
前記車載電子制御コントローラに接続する装置のモデルに対し、前記故障モード定義に格納されている故障状態の情報を挿入し、当該挿入した故障状態に対応する故障注入テストのシナリオを故障注入テストパターンに追加してテストを行う故障注入手段と、
を備え、
前記車載電子制御コントローラに接続する装置のモデルへの故障注入テスト作業を実行することを特徴とする、ＥＣＵシミュレーション装置。
【請求項２】
請求項１記載のＥＣＵシミュレーション装置において、
故障注入する前記車載電子制御コントローラに接続する装置のモデルが、車載制御コントローラ周辺の回路モデル又は車載制御コントローラの制御対象モデルであることを特徴とする、ＥＣＵシミュレーション装置。
【請求項３】
請求項２記載のＥＣＵシミュレーション装置において、
前記故障モード定義の情報が、前記回路モデルの構成要素モデルの内部に、テキスト形式で記述されることを特徴とする、ＥＣＵシミュレーション装置。
【請求項４】
請求項１乃至３記載のＥＣＵシミュレーション装置において、
当該ＥＣＵシミュレーション装置は、仮想サーバ上に用意された、複数の仮想計算機に実装され、前記故障注入テストパターンを、複数の仮想計算機に割り当てて、故障注入検証作業を並列実行することを特徴とする、ＥＣＵシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車の電子制御ソフトウェアのシミュレーション実行する支援技術に関する。
【背景技術】
【０００２】
自動車の操作や運動に関わる制御技術の電子化は、年々、増加する傾向にある。１台の自動車に搭載されるＥＣＵ（Elctronic Control Unit）と呼ばれるマイクロコンピュータ回路の数は、数１０個になり、これらＥＣＵに実装されるソフトウェア（以下、制御ソフトと呼ぶ）全体のサイズは、１００万行（主としてＣ言語によるソースコード）にも及ぶようになっている。このように制御ソフトウェアの開発規模は増加するものの、その開発期間を短縮することが要求されているため、制御ソフトの品質向上が、自動車メーカやサプライヤの大きな課題となっている。
【０００３】
特に、安全性に関わる設計は、ＩＳＯ２６２６２の規格に対応することが必須となりつつある。そしてＩＳＯ２６２６２における安全度水準（Automotive Safety Integrity Level：ＡＳＩＬ）で、ＡＳＩＬ−ＣもしくはＤで定義される製品に対しては、故障注入の検証が強く推奨されている。
【０００４】
従来の安全性設計では、設計者がＥＣＵの実機を用いて、ＥＣＵの端子ごとに、開放もしくは短絡させた場合の挙動をチェックする方法、もしくは、設計者が、故障モードを定義した資料を基に、机上でチェックする方法のいずれかが実施されている。
【０００５】
しかし、ＥＣＵによる電子制御は、年々、高機能・複雑化したことに伴って、故障検証項目は、およそ数１００から数１０００になると言われている。したがって、これらの方法で、設計者が、故障注入の検証項目を１件ずつ手作業により実施すると、全ての検証項目を完了させるためには、膨大な工数を要することになる。
【０００６】
最近になって、モデルベース開発手法（Model Beased Development；ＭＢＤ）と呼ばれるシミュレーションをベースにした設計手法が普及してきている。ＭＢＤによる制御開発のメリットの１つは、計算機によるシミュレーションを活用することで、従来、手作業により実施された検証作業を自動化できることにある。
【０００７】
このため、特許文献１に記載のように、ＥＣＵの実機とＥＣＵのシミュレータを組み合わせることで検証作業を効率化する技術が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２４６０４０号広報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＩＳＯ２６２６２においても、シミュレーションにより、上記のような検証作業を実施することが推奨されている。
【００１０】
しかし、特許文献１に記載のシミュレーション技術を用いた検証作業では、故障注入検証作業については考慮されておらず、故障注入の検証を効率良く行うことができなかった。
【課題を解決するための手段】
【００１１】
本発明は、上述した課題を解決するため、車載電子制御コントローラのモデルの作成及び／又は実行が可能な第１のシミュレーション手段と、車載電子制御コントローラに接続する装置のモデルの作成及び／又は実行が可能な第２のシミュレーション手段とが接続されたＥＣＵシミュレーション装置において、車載電子制御コントローラに接続する装置のモデルにおける故障状態を定義した故障モード定義と、故障注入テストのシナリオを定義した故障注入テストパターン及び故障注入テストデータを保有する記憶手段と、車載電子制御コントローラに接続する装置のモデルに対し、故障モード定義に格納されている故障状態の情報を挿入し、挿入した故障状態に対応する故障注入テストのシナリオを故障注入テストパターンに追加してテストを行う故障注入手段とを備え、車載電子制御コントローラに接続する装置のモデルへの故障注入テスト作業をシミュレーション技術により実行することを特徴とする。
【発明の効果】
【００１２】
本発明により、ＥＣＵの故障注入検証作業を効率良く実施できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例に関わる故障注入シミュレーション環境の構成を示す図
【図２】本発明の実施例に関わる故障注入の自動化作業手順を示す図
【図３】コンデンサモデルの記述例を示す図
【図４】コンデンサモデルに故障モードを追加した例を示す図
【発明を実施するための形態】
【００１４】
以下、本発明に関わるＥＣＵシミュレーション装置の実施形態を、図を用いて具体的に説明する。
【００１５】
図１は、本発明を用いた故障注入シミュレーションを実行するＥＣＵシミュレーション装置の構成を示す図である。ＥＣＵシミュレーション装置は、計算機１で実現され、ＥＣＵにおける故障注入シミュレーションを行う故障注入シミュレーション環境１１とこの故障注入シミュレーション環境１１を操作するためのユーザインタフェースツール１２が用意されている。
【００１６】
設計者２は、ユーザインタフェースツール１２を介して、故障注入シミュレーション環境１１を操作する。ユーザインタフェースツール１２の実体は、計算機１上で実行されるプログラムである。
【００１７】
故障注入シミュレーション環境１１は、大きく分けて、以下の５つの要素を備えている。マイコンモデルツール１１０１は、ＥＣＵに用いられるマイコンの論理的な動作をＣ言語ベースで記述したモデルを作成し、このモデルをシミュレーションするツールである。マイコンモデルツールは、制御ソフトをオブジェクト形式で動作させることができるため、ＥＣＵ実機の動作を、計算機１上で再現することができる。
【００１８】
回路モデルツール１１０２は、マイコンからの制御指令の信号をアクチュエータに伝達するためのドライバ回路や、アクチュエータの信号を検出するセンサ回路などを対象にモデルとして記述し、計算機１上でシミュレーションするためのツールである。プラントモデルツール１１０３は、アクチュエータや制御対象となる機械、電気、油圧などの部品を対象にモデルとして記述し、計算機１上でシミュレーションするためのツールである。
【００１９】
故障注入シミュレーション環境１１は、上述した３種類のモデルツールを連携させて、各モデルツールの出力を他のモデルツールの入力として使用することで、ＥＣＵを含む制御システム全体をシミュレーションさせることができる。
【００２０】
故障注入ツール１１０４は、故障注入の検証を実施するために、回路モデルツール１１０２で使用する回路モデルに対して、故障モードの情報を回路モデルに書き込むためのツールである。ストレージ１１０５には、抵抗やコンデンサなどの、回路を構成する各素子に対する故障モードを定義した故障モード定義ファイル１１１、故障注入テストパターン１１２及び故障注入テストデータ１１３がファイル形式で格納されている。また、ストレージ１１０５には、上述したマイコンモデル、回路モデル、プラントモデルを格納しておくことが可能であり、異なるＥＣＵ製品に対し用意した各モデルを使用して、共通の故障注入シミュレーション環境１１で、故障注入検証を実行することができる。
【００２１】
故障注入ツール１１０４は、図２に示すフローチャートの処理によって、故障注入検証のテスト生成を行い、テストの実行を制御することで故障注入の検証を行う。以下、故障注入ツール１１０４による作業を説明する。なお、テスト対象となるＥＣＵのマイコンモデル及び回路モデル、プラントモデルは、予め故障注入シミュレーション環境１１の各モデルツールに読み込まれているものとする。
【００２２】
設計者２から、ユーザインタフェースツール１２を介して、故障注入シミュレーション環境１１に対する故障注入検証実行が命令されると、ユーザインタフェースツール１２は、故障注入ツール１１０４を起動させる。故障注入ツール１１０４は、回路モデルツール１１０２上にある回路モデルを識別し、該当する回路モデルのファイルに記載されたモデル情報を読み込んで（２０１）、故障注入ツール１１０４内に記憶する。回路モデルツール１１０２が保持している回路モデルは、ドライバ回路やセンサ回路などのように、１つだけとは限らず、複数の回路で構成されている場合もある。その場合、故障注入ツール１１０４は、それぞれの回路モデルに対して、故障注入テストパターンの生成からテスト実行までを実施する。
【００２３】
回路モデルに記載されたモデル情報は、回路を構成する素子、素子間の接続情報、及び回路に対する入出力信号などである。読み込まれたこれらの回路モデルの情報は、ＶＨＤＬ−ＡＭＳと呼ばれるモデル記述言語に基づいて、テキスト形式のファイルとして故障注入ツール１１０４内に記録されているものとする。故障注入ツール１１０４は、回路モデルの構成要素の情報を分析して、回路モデルを構成する回路素子をリストアップする（２０２）。そして、各回路素子モデルに対する故障モード定義ファイル１１１をストレージ１１０５から読み込み（２０３）、故障モード定義ファイル１１１に記載された故障モードの情報を、対応する回路素子モデルに追加して埋め込む（２０４）。
【００２４】
故障モード定義ファイル１１１には、回路素子の種類ごとに検証すべき故障モードが記載されている。故障注入ツール１１０４は、ＶＨＤＬ−ＡＭＳ仕様の各素子モデル情報の中に、故障モード定義ファイルに記載された素子別の故障モードを、条件分岐の形で追記して埋め込むことで、正常動作時と故障時の動作をシミュレーション上で再現できるようにする。
【００２５】
ここで、故障モードの情報をモデルに埋め込む手順を、コンデンサを例にして説明する。図３（ａ）は、「ＯＮＥ」と命名されたコンデンサの素子モデルを模擬的に示した図である。モデルが内部に持つ情報として、端子ｐと端子ｍを持つコンデンサの静電容量がｃであるとする。コンデンサの電極の両端には、電荷量ｑが蓄積されており、このときの電位差をｖとする。電位差ｖが時間と共に変化すると、電荷量ｑも変化する。したがって、コンデンサを流れる電流ｉは、電荷量ｑの時間微分で与えられる。このようなコンデンサの特性を、ＶＨＤＬ−ＡＭＳにより記述すると、図３（ｂ）のように表現される。
【００２６】
故障注入ツール１１０４は、図３（ｂ）のようなコンデンサのモデル記述に対して、短絡（short）の故障モードを追加する場合を考える。ＶＭＤＬ−ＡＭＳはテキスト形式で記述されているので、故障注入ツール１１０４は、モデル記述に対し短絡故障が発生した場合の分岐情報をテキストで追記する。その結果、図４の下線部に示すような、コンデンサの回路特性を現す箇所に、ｉｆ−ｅｌｓｅの条件分岐の形で正常動作時の動作に対して故障時の動作を追加した形式に更新される。
【００２７】
また、ｆａｕｌｔという正常動作と故障の動作を区別し判定するための変数を故障注入テストパターン１１２に追加する（２０５）。故障注入ツール１１０４は、故障注入テストパターン１１２のファイルに、ｆａｕｌｔの変数情報を登録することにより、回路モデルツール１１０２のシミュレーションにおいて、全ての回路素子に対して、正常動作と故障の動作を自動的に切り替えて、テストパターンに従ったテストシナリオで全テストを実行することができる。
【００２８】
なお、設計者２は、ユーザインタフェースツール１２によって、故障注入ツール１１０４が作成した故障注入テストパターン１１２の情報を、計算機１の画面上で確認できる。また必要に応じて、設計者２は故障注入テストパターンに追加・修正などの編集を加えることができる。
【００２９】
故障注入ツール１１０４は、以上の手順で作成された故障注入テストパターン１１２に対して、マイコンモデルツール１１０１、回路モデルツール１１０２及びプラントモデルツール１１０３を連携させたシミュレーションを行うことでテストを実行し（２０６）、回路モデルの信号を観測した結果のテストデータを、故障注入テストデータ１１３としてストレージ１１０５に保存する（２０７）。そして、故障注入テストパターンとして定義された全てのテストが完了したか確認し（２０８）、全テストが完了するまでシミュレーションを続ける。
【００３０】
設計者２は、ストレージ１１０５に記録された故障注入テストデータ１１３のファイルを計算機１からダウンロードして、故障注入検証のレポートとして活用できる。
【００３１】
以上、説明した実施例により、設計者２の作業を大幅に削減した、故障注入検証作業を実現できる。
【００３２】
上述した実施例においては、回路モデルを対象とした故障注入検証の自動化を説明したが、プラントモデルに対しても、同様の手法によって、故障発生時のＥＣＵ制御ソフトのロバスト性検証に適用可能である。
【００３３】
また、上述した実施例は、１台の計算機を用いた場合についての実施手順であるが、仮想サーバ環境に用意された、複数の仮想計算機に、上述した故障注入シミュレーション環境を準備することも可能である。この場合、故障注入テストパターン１１２を、それぞれの仮想計算機上の故障注入シミュレーション環境に割り当てて、シミュレーションを並列実行することで、故障注入のテストに要する時間をさらに圧縮することができる。
【符号の説明】
【００３４】
１…計算機、
１１…故障注入シミュレーション環境、
１２…ユーザインタフェースツール
１１０１…マイコンモデルツール
１１０２…回路モデルツール
１１０３…プラントモデルツール
１１０４…故障注入ツール
１１０５…ストレージ
１１１…故障モード定義ファイル、
１１２…故障注入テストパターン、
１１３…故障注入テストデータ
【図１】
2014203314.tif 000003
【図２】
2014203314.tif 000004
【図３】
2014203314.tif 000005
【図４】
2014203314.tif 000006