"複数のサブモジュールを有するシステム内のサブモジュールの故障の特定方法であって、システムから1つまたは複数のエラーコードを受け取り、故障したサブモジュールが受け取られたエラーコードを生成する確率に対応する少なくとも1つの尤度値と、各サブモジュールに付随する故障の事前確率とを選択し、選択された尤度値と各サブモジュールに付随する故障の事前確率とに基づいて、複数のサブモジュールの各サブモジュールについて故障の事後確率を計算し、各サブモジュールに付随する計算された事後確率に基づいて、最も故障した可能性のあるサブモジュールを特定する、ことを含み、前記の選択し、計算し、特定することは、診断ツールによって実行されることを特徴とする特定方法。故障の事後確率を計算することは、受け取られたエラーコードに基づいて選択された尤度値と故障の事前確率とを掛け合わせて、各サブモジュールに関する故障の事後確率を生成することを含むことを特徴とする請求項1記載の特定方法。故障の事後確率を計算することは、式に基づいており、ここで、は、各サブモジュールUjについて計算される事後確率であり、PUjは、各サブモジュールUjに付随する故障の事前確率であり、PEi|Ujは、故障したサブモジュールが受け取られたエラーを生成する確率に対応する尤度値であることを特徴とする請求項2記載の特定方法。ラムダ平滑化式に基づいて各サブモジュールに付随する故障の事前確率を計算することをさらに含み、ここで、PUjは、各サブモジュールUjに付随する故障の事前確率であり、cUjは、各サブモジュールが故障した回数であり、VSは、以前に故障が観察された異なるサブモジュールの数であり、Vは、システムに含まれるサブモジュールの数であり、Nは、システムが経験した故障の全数であることを特徴とする請求項1記載の特定方法。より大きなシステム内の故障したサブモジュールを特定する診断装置であって、システムからエラーコードを受け取る入力部と、各サブモジュールを各可能エラーコードに関連させ、故障したサブモジュールにより対応するエラーコードが生成される確率に対応する尤度値を保持するとともに、事前観察データに基づく各サブモジュールに付随する故障の事前確率を記憶する、尤度行列を記憶する、メモリと、受け取られたエラーコードに対応する尤度値と、各サブモジュールに付随する故障の事前確率との積に基づいて、複数のサブモジュールの各サブモジュールについて故障の事後確率を計算するアルゴリズムを実行するプロセッサであって、故障したサブモジュールとして最も高い故障の事後確率を有するサブモジュールを特定する出力を生成するプロセッサと、を備えることを特徴とする診断装置。プロセッサが生成する出力は、複数のサブモジュールの各サブモジュールについて計算された故障の事後確率に基づく、故障の可能性のあるサブモジュールの順位付けられたリストを含むことを特徴とする請求項5記載の診断装置。診断装置は、より大きなシステムの内部にあることを特徴とする請求項5記載の診断装置。診断装置は、より大きなシステムの外部にあることを特徴とする請求項5記載の診断装置。尤度行列に含まれる事前確率は、特定のサブモジュールに付随する観察された故障の数と、システムに含まれるサブモジュールの数と、システムに付随する観察された故障の全数とに基づくラムダ平滑化アルゴリズムを用いて計算されることを特徴とする請求項5記載の診断装置。ラムダ平滑化アルゴリズムは、式により定義され、ここで、PUjは、複数のサブモジュールの各サブモジュールUjについての故障の事前確率であり、cUjは、個々の各サブモジュールに付随する故障の回数であり、VSは、故障が観察されたユニークなサブモジュールの数であり、Vは、システムに含まれるサブモジュールの全数であり、Nは、観察された故障の全数であることを特徴とする請求項9記載の診断装置。各サブモジュールについての故障の事後確率は、式により定義されるベイズ法に基づいて計算され、ここで、は、故障の事後確率であり、PEi|Ujは、尤度値であり、PUjは、故障の事前確率であり、各サブモジュールについて、各サブモジュールUjについての故障の事後確率は、受け取られた各エラーコードに対応する尤度値PEi|Ujと、サブモジュールに付随する故障の事前確率PUjとの積であることを特徴とする請求項5記載の診断装置。より大きなシステム内の故障したサブモジュールを特定する診断装置であって、故障したサブモジュールによりエラーコードが生成される確率に対応する尤度値と、各サブモジュールに付随する故障の事前確率とを含む尤度行列を記憶するメモリ手段と、エラーコードに対応する選択された尤度値と、各サブモジュールに付随する故障の事前確率とに基づいて、複数のサブモジュールの各サブモジュールについて故障の事後確率を計算するプロセッサ手段と、各サブモジュールに付随する計算された故障の事後確率に基づいて、最も故障した可能性のあるサブモジュールを特定する出力手段と、を備えることを特徴とする診断装置。尤度値は、特定のサブモジュールに付随する観察された故障の数と、システムに含まれるサブモジュールの数と、システムに付随する観察された故障の全数とに基づくラムダ平滑化アルゴリズムを用いて計算されることを特徴とする請求項12記載の診断装置。ラムダ平滑化アルゴリズムは、式により定義され、ここで、PUjは、複数のサブモジュールの各サブモジュールUjについての故障の事前確率であり、cUjは、個々の各サブモジュールに付随する故障の回数であり、VSは、故障が観察されたユニークなサブモジュールの数であり、Vは、システムに含まれるサブモジュールの全数であり、Nは、観察された故障の全数であることを特徴とする請求項13記載の診断装置。各サブモジュールについての故障の事後確率は、式により定義されるベイズ法に基づいて計算され、ここで、は、故障の事後確率であり、PEi|Ujは、尤度値であり、PUjは、故障の事前確率であり、各サブモジュールについて、各サブモジュールUjについての故障の事後確率は、各エラーコードに対応する尤度値PEi|Ujと、サブモジュールに付随する故障の事前確率PUjとの積であることを特徴とする請求項12記載の診断装置。システムから1つまたは複数のエラーコードを受け取る手段をさらに備えることを特徴とする請求項12記載の診断装置。生成された1つまたは複数のエラーコードに基づいて、技術者は、どのサブモジュールが故障しているかを診断するのにもしIFならば、THENであり、さもなければELSEであるという対処法をとる。すなわち、もしIF、特定のエラーコードが生成されたならば、THEN技術者は第1のサブモジュールを交換/試験し、さもなければELSE、技術者は別のサブモジュールを交換/試験し、技術者は故障したサブモジュールが検出されるまで継続する。これは、時間と費用のかかる方法である。本発明は、複数のサブモジュールを有するシステム内のサブモジュールの故障を特定する方法を提供する。方法は、システムから1つまたは複数のエラーコードを受け取ることを含む。受け取られたエラーコードに基づいて、故障したサブモジュールが受け取られたエラーコードを生成する確率に対応する尤度値と、各サブモジュールに付随する故障の事前確率とが、尤度行列から選択される。選択された尤度値と各サブモジュールに付随する故障の事前確率とに基づいて、複数のサブモジュールの各サブモジュールについて故障の事後確率が計算される。故障したサブモジュールは、計算された事後確率に基づいて特定される。システム内の故障したサブモジュールを特定する診断装置は、システムからエラーコードを受け取る入力部と、メモリ装置と、プロセッサとを備える。メモリは、尤度行列を記憶しており、この尤度行列は、各サブモジュールを各可能エラーコードに関連させ、故障したサブモジュールにより対応するエラーコードが生成される確率に対応する尤度値を保持するとともに、事前観察データに基づく各サブモジュールに付随する故障の事前確率を記憶する。プロセッサ装置は、受け取られたエラーコードに対応する尤度値と、各サブモジュールに付随する故障の事前確率との積に基づいて、複数のサブモジュールの各サブモジュールについて故障の事後確率を計算するアルゴリズムを実行する。各サブモジュールに関して計算された事後確率に基づいて、プロセッサ装置は、故障したサブモジュールとして最も高い故障の事後確率を有するサブモジュールを特定する出力を生成する。本発明は、故障したサブモジュールを特定するベイズ法を提供する。ベイズ法は、故障の事前確率と、特定のエラーコードを生成するサブモジュールの故障の確率に関連する尤度データとに基づいて、各サブモジュールについて故障の確率すなわち、事後確率を計算する。特に、ラムダ平滑化アルゴリズムが、限定された観察データを考慮して故障の事前確率を生成するのに用いられる。図1は、例示的な実施例による診断ツール10によるシステム12内でのサブモジュールの故障の特定を例示するブロック図である。システム12は、組込み試験BITシステム14と、複数のサブモジュールU1、U2、UNとを備える。各サブモジュールU1、U2、UNは、概略Sと符号を付けた1つまたは複数のセンサを備える。BITシステム14は、複数のセンサSと信号を送信/受信する。範囲外out-of-rangeOORセンサ出力に応じて、BITシステム14は、1つまたは複数のエラーコードECを生成する。例えば一実施例では、温度センサが、範囲外信号をBITシステム14に送り、次いでBITシステム14が、1つまたは複数の特定のエラーコードを生成する。しかしながら、エラーコードという用語は一般に、BITシステム14によって与えられる、システム12の状態および/または健全性に関連する任意の出力に該当する。さまざまなサブモジュールに存在するセンサから受け取った入力に基づくとはいえ、エラーコードは必ずしも、故障したサブモジュールを示すわけではない。図1に示される実施例では、外部にある診断ツール10は、BITシステム14によって生成されたエラーコードを受け取る入力部を備える。BITシステム14と外部診断ツール10の間の通信は、無線および/または有線通信プロトコルを用いることができ、あるいは、BITシステム14により表示されたエラーコードを手動で診断ツール10に入力することもできる。別の実施例では、システム12の外部に診断ツール10を構成するのではなくて、診断ツール10は、独立型モジュールとしてまたはBITシステム14の一部として、システム12の一部に含まれる。診断ツール10は、尤度行列18とベイズ計算機20に関連するアルゴリズムとを記憶するメモリ16と、故障したサブモジュールを特定するための記憶されたアルゴリズムを実行するプロセッサ22とを含め、故障したサブモジュールを特定するハードウェアおよびソフトウェアの組み合わせを含む。メモリ16は、ランダムアクセスメモリ、不揮発性メモリ、プログラム可能読出し専用メモリ、ハードディスク装置、および同様のものなど、当業技術内で知られた任意の種類のコンピュータ可読記憶媒体とすることができる。プロセッサ22は、汎用プロセッサ、デジタル信号プロセッサ、マイクロコントローラ、プログラム可能論理装置、特定用途向け集積回路、および同様のものなど、命令を実行可能な任意の種類の処理回路とすることができる。一実施例では、プロセッサ22は、BITシステム14により提供されたECに基づいて各サブモジュールU1-UNの故障に付随する事後確率を生成し、最終的に、故障の可能性のあるサブモジュールを特定する出力を提供するためのベイズアルゴリズムを実行する。別の実施例では、診断ツール10によって提供される出力が、各サブモジュールU1-UNの故障の尤度に優先順位例えば、最も故障の可能性のあるサブモジュールを示すように順位付けられたリストをつける。診断ツール10によって提供される出力は、診断ツール10に設けられた表示装置に提供されることを含め、診断ツール10により提供される印刷出力の一部として、または、診断ツール10により別の装置へ提供される電子通信として、さまざまな形態で提供可能である。故障の可能性のあるサブモジュールの特定に基づいて、技術者は、特定されたサブモジュールを交換/修理することになる。この方法の利点は、技術者に最も故障の可能性のあるサブモジュールの識別情報が与えられることで、技術者が故障したシステム12の診断修理にかけなければならない時間が低減されることである。図2は、診断ツール10により記憶される尤度行列18の例示的な実施例を示す表である。尤度行列18内の各列は、システム12に付随するサブモジュールU1、U2、UNを示す。尤度行列18内の各行は最終行を除き、BITシステム14によって生成可能なエラーコードECを示す。各行および列の交差部には、対応するサブモジュールUjが故障したときに、ある与えられたエラーコードEiが生じる尤度すなわち、条件つき確率PEi|Ujが存在する。各交差部の尤度は、各用途に特有であり、システム12、サブモジュールU1、U2、UN、および生成されるエラーコードECについて知られた情報に基づいて生成される。例えば、エラーコード2007とサブモジュールU1の交差部には、尤度値0.4が存在し、これは、サブモジュールU1が故障すると、エラーコード2007が所定時間の40で生じるはずであることを示す。エラーコード2007とサブモジュールU2の交差部には、尤度値1が存在するが、これは、サブモジュールU2が故障すると、エラーコード2007があらゆる場合にすなわち、所定時間の100で生じるはずであることを示す。しかしながら、逆の仮定は真ではない。すなわち、エラーコード2007の存在は、サブモジュールU2が故障していることを100の確実さで示すわけではない。0が付与された各セルでは、対応するサブモジュールが故障しても、付随するエラーコードは決して生成されることはない。尤度行列18の最終行は、各サブモジュールに付随する故障の事前確率PUjを示している。例えば、サブモジュールU1では、事前確率PU1は0.07に等しいが、これは、所定時間の7でサブモジュールU1がシステム故障の原因であると推定されたことを意味する。サブモジュールU2では、事前確率PU2は0.01に等しいが、これは、所定時間のほんの1でサブモジュールU2がシステム故障の原因であると推定されたことを意味する。観察データに基づいて事前確率値を推定するさまざまな方法が存在する。各場合に、追加の観察によって、事前確率値の精度が向上する。利用可能な観察データが制限される場合は、事前確率の推定は、故障の確率を過大評価するか、あるいは、故障の確率を過小評価することになる可能性がある。例えば、事前確率を推定する方法の1つは、特定のサブモジュールの故障が観察された回数と、システム12の観察された故障の全数とに基づくだけである。式1では、PUjは、推定事前確率であり、cUjは、ある与えられたサブモジュールが故障した回数であり、Nは、装置が経験した故障の全数である。ある与えられたサブモジュールの故障が決して観察されなかった場合すなわち、cUj=0、計算される事前確率は、サブモジュールが故障する尤度を0として過小評価することになる。この問題は、式2に与えられるように、単純に各サブモジュールの回数に1を付加することで軽減できる。ここで、Vは、装置内の故障の可能性のあるモジュールの全数である。図2に与えられた実施例では、Vは、17に等しく設定されるであろう。しかしながら、観察データの数が少ないシステムでは、式2は、故障がまだ観察されていないサブモジュールでは故障の確率が過大評価される傾向がある。例えば、観察された故障が2回あるだけで、両方ともサブモジュールU1によるものである場合、上述の式では、約0.16の故障の推定事前確率PU1と、残りの16個のサブモジュールについての0.035の故障の事前確率が生成される。これは、残りの1つのサブモジュールと対照してサブモジュールU1によって約5倍後続の故障が起こる可能性があるに過ぎないことを示唆するであろうが、直感は我々に、他のモジュールのいずれよりもサブモジュールU1によってはるかに後続の故障が起こる可能性があることを告げている。これらの問題を軽減するために、式3に与えられるようにラムダ平滑化アルゴリズムを用いる。ここで、VSは、以前に故障が観察された異なるユニークなサブモジュールの全数である。観察された2回の故障が両方ともサブモジュールU1に帰属される、式2に関して与えられたのと同じ実施例を用いると、式3によって、サブモジュールU1についての0.69すなわち、69の故障の事前確率と、残りの16個のサブモジュールについての0.020すなわち、2の故障の事前確率とが与えられる。これは、観察データに基づいて後続の故障がサブモジュールU1によって生じる可能性がより高いという我々の直感に一致する。ラムダ平滑化アルゴリズムの利点は、制限された数の観察データに基づいて各サブモジュールについて故障の有用な事前確率PUjを生成する能力にある。特に、現場で使用されるシステムがほんの制限された数すなわち、数十あるいは数百である用途では、観察データは、長期間制限されたままになる。尤度行列18は従って、ある与えられたサブモジュールUjが故障したときに特定のエラーコードEiが生成される尤度に関する条件つき確率PEi|Ujと、サブモジュールUjが装置故障の原因となる尤度を推定する事前確率PUjとを含む。BITシステム14によって一組のエラーコードが与えられるとすれば、尤度行列18によって記憶された、与えられたエラーコードに対応する条件つき確率PEi|Ujと、事前確率PUjとが選択され、ベイズ計算機20に供給される。選択された条件つき確率PEi|Ujおよび事前確率PUjに基づいて、ベイズ計算機20は、各サブモジュールについて故障の事後確率PUj|Eiを計算する。計算された故障の事後確率PUj|Eiに基づいて、最も故障した可能性のあるサブモジュールが特定される。図3は、プロセッサ22図1に示されるによって実行されるアルゴリズム、本発明の実施例による、ある与えられたエラーコードECに基づくサブモジュールの故障の事後確率PUj|Eiを生成するために診断ツール10により実行される演算を示す流れ図である。BITシステム14によって与えられたエラーコードECに応じて、条件つき確率PEi|Ujが尤度行列18によって選択され、事前確率PUjと一緒にベイズ計算機20に供給される。尤度行列18によって選択され、供給された条件つき確率PEi|Ujと、故障の事前確率PUjとに応じて、ベイズ計算機20は、特定のエラーコードECを考慮して各サブモジュールに付随する故障の事後確率PUj|Eを計算する。ベイズ計算機20は次いで、特定のエラーコードを考慮して最も高い故障の事後確率を有するように計算されたサブモジュールを選択して、特定されたサブモジュールを出力として提供する。一実施例では、ベイズ計算機20は、図1の各サブモジュールU1-UNについて故障の事後確率を生成するようにベイズの法則を用いる。用語は、BITシステム14から受け取ったエラーコードECの集合である。この集合は、1つまたは複数のエラーコードを含むことができる。用語argmaxは、最も高いすなわち、最大の事後確率を有するサブモジュールが、故障したfailedサブモジュールとして特定されることを意味する。用語は、正規化項であり、ここで、である。この用語は、各サブモジュールU1-UNについて同じであり、そのためこの用語は、観測されたエラーコードの集合を考慮してどのサブモジュールが最も可能性のあるシステム故障の原因となるかを分類する目的では無視できる。式4の右側は、式5に与えられるようにエラーコードの列にベイズの法則を繰り返し適用することで計算される。式5は、エラーコードが互いに関連し得ることを示している。例えば、二重字項PE2|Uj,E1は、特定のサブモジュールの故障を考慮して2つのエラーコードが生成される結合確率を示す。しかしながら、二重字bigramの採用は、多数の観測データが、複数のエラーコードの存在の間に関連を与えるのに利用可能な用途でのみ実際的である。利用可能な観測データが制限されている用途では、事後確率の計算を改善するためにユニグラムunigram近似が用いられる。比例記号~は、正規化項が、上述したように無視されており、積が、エラーコードの観測された集合における全てのエラーコードEiに亘ることを示している。以下の実施例は、サブモジュールU1、U2について式6の適用を示すように与えられる。例えば、サブモジュールU1が故障して、BITシステム14が単一のエラーコード2007を生成すると仮定する。与えられたエラーコードに基づいて、尤度行列18は、サブモジュールU1について、以下の条件つき確率P2007|U1=0.4と、故障の事前確率PU1=0.07とを与える。式6に基づいて、サブモジュールU1に付随する故障の事後確率は、条件つき確率P2007|U1と故障の事前確率PU1との積、すなわち、0.070.4=0.028すなわち、サブモジュールU1が故障したという、2.8の可能性と計算される。同様に、サブモジュールU2について、尤度行列18は、条件つき確率P2007|U2=1と、故障の事前確率PU1=0.01とを与える。式6に基づいて、サブモジュールU2に付随する故障の事後確率は、条件つき確率P2007|U2と故障の事前確率PU2との積、すなわち、10.01=0.01すなわち、サブモジュールU2が故障したという、1の可能性と計算される。この実施例では、サブモジュールU1の故障の事後確率2.8は、サブモジュールU2の故障の事後確率1より大きく、診断ツール16は、サブモジュールU1が故障したものと正確に特定する。ここで、サブモジュールU2が故障して、BITシステム14がエラーコードの集合{2007,2008,6001}を生成すると仮定する。与えられたエラーコードに基づいて、尤度行列18は、サブモジュールU1について、以下の条件つき確率P2007|U1=0.4、P2008|U1=0.4、P6001|U1=0.2と、故障の事前確率PU1=0.07とを与える。式6に基づいて、サブモジュールU1に付随する故障の事後確率は、条件つき確率P2007|U1、P2008|U1、P6001|U1と故障の事前確率PU1との積、すなわち、0.40.40.20.07=0.0022すなわち、サブモジュールU1が故障したという、0.22の可能性と計算される。同様に、サブモジュールU2について、尤度行列18は、条件つき確率P2007|U2=1、P2008|U2=1、P6001|U2=1と、故障の事前確率PU1=0.01とを与える。式6に基づいて、サブモジュールU2に付随する故障の事後確率は、条件つき確率P2007|U2、P2008|U2、P6001|U2と故障の事前確率PU2との積、すなわち、1110.01=0.01すなわち、サブモジュールU2が故障したという、1の可能性と計算される。この実施例では、サブモジュールU2の故障の事後確率1は、サブモジュールU1の故障の事後確率0.22より大きく、診断ツール10は、サブモジュールU2が故障したものと正確に特定する。このように、診断ツール10は、故障の原因となった可能性のあるサブモジュールを特定する出力を提供する。別の実施例では、故障した可能性のある単一のサブモジュールを特定するのではなく、診断ツール10は、各サブモジュールに付随する故障の尤度に優先順位をつける出力を提供する。さらに診断ツール10は、追加の観察データに基づいて尤度行列18によって記憶された条件つき確率および故障の事前確率両方を修正することを含め、必要に応じて更新可能である。さらに尤度行列18は、新たなサブモジュールに対応するために拡張可能である。事後確率を計算するベイズ法は、各サブモジュールについての条件つき確率と事前確率の積に依存するので、新たなサブモジュールは、尤度行列18にさらに列を追加することで組み込むことができる。本発明は、1つまたは複数の例示的な実施例について記載したとはいえ、当業者は、本発明の範囲から逸脱せずにさまざまな変更を行うことが可能であり、また、均等物を本発明の要素に置換可能である、と理解するであろう。さらに、本発明の本質的な範囲から逸脱せずに本発明の教示に特定の状況または物質を適合させるように、多くの修正を行うことができる。従って、本発明は、開示された特定の1つまたは複数の実施例に限定されることではなく、添付の特許請求の範囲に含まれる全ての実施例を含むことを意図するものである。"