JP5621667B2 - 異常診断装置、プログラム - Google Patents
異常診断装置、プログラム Download PDFInfo
- Publication number
- JP5621667B2 JP5621667B2 JP2011055527A JP2011055527A JP5621667B2 JP 5621667 B2 JP5621667 B2 JP 5621667B2 JP 2011055527 A JP2011055527 A JP 2011055527A JP 2011055527 A JP2011055527 A JP 2011055527A JP 5621667 B2 JP5621667 B2 JP 5621667B2
- Authority
- JP
- Japan
- Prior art keywords
- subsystem
- normal operation
- abnormality
- normal
- operation model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Computer Hardware Design (AREA)
Description
本発明は、大規模なシステムの異常を検出するとともに、異常発生個所を同定する異常診断装置等に関するものである。
近年、車載システム、宇宙機器システム、航空システムなどの高い信頼性が求められる制御システム(以下、単に「システム」と記載する。)においては、システムを構成するハードウエア並びにソフトウエアの大規模化、複雑化が顕著に進んでいる。その為、ハードウエアやソフトウエアの製造時の不具合が残留する可能性が高まり、それゆえに、市場に出たり、実際に運用されたりした後に、その不具合が顕在化する可能性も高まっている。また、残留している不具合に起因してシステムが異常となる危険性、すなわちシステムが設計者の意図通りに動作しない危険性が高まっている。従って、システムの高い信頼性を維持する為には、市場に出たり、実際に運用されたりした後のシステム稼働時(以下、「実動時」と記載する。)において、システムが正常か異常かを高精度に判定し、更に、システムに異常が発生した場合、異常発生個所を高精度に同定することが必要不可欠と言える。
システムの異常を検出する仕組みの一つとして、「正常動作モデルによる異常検出」が挙げられる。この仕組みの概要は、以下の通りである。
・システムの実動前に予めシステムを動作させ、システムが正常に動作していることを特徴づけるパラメータ値を抽出することによって、「正常動作モデル」を構築する。
・実動時においては、システムの動作中にパラメータ値を取得し、正常動作モデルと一致するか否かを調べて、一致する場合は「正常」、一致しない場合は「異常の可能性有」と判定する。
・システムの実動前に予めシステムを動作させ、システムが正常に動作していることを特徴づけるパラメータ値を抽出することによって、「正常動作モデル」を構築する。
・実動時においては、システムの動作中にパラメータ値を取得し、正常動作モデルと一致するか否かを調べて、一致する場合は「正常」、一致しない場合は「異常の可能性有」と判定する。
「正常動作モデルによる異常検出」の仕組みの利点は、「異常動作」を定義しなくても、「正常」か「異常の可能性有」のいずれかを判定できることであり、それゆえ、異常動作を網羅的に抜けもれなく定義する労力から解放されることである。特許文献1には、「正常動作モデルによる異常検出」の仕組みの一例が記載されている。
特許文献1では、WEBサービス又は業務サービスといった情報通信サービスを提供する情報処理装置に関する運用管理方法として、以下の仕組みが記載されている。
・性能情報より、「時系列に変化する任意の2つの変数の変換関数」を導出することによって、相関モデルを生成し、これを「正常動作モデル」とする。
・実動時において性能を測定し、相関モデル(正常動作モデル)と一致しない変数値の組み合わせの個数がしきい値以上存在する場合に異常と判定し、該当変数に関する箇所を異常発生個所と同定する。
特許文献1では、WEBサービス又は業務サービスといった情報通信サービスを提供する情報処理装置に関する運用管理方法として、以下の仕組みが記載されている。
・性能情報より、「時系列に変化する任意の2つの変数の変換関数」を導出することによって、相関モデルを生成し、これを「正常動作モデル」とする。
・実動時において性能を測定し、相関モデル(正常動作モデル)と一致しない変数値の組み合わせの個数がしきい値以上存在する場合に異常と判定し、該当変数に関する箇所を異常発生個所と同定する。
また、システムの異常を検出する仕組みのもう一つの例として、システム全体をサブシステムごとに階層化し、サブシステムごとに「正常動作モデル」を作成し、実動時に比較する仕組みも提案されている(特許文献2、3参照)。
特許文献2では、この仕組みを適用し、原子力発電プラントや石油化学プラントなどの異常を診断する異常診断装置が開示されている。特許文献3では、この仕組みを適用し、プラント運転支援システムなどにおける異常なサブシステムやその異常原因の特定に使用される異常診断装置が開示されている。
特許文献2では、この仕組みを適用し、原子力発電プラントや石油化学プラントなどの異常を診断する異常診断装置が開示されている。特許文献3では、この仕組みを適用し、プラント運転支援システムなどにおける異常なサブシステムやその異常原因の特定に使用される異常診断装置が開示されている。
しかしながら、特許文献1に記載の運用管理方法では、以下の課題がある。
(1)開発の最終段階において大きな労力が発生する。これは、特許文献1に記載の運用管理方法では、大規模なシステムの正常/異常の判定、並びに、異常発生箇所の同定を行う為には、システムの完成時になって初めて正常動作モデル(特許文献1では「相関モデル」)を構築することが可能になるからである。すなわち、特許文献1に記載の運用管理方法では、システムが正常に動作していることを特徴づける変数に加えて、そのシステムの一部を構成する部分(以降、「サブシステム」と記載する。)が正常に動作していることを特徴づける変数の値も全て抽出し、それらの膨大な変数の相関モデルを構築しなければならない。
(2)異常の判定精度が正常動作モデルの網羅度に依存する。すなわち、正常動作モデルを網羅的に作成することができれば異常の判定精度は向上するが、正常動作モデルを網羅的に作成することができなければ、異常の判定精度が低下して誤報(「正常」なのに「異常の可能性有」と通知されてしまうこと。)が発生し易くなる。
(3)正常動作モデルの表現形式が「時系列に変化する2つの変数の変換関数」に限定されている為、その表現形式によって正常動作モデルを表現できない場合には特許文献1に記載の運用管理方法を適用できない。正常動作モデルの表現形式は、2つの変数の相関による表現形式以外にも、例えば、ツリー形式を用いてシステムが正常時に取り得る変数の組の集合を表現したり、ソフトウエアが正常時に取り得る制御フロー集合を表現したりと、多様な表現形式が考えられる。従って、正常動作モデルの表現形式は、システム又はサブシステムの特性に応じて適切な表現形式を用いることが望ましい。
(1)開発の最終段階において大きな労力が発生する。これは、特許文献1に記載の運用管理方法では、大規模なシステムの正常/異常の判定、並びに、異常発生箇所の同定を行う為には、システムの完成時になって初めて正常動作モデル(特許文献1では「相関モデル」)を構築することが可能になるからである。すなわち、特許文献1に記載の運用管理方法では、システムが正常に動作していることを特徴づける変数に加えて、そのシステムの一部を構成する部分(以降、「サブシステム」と記載する。)が正常に動作していることを特徴づける変数の値も全て抽出し、それらの膨大な変数の相関モデルを構築しなければならない。
(2)異常の判定精度が正常動作モデルの網羅度に依存する。すなわち、正常動作モデルを網羅的に作成することができれば異常の判定精度は向上するが、正常動作モデルを網羅的に作成することができなければ、異常の判定精度が低下して誤報(「正常」なのに「異常の可能性有」と通知されてしまうこと。)が発生し易くなる。
(3)正常動作モデルの表現形式が「時系列に変化する2つの変数の変換関数」に限定されている為、その表現形式によって正常動作モデルを表現できない場合には特許文献1に記載の運用管理方法を適用できない。正常動作モデルの表現形式は、2つの変数の相関による表現形式以外にも、例えば、ツリー形式を用いてシステムが正常時に取り得る変数の組の集合を表現したり、ソフトウエアが正常時に取り得る制御フロー集合を表現したりと、多様な表現形式が考えられる。従って、正常動作モデルの表現形式は、システム又はサブシステムの特性に応じて適切な表現形式を用いることが望ましい。
また、特許文献2や特許文献3に記載の異常診断装置にも課題がある。特許文献2や特許文献3に記載の異常診断装置では、階層の最上位の正常動作モデルが「異常」と判断された場合には、その下の階層のサブシステムがたとえ「正常」と判断されていても、最終的に「異常」と判定してしまう。この判定方法では、仮に最上位の正常動作モデルの網羅度が低いと、「正常」を「異常」と判定してしまう場合があり、誤報を引き起こす可能性が高いと言える。
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、開発の最終段階での労力を軽減し、システム又はサブシステムの特性に応じて適切な表現形式を用いて正常動作モデルが構築され、異常の判定精度を向上させて誤報を減らすとともに異常発生個所の同定も可能とする異常診断装置等を提供することである。
前述した目的を達成するために第1の発明は、複数のサブシステムによって階層構造をなすシステムの異常診断を行う異常診断装置であって、前記システム及び前記サブシステムごとに、正常動作モデルを記憶する正常動作モデル蓄積部と、前記システム及び前記サブシステムごとに、実動時動作データを抽出する実動時動作抽出部と、前記システム及び前記サブシステムごとに、前記正常動作モデルに前記実動時動作データが含まれている場合には「正常」、含まれていない場合には「異常の可能性有」とする局所判定を行う正常動作モデル比較部と、前記システムに係る前記局所判定が「異常の可能性有」であり、かつ、前記階層構造の最下位層の前記サブシステムから遡って前記階層構造の最上位層の前記サブシステムに到達するまでの遡及経路に含まれる全ての前記局所判定が「異常の可能性有」である場合には、「異常の可能性大」とする総合判定を行い、最下位層の前記サブシステムを異常箇所として同定する総合判定部と、を具備する異常診断装置である。
第1の発明によって、異常の判定精度を向上させて誤報を減らすとともに異常発生個所の同定も行うことができる。
第1の発明によって、異常の判定精度を向上させて誤報を減らすとともに異常発生個所の同定も行うことができる。
第1の発明における前記総合判定部は、前記遡及経路に含まれる全ての前記局所判定が「異常の可能性有」であるか否かの判定処理を再帰的に実行することによって、前記総合判定を行うことが望ましい。
これによって、第1の発明の異常診断装置の実装作業が容易となるとともに、サブシステムの追加、削除、分割、又は統合があったとしても、対応が容易となる。
これによって、第1の発明の異常診断装置の実装作業が容易となるとともに、サブシステムの追加、削除、分割、又は統合があったとしても、対応が容易となる。
第1の発明における前記正常動作モデルは、前記システム及び前記サブシステムがそれぞれ独立に正常に動作していることを特徴づけるデータのみによって構築されることが望ましい。
これによって、開発の最終段階ではシステムの正常動作モデルのみを構築すれば良いので、開発の最終段階での労力を軽減することができる。
これによって、開発の最終段階ではシステムの正常動作モデルのみを構築すれば良いので、開発の最終段階での労力を軽減することができる。
第1の発明における前記正常動作モデルは、前記システム及び前記サブシステムごとの正常時の入出力値の対応関係を示す表現形式、並びに、前記システム及び前記サブシステムごとの正常時に取り得るデータフロー或いは制御フローを示す表現形式の中から、前記システム及び前記サブシステムごとに最適な表現形式によって構築されることが望ましい。
これによって、システム又はサブシステムの特性に応じて適切な表現形式を用いて正常動作モデルが構築される。
これによって、システム又はサブシステムの特性に応じて適切な表現形式を用いて正常動作モデルが構築される。
第2の発明は、コンピュータを、第1の発明の異常診断装置として機能させるためのプログラムである。
汎用のコンピュータに第2の発明のプログラムをインストールすることによって、第1の発明の異常診断装置を得ることができる。
汎用のコンピュータに第2の発明のプログラムをインストールすることによって、第1の発明の異常診断装置を得ることができる。
本発明により、開発の最終段階での労力を軽減し、システム又はサブシステムの特性に応じて適切な表現形式を用いて正常動作モデルが構築され、異常の判定精度を向上させて誤報を減らすとともに異常発生個所の同定も可能とする異常診断装置等を提供することができる。
以下図面に基づいて、本発明の実施形態を詳細に説明する。
本発明の実施の形態に係る異常診断装置1は、複数のサブシステムによって階層構造をなすシステムを診断対象とする。異常診断装置1は、診断対象のシステムに搭載されていても良いし、診断対象のシステムの外部に設置されていても良い。例えば、診断対象のシステムが車両の制御システムである場合、異常診断装置1が車両に搭載されていると、後述する実動時動作データの収集が容易になるとともに、運転者に対して即座に診断結果を通知することが可能となる。
本発明の実施の形態に係る異常診断装置1は、複数のサブシステムによって階層構造をなすシステムを診断対象とする。異常診断装置1は、診断対象のシステムに搭載されていても良いし、診断対象のシステムの外部に設置されていても良い。例えば、診断対象のシステムが車両の制御システムである場合、異常診断装置1が車両に搭載されていると、後述する実動時動作データの収集が容易になるとともに、運転者に対して即座に診断結果を通知することが可能となる。
図1は、診断対象のシステムと異常診断装置の概略構成図である。
図1に示すように、診断対象のシステムは、複数のサブシステムによって階層構造をなす。図1を詳細に説明すると、システムは、「サブシステム1」、・・・、「サブシステムn」(最上位層のサブシステム)を含む。また、「サブシステム1」(最上位層のサブシステム群)は、「サブシステム11」、・・・、「サブシステム1p」(第2階層のサブシステム群)を含み、「サブシステムn」(最上位層のサブシステム)は、「サブシステムn1」、・・・、「サブシステムnq」(第2階層のサブシステム群)を含む。尚、第2階層よりも下の階層のサブシステムが存在しない場合、第2階層が最下位層となる。
図1に示すように、診断対象のシステムは、複数のサブシステムによって階層構造をなす。図1を詳細に説明すると、システムは、「サブシステム1」、・・・、「サブシステムn」(最上位層のサブシステム)を含む。また、「サブシステム1」(最上位層のサブシステム群)は、「サブシステム11」、・・・、「サブシステム1p」(第2階層のサブシステム群)を含み、「サブシステムn」(最上位層のサブシステム)は、「サブシステムn1」、・・・、「サブシステムnq」(第2階層のサブシステム群)を含む。尚、第2階層よりも下の階層のサブシステムが存在しない場合、第2階層が最下位層となる。
階層構造の階層数は任意である。サブシステムの分割単位は、機能、HW(ハードウエア)、SW(ソフトウエア)などが考えられる。機能、HW(ハードウエア)、SW(ソフトウエア)ごとに分けられたサブシステムは、更に複数のサブ機能、サブHW、サブSWに階層化しても良い。また、例えば、図1に示す「サブシステム1p」と「サブシステムn1」などが、同一のサブシステムであっても良い。
また、図1に示すように、階層型異常診断装置1(以下、単に「異常診断装置1」と記載する。)は、実動時動作抽出部2、正常動作モデル蓄積部3、正常動作モデル比較部4、総合判定部5等を具備する。
正常動作モデル蓄積部3は、システム及びサブシステムごとに、階層型正常動作モデル7(以下、単に「正常動作モデル7」と記載する。)を記憶する。正常動作モデル7は、例えば、サブシステムごとの動作を確認する単体テストやシステム全体の動作を確認する総合テストの際に構築される。また、正常動作モデル7は、システムの実動後にデータが追加されても良い。
正常動作モデル7は、システム及びサブシステムがそれぞれ独立に正常に動作していることを特徴づけるデータのみによって構築されることが望ましい。これは、システム全体や特定のサブシステムが正常か否かを判定する為には、より下位のサブシステムの動作を特徴づけるデータを含める必要がないからである。また、あるサブシステムの正常動作モデル7が他のサブシステムに依存する場合、他のサブシステムが完成しないと構築できない為、開発の最終段階において大きな労力が必要である。これに対して、正常動作モデル7をシステム及びサブシステムごとに独立して構築することによって、開発の最終段階ではシステムの正常動作モデル7のみを構築すれば良いので、開発の最終段階での労力を軽減することができる。
正常動作モデル7は、システム及びサブシステムごとの正常時の入出力値の対応関係を示す表現形式(第1の表現形式)、並びに、システム及びサブシステムごとの正常時に取り得るフローを示す表現形式(第2の表現形式)などの中から、システム及びサブシステムごとに最適な表現形式によって構築される。例えば、機能、HW(ハードウエア)、SW(ソフトウエア)などの分割単位に応じて最適な表現形式が選択される。
第1の表現形式の例としては、入出力変数の相関関数、ツリー構造やテーブルなどによって表現される入出力変数値の羅列などが考えられる。また、第2の表現形式の例としては、データフローや制御フローなどが考えられる。例えば、機能やHWを分割単位とするときは、第1の表現形式などが望ましい。また、例えば、SWを分割単位とするときは、処理が単純な場合にはいずれの表現形式でも良く、処理が複雑な場合には第2の表現形式などが望ましい。
第1の表現形式の例としては、入出力変数の相関関数、ツリー構造やテーブルなどによって表現される入出力変数値の羅列などが考えられる。また、第2の表現形式の例としては、データフローや制御フローなどが考えられる。例えば、機能やHWを分割単位とするときは、第1の表現形式などが望ましい。また、例えば、SWを分割単位とするときは、処理が単純な場合にはいずれの表現形式でも良く、処理が複雑な場合には第2の表現形式などが望ましい。
実動時動作抽出部2は、システムの実動時に、システム及びサブシステムごとに、階層型実動時動作データ6(以下、単に「実動時動作データ6」と記載する。)を抽出する。実動時動作抽出部2は、正常動作モデル7との比較が可能なように、正常動作モデル7の表現形式に応じたデータを実動時動作データ6として収集する。例えば、正常動作モデル7が、入出力変数の相関関数、入出力変数値の羅列、データフローなどによって表現される場合、実動時動作抽出部2は、関連するデータを実動時動作データ6として収集する。また、例えば、正常動作モデル7が、制御フローなどによって表現される場合、実行された命令や命令の実行アドレスを実動時動作データ6として収集する。
例えば、診断対象のシステムを構成する為の各種プログラムには、異常診断装置1に実動時動作データ6を送信する命令が記述されている。また、例えば、異常診断装置1の実動時動作抽出部2を構成する為のプログラムには、各種センサから実動時動作データ6を取得する命令が記述されている。
例えば、診断対象のシステムを構成する為の各種プログラムには、異常診断装置1に実動時動作データ6を送信する命令が記述されている。また、例えば、異常診断装置1の実動時動作抽出部2を構成する為のプログラムには、各種センサから実動時動作データ6を取得する命令が記述されている。
正常動作モデル比較部4は、システムの実動時に、システム及びサブシステムごとに、正常動作モデル7に実動時動作データ6が含まれている場合には「正常」、含まれていない場合には「異常の可能性有」とする局所判定を行う。正常動作モデル比較部4が従う局所判定アルゴリズム8の一例については後述する。
総合判定部5は、システムの実動時に、システムに係る局所判定が「異常の可能性有」であり、かつ、階層構造の最下位層のサブシステムから遡って階層構造の最上位層のサブシステムに到達するまでの遡及経路に含まれる全ての局所判定が「異常の可能性有」である場合には、「異常の可能性大」とする総合判定を行い、最下位層のサブシステムを異常箇所として同定する。以下、遡及経路とは、階層構造の最下位層のサブシステムから遡って階層構造の最上位層のサブシステムに到達するまでの経路を意味するものとする。総合判定部5が従う総合判定アルゴリズム9の一例については後述する。
ここで、異常診断装置1のハードウエア構成について説明する。異常診断装置1は、例えば、制御装置、記憶装置、及び通信制御装置等がバスを介して接続されて構成される。
制御装置は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。CPUは、記憶装置、ROM等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バスを介して接続された各装置を駆動制御し、異常診断装置1が行う後述する処理を実現する。ROMは、不揮発性メモリであり、異常診断装置1のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶装置、ROM等からロードしたプログラム、データ等を一時的に保持するとともに、制御装置が各種処理を行う為に使用するワークエリアを備える。
記憶装置は、HDD(ハードディスクドライブ)またはEEPROM(Electrically Erasable Programmable ROM)等であり、制御装置が実行するプログラム、プログラム実行に必要なデータ等が格納される。プログラムは、制御装置により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
通信制御装置は、他の装置との通信を媒介する通信インタフェースであり、他の装置との通信制御を行う。
制御装置は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。CPUは、記憶装置、ROM等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バスを介して接続された各装置を駆動制御し、異常診断装置1が行う後述する処理を実現する。ROMは、不揮発性メモリであり、異常診断装置1のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶装置、ROM等からロードしたプログラム、データ等を一時的に保持するとともに、制御装置が各種処理を行う為に使用するワークエリアを備える。
記憶装置は、HDD(ハードディスクドライブ)またはEEPROM(Electrically Erasable Programmable ROM)等であり、制御装置が実行するプログラム、プログラム実行に必要なデータ等が格納される。プログラムは、制御装置により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
通信制御装置は、他の装置との通信を媒介する通信インタフェースであり、他の装置との通信制御を行う。
実動時動作抽出部2、正常動作モデル比較部4、及び総合判定部5は、制御装置が記憶装置に記憶されているプログラムを実行することによって実現される。また、実動時動作抽出部2は、制御装置が通信制御装置を介してデータを収集することによって実現される。正常動作モデル蓄積部3は、記憶装置に記憶されるファイル群によって実現される。
図2は、システムの一例としての車両の概要図である。車両11は、図1に示すシステムに相当する。ABS(Antilock Brake System)12は、図1に示す最上位層のサブシステムに相当する。説明を簡単にする為に、車両11に含まれるABS12以外の最上位層のサブシステムについては省略する。
ABS12は、急ブレーキや低摩擦の路面でのブレーキ操作において、車輪のロック(車輪の回転が止まること)による滑走を防止する機能である。ABS12は、例えば、ECU(Electric Control Unit:電子制御装置)によって実現される。ECUは、マイクロコンピュータであり、組み込まれるSW(ソフトウエア)13に従って動作する。
また、図2に示すABS12は、4センサ2チャンネル型となっている。4つのセンサは、車輪速(FL:左前輪)21、車輪速(FR:右前輪)22、車輪速(RL:左後輪)23、車輪速(RR:右後輪)24の車速センサである。2つのチャンネルは、HW(FL:左前輪)14、HW(FR:右前輪)15である。尚、HWはハードウエアの略称である。HW(FL)14やHW(FR)15は、例えば、ブレーキ油圧を制御するソレノイドバルブである。
SW13、HW(FL)14、及びHW(FR)15は、図1に示す第2階層のサブシステムに相当する。
SW13、HW(FL)14、及びHW(FR)15は、図1に示す第2階層のサブシステムに相当する。
以下では、車輪速(FL)21、車輪速(FR)22、車輪速(RL)23、車輪速(RR)24の車速センサや、出力装置25(例えば、警報ランプなど)、車輪(FL)26、車輪(FR)27、ブレーキ装置28などは、サブシステムとしてのABS12に含まれないものとして説明する。
図3〜図8を参照しながら、正常動作モデル蓄積部3について説明する。正常動作モデル蓄積部3は、図3に示す正常動作モデルの階層構造を示すデータとともに、図4〜図8に示すシステム及びサブシステムの正常動作モデルのデータを蓄積する。
図3は、正常動作モデルの階層構造を示す図である。
図3に示すように、車両11、ABS12、SW13、HW(FL)14、HW(FR)15のそれぞれに対して、車両の正常動作モデル31、ABSの正常動作モデル32、SWの正常動作モデル33、HW(FL)の正常動作モデル34、HW(FR)の正常動作モデル35が構築される。システムが複数のサブシステムによって階層構造をなす為、正常動作モデル7も、図3に示す階層構造をなしている。
図3に示すように、車両11、ABS12、SW13、HW(FL)14、HW(FR)15のそれぞれに対して、車両の正常動作モデル31、ABSの正常動作モデル32、SWの正常動作モデル33、HW(FL)の正常動作モデル34、HW(FR)の正常動作モデル35が構築される。システムが複数のサブシステムによって階層構造をなす為、正常動作モデル7も、図3に示す階層構造をなしている。
図4は、車両の正常動作モデルの一例を示す図である。
車両の正常動作モデル31は、例えば、正常な車両11の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常な車両11の動作を表す変数値としては、運転者の操作を示す変数値、運転者の操作に対する反応を示す変数値、車両11の状態を示す変数値などが挙げられる。
図4に示すように、車両の正常動作モデル31は、例えば、運転者の操作を示す変数値として、アクセル踏み角41、ブレーキ値42、及びステアリング角43を含み、運転者の操作に対する反応を示す変数値として、G(加速度)センサx値(前後方向の値)44、G(加速度)センサy値(左右方向の値)45を含み、車両11の状態を示す変数値として、車速46を含む。
例えば、No.1のデータであれば、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「1.1」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」である。図4に示すNo.1〜No.5などのデータは、それぞれ、正常な車両11の動作を表す変数値の組み合わせとなっている。
車両の正常動作モデル31は、例えば、正常な車両11の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常な車両11の動作を表す変数値としては、運転者の操作を示す変数値、運転者の操作に対する反応を示す変数値、車両11の状態を示す変数値などが挙げられる。
図4に示すように、車両の正常動作モデル31は、例えば、運転者の操作を示す変数値として、アクセル踏み角41、ブレーキ値42、及びステアリング角43を含み、運転者の操作に対する反応を示す変数値として、G(加速度)センサx値(前後方向の値)44、G(加速度)センサy値(左右方向の値)45を含み、車両11の状態を示す変数値として、車速46を含む。
例えば、No.1のデータであれば、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「1.1」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」である。図4に示すNo.1〜No.5などのデータは、それぞれ、正常な車両11の動作を表す変数値の組み合わせとなっている。
図5は、ABSの正常動作モデルの一例を示す図である。
ABSの正常動作モデル32は、例えば、正常なABS12の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なABS12の動作を表す変数値としては、ABS12に対する入力を示す変数値、ABS12からの出力を示す変数値などが挙げられる。
図5に示すように、ABSの正常動作モデル32は、例えば、ABS12に対する入力を示す変数値として、車輪減速度(FL)51、車輪減速度(FR)52、車輪減速度(RL)53、車輪減速度(RR)54を含み、ABS12からの出力を示す変数値として、ソレノイドバルブ(FL)55、ソレノイドバルブ(FR)56を含む。
例えば、No.1のデータであれば、車輪減速度(FL)51が「2.4」、車輪減速度(FR)52が「3.5」、車輪減速度(RL)53が「2.7」、車輪減速度(RR)54が「1.5」、ソレノイドバルブ(FL)55が「0」、ソレノイドバルブ(FR)56が「0」である。図5に示すNo.1〜No.5などのデータは、それぞれ、正常なABS12の動作を表す変数値の組み合わせとなっている。尚、ソレノイドバルブ(FL)55とソレノイドバルブ(FR)56の値は、制御モードをコード化したものであり、「0」が減圧、「1」が保持、「2」が増圧を示している。
ABSの正常動作モデル32は、例えば、正常なABS12の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なABS12の動作を表す変数値としては、ABS12に対する入力を示す変数値、ABS12からの出力を示す変数値などが挙げられる。
図5に示すように、ABSの正常動作モデル32は、例えば、ABS12に対する入力を示す変数値として、車輪減速度(FL)51、車輪減速度(FR)52、車輪減速度(RL)53、車輪減速度(RR)54を含み、ABS12からの出力を示す変数値として、ソレノイドバルブ(FL)55、ソレノイドバルブ(FR)56を含む。
例えば、No.1のデータであれば、車輪減速度(FL)51が「2.4」、車輪減速度(FR)52が「3.5」、車輪減速度(RL)53が「2.7」、車輪減速度(RR)54が「1.5」、ソレノイドバルブ(FL)55が「0」、ソレノイドバルブ(FR)56が「0」である。図5に示すNo.1〜No.5などのデータは、それぞれ、正常なABS12の動作を表す変数値の組み合わせとなっている。尚、ソレノイドバルブ(FL)55とソレノイドバルブ(FR)56の値は、制御モードをコード化したものであり、「0」が減圧、「1」が保持、「2」が増圧を示している。
図6は、SWの正常動作モデルの一例を示す図である。
SWの正常動作モデル33は、例えば、正常なSW13の制御フローを示す表として構築される。正常なSW13の制御フローとしては、SW13の命令の実行アドレス列61などが挙げられる。
図6に示すように、SWの正常動作モデル33は、例えば、実行アドレス列61として、命令1〜命令6の実行アドレスを含む。
例えば、No.1のデータであれば、命令1が「0x1000」、命令2が「0x1001」、命令3が「0x1002」、命令4が「0x1003」、命令5が「0x1004」、命令6が「0x1005」である。図6に示すNo.1〜No.5などのデータは、それぞれ、正常なSW13の制御フローとなっている。
尚、図6に示す例では、SWの正常動作モデル33は、実行アドレス列61による表現形式としたが、例えば、関数呼出しの呼出し順や、分岐処理だけに着目した制御フローなどによる表現形式であっても良い。
SWの正常動作モデル33は、例えば、正常なSW13の制御フローを示す表として構築される。正常なSW13の制御フローとしては、SW13の命令の実行アドレス列61などが挙げられる。
図6に示すように、SWの正常動作モデル33は、例えば、実行アドレス列61として、命令1〜命令6の実行アドレスを含む。
例えば、No.1のデータであれば、命令1が「0x1000」、命令2が「0x1001」、命令3が「0x1002」、命令4が「0x1003」、命令5が「0x1004」、命令6が「0x1005」である。図6に示すNo.1〜No.5などのデータは、それぞれ、正常なSW13の制御フローとなっている。
尚、図6に示す例では、SWの正常動作モデル33は、実行アドレス列61による表現形式としたが、例えば、関数呼出しの呼出し順や、分岐処理だけに着目した制御フローなどによる表現形式であっても良い。
図7は、HW(FL)の正常動作モデルの一例を示す図である。
HW(FL)の正常動作モデル34は、例えば、正常なHW(FL)14の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なHW(FL)14の動作を表す変数値としては、HW(FL)14に対する入力を示す変数値、HW(FL)14からの出力を示す変数値などが挙げられる。
図5に示すように、HW(FL)の正常動作モデル34は、例えば、HW(FL)14に対する入力を示す変数値として、ABS12のECUから与えられる電流値71を含み、HW(FL)14からの出力を示す変数値として、ソレノイドバルブのプランジャ位置72を含む。
例えば、No.1のデータであれば、電流値71が「0.1」、プランジャ位置72が「0」である。図7に示すNo.1〜No.5などのデータは、それぞれ、正常なHW(FL)14の動作を表す変数値の組み合わせとなっている。尚、プランジャ位置72の値は、コード化したものであり、「0」が高の位置、「1」が中の位置、「2」が低の位置を示している。
HW(FL)の正常動作モデル34は、例えば、正常なHW(FL)14の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なHW(FL)14の動作を表す変数値としては、HW(FL)14に対する入力を示す変数値、HW(FL)14からの出力を示す変数値などが挙げられる。
図5に示すように、HW(FL)の正常動作モデル34は、例えば、HW(FL)14に対する入力を示す変数値として、ABS12のECUから与えられる電流値71を含み、HW(FL)14からの出力を示す変数値として、ソレノイドバルブのプランジャ位置72を含む。
例えば、No.1のデータであれば、電流値71が「0.1」、プランジャ位置72が「0」である。図7に示すNo.1〜No.5などのデータは、それぞれ、正常なHW(FL)14の動作を表す変数値の組み合わせとなっている。尚、プランジャ位置72の値は、コード化したものであり、「0」が高の位置、「1」が中の位置、「2」が低の位置を示している。
図8は、HW(FR)の正常動作モデルの一例を示す図である。
HW(FL)の正常動作モデル35は、例えば、正常なHW(FR)15の動作を表す変数値の組み合わせの羅列を示す表として構築される。例えば、正常なHW(FR)15の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なHW(FR)15の動作を表す変数値としては、HW(FR)15に対する入力を示す変数値、HW(FR)15からの出力を示す変数値などが挙げられる。
図8に示すデータの意味は、図7に示すデータと同様である為、説明を省略する。
HW(FL)の正常動作モデル35は、例えば、正常なHW(FR)15の動作を表す変数値の組み合わせの羅列を示す表として構築される。例えば、正常なHW(FR)15の動作を表す変数値の組み合わせの羅列を示す表として構築される。正常なHW(FR)15の動作を表す変数値としては、HW(FR)15に対する入力を示す変数値、HW(FR)15からの出力を示す変数値などが挙げられる。
図8に示すデータの意味は、図7に示すデータと同様である為、説明を省略する。
次に、図9を参照しながら、実動時動作抽出部2について説明する。実動時動作抽出部2は、システムの実動時に、図9に示すシステム及びサブシステムの実動時動作データを抽出する。
図9は、実動時動作データの階層構造を示す図である。
図9に示すように、車両11、ABS12、SW13、HW(FL)14、HW(FR)15のそれぞれに対して、車両の実動時動作データ91、ABSの実動時動作データ92、SWの実動時動作データ93、HW(FL)の実動時動作データ94、HW(FR)の実動時動作データ95が構築される。システムが複数のサブシステムによって階層構造をなす為、実動時動作データも図9に示す階層構造をなしている。
各実動時動作データの内容は、前述の正常動作モデル(図4〜図8参照)と同様である為、説明を省略する。
図9に示すように、車両11、ABS12、SW13、HW(FL)14、HW(FR)15のそれぞれに対して、車両の実動時動作データ91、ABSの実動時動作データ92、SWの実動時動作データ93、HW(FL)の実動時動作データ94、HW(FR)の実動時動作データ95が構築される。システムが複数のサブシステムによって階層構造をなす為、実動時動作データも図9に示す階層構造をなしている。
各実動時動作データの内容は、前述の正常動作モデル(図4〜図8参照)と同様である為、説明を省略する。
次に、図10を参照しながら、正常動作モデル比較部4について説明する。
図10は、局所判定アルゴリズムの一例を示すフローチャートである。図10に示す「S」は、システム及びサブシステムを一意に特定するデータを格納する変数である。「N」は、システム又は特定のサブシステムの正常動作モデルを格納する変数である。「R」は、システム又は特定のサブシステムの実動時動作データを格納する変数である。
図10は、局所判定アルゴリズムの一例を示すフローチャートである。図10に示す「S」は、システム及びサブシステムを一意に特定するデータを格納する変数である。「N」は、システム又は特定のサブシステムの正常動作モデルを格納する変数である。「R」は、システム又は特定のサブシステムの実動時動作データを格納する変数である。
正常動作モデル比較部4は、変数Sに、システム又は特定のサブシステムを示すデータを格納し、図10に示すフローチャートを実行する。
図10に示すように、正常動作モデル比較部4は、変数Nに「変数Sの正常動作モデル」を格納するとともに(ステップS11)、変数Rに「変数Sの実動時動作データ」を格納する(ステップS12)。
図10に示すように、正常動作モデル比較部4は、変数Nに「変数Sの正常動作モデル」を格納するとともに(ステップS11)、変数Rに「変数Sの実動時動作データ」を格納する(ステップS12)。
次に、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれるか否か判定する(ステップS13)。
例えば、変数Nには、図4に示す車両の正常動作モデル31が格納されているとする。また、例えば、変数Rには、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「1.1」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」のデータが格納されているものとする。この場合、変数Rのデータは、変数NのNo.1のデータと同一であるから、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていると判定する。
また、例えば、変数Nには、図4に示す車両の正常動作モデル31が格納されているとする。また、例えば、変数Rには、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「0.5」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」のデータが格納されているものとする。この場合、変数Rのデータは、変数NのNo.1のデータと比べるとステアリング角43が異なり、それ以外のデータとも一致しないことから、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていないと判定する。
例えば、変数Nには、図4に示す車両の正常動作モデル31が格納されているとする。また、例えば、変数Rには、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「1.1」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」のデータが格納されているものとする。この場合、変数Rのデータは、変数NのNo.1のデータと同一であるから、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていると判定する。
また、例えば、変数Nには、図4に示す車両の正常動作モデル31が格納されているとする。また、例えば、変数Rには、アクセル踏み角41が「1.1」、ブレーキ値42が「0」、ステアリング角43が「0.5」、Gセンサx値44が「1.5」、Gセンサy値45が「3.7」、車速46が「1.6」のデータが格納されているものとする。この場合、変数Rのデータは、変数NのNo.1のデータと比べるとステアリング角43が異なり、それ以外のデータとも一致しないことから、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていないと判定する。
次に、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていると判定した場合、「正常」と判定する(ステップS14)。また、正常動作モデル比較部4は、変数Nのデータに変数Rのデータが含まれていないと判定した場合、「異常の可能性有」と判定する(ステップS15)。
正常動作モデル比較部4は、局所判定の結果をRAM等に記憶し、図10の処理を終了する。
正常動作モデル比較部4は、システム及び全てのサブシステムに対して前述の処理を実行し、システム及びサブシステムごとの局所判定の結果をRAM等に記憶する。
正常動作モデル比較部4は、局所判定の結果をRAM等に記憶し、図10の処理を終了する。
正常動作モデル比較部4は、システム及び全てのサブシステムに対して前述の処理を実行し、システム及びサブシステムごとの局所判定の結果をRAM等に記憶する。
次に、図11〜図13を参照しながら、総合判定部5について説明する。総合判定部5は、図11に示す総合判定アルゴリズム9、又は、図12に示す総合判定表100に従って、処理を実行する。
総合判定部5は、図11に示す総合判定アルゴリズム9及び図12に示す総合判定表100のいずれに従う場合であっても、システムに係る局所判定が「異常の可能性有」であり、かつ、遡及経路(階層構造の最下位層のサブシステムから遡って階層構造の最上位層のサブシステムに到達するまでの経路)に含まれる全ての局所判定が「異常の可能性有」である場合には、「異常の可能性大」とする総合判定を行い、最下位層のサブシステムを異常箇所として同定する。図2に示す例であれば、遡及経路は、(1)SW13−ABS12−車両11、(2)HW(FL)14−ABS12−車両11、(3)HW(FR)15−ABS12−車両12である。
最初に、図11に示す総合判定アルゴリズム9に従う場合について説明する。図11は、総合判定アルゴリズムの一例を示すフローチャートである。図11に示すSは、サブシステムの集合を格納する変数である。Siは、サブシステムを一意に特定するデータを格納する変数である。
総合判定部5は、最初に、システムの局所判定が「正常」か否か判定する(ステップS21)。
総合判定部5は、システムの局所判定が「正常」の場合(ステップS21の「Y」)、総合判定を「正常とみなす」とし(ステップS22)、総合判定を出力し(ステップS23)、処理を終了する。
一方、総合判定部5は、システムの局所判定が「正常」でない場合(ステップS21の「N」)、ステップS24〜ステップS32に示される「再帰処理」を実行し、現コンテキストが再帰のコンテキストではなくなると(ステップS26の「N」)、総合判定を出力し(ステップS23)、処理を終了する。
尚、「現コンテキストが再帰のコンテキストである」(ステップS26の「Y」)とは、後述する再帰呼び出し(ステップS30の判定が「Y」の場合)によってステップS26が実行されていること、言い換えれば、後述するループ処理中にステップS26が実行されていることを意味する。
総合判定部5は、システムの局所判定が「正常」の場合(ステップS21の「Y」)、総合判定を「正常とみなす」とし(ステップS22)、総合判定を出力し(ステップS23)、処理を終了する。
一方、総合判定部5は、システムの局所判定が「正常」でない場合(ステップS21の「N」)、ステップS24〜ステップS32に示される「再帰処理」を実行し、現コンテキストが再帰のコンテキストではなくなると(ステップS26の「N」)、総合判定を出力し(ステップS23)、処理を終了する。
尚、「現コンテキストが再帰のコンテキストである」(ステップS26の「Y」)とは、後述する再帰呼び出し(ステップS30の判定が「Y」の場合)によってステップS26が実行されていること、言い換えれば、後述するループ処理中にステップS26が実行されていることを意味する。
以下では、ステップS24〜ステップS32に示される「再帰処理」について説明する。
総合判定部5は、もう一段下位の層のサブシステム群を変数Sに格納し、変数Sに含まれるサブシステムの局所判定が「全て正常」か否かの各層判定を行う(ステップS24)。
総合判定部5は、各層判定が「全て正常」の場合(ステップS24の「Y」)、総合判定がφ(空集合)の場合には総合判定を「正常か異常か不明」とし(ステップS25)、現コンテキストが再帰のコンテキストか否かを確認する(ステップS26)。総合判定部5は、現コンテキストが再帰のコンテキストである場合(ステップS26の「Y」)、変数Sに一段上の階層のサブシステム群を格納し、再帰からリターンする(ステップS27)。一方、総合判定部5は、現コンテキストが再帰のコンテキストではない場合(ステップS26の「N」)、前述の通りステップS23に進む。
また、総合判定部5は、各層判定が「全て正常」ではない場合(ステップS24の「N」)、S28〜S32に示される「ループ処理」を実行する。
総合判定部5は、もう一段下位の層のサブシステム群を変数Sに格納し、変数Sに含まれるサブシステムの局所判定が「全て正常」か否かの各層判定を行う(ステップS24)。
総合判定部5は、各層判定が「全て正常」の場合(ステップS24の「Y」)、総合判定がφ(空集合)の場合には総合判定を「正常か異常か不明」とし(ステップS25)、現コンテキストが再帰のコンテキストか否かを確認する(ステップS26)。総合判定部5は、現コンテキストが再帰のコンテキストである場合(ステップS26の「Y」)、変数Sに一段上の階層のサブシステム群を格納し、再帰からリターンする(ステップS27)。一方、総合判定部5は、現コンテキストが再帰のコンテキストではない場合(ステップS26の「N」)、前述の通りステップS23に進む。
また、総合判定部5は、各層判定が「全て正常」ではない場合(ステップS24の「N」)、S28〜S32に示される「ループ処理」を実行する。
「ループ処理」では、総合判定部5は、変数Sにおける各サブシステムを変数Siに代入して順に一連の処理(ステップS29〜ステップS31)を実行する(ステップS28)。変数Sに含まれる全てのサブシステムに対して一連の処理が終了すると、総合判定部5は、ループ処理を終了し(ステップS32)、ステップS26に進む。
総合判定部5は、変数Siの局所判定が「正常」か否かを確認する(ステップS29)。総合判定部5は、変数Siの局所判定が「正常」の場合(ステップS29の「Y」)、次のサブシステムを変数Siに代入してステップS29から処理を繰り返す。一方、総合判定部5は、変数Siの局所判定が「正常」ではない場合(ステップS29の「N」)、ステップS30に進む。
ステップS30では、総合判定部5は、変数Siのもう一段下位のサブシステムが存在するか否か確認し、存在する場合(ステップS30の「Y」)にはS24の処理の再帰呼び出しを行い、存在しない場合(ステップS30の「N」)には総合判定を「異常の可能性大」とし、異常箇所として「変数Si」を付け加えて(ステップS31)、次のサブシステムを変数Siに代入してステップS29から処理を繰り返す。
以上の通り、総合判定部5は、図11に示す総合判定アルゴリズム9に従う場合、遡及経路に含まれる全ての局所判定が「異常の可能性有」であるか否かの判定処理を再帰的に実行することによって、総合判定及び異常箇所の同定を行う。
次に、図12に示す総合判定表に従う場合について説明する。図12は、総合判定表の一例を示す図である。
総合判定部5は、予め総合判定表100を記憶しておき、正常動作モデル比較部4による判定結果を総合判定表100に当てはめることによって、総合判定及び異常箇所の同定を行う。
図12に示すように、総合判定表100は、局所判定101の組み合わせパターンと、総合判定&異常箇所同定102との対応関係を示す表である。
例えば、No.1のデータであれば、車両11の局所判定が「正常」、ABS12の局所判定が「正常」、SW13の局所判定が「正常」、HW(FL)14の局所判定が「正常」、かつ、HW(FR)15の局所判定が「正常」の場合、総合判定を「正常とみなす」と決定することを示している。
総合判定部5は、予め総合判定表100を記憶しておき、正常動作モデル比較部4による判定結果を総合判定表100に当てはめることによって、総合判定及び異常箇所の同定を行う。
図12に示すように、総合判定表100は、局所判定101の組み合わせパターンと、総合判定&異常箇所同定102との対応関係を示す表である。
例えば、No.1のデータであれば、車両11の局所判定が「正常」、ABS12の局所判定が「正常」、SW13の局所判定が「正常」、HW(FL)14の局所判定が「正常」、かつ、HW(FR)15の局所判定が「正常」の場合、総合判定を「正常とみなす」と決定することを示している。
図12のNo.1〜No.16に示すように、総合判定部5は、車両11(システム)の局所判定が「正常」であれば、総合判定を「正常とみなす」と決定する。
また、図12のNo.17〜No.25に示すように、総合判定部5は、車両11(システム)の局所判定が「異常の可能性有」であっても、遡及経路に含まれるいずれか1つの局所判定が「正常」である場合には、総合判定を「正常か異常か不明」と決定する。
また、図12のNo.26〜No.32に示すように、総合判定部5は、車両11(システム)の局所判定が「異常の可能性有」、かつ遡及経路に含まれる全ての局所判定が「異常の可能性有」である場合には、総合判定を「異常の可能性大」と決定する。
No.29〜No.32の場合、(1)SW13−ABS12−車両11の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「SW13」を異常箇所として同定する。
No.27、No.28、No.31、No.32の場合、(2)HW(FL)14−ABS12−車両11の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「HW(FL)14」を異常箇所として同定する。
No.26、No.28、No.30、No.32の場合、(3)HW(FR)15−ABS12−車両12の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「HW(FR)15」を異常箇所として同定する。
No.29〜No.32の場合、(1)SW13−ABS12−車両11の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「SW13」を異常箇所として同定する。
No.27、No.28、No.31、No.32の場合、(2)HW(FL)14−ABS12−車両11の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「HW(FL)14」を異常箇所として同定する。
No.26、No.28、No.30、No.32の場合、(3)HW(FR)15−ABS12−車両12の遡及経路に含まれる全ての局所判定が「異常の可能性有」であるから、最下位層のサブシステムである「HW(FR)15」を異常箇所として同定する。
前述した通り、総合判定部5は、図11に示す総合判定アルゴリズム9及び図12に示す総合判定表100のいずれに従う場合であっても、同様のルールによって総合判定及び異常箇所の同定を行う。従って、図11に示す総合判定アルゴリズム9に従った総合判定及び異常箇所の同定は、図12に示す総合判定及び異常箇所の同定102と同一である。
図13は、総合判定結果の一例を示す図である。
図13(a)は、図12のNo.21に対応する。図13(b)は、図12のNo.29に対応する。
図13(a)では、車両11(システム)の局所判定、及び、SW13(最下位層のサブシステムの1つ)の局所判定が「異常の可能性有」となっており、ABS12(最上位層のサブシステム)の局所判定が「正常」となっている。このような状況は、車両の正常動作モデル31及びSWの正常動作モデル33の網羅度が低いと考えられる。そこで、総合判定部5は、総合判定を「正常か異常か不明」と決定する。
一方、図13(b)では、車両11(システム)の局所判定、ABS12(最上位層のサブシステム)の局所判定、及び、SW13(最下位層のサブシステムの1つ)の局所判定が「異常の可能性有」となっている。言い換えると、「異常の可能性有」の局所判定だけを辿って、最下位層のサブシステムから遡って最上位層のサブシステムに到達することができる。このような状況は、最下位層のサブシステムであるSW13に何らかの不具合がある可能性が高いと考えられる。そこで、総合判定部5は、総合判定を「異常の可能性大」と決定し、「SW13」(最下位層のサブシステム)を異常箇所として同定する。
このように、本発明の異常診断装置1では、仮にシステムや一部のサブシステムの正常動作モデルの網羅度が低い場合であっても、他のサブシステムの局所判定も考慮されて総合判定が決定されるので、誤報(「正常」なのに「異常の可能性有」と通知されてしまうこと。)を低減することができる。
図13(a)は、図12のNo.21に対応する。図13(b)は、図12のNo.29に対応する。
図13(a)では、車両11(システム)の局所判定、及び、SW13(最下位層のサブシステムの1つ)の局所判定が「異常の可能性有」となっており、ABS12(最上位層のサブシステム)の局所判定が「正常」となっている。このような状況は、車両の正常動作モデル31及びSWの正常動作モデル33の網羅度が低いと考えられる。そこで、総合判定部5は、総合判定を「正常か異常か不明」と決定する。
一方、図13(b)では、車両11(システム)の局所判定、ABS12(最上位層のサブシステム)の局所判定、及び、SW13(最下位層のサブシステムの1つ)の局所判定が「異常の可能性有」となっている。言い換えると、「異常の可能性有」の局所判定だけを辿って、最下位層のサブシステムから遡って最上位層のサブシステムに到達することができる。このような状況は、最下位層のサブシステムであるSW13に何らかの不具合がある可能性が高いと考えられる。そこで、総合判定部5は、総合判定を「異常の可能性大」と決定し、「SW13」(最下位層のサブシステム)を異常箇所として同定する。
このように、本発明の異常診断装置1では、仮にシステムや一部のサブシステムの正常動作モデルの網羅度が低い場合であっても、他のサブシステムの局所判定も考慮されて総合判定が決定されるので、誤報(「正常」なのに「異常の可能性有」と通知されてしまうこと。)を低減することができる。
ここで、総合判定を決定した後の対応について説明する。
例えば、総合判定が「異常の可能性大」の場合、異常診断装置1は、運転者に対して、車両11を安全に停止させるように、警報を出力することが望ましい。
また、例えば、総合判定が「正常か異常か不明」の場合であっても、異常診断装置1は、無線などを介して車両11の診断センタなどに診断結果を通知しておくことが望ましい。
また、例えば、総合判定が「正常とみなす」の場合であっても、異常診断装置1は、局所判定が「異常の可能性有」のサブシステムについて、適宜必要なログを収集しておくことが望ましい。
例えば、総合判定が「異常の可能性大」の場合、異常診断装置1は、運転者に対して、車両11を安全に停止させるように、警報を出力することが望ましい。
また、例えば、総合判定が「正常か異常か不明」の場合であっても、異常診断装置1は、無線などを介して車両11の診断センタなどに診断結果を通知しておくことが望ましい。
また、例えば、総合判定が「正常とみなす」の場合であっても、異常診断装置1は、局所判定が「異常の可能性有」のサブシステムについて、適宜必要なログを収集しておくことが望ましい。
総合判定部5が、図11に示す総合判定アルゴリズム9に従う場合、すなわち、遡及経路に含まれる全ての局所判定が「異常の可能性有」であるか否かの判定処理を再帰的に実行することによって総合判定を行う場合、総合判定表100を作成する必要がないので、本発明の異常診断装置1の実装作業が容易となる。また、サブシステムの追加、削除、分割、又は統合があったとしても、対応が容易となる。つまり、総合判定表100に従う場合であれば、総合判定表100として記憶される数多くのデータの追加、削除、修正が必要となるが、総合判定アルゴリズムに従う場合であればプログラムの修正は不要であり、階層構造を示すデータのみ修正すれば良い。
以上、添付図面を参照しながら、本発明に係る異常診断装置等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
1………階層型異常診断装置
2………実動時動作抽出部
3………正常動作モデル蓄積部
4………正常動作モデル比較部
5………総合判定部
6………階層型実動時動作データ
7………階層型正常動作モデル
8………局所判定アルゴリズム
9………総合判定アルゴリズム
2………実動時動作抽出部
3………正常動作モデル蓄積部
4………正常動作モデル比較部
5………総合判定部
6………階層型実動時動作データ
7………階層型正常動作モデル
8………局所判定アルゴリズム
9………総合判定アルゴリズム
Claims (5)
- 複数のサブシステムによって階層構造をなすシステムの異常診断を行う異常診断装置であって、
前記システム及び前記サブシステムごとに、正常動作モデルを記憶する正常動作モデル蓄積部と、
前記システム及び前記サブシステムごとに、実動時動作データを抽出する実動時動作抽出部と、
前記システム及び前記サブシステムごとに、前記正常動作モデルに前記実動時動作データが含まれている場合には「正常」、含まれていない場合には「異常の可能性有」とする局所判定を行う正常動作モデル比較部と、
前記システムに係る前記局所判定が「異常の可能性有」であり、かつ、前記階層構造の最下位層の前記サブシステムから遡って前記階層構造の最上位層の前記サブシステムに到達するまでの遡及経路に含まれる全ての前記局所判定が「異常の可能性有」である場合には、「異常の可能性大」とする総合判定を行い、最下位層の前記サブシステムを異常箇所として同定する総合判定部と、
を具備する異常診断装置。 - 前記総合判定部は、前記遡及経路に含まれる全ての前記局所判定が「異常の可能性有」であるか否かの判定処理を再帰的に実行することによって、前記総合判定を行う
請求項1に記載の異常診断装置。 - 前記正常動作モデルは、前記システム及び前記サブシステムがそれぞれ独立に正常に動作していることを特徴づけるデータのみによって構築される
請求項1又は請求項2に記載の異常診断装置。 - 前記正常動作モデルは、前記システム及び前記サブシステムごとの正常時の入出力値の対応関係を示す表現形式、並びに、前記システム及び前記サブシステムごとの正常時に取り得るデータフロー或いは制御フローを示す表現形式の中から、前記システム及び前記サブシステムごとに最適な表現形式によって構築される
請求項3に記載の異常診断装置。 - コンピュータを、請求項1に記載の異常診断装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011055527A JP5621667B2 (ja) | 2011-03-14 | 2011-03-14 | 異常診断装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011055527A JP5621667B2 (ja) | 2011-03-14 | 2011-03-14 | 異常診断装置、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012190408A JP2012190408A (ja) | 2012-10-04 |
JP5621667B2 true JP5621667B2 (ja) | 2014-11-12 |
Family
ID=47083453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011055527A Expired - Fee Related JP5621667B2 (ja) | 2011-03-14 | 2011-03-14 | 異常診断装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5621667B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10514974B2 (en) | 2015-02-17 | 2019-12-24 | Nec Corporation | Log analysis system, log analysis method and program recording medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06137909A (ja) * | 1992-10-26 | 1994-05-20 | Hitachi Ltd | プラント監視装置 |
JP3651693B2 (ja) * | 1995-02-24 | 2005-05-25 | 株式会社東芝 | プラント監視診断装置および方法 |
JP2010145670A (ja) * | 2008-12-18 | 2010-07-01 | Fuji Xerox Co Ltd | 画像形成装置、制御装置、異常推定プログラムおよび異常推定方法 |
-
2011
- 2011-03-14 JP JP2011055527A patent/JP5621667B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10514974B2 (en) | 2015-02-17 | 2019-12-24 | Nec Corporation | Log analysis system, log analysis method and program recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP2012190408A (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3451174B1 (en) | Vehicle control system verification device, vehicle control system, and vehicle control system verification method | |
US10942797B2 (en) | Fault tree analysis for technical systems | |
JP4467564B2 (ja) | 車両健全性管理システム | |
JP4155198B2 (ja) | 車両の制御システムの異常検知装置 | |
JP7438205B2 (ja) | モデルベース推論器のためのパラメトリックデータモデリング | |
US8996340B2 (en) | Method, devices and computer program for assisting in the diagnostic of an aircraft system, using failure condition graphs | |
US11176254B2 (en) | Automatic firmware rollback | |
CN102046443A (zh) | 用于故障检测和隔离的集成分级过程 | |
EP2690423A1 (en) | Vehicle data analysis apparatus, vehicle data analysis method, and defect diagnosis apparatus | |
CN110214312A (zh) | 共享备用单元和控制系统 | |
CN107298089A (zh) | 车辆制动故障的诊断方法及装置 | |
CN107077407A (zh) | 车辆控制装置 | |
JP5621667B2 (ja) | 異常診断装置、プログラム | |
EP3584129B1 (en) | Vehicle-mounted control apparatus | |
US20220374711A1 (en) | Method for Determining an Inadmissible Deviation of the System Behavior of a Technical Device from a Standard Value Range | |
Garro et al. | Enhancing the RAMSAS method for system reliability analysis-an exploitation in the automotive domain | |
US7539564B2 (en) | Device and method for central on-board diagnosis for motor vehicles | |
CN111511618A (zh) | 用于检测车辆中制动器衰退的系统和方法 | |
KR20190004507A (ko) | 차량 유닛의 오작동 탐지를 위한 퍼징 테스트 장치 및 방법 | |
JP6766612B2 (ja) | 車載式故障診断装置 | |
JP2010101860A (ja) | 車両に搭載された機構の故障診断装置 | |
WO2014192066A1 (ja) | プラント異常診断システム、プラント異常診断方法、及び計算機読み取り可能な記憶媒体 | |
CN111144681B (zh) | 一种电动车辆的关键重要度的计算方法以及电动车辆 | |
KR101013775B1 (ko) | 결함 허용 방법 및 시스템 | |
KR20110023160A (ko) | 결함 허용 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140123 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140908 |
|
LAPS | Cancellation because of no payment of annual fees |