(57)【要約】【課題】事前に想定していなかった原因による障害が発生した場合であっても障害発生条件を特定できる障害診断システム等を提供する。【解決手段】障害診断装置５は、相違信号集合を算出する（Ｓ１０５）。障害診断装置５は、比較した結果、値が相違する信号値が空集合となる正常時の時系列データが少なくとも一つ存在した場合には、比較対象の異常時の時系列データは障害発生条件を含まないと判断し、後続の処理対象から外す。障害診断装置５は、最大充足可能性問題の形に定式化する（Ｓ１０６）。障害診断装置５は、障害発生条件を算出する（Ｓ１０７）。障害診断装置５は、Ｓ１０６にて定式化した最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する。【選択図】図４
2010218492.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断システムであって、
診断対象のシステムにおける正常時と異常時のデータログを取得するデータログ取得手段と、
前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた時系列データを生成する時系列データ生成手段と、
異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号値の集まりを相違信号集合として算出する相違信号集合算出手段と、
全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化する定式化手段と、
前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する障害発生条件算出手段と、
を具備することを特徴とする障害診断システム。
【請求項２】
前記相違信号集合算出手段は、比較した結果、値が相違する信号値が空集合となる正常時の時系列データが少なくとも一つ存在した場合には、比較対象の異常時の時系列データは障害発生条件を含まないと判断し、後続の処理対象から外すことを特徴とする請求項１に記載の障害診断システム。
【請求項３】
前記相違信号集合算出手段は、１時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出することを特徴とする請求項１または請求項２に記載の障害診断システム。
【請求項４】
前記相違信号集合算出手段は、複数時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出することを特徴とする請求項１から請求項３のいずれかに記載の障害診断システム。
【請求項５】
複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断装置であって、
診断対象のシステムにおける正常時と異常時のデータログを入力するデータログ入力手段と、
前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた時系列データを生成する時系列データ生成手段と、
異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号の集まりを相違信号集合として算出する相違信号集合算出手段と、
全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化する定式化手段と、
前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する障害発生条件算出手段と、
を具備することを特徴とする障害診断装置。
【請求項６】
複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断方法であって、
診断対象のシステムにおける正常時のデータログを取得し、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた正常時の時系列データを生成するステップと、
診断対象のシステムにおける異常時のデータログを取得し、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた異常時の時系列データを生成するステップと、
異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号の集まりを相違信号集合として算出するステップと、
全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化するステップと、
前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出するステップと、
を含むことを特徴とする障害診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断システム、障害診断装置および障害診断方法に関するものである。
【背景技術】
【０００２】
近年、複数のモジュールが協調動作するシステムにおいて、システムの大規模化に伴い、障害診断が難しくなってきている。協調動作システムの一例としては、車両に搭載される車載システムがある。車載システムでは、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して互いにデータの送受信を行い、協調して動作を行っている。その為、あるＥＣＵが故障すると他のＥＣＵにも異常が伝搬してしまい、障害の診断をすることが難しい。
【０００３】
特許文献１には、機器設備の障害を診断する仕組みが記載されている。特許文献１では、発生する障害として、計測データの発生源である機器設備のハードウェア故障を想定している。ハードウェア故障が発生すると、機器設備の動作特性の変化に起因して一部の計測データに異常が生じる。そこで、事前に機器設備の正常動作時の計測データから正常挙動モデル（機器設備の計測データ間の関係モデル）を構築しておく。異常検知後、正常挙動モデルに基づいて、障害（ハードウェア故障）が発生しなかった場合に得られる計測データを推定する。そして、推定データと、異常検知時に得られた実測データを比較することで異常となった計測項目を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２１２６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の仕組みでは、潜在的なバグが原因で発生する障害のように、機器設備の動作特性が正常時と障害発生時とで変化しない障害を想定していない。一方、協調動作システムでは、大規模化に伴ってシステム全体が複雑化しており、潜在的なバグが原因で発生する障害など事前に想定していなかった原因による障害が増加している。
【０００６】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、事前に想定していなかった原因による障害が発生した場合であっても障害発生条件を特定できる障害診断システム等を提供することである。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために第１の発明は、複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断システムであって、診断対象のシステムにおける正常時と異常時のデータログを取得するデータログ取得手段と、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた時系列データを生成する時系列データ生成手段と、異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号値の集まりを相違信号集合として算出する相違信号集合算出手段と、全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化する定式化手段と、前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する障害発生条件算出手段と、を具備することを特徴とする障害診断システムである。
【０００８】
第１の発明における前記相違信号集合算出手段は、比較した結果、値が相違する信号値が空集合となる正常時の時系列データが少なくとも一つ存在した場合には、比較対象の異常時の時系列データは障害発生条件を含まないと判断し、後続の処理対象から外す。
【０００９】
また、第１の発明における前記相違信号集合算出手段は、例えば、１時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出する。また、第１の発明における前記相違信号集合算出手段は、例えば、複数時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出する。
【００１０】
第２の発明は、複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断装置であって、診断対象のシステムにおける正常時と異常時のデータログを入力するデータログ入力手段と、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた時系列データを生成する時系列データ生成手段と、異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号の集まりを相違信号集合として算出する相違信号集合算出手段と、全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化する定式化手段と、前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する障害発生条件算出手段と、を具備することを特徴とする障害診断装置である。
【００１１】
第３の発明は、複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断する障害診断方法であって、診断対象のシステムにおける正常時のデータログを取得し、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた正常時の時系列データを生成するステップと、診断対象のシステムにおける異常時のデータログを取得し、前記データログに含まれる複数の信号を加工して、加工後の信号の値を同一時刻ごとに纏めた異常時の時系列データを生成するステップと、異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、値が相違する信号の集まりを相違信号集合として算出するステップと、全ての前記相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化するステップと、前記最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出するステップと、を含むことを特徴とする障害診断方法である。
【発明の効果】
【００１２】
本発明により、事前に想定していなかった原因による障害が発生した場合であっても障害発生条件を特定できる障害診断システム等を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】障害診断システム１の概略構成を示す図
【図２】障害診断装置５を実現するコンピュータのハードウェア構成図
【図３】データログ取得装置７のハードウェア構成図
【図４】障害診断システム１の処理全体を示すフローチャート
【図５】正常時の時系列データの一例を示す図
【図６】異常時の時系列データの一例を示す図
【図７】抽出前の異常時の時系列データの一例を示す図
【図８】抽出後の異常時の時系列データの一例を示す図
【図９】第１の相違信号集合算出処理の詳細を示すフローチャート
【図１０】相違信号集合の算出結果の一例を示す図
【図１１】相違信号集合の算出結果の一例を示す図
【図１２】最大充足可能性問題の制約条件となる論理式の一例を示す図
【図１３】各信号の値が障害発生条件の構成要素であることを否定する論理式の一例を示す図
【図１４】障害発生条件算出処理の詳細を示すフローチャート
【図１５】第２の相違信号集合算出処理の詳細を示すフローチャート
【発明を実施するための形態】
【００１４】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
【００１５】
図１は、障害診断システム１の概略構成を示す図である。障害診断システム１は、複数の機能モジュールが互いに信号をやり取りすることにより動作するシステムにおいて発生した障害を診断するためのシステムである。診断対象のシステムとしては、複数のＥＣＵを搭載する車載システムなどがある。
図１に示すように、障害診断システム１は、障害診断装置５、データログ取得装置７、障害検知装置９等から構成される。診断対象の車載システム３は、データログ取得装置７、障害検知装置９、複数のＥＣＵ１１等がＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの車載ネットワーク１３や無線通信などを介して接続されている。データログ取得装置７は、車載システム３に搭載されている。一方、障害診断装置５と障害検知装置９は、例えばコンピュータであって、車載システム３に搭載される必要はない。
【００１６】
障害診断装置５は、正常時と異常時のデータログを入力として、車載システム３において発生した障害を診断する。データログは、車載ネットワーク１３に流れる複数の信号の値である。障害診断装置５の出力は、障害発生条件である。障害発生条件は、信号の値または信号の値の組み合わせである。例えば、発生した障害に対して、車速を示す信号がＡｋｍ／ｈ、操舵角を示す信号がＢ度であることが障害発生条件という具合である。
【００１７】
データログ取得装置７は、車載ネットワーク１３に流れる複数の信号の値をデータログとして取得する。取得したデータログは、無線で遠隔にあるコンピュータに送信しても良いし、ケーブル等を介してコンピュータに送信しても良い。
障害検知装置９は、障害の発生を検知し、障害が発生したことをデータログ取得装置７に通知する。障害検知装置９は、例えば、車両に搭載されている各種のセンサから障害発生を示すダイアグ信号を受信すると、障害が発生したと判断する。また、車両の運転者が障害の発生を検知したときに、入力装置等によってその旨を入力するようにしても良い。
データログ取得装置７は、常にデータログを記録し、特定の期間は記録を残すようにしておく。そして、障害検知装置９から障害発生の通知を受けると、記録しているデータログの中から障害発生の通知を受けた前後のデータログは、異常時のデータログとして記録する。一方、正常時のデータログは、車両の実験走行時などに取得して記録する。正常時のデータログは、様々な走行環境で取得することが望ましい。
ＥＣＵ１１は、診断対象のシステムにおける各機能を実現する。
【００１８】
図２は、障害診断装置５を実現するコンピュータのハードウェア構成図である。尚、図２のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
図２に示すように、障害診断装置５は、制御部２１、記憶部２２、メディア入出力部２３、通信制御部２４、入力部２５、表示部２６、周辺機器Ｉ／Ｆ部２７等が、バス２８を介して接続される。
【００１９】
制御部２１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。ＣＰＵは、記憶部２２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス２８を介して接続された各装置を駆動制御し、障害診断装置５が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部２２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部２１が各種処理を行う為に使用するワークエリアを備える。
【００２０】
記憶部２２は、ＨＤＤ（ハードディスクドライブ）であり、制御部２１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部２１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２１】
メディア入出力部２３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
通信制御部２４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク２９間の通信を媒介する通信インタフェースであり、ネットワーク２９を介して、他のコンピュータ間との通信制御を行う。
【００２２】
入力部２５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部２５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部２６は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００２３】
周辺機器Ｉ／Ｆ（インタフェース）部２７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部２７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部２７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
バス２８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２４】
図３は、データログ取得装置７のハードウェア構成図である。尚、図３のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
図３に示すように、データログ取得装置７は、制御部３１、記憶部３２、周辺機器Ｉ／Ｆ部３３、通信インタフェース３４等で構成される。
【００２５】
制御部３１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。ＣＰＵは、記憶部３２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、モジュール５全体を駆動制御する。
ＲＯＭは、不揮発性メモリであり、処理に必要なプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部３２、ＲＯＭ等からロードしたプログラム、データ等を一時的に保持するとともに、制御部３１が各種処理を行う為に使用するワークエリアを備える。
【００２６】
記憶部３２は、制御部３１が実行するプログラム、プログラム実行に必要なデータ等が格納される。これらの各プログラムコードは、制御部３１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
周辺機器Ｉ／Ｆ（インタフェース）部２７は、データログ取得装置７に周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部２７を介してデータログ取得装置７は周辺機器とのデータの送受信を行う。周辺機器は、遠隔のコンピュータと無線で通信するための無線通信機器、コンピュータと有線で通信するための各種ケーブル等である。
通信インタフェース３４は、データログ取得装置７と車載ネットワーク１３間の通信を媒介する。
【００２７】
図４は、障害診断システム１の処理全体を示すフローチャートである。
図４に示すように、データログ取得装置７は、正常時のデータログを取得する（Ｓ１０１）。正常時のデータログは、障害診断装置５に送信されて記憶部２２に記憶される。
次に、障害診断装置５は、正常時の時系列データを生成する（Ｓ１０２）。
【００２８】
図５は、正常時の時系列データの一例を示す図である。時系列データは、データログに含まれる各信号の値を入力としたとき、各ＥＣＵ１１の処理結果が変わらない範囲、例えば、プログラム中の条件分岐やジャンプ部で同じ動きをする範囲を同値とみなし、同値とみなす範囲に信号の値を分割して変換し、同一時刻ごとに纏めたデータである。例えば、車速を示す信号の場合、０ｋｍ／ｈであれば０、０ｋｍ／ｈ〜５ｋｍ／ｈであれば１、５ｋｍ／ｈ〜２０ｋｍ／ｈであれば２、・・・といった具合に変換する。
図５に示すように、例えば、Ｎｏ．が「Ｘ１」の正常時の時系列データは、信号１が「０」、信号２が「１」、信号３が「０」、信号４が「１」、信号５が「０」である。
【００２９】
図４の説明に戻ると、データログ取得装置７は、異常時のデータログを取得する（Ｓ１０３）。異常時のデータログは、障害検知装置９から通知を受けたときの前後のデータログであり、障害診断装置５に送信されて記憶部２２に記憶される。
次に、障害診断装置５は、異常時の時系列データを生成する（Ｓ１０４）。
【００３０】
図６は、異常時の時系列データの一例を示す図である。図６に示すデータは、図５に示す正常時の時系列データと同じように、同値とみなす範囲に信号の値を分割して変換し、同一時刻ごとに纏めたデータである。図６に示すデータでは、データ容量を圧縮する為、信号の値の組み合わせが変化する時刻のみを抽出するようにしている。
【００３１】
図７は、抽出前の異常時の時系列データの一例を示す図である。図８は、抽出後の異常時の時系列データの一例を示す図である。
図７に示すように、取得時刻が「ｔ２」のデータは、取得時刻が「ｔ１」のデータと比較して変化がない。そこで、図８に示すように、取得時刻が「ｔ２」のデータは抽出しない。次に、取得時刻が「ｔ３」のデータは、取得時刻が「ｔ２」のデータと比較して信号１、信号５の値が変化している。そこで、図８に示すように、取得時刻が「ｔ３」のデータを抽出する。同様に、取得時刻が「ｔ５」と「ｔ６」のデータは、それぞれ一時刻前のデータと信号の値が変化していることから抽出対象となる。
尚、データ容量を圧縮するためのデータの抽出は、一定時間間隔ごとに抽出するようにしても良い。
【００３２】
図４の説明に戻ると、障害診断装置５は、相違信号集合を算出する（Ｓ１０５）。相違信号集合は、異常時の時系列データのそれぞれを全ての正常時の時系列データと比較した結果、値が相違する信号値の集まりである。障害診断装置５は、比較した結果、値が相違する信号値が空集合となる正常時の時系列データが少なくとも一つ存在した場合には、比較対象の異常時の時系列データは障害発生条件を含まないと判断し、後続の処理（Ｓ１０６以降の処理）対象から外す。
【００３３】
図９は、第１の相違信号集合算出処理の詳細を示すフローチャートである。図９では、１時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出する。
図９に示すように、障害診断装置５の制御部２１は、正常時の時系列データＸｉの番号を示す添え字ｉ、異常時の時系列データＹｊの番号を示す添え字ｊにそれぞれ１を代入する（Ｓ２０１）。
次に、制御部２１は、正常時の時系列データＸｉと異常時の時系列データＹｊの相違を算出する（Ｓ２０２）。
【００３４】
図１０は、相違信号集合の算出結果の一例を示す図である。図１０は、図６に示すＮｏ．が「Ｙ１」の異常時の時系列データと、図５に示す全ての正常時の時系列データとを比較した結果である。
Ｎｏ．が「Ｙ１」の異常時の時系列データは、信号１が「１」、信号２が「３」、信号３が「１」、信号４が「０」、信号５が「１」である。Ｎｏ．が「Ｘ１」の正常時の時系列データは、信号１が「０」、信号２が「１」、信号３が「０」、信号４が「１」、信号５」が０である。これらを比較すると、全ての信号の値が相違することから、図１０に示すように、Ｎｏ．が「Ｄ１」の相違信号集合は、｛Ｓ１ｆ、Ｓ２ｆ、Ｓ３ｆ、Ｓ４ｆ、Ｓ５ｆ｝となる。ここで、Ｓ１ｆは障害発生時における信号１の値、この例ではＹ１の信号１の値を意味する。
【００３５】
図９の説明に戻ると、障害診断装置５の制御部２１は、Ｓ２０２の結果、正常時の時系列データＸｉと異常時の時系列データＹｊの相違がある場合（Ｓ２０３のＹｅｓ）、Ｓ２０４に進む。一方、制御部２１は、Ｓ２０２の結果、正常時の時系列データＸｉと異常時の時系列データＹｊの相違がない場合（Ｓ２０３のＮｏ）、Ｓ２０６に進む。
【００３６】
Ｓ２０４では、制御部２１は、添え字ｉと、正常時の時系列データＸｉの最終番号ｍを比較し、添え字ｉがｍより小さくない場合（Ｓ２０４のＮｏ）、添え字ｉにｉ＋１を代入し（Ｓ２０５）、Ｓ２０２から繰り返す。一方、制御部２１は、添え字ｉと、正常時の時系列データＸｉの最終番号ｍを比較し、添え字ｉがｍより小さい場合（Ｓ２０４のＹｅｓ）、現在処理対象の異常時の時系列データＹｊに障害発生条件が含まれるとして、全ての相違信号集合を記憶部２２またはＲＡＭに保存し（Ｓ２０８）、処理を終了する。
【００３７】
Ｓ２０６では、制御部２１は、添え字ｊと、異常時の時系列データＹｊの最終番号ｎを比較し、添え字ｊがｎより小さくない場合（Ｓ２０６のＮｏ）、添え字ｊにｊ＋１を代入し（Ｓ２０７）、Ｓ２０２から繰り返す。一方、制御部２１は、添え字ｊと、異常時の時系列データＹｊの最終番号ｎを比較し、添え字ｊがｎより小さい場合（Ｓ２０６のＹｅｓ）、処理を終了する。尚、このケースでは、障害発生条件を特定できないことになる。この場合、図１５の説明にて後述するように、複数時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較していくことになる。
【００３８】
図１０に示す例では、Ｎｏ．が「Ｄ６」の相違信号集合が｛φ｝（空集合）になっている。この場合、Ｓ２０３の判定結果がＮｏになることから、制御部２１は、Ｓ２０６に進む。相違信号集合が空集合になることは、異常時の時系列データＹｊ（ｊ＝１）が正常時の時系列データＸｉ（ｉ＝６）と一致することを意味する。従って、ｊ＝１に対応する時刻には、障害が発生していないと推定できる。
【００３９】
図１１は、相違信号集合の算出結果の一例を示す図である。図１１は、図６に示すＮｏ．が「Ｙ２」の異常時の時系列データＹｊ（ｊ＝２）と、図５に示す全ての正常時の時系列データとを比較した結果である。
図１１に示す例では、相違信号集合が全て空集合ではない。この場合、Ｓ２０３の判定結果が常にＹｅｓとなり、添え字ｉについて最後の番号まで処理を行うと、Ｓ２０４の判定結果がＹｅｓとなり、制御部２１は、Ｓ２０８に進む。このケースでは、異常時の時系列データＹｊ（ｊ＝２）が正常時の時系列データＸｉとのいずれとも一致しないことを意味する。従って、ｊ＝２に対応する時刻には、障害が発生していると推定できる。
【００４０】
図４の説明に戻ると、障害診断装置５の制御部２１は、最大充足可能性問題（ＭＡＸＳＡＴ）の形に定式化する（Ｓ１０６）。最大充足可能性問題とは、重み付きの節（ｃｌａｕｓｅ）の集合が与えられたときに、充足する節の重みの和を最大にする割り当てを求める問題である。節とは、ｎ個の変数ｘ１,・・・,ｘｎとその否定¬ｘ１,・・・, ¬ｘｎの中から、いくつかを論理和（∨）でつなげた論理式である。
制御部２１は、全ての相違信号集合を充足することを制約条件とし、各信号の値が障害発生条件の構成要素であることを否定する論理式に同じ重みを設定することで最大充足可能性問題の形に定式化する。
【００４１】
図１２は、最大充足可能性問題の制約条件となる論理式の一例を示す図である。図１２は、図１１の例における最大充足可能性問題の制約条件となる論理式を示している。
障害診断装置５の制御部２１は、Ｓ１０５にて算出した相違信号集合から、最大充足可能性問題の制約条件となる論理式を導出する。例えば、制御部２１は、図１１に示すＮｏ．が「Ｄ１」の相違信号集合｛Ｓ２ｆ、Ｓ３ｆ、Ｓ４ｆ｝から、図１２に示すＮｏ．が「Ｌ１」の論理式ｃｄ（Ｓ２ｆ）∨ｃｄ（Ｓ３ｆ）∨ｃｄ（Ｓ４ｆ）を導出する。ここで、例えば、ｃｄ（Ｓ２ｆ）は、信号２の値が障害発生条件の一つを構成するときに真となる。
制御部２１は、図１２に示す７つの論理式の全てを最大充足可能性問題の制約条件として定式化する。
【００４２】
図１３は、各信号の値が障害発生条件の構成要素であることを否定する論理式の一例を示す図である。
図１３に示すように、例えば、信号１が障害発生条件の構成信号であることを否定する論理式は、¬ｃｄ（Ｓ１ｆ）である。制御部２１は、全ての信号の値について、障害発生条件の構成信号であることを否定する論理式を導出し、それぞれの論理式に同じ重みを設定することで、最大充足可能性問題として定式化する。
図１１の例では、図１２に示す論理式（Ｎｏ．が「Ｌ１」〜「Ｌ７」）を制約条件とし、図１３に示す論理式（Ｎｏ．が「Ｌ１１」〜「Ｌ１７」）に同じ重みを設定した最大充足可能性問題が定式化される。
【００４３】
図４の説明に戻ると、障害診断装置５は、障害発生条件を算出する（Ｓ１０７）。障害診断装置５は、Ｓ１０６にて定式化した最大充足可能性問題の解を算出し、算出された解を否定する論理式を制約条件として逐次追加して再度解を算出する処理を、解が存在しなくなるまで繰り返すことで、障害発生条件となる信号の値または信号の値の組み合わせを算出する。
【００４４】
図１４は、障害発生条件算出処理の詳細を示すフローチャートである。
図１４に示すように、障害診断装置５の制御部２１は、最大充足可能性問題の解を算出する（Ｓ３０１）。初回のＳ３０１の処理では、制御部２１は、図４のＳ１０６にて定式化した最大充足可能性問題のミニマム解を算出する。ミニマム解とは、信号を１つでも削るとｓａｔｉｓｆｉａｂｌｅにならない解である。
【００４５】
次に、制御部２１は、解が存在したかどうか確認する（Ｓ３０２）。
解が存在する場合、制御部２１は、算出された解を否定する論理式を制約条件として追加し（Ｓ３０３）、Ｓ３０１に進む。２回目以降のＳ３０１の処理では、制御部２１は、Ｓ３０３にて追加された制約条件を含めた最大充足可能性問題のミニマム解を算出する。
一方、解が存在しない場合、制御部２１は、算出された全ての解の和集合を障害発生条件として保存する（Ｓ３０４）。正常時の時系列データが十分に多い場合、ミニマム解の和集合が真の障害発生条件に収束すると考えられる。
【００４６】
図１２に示す論理式（Ｎｏ．が「Ｌ１」〜「Ｌ７」）を制約条件とし、図１３に示す論理式（Ｎｏ．が「Ｌ１１」〜「Ｌ１７」）に同じ重みを設定した最大充足可能性問題を解くと、例えば、最初のミニマム解として、｛Ｓ１ｆ、Ｓ２ｆ｝が算出される（Ｓ３０１）。解が算出されたことから（Ｓ３０２のＹｅｓ）、算出された解を否定する論理式を制約条件として追加する（Ｓ３０３）。算出された解に対応する論理式は、ｃｄ（Ｓ１ｆ）∧ｃｄ（Ｓ２ｆ）である。この論理式を否定する論理式は、¬ｃｄ（Ｓ１ｆ）∨¬ｃｄ（Ｓ２ｆ）である。
次に、¬ｃｄ（Ｓ１ｆ）∨¬ｃｄ（Ｓ２ｆ）の論理式を制約条件として追加し、最大充足可能性問題を解くと、次のミニマム解として、｛Ｓ２ｆ、Ｓ５ｆ｝が算出される（Ｓ３０１）。解が存在することから（Ｓ３０２のＹｅｓ）、算出された解を否定する論理式を制約条件として追加する（Ｓ３０３）。算出された解に対応する論理式は、ｃｄ（Ｓ２ｆ）∧ｃｄ（Ｓ５ｆ）である。この論理式を否定する論理式は、¬ｃｄ（Ｓ２ｆ）∨¬ｃｄ（Ｓ５ｆ）である。
次に、¬ｃｄ（Ｓ２ｆ）∨¬ｃｄ（Ｓ５ｆ）の論理式を制約条件として追加し、最大充足可能性問題を解くと、解は存在しない（Ｓ３０１）。解が存在しないことから（Ｓ３０２のＮｏ）、算出された全ての解の和集合を障害発生条件として保存する（Ｓ３０４）。この場合の障害発生条件は、｛Ｓ１ｆ、Ｓ２ｆ、Ｓ５ｆ｝となる。
ミニマム解の和集合を障害発生条件とする理由は、正常時の時系列データが多くなると、ミニマム解の和集合が真の障害発生条件に近づくと考えられるからである。例えば、図６において、Ｙ２中の信号２が「３」、信号５が「０」が真の障害発生条件であった場合を考える。正常時データが、信号２が「３」、かつ信号５が「０」であるデータを含んでいない図５に示すＸ１〜Ｘ７だった場合は、前述のように、ミニマム解の和集合は、｛Ｓ１ｆ、Ｓ２ｆ、Ｓ５ｆ｝となる。正常時の時系列データがさらに多い状態を考えると、相違信号が極力少ない正常時データが存在する状況が考えられる。最も相違信号が小さい正常時データとしては、Ｙ２中の信号２以外のすべての信号が同じ値であるデータ、つまり信号１が「０」、信号３が「１」、信号４が「０」、信号５が「０」で信号２が「３」でないデータ、及び、Ｙ２中の信号５以外の全ての信号が同じ値であるデータ、つまり信号１が「０」、信号２が「３」、信号３が「１」、信号４が「０」で信号５が「０」でないデータが考えられる。Ｙ２の上記２つの正常時データに対する相違信号はそれぞれ｛Ｓ２ｆ｝、｛Ｓ５ｆ｝となり、前述の手順からミニマム解及びその和集合は｛Ｓ２ｆ、Ｓ５ｆ｝となり、障害発生条件と一致する。このように、正常時データが多くなると、ミニマム解の和集合が真の障害発生条件に近づくと考えられることから、ミニマム解の和集合を障害発生条件とする。
【００４７】
以上の通り、障害診断システム１は、図４に示す処理を行い、障害発生条件を算出する。図９に示す処理では、１時刻単位で相違信号集合を算出している。この場合、同時刻における複数の信号の値のパターンが障害発生条件となる。一方、後述する図１５に示す処理では、２時刻単位で相違信号集合を算出する。このように複数時刻単位で相違信号を算出する場合、複数の信号の値の時系列的な変化のパターンが障害発生条件となる。
【００４８】
図１５は、第２の相違信号集合算出処理の詳細を示すフローチャートである。図１５では、２時刻単位で異常時の時系列データのそれぞれを全ての正常時の時系列データと比較し、相違信号集合を算出する。
図９のＳ２０８を実行せずに第１の相違信号集合算出処理を終了した場合、障害診断装置５は、図１５に示す第２の相違信号集合算出処理を実行する。
【００４９】
図１５に示すように、障害診断装置５の制御部２１は、正常時の時系列データＸｉの番号を示す添え字ｉ、異常時の時系列データＹｊの番号を示す添え字ｊにそれぞれ１を代入する（Ｓ４０１）。
次に、制御部２１は、正常時の時系列データＸｉ、Ｘ（ｉ＋１）と異常時の時系列データＹｊ、Ｙ（ｊ＋１）の相違を算出する（Ｓ４０２）。
【００５０】
次に、障害診断装置５の制御部２１は、Ｓ４０２の結果、正常時の時系列データＸｉ、Ｘ（ｉ＋１）と異常時の時系列データＹｊ、Ｙ（ｊ＋１）の相違がある場合（Ｓ４０３のＹｅｓ）、Ｓ４０４に進む。一方、制御部２１は、Ｓ４０２の結果、正常時の時系列データＸｉ、Ｘ（ｉ＋１）と異常時の時系列データＹｊ、Ｙ（ｊ＋１）の相違がない場合（Ｓ４０３のＮｏ）、Ｓ４０６に進む。
【００５１】
Ｓ４０４では、制御部２１は、添え字ｉと、正常時の時系列データＸｉの最終番号から１を引いたｍ−１を比較し、添え字ｉがｍ−１より小さくない場合（Ｓ４０４のＮｏ）、添え字ｉにｉ＋１を代入し（Ｓ２０５）、Ｓ４０２から繰り返す。一方、制御部２１は、添え字ｉと、正常時の時系列データＸｉの最終番号から１を引いたｍ−１を比較し、添え字ｉがｍ−１より小さい場合（Ｓ４０４のＹｅｓ）、現在処理対象の異常時の時系列データＹｊ、Ｙ（ｊ＋１）の組み合わせに障害発生条件が含まれるとして、全ての相違信号集合を記憶部２２またはＲＡＭに保存し（Ｓ４０８）、処理を終了する。
【００５２】
Ｓ４０６では、制御部２１は、添え字ｊと、異常時の時系列データＹｊの最終番号から１を引いたｎ−１を比較し、添え字ｊがｎ−１より小さくない場合（Ｓ４０６のＮｏ）、添え字ｊにｊ＋１を代入し（Ｓ２０７）、Ｓ２０２から繰り返す。一方、制御部２１は、添え字ｊと、異常時の時系列データＹｊの最終番号から１を引いたｎ−１を比較し、添え字ｊがｎ−１より小さい場合（Ｓ２０６のＹｅｓ）、処理を終了する。尚、このケースでは、障害発生条件を特定できないことになる。この場合、更に３時刻単位、４時刻単位、・・・というように、異常時の時系列データのそれぞれを全ての正常時の時系列データと比較していくことで、障害発生条件を特定することができる。
【００５３】
本発明では、システムに潜在的に存在するバグに起因する障害等、事前に想定していなかった原因による障害が発生した場合であっても障害発生条件を特定できる。本発明では、障害原因に関する事前知識は必要としないため、製品を市場に投入する段階では想定できない障害に対しても対応することができる。また、本発明では、障害発生条件を特定する過程で、障害を繰り返し再現することを必要としないため、再現が困難な障害に対しても対応することができる。
【００５４】
以上、添付図面を参照しながら、本発明に係る障害診断システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００５５】
１………障害診断システム
３………車載システム
５………障害診断装置
７………データログ取得装置
９………障害検知装置
１１………ＥＣＵ
１３………車載ネットワーク
２１………制御部
２２………記憶部
２３………メディア入出力部
２４………通信制御部
２５………入力部
２６………表示部
２７………周辺機器Ｉ／Ｆ部
２８………バス
２９………ネットワーク
３１………制御部
３２………記憶部
３３………周辺機器Ｉ／Ｆ部
３４………通信インタフェース
【図１】
2010218492.tif 000003
【図２】
2010218492.tif 000004
【図３】
2010218492.tif 000005
【図４】
2010218492.tif 000006
【図５】
2010218492.tif 000007
【図６】
2010218492.tif 000008
【図７】
2010218492.tif 000009
【図８】
2010218492.tif 000010
【図９】
2010218492.tif 000011
【図１０】
2010218492.tif 000012
【図１１】
2010218492.tif 000013
【図１２】
2010218492.tif 000014
【図１３】
2010218492.tif 000015
【図１４】
2010218492.tif 000016
【図１５】
2010218492.tif 000017