(57)【要約】【課題】ＥＣＵ装置の故障注入検証に要する作業時間を短縮でき、ＥＣＵ製品の品質の低下を防止して、ＥＣＵ製品の信頼性向上に寄与することができるＥＣＵ故障注入シミュレーション装置を提供する。【解決手段】ＥＣＵ装置と車両との間での応動を模擬する複数の計算機を並列配置し、各計算機に対してＥＣＵ装置の故障についてのテストパターンを与え、ＥＣＵ装置と車両との間での応動をシミュレーションするＥＣＵ故障注入シミュレーション装置であって、計算機におけるテストパターンのシミュレーション実行時間をあらかじめ見積もる見積手段と、計算機におけるテストパターンのシミュレーション実行時間の合計の見積時間が、複数の計算機の間でばらつきが少なくなるように配分する配分手段を備えていることを特徴とするＥＣＵ故障注入シミュレーション装置。【選択図】図１
2020086701.tif 000002
【特許請求の範囲】
【請求項１】
ＥＣＵ装置と車両との間での応動を模擬する複数の計算機を並列配置し、各計算機に対してＥＣＵ装置の故障についてのテストパターンを与え、ＥＣＵ装置と車両との間での応動をシミュレーションするＥＣＵ故障注入シミュレーション装置であって、
前記計算機における前記テストパターンのシミュレーション実行時間をあらかじめ見積もる見積手段と、前記計算機における前記テストパターンのシミュレーション実行時間の合計の見積時間が、前記複数の計算機の間でばらつきが少なくなるように配分する配分手段を備えていることを特徴とするＥＣＵ故障注入シミュレーション装置。
【請求項２】
請求項１に記載のＥＣＵ故障注入シミュレーション装置であって、
前記見積手段における前記テストパターンのシミュレーション実行時間の見積もりは、シミュレーション対象部分の規模と実行時間についての予測テーブルに基づいて算出することを特徴とするＥＣＵ故障注入シミュレーション装置。
【請求項３】
請求項２記載のＥＣＵ故障注入シミュレーション装置であって、
前記予測テーブルは、過去のシミュレーション実行時間のデータに基づいて、線形回帰により予測値を決定することを特徴とするＥＣＵ故障注入シミュレーション装置。
【請求項４】
請求項３記載のＥＣＵ故障注入シミュレーション装置であって、
前記予測テーブルにおける線形回帰分析は、シミュレーションに用いるモデルの詳細度に応じて、複数の予測値を有することを特徴とするＥＣＵ故障注入シミュレーション装置。
【請求項５】
請求項２から請求項４のいずれか１項に記載のＥＣＵ故障注入シミュレーション装置であって、
新規の故障注入シミュレーションを実行する毎に、実行時間のデータを前記予測テーブルに追加して、線形回帰による予測値を更新することを特徴とするＥＣＵ故障注入シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車の電子制御装置の電子回路における故障発生をシミュレーションするＥＣＵ故障注入シミュレーション装置に関する。
【背景技術】
【０００２】
自動車の操作や運動に関わる制御技術の電子化は、年々、増加する傾向にある。１台の自動車に搭載されるＥＣＵ（Ｅｌｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と呼ばれる車載電子制御装置の数は、数１０個になり、これらＥＣＵに実装されるソフトウェア（以下、制御ソフトと呼ぶ）全体のサイズは、１００万行から１０００万行（主としてＣ言語によるソースコード）にも及ぶようになっている。
【０００３】
このような制御ソフトの開発規模は増加する一方で、その開発期間を短縮することが要求されている。そのため、短期間の開発における制御ソフトの品質維持もしくは向上が、自動車メーカやサプライヤの大きな課題となっている。特に、安全性に関わる設計は、ＩＳＯ２６２６２の規格に対応することが必須とされている。
【０００４】
ＩＳＯ２６２６２で定義された安全度水準（Ａｕｔｏｍｏｔｉｖｅ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌ：ＡＳＩＬ）によれば、ＡＳＩＬ−ＣもしくはＡＳＩＬ−Ｄで定義される製品に対しては、製品出荷時において、故障注入の検証が強く推奨されている。これは、ＥＣＵ製品が、市場にリリースされる際に、ユースケースの中で想定される故障モードに対して、安全性を侵害しないことを検証したエビデンスとして、提供することを目的としている。
【０００５】
このように、車載制御装置に対する安全性設計に対する要求は、高いものとなっている。ＩＳＯ２６２６２規格では、検証において、シミュレーション技術を利用することを推奨している。そこで、最近の技術動向として、ＥＣＵ装置を含むシステム全体をモデル化して、シミュレーションで、制御ソフトや故障注入を検証する技術を、量産開発に適用され始めている。
【０００６】
上記点に鑑み、現状において考えられているＥＣＵ装置に対するシミュレーションによる検証技術として以下の手法が知られている。
【０００７】
例えば特許文献１によれば、ＡＴＰＧによるテストパターンの発生を短時間で行い且つ無駄なテストパターンを生じさせない手法を提案している。
【０００８】
特許文献２によれば、テストパターンに基づいてシミュレーションを実行するときのシミュレーション時間を短縮させる手法を提案している。
【０００９】
特許文献３によれば、故障注入（テストパターンの実行）後の検証作業を効率よく実行する手法を提案している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−５８１７２号公報
【特許文献２】特開２０１５−２６１８４号公報
【特許文献３】特開２０１４−２０３３１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記手法は、ＥＣＵ装置に対するシミュレーションによる検証についての一連の処理を短時間に実行する上で有用なものではあるが、特に長時間を要するシミュレーション実行工程に要する時間を短縮する必要がある。
【００１２】
具体的には例えば、ＥＣＵ装置における１つの故障を模擬するテストパターンの故障注入を行い、この時の車両とＥＣＵ装置を含めた応動を例えば１秒間について模擬することを想定すると、シミュレーション完了までにテストパターンによっては数十分を要することがある。かつテストパターンは数百に及ぶことがあり、全体実行の完了までには多大の時間を要することになる。
【００１３】
特に、自動運転を高レベルで実行する場合などを想定すると、ＥＣＵ装置はより高機能化、複雑化してくることから、テストパターン数が増大し、かつ模擬時間を長くする必要があるなどの理由により、シミュレーション実行工程に要する時間はより長大化する方向にある。
【００１４】
かかる場合に、ＥＣＵ装置に対応する計算機装置を複数台、並列配置し、複数の計算機装置に複数のテストパターンを割り振って、並列実行させるＥＣＵ故障注入シミュレーション装置を構成することが時間短縮に有効である。
【００１５】
しかしながら、テストパターンによりその実行時間は相違しかつ実行時間が確定していないことから、並列配置した複数の計算機装置ごとの実行完了時間にはばらつきが生じてしまい、作業の完了までに時間がかかってしまい、作業効率が低い状態になることが避けられないものであった。
【００１６】
以上のことから本発明においては、ＥＣＵ装置の故障注入検証に要する作業時間を短縮でき、ＥＣＵ製品の品質の低下を防止して、ＥＣＵ製品の信頼性向上に寄与することができるＥＣＵ故障注入シミュレーション装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
本発明は、上述した課題を解決するため、「ＥＣＵ装置と車両との間での応動を模擬する複数の計算機を並列配置し、各計算機に対してＥＣＵ装置の故障についてのテストパターンを与え、ＥＣＵ装置と車両との間での応動をシミュレーションするＥＣＵ故障注入シミュレーション装置であって、計算機におけるテストパターンのシミュレーション実行時間をあらかじめ見積もる見積手段と、計算機におけるテストパターンのシミュレーション実行時間の合計の見積時間が、複数の計算機の間でばらつきが少なくなるように配分する配分手段を備えていることを特徴とするＥＣＵ故障注入シミュレーション装置。」としたものである。
【発明の効果】
【００１８】
本発明の実施例を実施することにより、ＥＣＵ装置の故障注入検証に要する作業時間を短縮できる。その結果、短い開発期間においても、ＥＣＵ製品の品質の低下を防止して、ＥＣＵ製品の信頼性向上に寄与できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例に係るＥＣＵシミュレーション装置の全体構成例を示す図。
【図２】各計算ノード１２ａ〜１２ｎに組み込まれている故障注入シミュレータ２の構成例を示した図。
【図３】本発明の実施例に係るテストパターン１３１の構成例を示す図。
【図４】本発明の実施例に係るテストレポートの具体例を示す図。
【図５】図１に示した管理サーバー１１内の管理プログラム１１１による故障注入テストの自動実行処理の手順を示す図。
【図６】本発明の実施例に係る予測テーブルの内容を示す図。
【図７】従来において同数のテストパターンを各計算ノードに割振った時の実際の実行時間を示す図。
【図８】本発明においてテストパターンの実行時間に応じて各計算ノードに割振った時の実際の実行時間を示す図。
【発明を実施するための形態】
【００２０】
以下、本発明の実施例について図面を参照して説明する。
【実施例】
【００２１】
図１は、本発明の実施例に係るＥＣＵ故障注入シミュレーション装置の全体構成例図である。
【００２２】
ＥＣＵ故障注入シミュレーション装置１は、計算機環境上に構築されたテスト自動実行のための装置群で構成されている。
【００２３】
図１において、管理サーバー１１は、端末３からの操作に基づいて、複数の故障注入シミュレーションの実行から終了までを管理する計算機である。管理ノード１１内に組み込まれた管理ソフト１１１によって故障注入テストの実行が全て管理されている。
【００２４】
計算ノード群１２は、あらかじめ定義されたテストパターンに基づいて、故障注入シミュレーションを実行する計算機群である。計算ノード群１２は、複数の計算ノード１２ａ〜１２ｎで構成されており、複数のテストパターンを並列に実行する。各計算ノード１２ａ〜１２ｎ内には、シミュレーション実行の実体である故障注入シミュレータ２（２ａ〜２ｎ）が組み込まれている。
【００２５】
ストレージ装置１３は、故障注入シミュレーションのテストパターン１３１およびシミュレーション実行結果１３２、予測テーブル１３３を格納するための記憶装置である。なお本発明の特徴である予測テーブル１３３は、後述する方法で、テストパターンに対する実行時間の見積りに利用する。本発明では、この見積り結果に基づいて、計算ノード１２ａ〜１２ｎへのテストパターンの割り当てを最適化して、装置全体のテスト実行時間の短縮を図る。
【００２６】
図２は、各計算ノード１２ａ〜１２ｎに組み込まれている故障注入シミュレータ２の構成例を示した図である。
【００２７】
故障注入シミュレータ２は、大きく分けて、マイコンシミュレータ２１、ＥＣＵ回路シミュレータ２２、および制御対象シミュレータ２３の３つのシミュレータが接続された構成となっている。上記構成により、マイコンシミュレータ２１、ＥＣＵ回路シミュレータ２２によりＥＣＵ装置を模擬しており、制御対象シミュレータ２３により周囲環境をも含む車両を模擬している。
【００２８】
マイコンシミュレータ２１の内部には、実機のＥＣＵで使用されているマイコンの挙動を記述したマイコンモデル２１１が組み込まれている。マイコンモデル２１１は、例えば、Ｃ言語のような高級言語によりマイコンの挙動を記述したソースコードを、マイコンシミュレータ２１で実行可能なバイナリ形式に変換されたモデルである。マイコンモデル２１１は、制御ソフトが、ＥＣＵの実機に実装されるのと同じファイル形式でロードして、実行することができる。
【００２９】
ＥＣＵ回路シミュレータ２２には、実機のＥＣＵ上でマイコンの周辺に実装されている、ドライバ回路やセンサ回路などのＥＣＵ回路モデル２２１が組み込まれている。
【００３０】
制御対象シミュレータ２３には、ＥＣＵの制御対象となる、ステアリング、ブレーキ、サスペンション、あるいは、車輛のモデルが組み込まれている。
【００３１】
図２のように構成された個々の故障注入シミュレータ２は、シミュレーション処理を以下のような手順で実行する。シミュレーションにおいてはまず、マイコンシミュレータ２１で、制御ソフトが起動すると、当該の制御ソフトからの指令値が、ＥＣＵ回路シミュレータ２２に送信されて、ＥＣＵ回路モデル２２１内の各回路素子の動作をシミュレーションする。ＥＣＵ回路モデル２２１で生成された制御信号は、制御対象シミュレータ２３に送信される。
【００３２】
制御対象シミュレータ２３内の制御対象モデル２３１では、制御信号に対する挙動を、制御対象シミュレータ２３上で再現する。制御対象モデル２３１の挙動は、フィードバック信号として、ＥＣＵ回路シミュレータ２２に戻される。
【００３３】
フィードバック信号は、ＥＣＵ回路モデル２２１で、変換処理されて、マイコンシミュレータ２１に戻される。
【００３４】
マイコンシミュレータ２１内のマイコンモデル２１１は、フィードバック信号を受信すると、マイコンモデル２１１上で動作している制御ソフトが、フィードバック信号に基づいて、新たな指令値を生成し、再び、ＥＣＵ回路シミュレータ２２に送信する。
【００３５】
上述した閉ループ動作を、テストシナリオで定められたシミュレーション時間の間、繰り返して、システム全体の動作を、計算機上で再現する。
【００３６】
故障注入シミュレータ２は、システム全体の定常動作を再現するだけでなく、ＥＣＵ回路上で、素子の故障が発生した場合の挙動を検証する。故障注入シミュレータ２は、前述したストレージ装置１３内に格納されたテストパターン１３１に基づいて、ＥＣＵ回路２２においてＥＣＵ回路モデル２２１のうち例えばＸの部分が故障して信号伝送ができない状態を模擬し、係る故障発生時のシステム挙動を模擬する。シミュレーション結果は、ストレージ１３にテストレポート１３２として記録される。
【００３７】
図１のストレージ装置１３には、前述したように、テストパターン１３１、テストレポート１３２および予測テーブル１３３が格納されている。
【００３８】
このうち、テストパターン１３１は、図３に示すように、複数のテストシナリオ１３１ａ〜１３１ｎで構成されている。故障注入シミュレーションでは、これらのテストシナリオ１３１ａ〜１３１ｎを全て実行する。なおテストパターン１３１は、図１の端末３から管理ノード１１を介して、ユーザーが自由に登録、削除が可能である。
【００３９】
テストレポート１３２は、例えば図４に示すような様式でシミュレーション結果を要約した内容が記載されたファイルである。テストレポート１３２には、実行日時の他にＥＣＵ回路モデル２２１上で故障を発生させた素子名（ＥｌｅｍｅｎｔＩＤ：Ｒ００１）、故障モード（Ｆａｕｌｔ  ｍｏｄｅ：ｏｐｅｎ）、故障検出時に制御ソフトが出力したフェールコード（Ｅｘｐｅｃｔａｔｉｏｎ  ｖａｌｕｅ（ｆａｉｌ  ｃｏｄｅ）：ｘｘｘｘｘ）、信号波形などが記録されている。全てのテストパターン１３１の実行が完了した後、ユーザーはテストレポート１３２を、自分の端末にダウンロードすることができる。
【００４０】
以上で説明した、ＥＣＵ故障注入シミュレーション装置１を用いて、本発明における故障注入テストの実行手順を、図５のフローチャート図を用いて説明する。図５のフローチャート図は、図１に示した管理サーバー１１内の管理プログラム１１１による故障注入テストの自動実行処理の手順を示している。
【００４１】
図５の処理フローにおける一連の処理においては、最初の処理ステップＳ１０１においてユーザーが端末３から、管理サーバー１１にログインする。
【００４２】
管理サーバー１１上には、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）が用意されており、ユーザーがテストパターンの登録および削除、テストレポートのダウンロード、シミュレーション開始命令などを、リモート環境で操作できるようになっている。ユーザーは、テストしたい内容に応じて、ストレージ装置１３に既に登録されているテストパターン１３１を再利用することもできるし、新規のテストパターン１３１を追加登録することも可能である。
【００４３】
ＧＵＩの上記機能を用いて、ユーザーは処理ステップＳ１０２において故障注入テストパターン１３１をストレージ装置１３に登録する。さらにその上で、テスト実行の設定が完了すると、ユーザーがＧＵＩ画面上でシミュレーション開始コマンドを管理プログラム１１１に対して送信する。これは、図５の処理ステップＳ１０３においてテスト実行命令を入力したことである。
【００４４】
ユーザーから実行開始を指示された管理プログラム１１１は、ストレージ装置１３に格納されているテストパターン１３１を、計算ノード群１２に割り当てて、各計算ノード１２ａ〜１２ｎにシミュレーション開始する指示コマンドを送信する。
【００４５】
ここで、テストパターンの割当てに際して、処理ステップＳ１０４では予測テーブル１３３に基づいて、個別のテストパターン１３１ａ〜１３１ｎの実行に必要な時間を算出する。予測テーブル１３３は、例えば図６に示すように構成されており、シミュレーションに用いるモデルに含まれるブロック数（モデル規模）に対するシミュレーション時間の関係が、例えば表形式で形成されている。処理ステップＳ１０４では、この関係をベースに個別のテストパターン１３１ａ〜１３１ｎの実行時間を算出する。これは、テストパターンのシミュレーション実行時間の見積もりを、シミュレーション対象部分の規模と実行時間についての予測テーブルに基づいて算出したものである。
【００４６】
図６のグラフは、過去に実行したシミュレーション時間の実測データを下に線形回帰分析により予測したシミュレーション時間である。また、モデルの詳細度に応じて、いくつかの予測時間を用意しても良い。なお、本発明の図６の実施例では、ブロック数（モデル規模）に対するシミュレーション時間についての過去経験をベースにして、同規模のモデルであれば過去経験上からの実行時間はほぼ等しいことを前提としての推定を行っているが、推定手法が上記のものに限定されるわけではない。
【００４７】
処理ステップＳ１０５では、管理プログラム１１１により、各計算ノード１２ａ〜１２ｎでテスト終了までの時間にばらつきが出ないように、テストパターンの組み合わせを算出する。つまり、各計算ノードへのテストパターン割り当てのスケジュールを生成する。
【００４８】
図７は、従来において個別のテストパターン１３１ａ〜１３１ｎの実行に必要な時間を考えずに、単に同数（図の例では４）のテストパターン１３１ａ〜１３１ｎを各計算ノード１２ａ〜１２ｎに割振った時の実際の実行時間を示しており、計算ノード１２ａ〜１２ｎごとに実行時間のばらつきが生じていることがわかる。
【００４９】
これに対し図８は、本発明による実行時間均等化割当て処理を実行した時の各計算ノード１２ａ〜１２ｎの実際の実行時間を示しており、図７に比較して均等化されていることがわかる。
【００５０】
処理ステップＳ１０６から処理ステップＳ１０８では、割当て後の各計算ノード１２ａ〜１２ｎにおけるシミュレーションが、割当られた全数のテストパターン１３１ａ〜１３１ｎについて、繰り返し実行される。
【００５１】
処理ステップＳ１０５の結果、図８に示すように、テスト実行時間が最適化されたテスト実行スケジュールが生成されて、処理ステップＳ１０６では各計算ノード１２ａ〜１２ｎにテストパターンが割り当てられる。
【００５２】
処理ステップＳ１０７では、各計算ノード１２ａ〜１２ｎは、テスト実行スケジュールに沿って、割当てられたテストパターンを実行し、そのテスト結果を保存するとともに、処理ステップＳ１０８では、テストが全て完了するまで、シミュレーションを繰り返し実行する。全てのシミュレーションが実行された後、各テストパターン１３１ａ〜１３１ｎに対するテストレポート１３２が生成されて、ストレージ装置１３に格納される。
【００５３】
ユーザーは、管理サーバー１１を介して、テストレポート１３２をダウンロードして、テストレビューや分析などに活用することができる。また、シミュレーション終了時に、管理プログラム１１１は、シミュレーション実行時間の実測データを予測テーブル１３３に追加して、図６に示す実行時間の予測グラフを更新することで、次回の故障注入テストでのシミュレーション時間の見積り精度を高めて、さらにテスト実行スケジュールを最適化できるようになる。
【符号の説明】
【００５４】
１…ＥＣＵ故障注入シミュレーション装置、２…ＥＣＵシミュレータ、３…端末、１１…管理サーバー、１２…計算ノード群、１３…ストレージ装置、２１…マイコンシミュレータ、２２…ＥＣＵ回路シミュレータ、２３…制御対象シミュレータ、１１１…管理プログラム、１３１…テストパターン、１３２…テストレポート、１３３…予測テーブル、２１１…マイコンモデル、２２１…ＥＣＵ回路モデル、２３１…制御対象モデル
【図１】
2020086701.tif 000003
【図２】
2020086701.tif 000004
【図３】
2020086701.tif 000005
【図４】
2020086701.tif 000006
【図５】
2020086701.tif 000007
【図６】
2020086701.tif 000008
【図７】
2020086701.tif 000009
【図８】
2020086701.tif 000010