(57)【要約】【課題】故障箇所の特定に必要な情報の全ては得られていない状況や、協調システムがどのようなシステム構成であっても、故障箇所の特定につながる適切な情報を提示できる故障箇所特定システム等を提供する。【解決手段】論理関係抽出装置３は、診断対象のシステム構成から論理関係を抽出する。論理関係は、論理演算子（∧（かつ）、∨（または）、¬（でない）、→（ならば）等）を用いた論理式として表される。論理関係抽出装置３は、例えば、システム構成の情報から、各コンポーネントを探索し、「コンポーネントが正常」かつ「入力が正常」ならば「出力が正常」という関係を論理式として抽出する。データフロー監視装置５は、診断対象の協調システムの運用中にデータフローを監視し、正常か否かの判定結果を論理式として抽出する。故障箇所特定装置７は、論理関係抽出装置３およびデータフロー監視装置５の処理結果に基づいて、故障箇所を特定する。【選択図】図１
2010122133.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定する故障箇所特定システムであって、
前記協調システムの構成を入力するシステム構成入力手段と、
前記システム構成入力手段によって入力された構成の普遍的な関係を示す第１の論理式を抽出する第１の論理式抽出手段と、
を備える論理関係抽出装置と、
前記協調システムの運用中にデータフローを収集するデータフロー収集手段と、
前記データフロー収集手段によって収集されたデータフローが正常か否かを判定し、判定結果を第２の論理式として抽出する第２の論理式抽出手段と、
を備えるデータフロー監視装置と、
前記第１の論理式および前記第２の論理式を制約条件とし、各コンポーネントが正常か故障かを示す二値変数を含む評価関数に基づいて故障箇所を特定する故障箇所特定手段、
を備える故障箇所特定装置と、
からなることを特徴とする故障箇所特定システム。
【請求項２】
前記第１の論理式抽出手段は、各コンポーネントを探索し、コンポーネントが正常かつ入力が正常ならば出力が正常、という関係を前記第１の論理式として抽出することを特徴とする請求項１に記載の故障箇所特定システム。
【請求項３】
前記第１の論理式抽出手段は、更に、前記協調システムの構成からデータフローの循環部分を探索し、循環部分の全てのコンポーネントが正常かつ循環部分でないコンポーネントから循環部分のコンポーネントに対する入力が全て正常ならば循環部分のコンポーネントからの出力が正常、という関係を前記第１の論理式として抽出することを特徴とする請求項２に記載の故障箇所特定システム。
【請求項４】
前記評価関数は、前記二値変数の和であることを特徴とする請求項１から請求項３に記載の故障箇所特定システム。
【請求項５】
前記評価関数は、予め定められた各コンポーネントの故障確率を更に含み、各コンポーネントが独立に故障すると仮定したときの全体確率であることを特徴とする請求項１から請求項３に記載の故障箇所特定システム。
【請求項６】
複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定する故障箇所特定方法あって、
前記協調システムの構成を入力するシステム構成入力ステップと、
前記システム構成入力ステップによって入力された構成の普遍的な関係を示す第１の論理式を抽出する第１の論理式抽出ステップと、
前記協調システムの運用中にデータフローを収集するデータフロー収集ステップと、
前記データフロー収集手段によって収集されたデータフローが正常か否かを判定し、判定結果を第２の論理式として抽出する第２の論理式抽出ステップと、
前記第１の論理式および前記第２の論理式を制約条件とし、各コンポーネントが正常か故障かを示す二値変数を含む評価関数に基づいて故障箇所を特定する故障箇所特定ステップと、
を含むことを特徴とする故障箇所特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定する故障箇所特定システム、故障箇所特定方法に関する。
【背景技術】
【０００２】
近年、複数のコンポーネントが互いに協調して動作する協調システムにおいて、システムの大規模化に伴い、故障箇所を特定することが難しくなってきている。協調システムとしては、例えば、車両に搭載される車載システムがある。車載システムでは、複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して互いにデータの送受信を行い、協調して動作を行っている。その為、あるＥＣＵが故障すると、他のＥＣＵにも異常が伝搬してしまい、どのＥＣＵが故障しているのか特定することが難しい。
【０００３】
そこで、車載システムの故障箇所を特定する仕組みが考えられている（特許文献１参照）。特許文献１における仕組みでは、複数ＥＣＵがそれぞれ自己診断して得られた異常診断結果を記憶し、異常診断結果読み出しコマンドを外部から受信したときに、異常診断結果に他のＥＣＵからの入力異常を示す情報が含まれているか否かを確認する。そして、他のＥＣＵからの入力異常を示す情報が含まれている場合には、当該他のＥＣＵが記憶している異常診断結果を読み出すためのコマンドを当該他のＥＣＵに対して送信し、当該他のＥＣＵから得た診断結果を異常診断結果読み出しコマンドの送信元へと送信する。
【特許文献１】特開２００６−３３５１５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に示す仕組みでは、例えば、以下のようなケースにおいて故障箇所を正確に特定することができない。
【０００５】
図２２は、システム構成の１例を示す模式図である。Ａ、Ｂ、Ｃ、ＤのボックスはＥＣＵを示している。また、矢印はデータフローを示している。図２２に示す例では、ＡからＢ、ＢからＣ、ＣからＤの３つのデータフローがある。ここで、Ａが故障し、Ｄに異常診断結果の要求がなされた場合を考える。このとき、ＡからＢのデータフロー、ＣからＤのデータフローについては異常と判定できたが、ＢからＣのデータフローについては判定不能であったとする。この場合、特許文献１に示す仕組みでは、本来であればＡの診断結果を返すべきところを、Ｃの診断結果を返すことになる。この場合、Ａ、Ｂの故障の可能性はないと判断され、故障箇所の特定に失敗する。
【０００６】
図２３は、図２２とは異なるシステム構成の１例を示す模式図である。図２３に示す例では、ＡからＢ、ＢからＤ、ＤからＣ、ＣからＢの４つのデータフローがある。Ｂ、Ｄ、Ｃの３つのＥＣＵ間では、循環的にデータをやり取りしている。ここで、Ｄに異常診断結果の要求がなされた場合を考える。特許文献１に示す仕組みでは、他のＥＣＵからの入力異常を辿っていくことになり、処理が無限ループに陥ってしまう。つまり、Ｄは、異常診断結果の要求がなされると、Ｂからの入力異常を示す情報が含まれていると判断し、Ｂに異常診断結果を読み出すコマンドを送信する。これを受けて、Ｂは、Ｃからの入力異常を示す情報を示す情報が含まれていると判断し、Ｃに異常診断結果を読み出すコマンドを送信する。これを受けて、Ｃは、Ｄからの入力異常を示す情報を示す情報が含まれていると判断し、Ｄに異常診断結果を読み出すコマンドを送信する。以降では、Ｄ、Ｂ、Ｃは、これらの処理を繰り返し、診断結果を返すべきＥＣＵを決定することができない。従って、故障箇所の特定につながる情報は何も得られない。
【０００７】
本発明は、前述した問題点に鑑みてなされたもので、その目的は、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムにおいて、故障箇所の特定に必要な情報の全ては得られていない状況であっても、故障箇所の特定につながる適切な情報を提示できる故障箇所特定システム等を提供することである。また、協調システムがどのようなシステム構成であっても、故障箇所の特定につながる適切な情報を提示できる故障箇所特定システム等を提供することである。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために第１の発明は、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定する故障箇所特定システムであって、前記協調システムの構成を入力するシステム構成入力手段と、前記システム構成入力手段によって入力された構成の普遍的な関係を示す第１の論理式を抽出する第１の論理式抽出手段と、を備える論理関係抽出装置と、前記協調システムの運用中にデータフローを収集するデータフロー収集手段と、前記データフロー収集手段によって収集されたデータフローが正常か否かを判定し、判定結果を第２の論理式として抽出する第２の論理式抽出手段と、を備えるデータフロー監視装置と、前記第１の論理式および前記第２の論理式を制約条件とし、各コンポーネントが正常か故障かを示す二値変数を含む評価関数に基づいて故障箇所を特定する故障箇所特定手段、を備える故障箇所特定装置と、からなることを特徴とする故障箇所特定システムである。
【０００９】
第１の発明における前記第１の論理式抽出手段は、各コンポーネントを探索し、コンポーネントが正常かつ入力が正常ならば出力が正常、という関係を前記第１の論理式として抽出することが望ましい。
更に、第１の発明における前記第１の論理式抽出手段は、前記協調システムの構成からデータフローの循環部分を探索し、循環部分の全てのコンポーネントが正常かつ循環部分でないコンポーネントから循環部分のコンポーネントに対する入力が全て正常ならば循環部分のコンポーネントからの出力が正常、という関係を前記第１の論理式として抽出することが望ましい。
【００１０】
また、第１の発明における前記評価関数は、例えば、前記二値変数の和である。
また、第１の発明における前記評価関数は、例えば、予め定められた各コンポーネントの故障確率を更に含み、各コンポーネントが独立に故障すると仮定したときの全体確率である。
【００１１】
第２の発明は、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定する故障箇所特定方法あって、前記協調システムの構成を入力するシステム構成入力ステップと、前記システム構成入力ステップによって入力された構成の普遍的な関係を示す第１の論理式を抽出する第１の論理式抽出ステップと、前記協調システムの運用中にデータフローを収集するデータフロー収集ステップと、前記データフロー収集手段によって収集されたデータフローが正常か否かを判定し、判定結果を第２の論理式として抽出する第２の論理式抽出ステップと、前記第１の論理式および前記第２の論理式を制約条件とし、各コンポーネントが正常か故障かを示す二値変数を含む評価関数に基づいて故障箇所を特定する故障箇所特定ステップと、を含むことを特徴とする故障箇所特定方法である。
【発明の効果】
【００１２】
本発明により、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムにおいて、故障箇所の特定に必要な情報の全ては得られていない状況であっても、故障箇所の特定につながる適切な情報を提示できる故障箇所特定システム等を提供することができる。また、協調システムがどのようなシステム構成であっても、故障箇所の特定につながる適切な情報を提示できる故障箇所特定システム等を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
【００１４】
＜第１の実施の形態＞
最初に、第１の実施の形態について説明する。
図１は、故障箇所特定システム１の概略構成を示す図である。故障箇所特定システム１は、複数のコンポーネントが互いにデータの送受信を行い、協調して動作する協調システムの故障箇所を特定するためのシステムである。協調システムとしては、図２、図３の説明にて後述する車載システムのように規模の大きい（＝コンポーネントの数が多い）システムを想定している。
【００１５】
図１に示すように、故障箇所特定システム１は、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７等から構成される。論理関係抽出装置３およびデータフロー監視装置５の処理結果は、故障箇所特定装置７が利用する。故障箇所特定装置７は、ユーザに対して、故障箇所の特定につながる適切な情報を提示する。
【００１６】
論理関係抽出装置３は、診断対象のシステム構成から論理関係を抽出する。論理関係は、論理演算子（∧（かつ）、∨（または）、¬（でない）、→（ならば）等）を用いた論理式として表される。データフロー監視装置５は、診断対象の協調システムの運用中にデータフローを監視する。故障箇所特定装置７は、論理関係抽出装置３およびデータフロー監視装置５の処理結果に基づいて、故障箇所を特定する。
【００１７】
図２は、協調システムの１例である車載システム１１を説明する図である。図２に示すように、車載システム１１は、センサ１３、ＥＣＵ１５（データ処理装置）、アクチュエータ１７等で構成される。車載システム１１では、センサ１３からのセンサ値を入力とし、複数のＥＣＵ１５がＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの車載ネットワークを介して互いにデータの送受信を行うことで協調して動作し、アクチュエータ１７に制御信号を出力する。本発明では、センサ１３、ＥＣＵ１５、アクチュエータ１７を区別しない。センサ１３は入力がなく出力があるコンポーネント、ＥＣＵ１５は入力と出力があるコンポーネント、アクチュエータ１７は入力があり出力がないコンポーネントとなる。車載システム１１では、車載ネットワーク上に流れるデータが、データフロー監視装置５によって監視されるデータフローである。
【００１８】
図３は、協調システムの１例である車載システム２１を説明する図である。図３に示すように、車載システム２１は、センサ２３、ＥＣＵ２５、アクチュエータ２９等から構成される。ＥＣＵ２５は、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）を有し、ＯＳが管理するタスク２７を実行する。車載システム２１では、タスク２７がコンポーネントであり、共有メモリで受け渡しされるデータが、データフロー監視装置５によって監視されるデータフローである。車載システム２１では、データフロー監視装置５は、ＥＣＵ２５であっても良い。すなわち、ＥＣＵ２５は、共有メモリのデータを監視するタスク２７を実行するように構成しても良い。
【００１９】
前述の車載システム１１、車載システム２１等の車載システムに含まれるコンポーネントは、通常、自らに関連のあるデータフローが異常であることを検知する機能を備える。そして、複数のコンポーネントが互いに協調して動作する場合、あるコンポーネントが故障すると、他のコンポーネントに異常が伝播する。この異常伝播によって、故障していないコンポーネントも異常であることを検知してしまい、故障箇所を特定することができない場合がある。本発明は、このような特徴を有する車載システムにおいて特に有用である。
【００２０】
図４は、論理関係抽出装置３を実現するコンピュータのハードウェア構成図である。尚、図４のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２１】
論理関係抽出装置３は、制御部３１、記憶部３２、メディア入出力部３３、通信制御部３４、入力部３５、表示部３６、周辺機器Ｉ／Ｆ部３７等が、バス３８を介して接続される。
【００２２】
制御部３１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２３】
ＣＰＵは、記憶部３２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス３８を介して接続された各装置を駆動制御し、論理関係抽出装置３が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部３２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部３１が各種処理を行う為に使用するワークエリアを備える。
【００２４】
記憶部３２は、ＨＤＤ（ハードディスクドライブ）であり、制御部３１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部３１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２５】
メディア入出力部３３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
通信制御部３４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク３９間の通信を媒介する通信インタフェースであり、ネットワーク３９を介して、他のコンピュータ間との通信制御を行う。
【００２６】
入力部３５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部３５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
表示部３６は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００２７】
周辺機器Ｉ／Ｆ（インタフェース）部３７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部３７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部３７は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
バス３８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００２８】
図５は、データフロー監視装置５のハードウェア構成図である。尚、図５のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２９】
図５に示すように、データフロー監視装置５は、制御部５１、記憶部５２、通信インタフェース５３等で構成される。
【００３０】
制御部５１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００３１】
ＣＰＵは、記憶部５２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、データフロー監視装置５全体を駆動制御する。
ＲＯＭは、不揮発性メモリであり、処理に必要なプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部５２、ＲＯＭ等からロードしたプログラム、データ等を一時的に保持するとともに、制御部５１が各種処理を行う為に使用するワークエリアを備える。
【００３２】
記憶部５２は、制御部５１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（オペレーティングシステム）等が格納される。
これらの各プログラムコードは、制御部５１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３３】
通信インタフェース５３は、データフロー監視装置５とＣＡＮなどの車載ネットワーク５４間の通信を媒介する。データフロー監視装置５は、例えば、車載システム２１のデータフローを監視する場合、車載ネットワーク５４に流れるデータを監視する。
【００３４】
故障箇所特定装置７のハードウェア構成は、故障箇所特定装置７が車両に搭載される場合、データフロー監視装置５のハードウェア構成に加えて、表示部等を有する。この場合、論理関係抽出装置３の処理結果は、予め記憶部５２に記憶しておく。また、データフロー監視装置５の処理結果は、車載ネットワーク５４を介して入力する。
一方、故障箇所特定装置７が車両に搭載されない場合、故障箇所特定装置７のハードウェア構成は、論理関係抽出装置３のハードウェア構成と同様である。この場合、論理関係抽出装置３とデータフロー監視装置５の処理結果は、メディアやネットワーク等を介して入力する。
以下では、故障箇所特定装置７のハードウェア構成は、論理関係抽出装置３のハードウェア構成と同様のものとして説明する。
【００３５】
以下、図６から図１０を参照しながら、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７の動作の詳細について説明する。
【００３６】
最初に、論理関係抽出装置３の動作の詳細について説明する。
論理関係抽出装置３は、診断対象のシステム構成を入力するシステム構成入力手段、システム構成入力手段によって入力された構成の普遍的な関係を示す論理式を抽出する論理式抽出手段を備える。
【００３７】
図６は、第１の実施の形態に係る診断対象のシステム構成の１例を示す図である。図６に示すように、本実施の形態においては、４つのコンポーネントが直列的に協調して動作する。コンポーネントＡはデータフローｄ１を出力し、コンポーネントＢはデータフローｄ１を入力する。コンポーネントＢはデータフローｄ２を出力し、コンポーネントＣはデータフローｄ２を入力する。コンポーネントＣはデータフローｄ３を出力し、コンポーネントＤはデータフローｄ３を入力する。
【００３８】
図７は、図６に関する論理式を示す図である。図７では、図６に示すシステム構成の普遍的な関係を示す論理式（論理演算子∧（かつ）、∨（または）、¬（でない）、→（ならば）等を用いた式）が示されている。論理関係抽出装置３の制御部３１（論理式抽出手段）は、システム構成入力手段によって入力されたシステム構成の情報から、各コンポーネントを探索し、「コンポーネントが正常」かつ「入力が正常」ならば「出力が正常」という関係を論理式として抽出する。但し、入力がないコンポーネントについては、「コンポーネントが正常」ならば「出力が正常」という関係を論理式として抽出する。また、出力がないコンポーネントについては、論理式を抽出しない。
【００３９】
図７の例では、論理関係抽出装置３の制御部３１は、コンポーネントＡを探索し、「コンポーネントＡが正常」ならば「出力であるデータフローｄ１が正常」という関係を論理式１０１として抽出する。次に、論理関係抽出装置３の制御部３１は、コンポーネントＢを探索し、「コンポーネントＢが正常」かつ「入力であるデータフローｄ１が正常」ならば「出力であるデータフローｄ２が正常」という関係を論理式１０２として抽出する。次に、論理関係抽出装置３の制御部３１は、コンポーネントＣを探索し、「コンポーネントＣが正常」かつ「入力であるデータフローｄ２が正常」ならば「出力であるデータフローｄ３が正常」という関係を論理式１０３として抽出する。
【００４０】
そして、論理関係抽出装置３の制御部３１は、自明な等式「Ｘ→Ｙ＝¬Ｘ∨Ｙ」に従って、論理式１０１を論理式１０４に変換する。この変換は、故障箇所特定装置７が扱いやすいデータにする為である。次に、論理関係抽出装置３の制御部３１は、自明な等式「Ｘ→Ｙ＝¬Ｘ∨Ｙ」と「¬（Ｘ∧Ｙ）＝¬Ｘ∨¬Ｙ」（ド・モルガンの法則）に従って、論理式１０２を論理式１０５に変換する。同様に、論理関係抽出装置３の制御部３１は、論理式１０３を論理式１０６に変換する。論理式１０４から論理式１０６は、システム構成の普遍的な関係を示す論理式として、故障箇所特定装置７が利用する。
【００４１】
次に、データフロー監視装置５の動作の詳細について説明する。
データフロー監視装置５は、協調システムの運用中にデータフローを収集するデータフロー収集手段、データフロー収集手段によって収集されたデータフローが正常か否かを判定し、判定結果を論理式として抽出する論理式抽出手段を備える。論理式抽出手段は、各データフローが正常か否かを判定する判定基準を有する。判定基準は、データが正常な範囲に含まれているか否か（例えば、数値データであれば、−１０から１０の範囲に含まれているか否か）、データが正常な周期で発生しているか否か（例えば、５０ｍｓｅｃごとに発生しているか否か）等である。
【００４２】
図８は、図６に関するデータフローの判定結果を示す図である。図８では、図６に示すシステムの運用中に収集したデータフローの判定結果を示している。また、図９は、図８に関する論理式を示す図である。
【００４３】
図８に示す例では、データフロー監視装置５の制御部５１（データフロー監視手段）は、データフローｄ１、データフローｄ３を異常データフローと判定し、データフローｄ２については異常か否か判定できていない。この場合、データフロー監視装置５の制御部５１（論理式抽出手段）は、「データフローｄ１が異常」という判定結果を論理式１０７として抽出する。また、データフロー監視装置５の制御部５１は、「データフローｄ３が異常」という判定結果を論理式１０８として抽出する。図８に示す例は、正常か異常かの判断が難しいデータフローｄ２が存在し、従来技術の特許文献１では、故障箇所の特定に失敗する例である。
【００４４】
次に、故障箇所特定装置７の動作の詳細について説明する。
故障箇所特定装置７は、論理関係抽出装置３、データフロー監視装置５が抽出した論理式を制約条件とし、各コンポーネントが正常か故障かを示す二値変数を含む評価関数に基づいて故障箇所を特定する故障箇所特定手段と、故障箇所特定手段によって特定された故障箇所を提示する故障箇所提示手段とを備える。
故障箇所特定手段は、論理関係抽出装置３が抽出したシステム構成の普遍的な関係を示す論理式、及びデータフロー監視装置５が抽出した異常データフローを示す論理式を満たす二値変数ｘｉのパターンを求める。求めたパターンが複数ある場合、故障箇所特定手段は、評価関数に基づく評価を行い、最も妥当と思われる二値変数ｘｉのパターンを故障箇所として特定する。そして、故障箇所提示手段は、特定した故障箇所をユーザに提示する。
【００４５】
二値変数ｘｉは、次式で定義される。
【数１】
2010122133.tif 000003
次式は、評価関数ｆ（ｘＡ,ｘＢ,ｘＣ,ｘＤ）の一例である。
【数２】
2010122133.tif 000004
式（２）の評価関数は、正常なコンポーネントの個数を示している。一般に、コンポーネントが故障する確率は極めて低いことから、故障したと判断されるコンポーネントが多くなればなる程、起こり難いパターンとなる。従って、式（２）の評価関数を用いる場合、評価関数の値が最も大きいパターンが、最も妥当なパターンとなる。
【００４６】
ここで、図７、図９に示した論理式１０４〜１０８を全て満たす二値変数ｘｉのパターンは、（ｘＡ,ｘＢ,ｘＣ,ｘＤ）＝（０,１,１,１）、（０,１,１,０）、（０,１,０,１）、（０,０,１,１）、（０,１,０,０）、（０,０,１,０）、（０,０,０,１）、（０,０,０,０）の８パターンである。この中で、式（２）の評価関数の値が最も大きいパターンは、（ｘＡ,ｘＢ,ｘＣ,ｘＤ）＝（０,１,１,１）である。従って、故障箇所特定装置７の制御部３１（故障箇所特定手段）は、コンポーネントＡのみが故障していると特定する。そして、故障箇所特定装置７の制御部３１（故障箇所提示手段）は、例えば、表示部３６にコンポーネントＡのみが故障していると表示する。
【００４７】
また、各コンポーネントの故障確率Ｐｉが既知の場合（各コンポーネントの故障確率Ｐｉの統計データが存在するなど予め値が定められる場合）、各コンポーネントが独立に故障すると仮定すれば、評価関数ｆ（ｘＡ,ｘＢ,ｘＣ,ｘＤ）は、次式で表される全体確率で定義することもできる。
【数３】
2010122133.tif 000005
式（３）の評価関数を用いる場合、評価関数の値が最も大きいパターンが、最も妥当なパターンとなる。
【００４８】
図１０は、図７、図９に関する式（３）の評価関数の値を示す図である。図１０は、各コンポーネントの故障確率をＰＡ＝０．０１、ＰＢ＝０．００１、ＰＣ＝０．００５、ＰＤ＝０．０１と仮定し、図７、図９に示した論理式１０４〜１０８を全て満たす二値変数ｘｉのパターンに対する式（３）の評価関数の値を示している。図１０に示すように、式（３）の評価関数の値が最も大きいパターンは、（ｘＡ,ｘＢ,ｘＣ,ｘＤ）＝（０,１,１,１）である。従って、故障箇所特定装置７の制御部３１（故障箇所特定手段）は、コンポーネントＡのみが故障していると特定する。そして、故障箇所特定装置７の制御部３１（故障箇所提示手段）は、例えば、表示部３６にコンポーネントＡのみが故障していると表示する。
【００４９】
尚、一般に、式（３）の評価関数の最大値を与える二値変数ｘｉのパターンを求めることは、最大充足可能性問題を解くことと同値である。従って、最大充足可能性問題のソルバーを用いることで、計算を効率的に行うことができる。ここで、最大充足可能性問題とは、重み付きの節（ｃｌａｕｓｅ）の集合が与えられたときに、充足する節の重みの和を最大にする割り当てを求める問題である。節とは、ｎ個の変数ｙ１,・・・,ｙｎとその否定¬ｙ１,・・・, ¬ｙｎの中から、いくつかを論理和（∨）でつなげた論理式である。つまり、論理式１０４〜１０８は、節である。
【００５０】
以上、本実施の形態では、正常か異常かの判断が難しいデータフローが存在する場合であっても、故障箇所を正確に特定することができる。
【００５１】
＜第２の実施の形態＞
次に、第２の実施の形態について説明する。
第２の実施の形態に係る故障箇所特定システム１は、第１の実施の形態と同様、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７等から構成される。また、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７のハードウェア構成も同様である。
【００５２】
以下、図１１から図１５を参照しながら、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７の動作の詳細について説明する。
【００５３】
最初に、論理関係抽出装置３の動作の詳細について説明する。
論理関係抽出装置３は、診断対象のシステム構成を入力するシステム構成入力手段、システム構成入力手段によって入力された構成の普遍的な関係を示す論理式を抽出する論理式抽出手段を備える。
【００５４】
図１１は、第２の実施の形態に係る診断対象のシステム構成の１例を示す図である。図１１に示すように、本実施の形態においては、コンポーネントＢ、Ｃ、Ｄが循環的に協調して動作する。コンポーネントＡはデータフローｄ１を出力し、コンポーネントＢはデータフローｄ１を入力する。コンポーネントＢはデータフローｄ２を出力し、コンポーネントＤはデータフローｄ２を入力する。コンポーネントＤはデータフローｄ４を出力し、コンポーネントＣはデータフローｄ４を入力する。コンポーネントＣはデータフローｄ３を出力し、コンポーネントＢはデータフローｄ３を入力する。
【００５５】
図１２は、図１１に関する論理式を示す図である。図１２では、図１１に示すシステム構成の普遍的な関係を示す論理式が示されている。論理関係抽出装置３の制御部３１（論理式抽出手段）は、システム構成入力手段によって入力されたシステム構成の情報から、各コンポーネントを探索し、「コンポーネントが正常」かつ「入力が正常」ならば「出力が正常」という関係を論理式として抽出する。但し、入力がないコンポーネントについては、「コンポーネントが正常」ならば「出力が正常」という関係を論理式として抽出する。また、出力がないコンポーネントについては、論理式を抽出しない。
【００５６】
更に、論理関係抽出装置３の制御部３１（論理式抽出手段）は、システム構成入力手段によって入力されたシステム構成の情報から、データフローの循環部分（＝ループ）を探索し、「ループ内にある全てのコンポーネントが正常」かつ「関連するデータフローのうちループ内に無いものが正常」ならば「ループ内の全てのデータフローは正常」という関係を論理式として抽出する。ここで、ループの探索は、システム構成図を有向グラフとして捉え、例えば、深さ優先探索アルゴリズムによって実現できる。深さ優先探索とは、あるノード（図１１等におけるコンポーネント）から、目的のノードが見つかるか、または子のないノードに行き着くまで深く伸びていく探索である。ループの探索では、目的のノードとは、既に通ったことのあるノードである。
【００５７】
図１２の例では、論理関係抽出装置３の制御部３１は、コンポーネントＡを探索し、「コンポーネントＡが正常」ならば「出力であるデータフローｄ１が正常」という関係を論理式２０１として抽出する。次に、論理関係抽出装置３の制御部３１は、コンポーネントＢを探索し、「コンポーネントＢが正常」かつ「入力であるデータフローｄ１が正常」かつ「入力であるデータフローｄ３が正常」ならば「出力であるデータフローｄ２が正常」という関係を論理式２０２として抽出する。次に、論理関係抽出装置３の制御部３１は、コンポーネントＣを探索し、「コンポーネントＣが正常」かつ「入力であるデータフローｄ４が正常」ならば「出力であるデータフローｄ３が正常」という関係を論理式２０３として抽出する。次に、論理関係抽出装置３の制御部３１は、コンポーネントＤを探索し、「コンポーネントＤが正常」かつ「入力であるデータフローｄ２が正常」ならば「出力であるデータフローｄ４が正常」という関係を論理式２０４として抽出する。
【００５８】
次に、論理関係抽出装置３の制御部３１は、ループ「Ｂ→Ｄ→Ｃ」を検出し、「ループ内にあるコンポーネントＢ、Ｃ、Ｄが正常」かつ「関連するデータフローのうちループ内に無いデータフローｄ１が正常」ならば「ループ内のデータフローｄ２は正常」という関係を論理式２０５として抽出する。次に、論理関係抽出装置３の制御部３１は、「ループ内にあるコンポーネントＢ、Ｃ、Ｄが正常」かつ「関連するデータフローのうちループ内に無いデータフローｄ１が正常」ならば「ループ内のデータフローｄ３は正常」という関係を論理式２０６として抽出する。次に、論理関係抽出装置３の制御部３１は、「ループ内にあるコンポーネントＢ、Ｃ、Ｄが正常」かつ「関連するデータフローのうちループ内に無いデータフローｄ１が正常」ならば「ループ内のデータフローｄ４は正常」という関係を論理式２０７として抽出する。
【００５９】
そして、論理関係抽出装置３の制御部３１は、自明な等式「Ｘ→Ｙ＝¬Ｘ∨Ｙ」と「¬（Ｘ∧Ｙ）＝¬Ｘ∨¬Ｙ」（ド・モルガンの法則）に従って、論理式２０１〜２０７を論理式２０８〜２１４に変換する。論理式２０８〜２１４は、システム構成の普遍的な関係を示す論理式として、故障箇所特定装置７が利用する。
【００６０】
データフロー監視装置５が備える手段は、第１の実施の形態と同様である。
図１３は、図１１に関するデータフローの判定結果を示す図である。図１３では、図１１に示すシステムの運用中に収集したデータフローの判定結果を示している。また、図１４は、図１３に関する論理式を示す図である。
【００６１】
図１３に示すように、データフロー監視装置５の制御部５１（データフロー監視手段）は、データフローｄ２、ｄ３、ｄ４を異常データフローと判定し、データフローｄ１については正常データフローと判定している。この場合、図１４に示すように、データフロー監視装置５の制御部５１（論理式抽出手段）は、「データフローｄ１が正常」という判定結果を論理式２１５として抽出する。また、データフロー監視装置５の制御部５１は、それぞれ「データフローｄ２、ｄ３、ｄ４が異常」という判定結果を論理式２１６〜２１８として抽出する。図１４に示す例は、異常データフローが循環的に伝播し、従来技術の特許文献１では、故障箇所の特定に失敗する例である。
【００６２】
故障箇所特定手段が備える手段は、第１の実施の形態と同様である。
図１５は、図１２、図１４に関する式（３）の評価関数の値を示す図である。図１５は、各コンポーネントの故障確率をＰＡ＝０．０１、ＰＢ＝０．００１、ＰＣ＝０．００５、ＰＤ＝０．０１と仮定し、図１２、図１４に示した論理式２０８〜２１８を全て満たす二値変数ｘｉのパターンに対する式（３）の評価関数の値の上位５つまでを示している。図１５に示すように、式（３）の評価関数の値が最も大きいパターンは、（ｘＡ,ｘＢ,ｘＣ,ｘＤ）＝（１,１,１,０）である。従って、故障箇所特定装置７の制御部３１（故障箇所特定手段）は、コンポーネントＤのみが故障していると特定する。そして、故障箇所特定装置７の制御部３１（故障箇所提示手段）は、例えば、表示部３６にコンポーネントＤのみが故障していると表示する。
【００６３】
尚、式（２）の評価関数の場合、図１５に示す上位３つのパターン（ｘＡ,ｘＢ,ｘＣ,ｘＤ）＝（１,１,１,０）、（１,１,０,１）、（１,０,１,１）は、同じ値となる。この場合、故障箇所特定装置７の制御部３１（故障箇所特定手段）は、コンポーネントＢまたはＣまたはＤのいずれか１つが故障していると特定する。そして、故障箇所特定装置７の制御部３１（故障箇所提示手段）は、例えば、表示部３６にコンポーネントＢまたはＣまたはＤのいずれか１つが故障していると表示する。このように、故障箇所を完全に特定できない場合でも、少なくとも故障箇所の特定につながる適切な情報を提示できる。
【００６４】
以上、本実施の形態では、システム構成にループが存在する場合であっても、故障箇所を特定することができる。
【００６５】
＜第３の実施の形態＞
次に、第３の実施の形態について説明する。
第３の実施の形態に係る故障箇所特定システム１は、第１の実施の形態と同様、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７等から構成される。また、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７のハードウェア構成も同様である。
【００６６】
図１６は、第３の実施の形態に係るコンポーネントの１例を示す図である。図１６に示す例では、コンポーネントＡは、データフローｄ１、ｄ２を入力し、データフローｄ３、ｄ４を出力する。そして、データフローｄ３は、データフローｄ２のみに依存して値が決まる場合を考える。また、データフローｄ４は、データフローｄ１のみに依存して値が決まる場合える。
【００６７】
図１７は、図１６に関する論理式を示す図である。図１６の例では、論理関係抽出装置３の制御部３１は、コンポーネントＡを探索し、「コンポーネントＡが正常」かつ「入力であるデータフローｄ１が正常」ならば「データフローｄ１に依存して決まる出力であるデータフローｄ４が正常」という関係を論理式３０１として抽出する。また、論理関係抽出装置３の制御部３１は、「コンポーネントＡが正常」かつ「入力であるデータフローｄ２が正常」ならば「データフローｄ２に依存して決まる出力であるデータフローｄ３が正常」という関係を論理式３０２として抽出する。
【００６８】
本実施の形態では、データフロー同士の依存関係を考慮して論理式を抽出することによって、故障箇所を精度良く特定することができる。
【００６９】
＜第４の実施の形態＞
次に、第４の実施の形態について説明する。
第４の実施の形態に係る故障箇所特定システム１は、第１の実施の形態と同様、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７等から構成される。また、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７のハードウェア構成も同様である。
【００７０】
図１８は、第４の実施の形態に係るコンポーネントの１例を示す図である。図１８に示す例では、コンポーネントＡは、データフローｄ１を入力し、データフローｄ２を出力する。ここで、データフローｄ２が異常データフローか否かを判断する判定基準が、（１）データが正常な範囲に含まれているか（＝データレンジが正常か）、（２）データが正常な周期で発生しているか（＝周期が正常か）、という２つ存在する場合を考える。また、データフローｄ２のデータレンジの正常性（＝図１８のＲ＿ｏｋ（ｄ２））は、データフローｄ１のデータレンジの正常性（＝図１８のＲ＿ｏｋ（ｄ１））に依存し、データフローｄ２の周期の正常性（＝図１８のＰ＿ｏｋ（ｄ２））は、データフローｄ１の周期の正常性（＝図１８のＰ＿ｏｋ（ｄ１））に依存する場合を考える。
【００７１】
図１９は、図１８に関する論理式を示す図である。図１８の例では、論理関係抽出装置３の制御部３１は、コンポーネントＡを探索し、「コンポーネントＡが正常」かつ「入力であるデータフローｄ１のデータレンジが正常」ならば「データフローｄ１のデータレンジの正当性に依存して決まる出力であるデータフローｄ４のデータレンジが正常」という関係を論理式４０１として抽出する。また、論理関係抽出装置３の制御部３１は、「コンポーネントＡが正常」かつ「入力であるデータフローｄ２の周期性が正常」ならば「データフローｄ２の周期性の正常性に依存して決まる出力であるデータフローｄ３の周期性が正常」という関係を論理式４０２として抽出する。
【００７２】
本実施の形態では、データフローが正常か否かの判定基準が複数存在する場合を考慮して論理式を抽出することによって、故障箇所を精度良く特定することができる。
【００７３】
＜第５の実施の形態＞
次に、第５の実施の形態について説明する。
第５の実施の形態に係る故障箇所特定システム１は、第１の実施の形態と同様、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７等から構成される。また、論理関係抽出装置３、データフロー監視装置５、故障箇所特定装置７のハードウェア構成も同様である。
【００７４】
図２０は、第５の実施の形態に係るコンポーネントの１例を示す図である。図２０に示す例では、コンポーネントＡは、データフローｄ１、ｄ２を入力し、データフローｄ３を出力する。ここで、データフローｄ１およびｄ２が正常か否かの判定基準は、それぞれデータフローｄ１およびｄ２の値のみでは定義できないが、両方を合わせることによって定義できる場合を考える。例えば、「データフローｄ１およびｄ２は、データフローｄ１をデータフローｄ２で割った値が１．５以下であれば正常」という判定基準を考える。そして、この判定基準に基づいて、データフローが異常と判定された場合を考える。
【００７５】
図２１は、図２０に関する論理式を示す図である。図２０の例では、データフロー監視装置５の制御部５１は、データフローｄ１およびｄ２を用いて定義された判定基準に基づいて異常と判定した場合、「データフローｄ１またはデータフローｄ２の少なくとも一方は異常」という関係を論理式５０１として抽出する。
【００７６】
本実施の形態では、データフローが正常か否かの判定基準が複数のデータフローに依存して決まる場合を考慮して論理式を抽出することによって、故障箇所を精度良く特定することができる。
【００７７】
以上、添付図面を参照しながら、本発明に係る故障箇所特定システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００７８】
【図１】故障箇所特定システム１の概略構成を示す図
【図２】協調システムの１例である車載システム１１を説明する図
【図３】協調システムの１例である車載システム２１を説明する図
【図４】論理関係抽出装置３を実現するコンピュータのハードウェア構成図
【図５】データフロー監視装置５のハードウェア構成図
【図６】第１の実施の形態に係る診断対象のシステム構成の１例を示す図
【図７】図６に関する論理式を示す図
【図８】図６に関するデータフローの判定結果を示す図
【図９】図８に関する論理式を示す図
【図１０】図７、図９に関する式（３）の評価関数の値を示す図
【図１１】第２の実施の形態に係る診断対象のシステム構成の１例を示す図
【図１２】図１１に関する論理式を示す図
【図１３】図１１に関するデータフローの判定結果を示す図
【図１４】図１３に関する論理式を示す図
【図１５】図１２、図１４に関する式（３）の評価関数の値を示す図
【図１６】第３の実施の形態に係るコンポーネントの１例を示す図
【図１７】図１６に関する論理式を示す図
【図１８】第４の実施の形態に係るコンポーネントの１例を示す図
【図１９】図１８に関する論理式を示す図
【図２０】第５の実施の形態に係るコンポーネントの１例を示す図
【図２１】図２０に関する論理式を示す図
【図２２】システム構成の１例を示す模式図
【図２３】システム構成の１例を示す模式図
【符号の説明】
【００７９】
１………故障箇所特定システム
３………論理関係抽出装置
５………データフロー監視装置
７………故障箇所特定装置
３１………制御部
３２………記憶部
３３………メディア入出力部
３４………通信制御部
３５………入力部
３６………表示部
３７………周辺機器Ｉ／Ｆ部
３８………バス
３９………ネットワーク
５１………制御部
５２………記憶部
５３………通信インタフェース
５４………車載ネットワーク
【図１】
2010122133.tif 000006
【図２】
2010122133.tif 000007
【図３】
2010122133.tif 000008
【図４】
2010122133.tif 000009
【図５】
2010122133.tif 000010
【図６】
2010122133.tif 000011
【図７】
2010122133.tif 000012
【図８】
2010122133.tif 000013
【図９】
2010122133.tif 000014
【図１０】
2010122133.tif 000015
【図１１】
2010122133.tif 000016
【図１２】
2010122133.tif 000017
【図１３】
2010122133.tif 000018
【図１４】
2010122133.tif 000019
【図１５】
2010122133.tif 000020
【図１６】
2010122133.tif 000021
【図１７】
2010122133.tif 000022
【図１８】
2010122133.tif 000023
【図１９】
2010122133.tif 000024
【図２０】
2010122133.tif 000025
【図２１】
2010122133.tif 000026
【図２２】
2010122133.tif 000027
【図２３】
2010122133.tif 000028