(57)【要約】【課題】複数の演算装置を備える電子制御装置において、制御処理の過程で生じるエラー検出の遅れが蓄積することを抑制する。【解決手段】本発明に係る電子制御装置は、第１〜第３演算装置を備える。第３演算装置監視部は、第２演算装置監視部を起動する。第２演算装置監視部は、第３演算装置監視部によって起動されると、第１演算装置がエラーを出力したか否かを確認してその結果を第３演算装置に対して通知する。【選択図】図２
2018005490.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する電子制御装置であって、
前記制御対象を制御する処理を実行する第１演算装置、第２演算装置、および第３演算装置を備え、
前記第１演算装置は、前記第１演算装置が実行する制御演算が正常終了したか否かを前記第２演算装置に対して通知し、
前記第２演算装置は、前記第１演算装置がエラーを出力したか否かを監視する第２演算装置監視部を備え、
前記第３演算装置は、前記第２演算装置がエラーを出力したか否かを監視する第３演算装置監視部を備え、
前記第３演算装置監視部は、前記第２演算装置がエラーを出力したか否かを確認する前に、前記第２演算装置監視部を起動し、
前記第２演算装置監視部は、前記第３演算装置監視部によって起動されると、前記第１演算装置がエラーを出力したか否かを確認してその結果を前記第３演算装置に対して通知する
ことを特徴とする電子制御装置。
【請求項２】
前記第３演算装置監視部は、前記第２演算装置監視部よりも短い周期で動作する
ことを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記第２演算装置監視部と前記第３演算装置監視部は、互いに独立したタイマにしたがって動作し、
前記第２演算装置監視部は、前記第３演算装置監視部によって起動されると、自身が依拠するタイマをリセットする
ことを特徴とする請求項２記載の電子制御装置。
【請求項４】
前記第２演算装置監視部は、前記第１演算装置が制御演算を完了したか否かを監視し、
前記第２演算装置は、前記第１演算装置が制御演算を完了したことを前記第２演算装置監視部が確認すると、制御演算を開始し、
前記第３演算装置監視部は、前記第２演算装置が制御演算を完了したか否かを監視し、
前記第３演算装置は、前記第２演算装置が制御演算を完了したことを前記第３演算装置監視部が確認すると、制御演算を開始する
ことを特徴とする請求項１記載の電子制御装置。
【請求項５】
前記第２演算装置は、前記第１演算装置が実行した制御演算の結果を用いて制御演算を開始し、
前記第３演算装置は、前記第２演算装置が実行した制御演算の結果を用いて制御演算を開始する
ことを特徴とする請求項４記載の電子制御装置。
【請求項６】
前記第２演算装置は、前記第１演算装置が所定時間以内に制御演算を完了していないことを前記第２演算装置監視部が確認すると、その旨のエラーを出力し、
前記第３演算装置は、前記第２演算装置が所定時間以内に制御演算を完了していないことを前記第３演算装置監視部が確認すると、その旨のエラーを出力する
ことを特徴とする請求項４記載の電子制御装置。
【請求項７】
前記電子制御装置は、前記電子制御装置の動作を制御するオペレーティングシステムを実行し、
前記電子制御装置は、前記オペレーティングシステムを介して、前記第１演算装置、前記第２演算装置、および前記第３演算装置がそれぞれ実行する制御演算を完了するまでに要した正味の実行時間を監視する
ことを特徴とする請求項６記載の電子制御装置。
【請求項８】
前記第１演算装置は、他の演算装置が所定時間以内に制御演算を完了したか否かを監視する第１演算装置監視部を備え、
前記第１演算装置は、前記他の演算装置が所定時間以内に制御演算を完了していないことを前記第１演算装置監視部が確認すると、その旨のエラーを出力する
ことを特徴とする請求項１記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
車載制御装置などの電子制御装置は、シングルプロセッサによって構成されているものもあるし、演算量や故障への対処などの理由からマルチプロセッサによって構成されているものもある。各プロセッサは、処理性能向上の要求に対して、消費電力を抑制するなどの理由により、複数のプロセッサコア（マルチコア）を備えている場合がある。
【０００３】
下記特許文献１は、マルチコアマイコンを用いた電子制御装置について記載している。同文献においては、コア１の処理が出力したデータをコア２の入力とする構成を採用しており、コア１は処理完了するとコア２に対してその旨を通知する。同文献においては、この通知が誤りである場合に対処するため、コア１が出力する前回値と共有メモリに置かれた最新値とを比較し、両者が異なる場合など特定の条件を満たしたときのみ、コア２の処理を起動する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０８７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１記載の技術のように、他の演算装置が処理完了してから次の演算装置が処理開始する電子制御装置においては、前段の演算装置がエラーを出力すると後段の演算装置はそのエラーにしたがって処理を実行すると考えられる。このとき、後段の演算装置が前段の演算装置のエラーを検出することが遅れると、後段の演算装置がそのエラーに対して対処することが遅れ、さらに後段の演算装置においてもその遅れが蓄積して全体フローに支障を来す可能性がある。
【０００６】
本発明は、上記のような課題に鑑みてなされたものであり、複数の演算装置を備える電子制御装置において、制御処理の過程で生じるエラー検出の遅れが蓄積することを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る電子制御装置は、第１〜第３演算装置を備える。第３演算装置監視部は、第２演算装置監視部を起動する。第２演算装置監視部は、第３演算装置監視部によって起動されると、第１演算装置がエラーを出力したか否かを確認してその結果を第３演算装置に対して通知する。
【発明の効果】
【０００８】
本発明に係る電子制御装置によれば、第３演算装置が第１演算装置において生じたエラーを検出する際の検出遅れを抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る電子制御装置１０１の構成図である。
【図２】プロセッサコア１２１〜１２３間の処理とデータの流れを示す図である。
【図３】第２確認部２２３の動作を説明するフローチャートである。
【図４】プロセッサコア１２１において障害が発生した場合の各部動作を説明するタイムチャートである。
【図５】実施形態１で説明した機能を構成するためのソフトウェアアーキテクチャの例である。
【発明を実施するための形態】
【００１０】
＜実施の形態１＞
図１は、本発明の実施形態１に係る電子制御装置１０１の構成図である。電子制御装置１０１は、センサ１０２／アクチュエータ１０３と接続されている。電子制御装置１０１は、センサ１０２から得られる情報を入力として制御演算を実施し、アクチュエータ１０３に対して制御信号を出力する。アクチュエータ１０３は例えばブラシレスＤＣモータであり、センサ１０２は例えばホール素子である。
【００１１】
電子制御装置１０１は、マイクロコンピュータ１１０、入力回路１１１、出力回路１１２、電源回路１１３を備える。入力回路１１１は、センサ１０２から検出信号を受け取ってマイクロコンピュータ１１０へ引き渡す。出力回路１１２は、マイクロコンピュータ１１０からの制御信号をアクチュエータ１０３に対して出力する。電源回路１１３は、電子制御装置１０１が使用する電力を制御する。
【００１２】
マイクロコンピュータ１１０は、３つのプロセッサコア（ＰＣ）１２１〜１２３、ＩＯ１３０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５０、不揮発メモリ１６０を備える。これら要素はバスで接続されている。
【００１３】
図２は、プロセッサコア１２１〜１２３間の処理とデータの流れを示す図である。プロセッサコア１２１〜１２３が備える後述の各機能部は、プログラムモジュールとして実装することができる。各プロセッサコアはＲＯＭ１５０からプログラムを読み出し、ＲＡＭ１４０を一時記憶としてこれらプログラムを実行する。共有メモリ２０１〜２０３は、例えばＲＡＭ１４０上における各プロセッサコアが共有アクセスする記憶領域として構成することができる。共有メモリ２０１〜２０３が格納する各フラグの初期値は「無効」である。
【００１４】
プロセッサコア１２１は、第１制御部２１０、第１通知部２１１、第１監視部２１４、第１異常処理部２１５を備える。第１制御部２１０は、通常時における制御演算を実施する。第１通知部２１１は、第１制御部２１０の制御処理が完了した旨をプロセッサコア１２２に対して通知する。第１監視部２１４は、第３制御部２３０（後述）の制御処理が完了したか否かを監視する。第１異常処理部２１５は、異常処理を実施する。
【００１５】
プロセッサコア１２２は、第２制御部２２０、第２通知部２２１、第２被通知部２２２、第２確認部２２３、第２監視部２２４、第２異常処理部２２５を備える。第２制御部２２０は、通常時における制御演算を実施する。第２通知部２２１は、第２制御部２２０の制御処理が完了した旨をプロセッサコア１２３に対して通知する。第２被通知部２２２は、第１制御部２１０から制御処理が完了した旨の通知を受け取る。第２確認部２２３は、第１制御部２１０の制御処理が完了したか否か、およびプロセッサコア１２１がエラーを出力したか否かを確認する。第２監視部２２４は、第１制御部２１０の制御処理が所定期間内に完了したか否かを監視する。第２異常処理部２２５は、異常処理を実施する。
【００１６】
プロセッサコア１２３は、第３制御部２３０、第３被通知部２３２、第３確認部２３３、第３監視部２３４、第３異常処理部２３５を備える。第３制御部２３０は、通常時における制御演算を実施する。第３被通知部２３２は、第２制御部２２０から制御処理が完了した旨の通知を受け取る。第３確認部２３３は、第２制御部２２０の制御処理が完了したか否か、およびプロセッサコア１２２がエラーを出力したか否かを確認する。第３監視部２３４は、第２制御部２２０の制御処理が所定期間内に完了したか否かを監視する。第３異常処理部２３５は、異常処理を実施する。
【００１７】
＜実施の形態１：正常時の処理フロー＞
プロセッサコア１２１は、自身が備えるタイマにしたがって、第１制御部２１０を周期的に起動する。第１制御部２１０は、センサ１０２から受け取った信号を用いて制御演算を実施し、その結果を共有メモリ２０１に第１データとして出力する。第１制御部２１０は制御処理を完了すると、第１通知部２１１を起動する。
【００１８】
第１通知部２１１は、共有メモリ２０１上の第１完了フラグに「有効」を示す値を書き込み、第２被通知部２２２に対して制御処理完了を通知する。この通知の方法としては、スピンロックやセマフォなどの同期機構や割り込みを用いることができる。後述するその他通知部についても同様である。第２被通知部２２２は、第１通知部２１１から通知を受け取ると、起動元が第２被通知部２２２であることを示すデータとともに、第２確認部２２３を起動する。
【００１９】
第２確認部２２３は、第１完了フラグを読み取る。第１完了フラグが「有効」である（すなわち第１制御部２１０の制御処理が完了している）場合は、第２制御部２２０に第１データを引き渡して起動する。第２確認部２２３は、第１完了フラグを読み取った直後に、その値を「無効」に書き換える。
【００２０】
第２制御部２２０は、第１データを入力として制御処理を実施し、その結果を共有メモリ２０２に第２データとして出力する。第２制御部２２０は制御処理を完了すると、第２通知部２２１を起動する。
【００２１】
第２通知部２２１は、共有メモリ２０２上の第２完了フラグに「有効」を示す値を書き込み、第３被通知部２３２に対して制御処理完了を通知する。第３被通知部２３２は、第２通知部２２１から通知を受け取ると、起動元が第３被通知部２３２であることを示すデータとともに、第３確認部２３３を起動する。
【００２２】
第３確認部２３３は、第２完了フラグを読み取る。第２完了フラグが「有効」である場合は、第３制御部２３０に第２データを引き渡して起動する。第３確認部２３３は、第２完了フラグを読み取った直後に、その値を「無効」に書き換える。
【００２３】
第３制御部２３０は、第２データを入力として制御処理を実施し、その結果得られる制御信号をアクチュエータ１０３に対して出力する。第３制御部２３０は、制御処理を完了すると、共有メモリ２０３上の第３完了フラグを「有効」に書き換える。
【００２４】
＜実施の形態１：異常監視の処理フロー＞
第１制御部２１０は、センサ１０２からの信号が範囲外であるなどの異常を検出した場合は、共有メモリ２０１上の第１エラーフラグを「有効」に書き換える。
【００２５】
プロセッサコア１２２は、第２監視部２２４を周期的に起動する。第２監視部２２４の起動周期は、例えば第１制御部２１０が処理完了すると想定される周期に合わせてセットしておく。第２監視部２２４は、起動元が第２監視部２２４であることを示すデータとともに、第２確認部２２３を起動する。第２確認部２２３は、第１完了フラグが「無効」である（すなわち第１制御部２１０の制御処理が未完了である）、または第１エラーフラグが「有効」である場合は、第２異常処理部２２５を起動する。第２異常処理部２２５は、共有メモリ２０２上の第２エラーフラグを「有効」に書き換える。第２確認部２２３は、第１エラーフラグを読み取った直後に、その値を「無効」に書き換える。
【００２６】
プロセッサコア１２３は、第３監視部２３４を周期的に起動する。第３監視部２３４の起動周期は、例えば第２制御部２２０が処理完了すると想定される周期に合わせてセットしておく。第３監視部２３４は、起動元が第３監視部２３４であることを示すデータとともに、第３確認部２３３を起動する。第３確認部２３３は、第２完了フラグが「無効」である（すなわち第２制御部２２０の制御処理が未完了である）、または第２エラーフラグが「有効」である場合は、第３異常処理部２３５を起動する。第３確認部２３３は、第２エラーフラグを読み取った直後に、その値を「無効」に書き換える。
【００２７】
第３異常処理部２３５は、第３異常処理部２３５が異常を検出したことを示す情報を不揮発メモリ１６０に記録した後、アクチュエータ１０３を停止させた上で、プロセッサコア１２３をシャットダウンする。第２異常処理部２２５は、第２異常処理部２２５が異常を検出したことを示す情報を不揮発メモリ１６０に記録した後、一定時間待機してから、プロセッサコア１２２をシャットダウンする。
【００２８】
第３監視部２３４は、第３確認部２３３を起動する前に第２監視部２２４を起動する。この起動を実施するためには、例えば割り込みなどを利用することができる。第３監視部２３４は、第２監視部２２４を起動した後、第２確認部２２３の処理が終わるのを待つために一定時間待機してから、第３確認部２３３を介して第２完了フラグと第２エラーフラグを読み取る。第２確認部２２３の処理は各フラグを読み取るだけなので、第３監視部２３４の待機時間は小さい。第３監視部２３４が一定時間待機することに代えて、第２確認部２２３が処理完了後に第３監視部２３４に対してその旨を通知してもよい。これらの手続きにより、第２監視部２２４と第３監視部２３４は同期して動作する。
【００２９】
このように、処理の後段にあるプロセッサコア１２３上で動作する第３監視部２３４から、処理の前段にあるプロセッサコア１２２上で動作する第２監視部２２４を起動することにより、第２確認部２２３が検出した異常は、大きな時間を隔てることなく、第３確認部２３３に伝達される。これに対して、第２監視部２２４と第３監視部２３４が同期せずに動作すると、第２監視部２２４と第３監視部２３４との間の起動タイミングのずれに応じて、プロセッサコア１２２と１２３の間で、異常検出の伝達に遅延が生じる恐れがある。本実施形態１によれば、このような伝搬遅延が蓄積することを抑制できる。
【００３０】
プロセッサコア１２２は、第２監視部２２４を周期Ｔ２で起動する。プロセッサコア１２３は、第３監視部２３４を周期Ｔ３で起動する。第２監視部２２４を起動するタイマ、第３監視部２３４を起動するタイマ、第１制御部２１０を起動するタイマは、それぞれ独立のものである。第２監視部２２４と第３監視部２３４が処理未完了を誤検出しないように、Ｔ２とＴ３は第１制御部２１０の起動周期より大きな値が設定されている。また周期の制約としてＴ３≦Ｔ２とする。この制約により、第２監視部２２４は第３監視部２３４に同期して動作するのみならず、第３監視部２３４を起動するタイマに異常があることにより第３監視部２３４が起動されず、さらに第３監視部２３４により第２監視部２２４が起動されない場合であっても、第２監視部２２４は第１制御部２１０の処理未完了を監視することができる。
【００３１】
プロセッサコア１２１は制御演算の最前段に位置するが、第１監視部２１４は制御演算の最後段に位置するプロセッサコア１２３の第３制御部２３０の処理未完了を監視するため、周期的に起動して第３完了フラグを読み取る。この起動に用いられるタイマは、第１制御部２１０を起動するタイマなどとは別のものである。第１監視部２１４は、第３完了フラグを読み取った直後に、その値を「無効」に書き換える。第３完了フラグが「無効」であれば、第１監視部２１４は第１異常処理部２１５を起動する。第１異常処理部２１５はプロセッサコア１２１をシャットダウンする。第１監視部２１４により、全てのプロセッサコアの処理未完了を監視することができる。
【００３２】
第２確認部２２３、第３確認部２３３、および第１異常処理部２１５は、エラーカウンタを備えてもよい。この場合はそれぞれ、第１〜第３完了フラグが「有効」であればエラーカウンタをクリアし、「無効」であればエラーカウンタを＋１する。エラーカウンタが閾値を超えたとき、第２異常処理部２２５／第３異常処理部２３５／第１異常処理部２１５を起動する。
【００３３】
図３は、第２確認部２２３の動作を説明するフローチャートである。第３確認部２３３も同様のフローチャートにしたがって動作するので説明を省略する。以下図３の各ステップについて説明する。
【００３４】
（図３：ステップＳ３０１〜Ｓ３０２）
第２確認部２２３は、第１エラーフラグを読み込む（Ｓ３０１）。第１エラーフラグが「有効」である場合はステップＳ３０７に進み、それ以外の場合はステップＳ３０３に進む（Ｓ３０２）。
【００３５】
（図３：ステップＳ３０３）
第２確認部２２３は、第１完了フラグを読み込む。第１完了フラグが「無効」の場合はステップＳ３０６に進む。それ以外の場合はステップＳ３０４に進む。
【００３６】
（図３：ステップＳ３０４〜Ｓ３０５）
第２確認部２２３は、第２監視部２２４の起動タイマをリセットする（Ｓ３０４）。例えばタイマカウンタが時刻進行にともなってデクリメントして０になると第２監視部２２４を起動するタイマであれば、タイマカウンタをＴ２にセットする。第２確認部２２３は、第２制御部２２０を起動する（Ｓ３０５）。
【００３７】
（図３：ステップＳ３０６〜Ｓ３０７）
第２確認部２２３は、起動時に与えられたデータに基づき、起動元を判断する（Ｓ３０６）。起動元が第２監視部２２４であればステップＳ３０７に進み、第２被通知部２２２であれば本フローチャートを終了する。第２確認部２２３は、第２異常処理部２２５を起動する（Ｓ３０７）。
【００３８】
（図３：ステップＳ３０６〜Ｓ３０７：補足）
これらステップによれば、第２被通知部２２２に対して第１制御部２１０の処理完了が誤って通知された場合は、第２制御部２２０が誤って起動されることがない。ステップＳ３０６において起動元が第２被通知部２２２である場合は、その旨のログを取るなど、第２異常処理部２２５とは異なる異常処理を実施してもよい。
【００３９】
図４は、プロセッサコア１２１において障害が発生した場合の各部動作を説明するタイムチャートである。時刻ｔ１において第１制御部２１０に障害が発生し、処理が進まなくなったと仮定する。時刻ｔ２において、第３監視部２３４が起動される。時刻ｔ３において、第３監視部２３４は第２監視部２２４を起動する。時刻ｔ４までに第２監視部２２４は第１完了フラグの「無効」を確認し、第２エラーフラグを「有効」にする。時刻ｔ５において、第２監視部２２４は第２異常処理部２２５を起動する。時刻ｔ６までに、第３監視部２３４は第２エラーフラグの「有効」を確認し、時刻ｔ６において第３異常処理部２３５を起動する。第３監視部２３４は、第２監視部２２４を起動した後、時刻ｔ４より後に再起動するように、一定時間待機する。
【００４０】
＜実施の形態１：まとめ＞
本実施形態１に係る電子制御装置１０１においては、第３監視部２３４が第２監視部２２４を起動することにより、プロセッサコア１２３はプロセッサコア１２１において生じたエラーを早い段階で知ることができる。これにより、プロセッサコア１２１において生じたエラーがプロセッサコア１２３まで伝達されるのにともなう遅延の蓄積を抑制することができる。
【００４１】
本実施形態１に係る電子制御装置１０１は、各完了フラグが所定期間内に「有効」になっているか否かを確認することにより、各タスクが所定期間内に完了しているか否かを監視することができる。すなわち、デッドライン監視機能を実現することができる。
【００４２】
＜実施の形態２＞
図５は、実施形態１で説明した機能を構成するためのソフトウェアアーキテクチャの例である。プロセッサコア１２１〜１２３それぞれの上でリアルタイムＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）が動作し、リアルタイムＯＳの上で第１制御部２１０／第２制御部２２０／第３制御部２３０、第１監視部２１４／第２監視部２２４／第３監視部２３４、第２被通知部２２２／第３被通知部２３２が動作する。これらのプログラムはＯＳのタスクとして登録されている。各タスクの実行優先度は、相対的に第１制御部２１０／第２制御部２２０／第３制御部２３０が「中」、第１監視部２１４／第２監視部２２４／第３監視部２３４が「高」、第２被通知部２２２／第３被通知部２３２が「低」などとする。図示していないが、第１異常処理部２１５／第２異常処理部２２５／第３異常処理部２３５などもタスクとして登録されている。
【００４３】
リアルタイムＯＳは一般に、タスクの実行時間を監視する機能を備えている。実行時間監視機能を持つＯＳとしては、ＡＵＴＯＳＡＲ  ＯＳなどがある。ここでいう実行時間とは、タスクが開始されてから完了するまでに要した時間のうち、当該タスクが一時的に停止した時間を除いた正味の所用実行時間のことである。リアルタイムＯＳは、実行時間監視処理において、不揮発メモリ１６０が格納しているログから、デッドライン違反の原因となったタスクを特定する。例えば、第１制御部２１０／第２制御部２２０／第３制御部２３０を実行時間監視の対象とする。これにより、デッドライン違反があったとき、その原因が第１制御部２１０／第２制御部２２０／第３制御部２３０のいずれにあるのか、あるいはそれ以外の処理にあるのかを識別することができる。
【００４４】
実施形態１で説明した手法は、デッドライン違反が生じたことを検出できるが、その原因がいずれのタスクにあるのかを特定することは困難である。そこで本実施形態２のように実行時間監視機能をさらに用いて実行時間が長いタスクを特定することにより、デッドライン違反が生じたときその原因となったタスクを特定することができる。
【００４５】
＜本発明の変形例について＞
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換える事が可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について他の構成の追加・削除・置換をすることができる。
【００４６】
以上の実施形態においては、プロセッサコア間でエラーフラグや完了フラグを監視する構成を説明したが、同様の手法はマルチプロセッサシステムにおいてプロセッサ間でエラーフラグや完了フラグを監視する構成においても用いることができる。
【００４７】
以上の実施形態においては、共有メモリ２０１〜２０３はプロセッサコア間にそれぞれ設けられているが、単一の共有メモリに対して各プロセッサコアが並列接続するように構成してもよい。
【００４８】
以上の実施形態において、プロセッサコア１２１は、他のプロセッサコアから通知を受け取る第１通知部やその通知にしたがってログを確認する第１確認部を備えてもよい。またプロセッサコア１２３は、他のプロセッサコアに対して処理完了を通知する第３通知部を備えてもよい。
【００４９】
以上の実施形態においては、３つのプロセッサコア１２１〜１２３を備える構成を説明したが、４つ以上のプロセッサコアを備える構成においても同様の手法を採用して前段のエラーを早い段階で後段に通知することができる。
【００５０】
上記各構成、機能、処理部、処理手段等は、それらの一部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００５１】
１０１：電子制御装置
１２１〜１２３：プロセッサコア
２１０：第１制御部
２１１：第１通知部
２１４：第１監視部
２１５：第１異常処理部
２２０：第２制御部
２２１：第２通知部
２２２：第２被通知部
２２３：第２確認部
２２４：第２監視部
２２５：第２異常処理部
２３０：第３制御部
２３２：第３被通知部
２３３：第３確認部
２３４：第３監視部
２３５：第３異常処理部
【図１】
2018005490.tif 000003
【図２】
2018005490.tif 000004
【図３】
2018005490.tif 000005
【図４】
2018005490.tif 000006
【図５】
2018005490.tif 000007