(57)【要約】【課題】  本発明の課題は、検証対象のデバイスを制御する制御データをパターン化することを目的とする。【解決手段】  上記課題は、命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部とを有するパターン化装置により達成される。【選択図】  図８
2014203125.tif 000002
【特許請求の範囲】
【請求項１】
命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、
前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部と
を有することを特徴とするパターン化装置。
【請求項２】
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする請求項１記載のパターン化装置。
【請求項３】
前記結合の回数に応じた幅で前記パターンを表示する表示部と
を更に有することを特徴とする請求項１又は２記載のパターン化装置。
【請求項４】
コンピュータによって実行されるパターン化方法であって、
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
ことを特徴とするパターン化方法。
【請求項５】
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるパターン化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証対象のデバイスを制御する制御データをパターン化して異常を検出することに関する。
【背景技術】
【０００２】
従来より、開発したデバイスの検証において、デバイスに対する供給データを予め用意しておき、その供給データに対する制御も予め決められた形で行われ、動作試験を行った結果をシステム上のメモリや、出力データを蓄積する機器（例えば、計測器）等に蓄積し、その蓄積データを期待する結果と比較することで実施されてきた。
【０００３】
例えば、連続する２以上のサイクルにおいて取得された出力信号の組を、出力信号の状態遷移として記憶し、高負荷の場合にのみ発生する状態遷移を区別可能に表示することが知られている。また、出力信号の信号変化パターンの特徴とリアルタイムに入力されるアドレス信号の変化状態とを比較して異常動作を検出すること、デジタル信号の論理値と予め指定された論理値との一致回数が予め設定した回数に達する毎に発生事情を表示すること等が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１１３６９６号公報
【特許文献２】特開平４−２２５４４８号公報
【特許文献３】特開昭６２−１９７７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した検証方法では、個別機能の動作の成否は検証できるが、第１に、システム全体の動作効率は検証できない。第２に、個別機能の検証では、判明しない問題も存在する可能性がある。判明しない問題とは、特定の機能を数百回繰り返した時に発生する問題、複数の機能を組み合せて動作させた場合の問題、一定の時間の経過があって発生する問題、制御ソフトウェアのバグによる問題等である。第３に、予め用意する検証データに漏れや、データ自体に間違いがある場合もある。
【０００６】
１つの側面において、本発明の目的は、検証対象のデバイスを制御する制御データをパターン化することである。
【課題を解決するための手段】
【０００７】
本実施例の一態様によれば、パターン化装置は、命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部とを有する。
【０００８】
また、上記課題を解決するための手段として、コンピュータに上記パターン化装置として機能させるためのプログラム、そのプログラムを記録した記録媒体、及びパターン化方法とすることもできる。
【発明の効果】
【０００９】
本実施例の一態様によれば、検証対象のデバイスを制御する制御データをパターン化することによって、通常使用状態で蓄積した大量のデータの中から異常が発生している可能性が高いデータを識別することができる。
【図面の簡単な説明】
【００１０】
【図１】検証対象装置の構成例を示す図である。
【図２】制御パターンを機能部分毎に作成した表示例を示す図である。
【図３】関連技術の検証処理の概要を説明するためのフローチャート図である。
【図４】本実施例を適用した場合の検証処理の概要を説明するためのフローチャート図である。
【図５】制御データを取得するための構成を示す図である。
【図６】パターン化装置１００のハードウェア構成を示す図である。
【図７】パターン化装置１００の機能構成を示す図である。
【図８】データ処理部４０によるパターン抽出して結合する処理を説明するためのフローチャート図である。
【図９】データ保存例を示す図である。
【図１０】計測データの保存例を示す図である。
【図１１】パターン結合を説明するための図である。
【図１２】パターン結合を説明するための図である。
【図１３】パターン保存バッファへの格納例を示す図である。
【図１４】一連のデータ結合処理の概要を説明するための図である。
【図１５】一連のデータ結合処理の概要を説明するための図である。
【図１６】計測データの削除処理を説明するための図である。
【図１７】パターン抽出処理を説明するための図である。
【図１８】パターン抽出処理を説明するための図である。
【図１９】結合処理を説明するための図である。
【図２０】正常時と異常時の制御データの例を示す図である。
【図２１】結合前データと処理途中の内部状態とを示す図である。
【図２２】結合前データと処理結果の内部状態とを示す図である。
【図２３】結合前データと処理結果の表示例を示す図である。
【図２４】処理結果の結合回数の少ない部分の拡大表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、検証対象装置の構成例を示す図である。図１では、検証対象装置９の基本的な構成例を示している。検証対象装置９は、デバイスを制御するＣＰＵ（中央処理装置）９０と、制御に係るデータを記憶するメモリ９１と、検証対象のデバイス９２と、デバイス９２に対して予め用意された試験データを供給する試験データ供給部９３と、デバイス９２が出力したデータを蓄積するデータ蓄積部９４とを有する。ＣＰＵ９０と、メモリ９１と、デバイス９２とは、命令バス９５で接続される。
【００１２】
デバイス９２がかなり小さな規模であっても、ＯＳ（Operating System）、リアルモニター等が使用され、メモリ９１の使用状況はこれらに依存し、更に、キャッシュを実装したプロセッサが大部分となりミクロな部分でも、メモリ９１の使用を外部から見ただけでは何も見えない状態にある。現状では、プロセッサのデバイスに対する制御が外部から検証対象装置９全体を見渡す事が可能な唯一のものである。
【００１３】
検証対象装置９を構成する上でプロセッサとしてのＣＰＵ９０がデバイス９２を制御する方法は、いくつかのパターンになっている事が多い。データをパターン化することによって、制御ソフトウェアのバグ等で異質な制御パターンの発生を検出することができる。
【００１４】
更に、細かい検証によって、異常な処理が行われているが、制御ソフトウェアも含めた検証対象装置９全体が異常発生に対してそれをリカバリーする様な動作をするため、規模の大きな処理の中では、僅かに処理効率が低下しただけの様にみえる場合がある。
【００１５】
処理能力が大きく低下している場合は問題として検出され易いが、僅かな性能低下では問題として認識し難い。僅かな性能低下の状態が単独で発生している場合は、検証対象装置９全体が問題を小さくする方向に動作していると言えるが、新たな問題の原因となる可能性もある。
【００１６】
このような僅かな性能低下の状態を認識して問題が無いと判断し修正しない場合と、この状態を全く認識することなく放置してしまう場合とでは、検証対象装置９の動作状態は同じであるが、今後の検証対象装置９に対する対応に大きな違いが生じる可能性がある。
【００１７】
本実施例の基本的な仕組みでは、ＣＰＵ９０がデバイス９２などにアクセスするパターンに着目する。図１に示すような検証対象装置９を通常状態で動作させ、命令バス９５のデータを長時間採取し、その制御パターンを分類していくと、特異な部分は、パターン化されずに残っていくことになる。パターン化されずに残った部分に問題のある部分がある場合が多い。必ず問題があるわけではないが、パターン化されずに残った部分が存在することを認識することで、検証を精度良く行なうことが可能となる。ＣＰＵ９０の制御は、デバイスの状態をみながら行われる場合が多く、制御自体の問題だけでなく、デバイス自体の問題を発見するきっかけになる。
【００１８】
図１では、検証対象がデバイス９２の１装置、メモリ９１の１装置の構成例を示したが、検証対象として複数の装置、複数のメモリが構成されていても良い。検証対象として複数の装置が構成された場合の、後述される本実施例において作成された制御パターンを機能部分毎に作成した表示例を図２に示す。図２において、分類された機能部分Ａ−１、Ａ−２、Ａ−３、Ｂ−１、Ｂ−２、Ｍ１−Ｒ及びＭ２−Ｒ、Ｍ１−Ｗ及びＭ２−Ｗを色分け等により表示することにより、機能部分を視覚的に認識し易くすることができる。
【００１９】
表示部分２ａは、分類された機能部分のうち、制御パターンが途中で途切れていると判断したものを無色で表示している。表示部分２ｂにより、同じ処理が頻発していることを新式することができる。表示部分２ｃは、どの制御パターンにも分類できないものを無色及び名称無しで表示している。
【００２０】
システム規模の増大により、関係する機能の数が多くなり複雑化する状態において、発見されていない問題の検出、正常に動作しているが制御方法として無駄の多い状態の検出、制御ソフトウェアの作成方法から、デバイス９２のインターフェースの仕様の考察の要否の判断など、各機能の詳細を知らないユーザであっても、本実施例を適用した結果を利用することによって、単純な制御の仕組みとして認識し易いように表示することができる。
【００２１】
本実施例の概要を、各々のフローチャート図を用いて、関連技術との比較によって説明する。図３は、関連技術の検証処理の概要を説明するためのフローチャート図である。図３において、ユーザは、試験データを準備し（ステップＳ１１）、また、試験データに対する予測結果を準備する（ステップＳ１２）。
【００２２】
ユーザは、デバイス９２を実機等の検査対象装置９に搭載して動作させる（ステップＳ１３）。デバイス９２の出力データを用いて、動作結果と予測結果とが一致するか否かを判断する（ステップＳ１５）。
【００２３】
動作結果と予測結果とが一致しない場合、ユーザは、試験結果を考察し、検査対象のデバイス９２を修正する、又は、試験データ及び予測結果を修正し（ステップＳ１４）、ステップＳ１３及びＳ１４の処理が繰り返される。一方、動作結果と予測結果とが一致する場合、この検証処理を終了する。
【００２４】
図４は、本実施例を適用した場合の検証処理の概要を説明するためのフローチャート図である。図４において、ユーザは、デバイス９２を実機等の検査対象装置９に搭載して動作させる（ステップＳ２１）。
【００２５】
デバイス９２の動作結果を、後述するパターン化装置１００に入力して、自動でパターン抽出を行い、抽出したパターンを分類する（ステップＳ２２）。パターン化装置１００は、極端な制御パターンが存在するか否かを判断する（ステップＳ２３）。
【００２６】
極端な制御パターンが存在する場合（ステップＳ２３のＹｅｓ）、パターン化装置１００は、制御パターンが正常か否かを判断する（ステップＳ２４）。正常である場合、パターン化装置１００は、ステップＳ２３へ戻る。正常でない場合、パターン化装置１００による処理結果が表示されることにより、ユーザは原因を究明し、検査対象のデバイス９２を修正する、又は、試験データ及び予測結果を修正し（ステップＳ２８）、この検証処理を終了する。
【００２７】
一方、極端な制御パターンが存在しない場合（ステップＳ２３のＮｏ）、極端な制御パターンが存在しないことがパターン化装置１００による処理結果が表示されることにより、ユーザが、特定の制御が頻発している部分があるか否かを検証する（ステップＳ２５）。
【００２８】
特定の制御が頻発している部分がある場合（ステップＳ２５のＹｅｓ）、ユーザは、その状態が設計時に想定していた通りの状態であるか否かを判断する（ステップＳ２６）。想定通りである場合、この検証処理を終了する。一方、想定通りでない場合、制御の状態を改めて評価し、対策の実施の有無から検討した後（ステップＳ２７）、この検証処理を終了する。
【００２９】
一方、特定の制御が頻発している部分がない場合（ステップＳ２５のＮｏ）、この検証処理を終了する。
【００３０】
図５は、制御データを取得するための構成を示す図である。図５において、大容量ストレージ８０を外部記憶装置として検査対象装置９に接続し、デバイス９２が接続された命令バス９５を介して、動作中の送受信で計測された計測データを大容量ストレージ８０に蓄積して行く。
【００３１】
次に、大容量ストレージ８０に蓄積された計測データからパターンを抽出して分類するパターン化装置１００について説明する。図６は、パターン化装置１００のハードウェア構成を示す図である。図６において、パターン化装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ１８とを有し、命令バスＢに接続される。
【００３２】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従ってパターン化装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００３３】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００３４】
入力装置１４は、マウス、キーボード等を有し、ユーザがパターン化装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。 
パターン化装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によってパターン化装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムが命令バスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００３５】
図７は、パターン化装置１００の機能構成を示す図である。図７において、パターン化装置１００は、パラメータ記憶部３１と、データ記憶部３２と、データ処理部４０と、表示部５０とを有する。パラメータ記憶部３１とデータ記憶部３２とは、夫々、上述した記憶部１３０の一部に相当する。
【００３６】
パラメータ記憶部３１は、アドレス範囲と、パターン結合発生頻度とをパラメータとして記憶する。アドレス範囲は、入力された検査対象装置９内でデバイス９２がマッピングされたアドレスの範囲を示す。パターン結合発生頻度は、パターンを結合した回数、即ち、データのパターン化の細かさの値を示す。
【００３７】
データ記憶部３２は、検査対象装置９を動作させながら大容量ストレージ８０に蓄積したＣＰＵ９０、メモリ９１、デバイス９２の命令バス９５の計測データを記憶する。
【００３８】
データ処理部４０は、パラメータ記憶部３１に記憶されたパラメータと、データ記憶部３２に記憶されたデータからデータのパターン抽出を行い、抽出したパターンを結合する。結合されずに残ったデータが、特異なデータであると判断できる。
【００３９】
表示部５０は、データ処理部４０によってパターン化された結果を用いて、装置毎の機能部分を容易に判別可能なようにした表示画面（例えば、図２）を作成して、表示装置１５に表示させる。
【００４０】
図８は、データ処理部４０によるパターン抽出して結合する処理を説明するためのフローチャート図である。図８において、検査対象のデバイス９２のアドレスをパラメータとして入力する（ステップＳ３１）。変数StartAdrsにはデバイスの先端アドレスが設定され、変数Endadrsにはデバイスの後端アドレスが設定される。パターン発生頻度をパラメータとして入力する（ステップＳ３２）。変数PtrnNにはパターン結合発生頻度が設定される。更に、大容量ストレージ８０に記憶された計測データを入力する（ステップＳ３３）。配列Data[]に計測データが入力される。
【００４１】
計測データのうち検査対象のデバイス９２以外のデータを削除する（ステップＳ３４）。隣接する計測データにおいて、最も多く発生するパターンTypeとその発生回数TypeNとを抽出する（ステップＳ３５）。
【００４２】
発生回数TypeNがパターン結合発生頻度PtrnN以上であるか否かを判断する（ステップＳ３６）。発生回数TypeNがパターン結合発生頻度PtrnN以上である場合、配列Data[]内のパターンTypeを示すパターンの計測データを新たな計測データとして置き換える（ステップＳ３７）。
【００４３】
上述の処理により、計測データは、パターンに基づいて結合される。この時、記憶された計測データがあたかも単独のデータのように表示されているが、実際には、少なくとも、アクセスの方向（read/write）、アドレス、時間、データ等の情報が必要である。このフローチャートでは、例として、制御パターンでの結合を示し、比較などは、アクセスの方向、アドレスによって行うことになる。
【００４４】
図９は、データ保存例を示す図である。図９において、入力された計測データは、保存データ６０に加工され、パターン化装置１００のデータ記憶部３２に記憶される。保存データ６０は、各３２ビット長のdata1、data2、data3、data4、data5、及びdata6の項目を有する。
【００４５】
data1は、保存データ６０のデータ種別を示す。data1が0x00000000を示す場合、計測データはreadアクセスの制御パターンであることを示し、data1が0x00000001を示す場合、計測データはwriteアクセスの制御パターンであることを示し、data1が0x00000002を示す場合、保存データ６０は結合されたことを示す。
【００４６】
data2は、保存データ６０が計測データを保持する場合は、計測データのアドレスを示す。data3は、保存データ６０が計測データを保持する場合は、計測データの実体を示す。保存データ６０が結合データである場合は、data2及びdata3によって１つのパターンに置き換えられた２つの計測データの番号が示される。
【００４７】
data4は、保存データ６０が計測データを保持する場合は、計測データが発生した時間を示す。保存データ６０が結合データである場合は、結合されたパターンの開始時間が示される。
【００４８】
data5及びdata6は、保存データ６０が計測データを保持する場合は、使用しないエリアとなる。保存データ６０が結合データである場合は、data5に結合されたパターンの停止時間が示される。また、data6には、結合によってパターンを結合した結合回数が示される。
【００４９】
パターン保存バッファ３８用に、記憶部１３０の一部が利用される。パターン保存バッファ３８には、計測データ加工後の保存データ６０が格納される。パターン保存バッファ３８には、計測データを含む保存データ６０（「aaaa」及び「bbbb」）が保存されると共に、結合する２つの計測データを１つのパターンに置き換えた保存データ６０（「aaaa + bbbb」）も保存される。
【００５０】
図８のステップＳ３４の処理によって検査対象のデバイス９２以外のデータが削除された計測データに対する、パターン結合について説明する。先ず、パターンの結合について図１０、図１１、及び図１２で説明する。
【００５１】
以下の説明において、サンプリングデータ５０は、大容量ストレージ８０に記憶されたサンプリング開始から終了までに取得した計測データの全体に相当する。サンプリングデータ５０では、本実施例に係る処理に必要な、抽出されたパターンと結合されたパターンとが示され、それ以外を空白で示している。
【００５２】
図１０は、計測データの保存例を示す図である。図１０において、サンプリングデータ５０では、アドレス範囲内でアドレスを指定するパターンを簡易的に「Adrs 0 Wr」、「Adrs 6 Rd」、「Adrs 4 Wr」、「Adrs 5 Rd」、「Adrs 1 Wr」、・・・のように示す。
【００５３】
サンプリングデータ５０の先頭をサンプリング開始位置とし、「Adrs 0 Wr」が8msecの位置でアドレス０に書き込まれ、「Adrs 6 Rd」が16msecの位置でアドレス６に書き込まれ、「Adrs 4 Wr」が22msecの位置でアドレス４に書き込まれている。
【００５４】
更に、「Adrs 5 Rd」が32msecの位置でアドレス０に書き込まれ、「Adrs 1 Wr」が38msecの位置でアドレス０に書き込まれている。
【００５５】
サンプリングデータ５０内で抽出されたパターンは、夫々、保存データ６０に加工される。保存データ６０に関して、data3で保持される計測データは0x????????で表し、時間の単位は１msec単位として記入している。また、"--------"が示される場合は、使用しないエリアを表している。
【００５６】
パターン「Adrs 0 Wr」は、8msecの位置でアドレス０に書き込まれたデータであることを示す保存データ６０に加工され、パターン「Adrs 6 Rd」は、16msecの位置でアドレス６に書き込まれたデータであることを示す保存データ６０に加工され、パターン「Adrs 4 Wr」は、22msecの位置でアドレス４に書き込まれたデータであることを示す保存データ６０に加工される。
【００５７】
更に、パターン「Adrs 5 Rd」は、32msecの位置でアドレス０に書き込まれたデータであることを示す保存データ６０に加工され、パターン「Adrs 1 Wr」は、38msecの位置でアドレス０に書き込まれたデータであることを示す保存データ６０に加工される。
【００５８】
パターン結合について、図１１及び図１２で説明する。図１１及び図１２は、パターン結合を説明するための図である。
【００５９】
図１１では、サンプリングデータ５０でパターン結合を説明する。図１１において、パターン「Adrs 0 Wr」とパターン「Adrs 6 Rd」とが結合された様子を示している。ここでは、結合パターン「Adrs 0 Wr 6 Rd」として示される。結合パターン「Adrs 0 Wr 6 Rd」は、８〜１６msec位置でアドレス０に書き込みアドレス６から読み出しが行われたことを示す。
【００６０】
図１２では、保存データ６０でパターン結合を説明する。図１２において、パターン「Adrs 0 Wr」の保存データ６０と、パターン「Adrs 6 Rd」の保存データ６０とに基づいて、結合パターン「Adrs 0 Wr 6 Rd」の保存データ６０が作成される。
data1は、0x00000002により結合されたことを示す。
data2は、0x00000000によりパターン保存バッファ３８内でのパターン「Adrs 0 Wr」の保存データ６０の番号を示す。
data3は、0x00000001によりパターン保存バッファ３８内でのパターン「Adrs 6 Rd」の保存データ６０の番号を示す。
data4には、パターン「Adrs 0 Wr」のdata4の値0x00000001が設定され、開始時間を示す。
data5は、パターン「Adrs 6 Rd」data5の値0x00000010が設定され、停止時間を示す。
data6は、結合回数を示す。この場合、１回である。
【００６１】
結合パターン「Adrs 0 Wr 6 Rd」の保存データ６０によって、８〜１６msec位置でデータをアドレス０に書き込み、アドレス６から読み出すことが結合される。
【００６２】
図１３は、パターン保存バッファへの格納例を示す図である。図１３では、パターン保存バッファ３８において、結合前のパターン「Adrs 0 Wr」の保存データ６０と、パターン「Adrs 6 Rd」の保存データ６０とが格納され、また、結合後の結合パターン「Adrs 0 Wr 6 Rd」の保存データ６０も順次格納される。
【００６３】
パターン保存バッファ３８において、結合前のパターン「Adrs 0 Wr」が０番目に保存され、パターン「Adrs 6 Rd」が１番目に保存され、結合パターン「Adrs 0 Wr 6 Rd」が２番目の保存データ６０として保存される。
【００６４】
パターン保存バッファ３８には、結合パターンに関するdata4及びdata5の時間情報を外して保存する。Data3の値は、0x????????となっているが、パターン分類としてデータの値を扱う場合は、意味のあるデータとして扱う必要があるが、パターン分類としてアドレスだけを扱う場合は、パターン保存バッファ３８にデータの値を記録する必要はない。
【００６５】
図１４及び図１５は、一連のデータ結合処理の概要を説明するための図である。図１４及び図１５において、パターン保存バッファ３８への格納前の２つの保存データ６０について、元保存データ１及び元保存データ２として説明し、データ結合処理内では、Ｄ１及びＤ２で表される。各Ｄ１及びＤ２は、上述したdata1からdata6を要素として構成する構造体である。また、他変数の扱いは以下の通りである。
【００６６】
B_wptr      ：パターン保存バッファ３８の現在の書き込み位置
D1_t        ：元保存データ１の時間
D2_t        ：元保存データ２の時間
D1_ptn      ：元保存データ１の結合回数
D2_ptn      ：元保存データ２の結合回数
D1_n        ：パタ−ン保存バッファ８０内での元保存データ１の番号
D2_n        ：パタ−ン保存バッファ８０内での元保存データ２の番号
ローカルデータとして、これらの値を保存するエリアを準備する。
【００６７】
D1→data1と表記した場合は、元保存データ１のdata1の要素を指すものとし、
B_wptr→data1と表記した場合は、データ保存バッファ３８の書き込み位置のdata1の要素を指すものとする。
【００６８】
図１４におけるデータ結合処理の前半部では、元保存データが登録の必要のあるデータであった場合は、パターン保存バッファ３８に登録し、結合パターンとして登録する際に必要な設定データを抜き出し、ローカルデータとして保存する。
【００６９】
図１５におけるデータ結合処理の後半部では、新しく結合したパターンをパターン保存バッファ３８に登録する。また、元保存データの一つの位置に結合パターンのデータとして値を書き戻す。もう一つのデータは、削除する。ここでは、データの属性にread、write、group以外の値を書き込むことで削除している。同じ結合パターンを他の元保存データに当てはめる場合もこの後半部での処理を行う。
【００７０】
図１４において、データ結合処理が開始されると、データ処理部４０は、変数の初期化を行い、パラメータ記憶部３１からパラメータの読み込みを行う（ステップＳ４１）。即ち、
B_wptrにパターン保存バッファ３８の現在の書き込み位置を設定し、
D1_tにゼロを設定し、D2_tにゼロを設定し、
D1_ptnにゼロを設定し、D2_ptnにゼロを設定し、
D1_nにゼロを設定し、D2_nにゼロを設定して、
パラメータ記憶部３１からパラメータを読み込む。データ処理部４０は、アドレス範囲と、パターン結合発生頻度とを取得する。
【００７１】
データ処理部４０は、D1->data1が0x00000002を示すか、即ち、保存データ１が結合データであるか否かを判断する（ステップＳ４２）。保存データＤ１が結合データでない場合には（ステップＳ４２のＮｏ）、データ処理部４０は、パターン保存バッファ３８に元保存データ１をパターンとして登録する（ステップＳ４３）。即ち、
B_wptr→data1 = D1→data1;
B_wptr→data2 = D1→data2;
B_wptr→data3 = D1→data3;
B_wptr→data4 = 0;  (未使用のため初期化）
B_wptr→data5 = 0;  (未使用のため初期化）
B_wptr→data6 = 0;  (結合回数０とする）
のようにパターンが登録される。
【００７２】
そして、データ処理部４０は、ローカルデータに結合データの設定データを設定する（ステップＳ４４）。即ち、
D1_t      = D1→data4;
D1_ptn    = 0;
D1_n      = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ３８へのポインタが設定される。番号はパターン保存バッファ３８内の元保存データ１が格納された位置を指定するポインタである。
【００７３】
データ処理部４０は、パターン保存バッファ３８の書き込み位置を移動させる（ステップＳ４５）。即ち、データ処理部４０は、
B_wptr    = B_wptr + 1;
のようにB_wptrを１インクリメントする。そして、ステップＳ４７へと進む。
【００７４】
一方、元保存データ１が結合データである場合（ステップＳ４２のＹｅｓ）、データ処理部４０は、ローカルデータに結合データの設定データを設定する（ステップＳ４６）。即ち、
D1_t      = D1→data4;    （開始時間）
D1_ptn    = D1→data6;
D1_n      = D1→data2;
のように、開始時間、結合回数、及びアドレスが設定された後、ステップＳ４８へと進む。
【００７５】
データ処理部４０は、元保存データ２が結合データであるか否かを判断する（ステップＳ４７）。即ち、保存データＤ１が結合データである場合（ステップＳ４７のＮｏ）、データ処理部４０は、パターン保存バッファに元保存データ２をパターンとして登録する（ステップＳ４９）。即ち、
B_wptr→data1 = D2→data1;
B_wptr→data2 = D2→data2;
B_wptr→data3 = D2→data3;
B_wptr→data4 = 0;  (未使用のため初期化）
B_wptr→data5 = 0;  (未使用のため初期化）
B_wptr→data6 = 0;  (結合回数０とする）
のようにパターンが登録される。
【００７６】
そして、データ処理部４０は、ローカルデータに結合データの設定データを設定する（ステップＳ５０）。即ち、
D2_t    = D2→data4;
D2_ptn = 0;
D2_n    = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ３８へのポインタが設定される。番号はパターン保存バッファ３８内の元保存データ２が格納された位置を指定するポインタである。
【００７７】
データ処理部４０は、パターン保存バッファ３８の書き込み位置を移動させる（ステップＳ５１）。即ち、データ処理部４０は、
B_wptr    = B_wptr + 1;
のようにB_wptrを１インクリメントする。そして、図１５のステップＳ５２へと進む。
【００７８】
一方、元保存データ２が結合データである場合（ステップＳ４７のＹｅｓ）、データ処理部４０は、ローカルデータに結合データの設定データを設定する（ステップＳ４８）。即ち、
D2_t    = D1→data5;    （停止時間)
D2_ptn = D1→data6;
D2_n    = D1→data2;
のように、停止時間、結合回数、及びアドレスが設定された後、ステップＳ５２へと進む。
【００７９】
図１５にて、データ処理部４０は、パターン保存バッファ３８に、結合パターンとして登録する（ステップＳ５２）。即ち、
B_wptr→data1 = 0x00000002;
B_wptr→data2 = D1_n;
B_wptr→data3 = D2_n;
B_wptr→data4 = 0;  (未使用のため初期化）
B_wptr→data5 = 0;  (未使用のため初期化）
B_wptr→data6 = D1_ptn + D2_ptn + 1;
のように結合パターンが登録される。
【００８０】
データ処理部４０は、登録した結合パターンに関して設定データをローカルデータにコピーする（ステップＳ５３）。即ち、
D1_n    = B_wptr;
D1_ptn  = B_wptr→data6;
のように、登録した結合パターンへのポインタ、及び結合回数が設定される。
【００８１】
そして、データ処理部４０は、パターン保存バッファ３８の書き込み位置を移動させる（ステップＳ５４）。即ち、データ処理部４０は、
B_wptr    = B_wptr + 1;
のようにB_wptrを１インクリメントする。
【００８２】
次に、データ処理部４０は、元保存データ１に結合データを書き込む（ステップＳ５５）。即ち、データ処理部４０は、
D1→data1 = 0x00000002;
D1→data2 = D1n;
D1→data3 = 0;    (未使用のため初期化）
D1→data4 = D1_t;
D1→data5 = D2_t;
D1→data6 = D1_ptn;
のようにデータ種別、番号、開始時間、停止時間、及び結合回数を設定する。data3は未使用のため初期化される。
【００８３】
更に、データ処理部４０は、元保存データ２を削除する（ステップＳ５６）。即ち、
D2→data1 = 0xFFFFFFFF;    (データとして認識しない形式にする。）
D2→data2 = 0;
D2→data3 = 0;
D2→data4 = 0;
D2→data5 = 0;
D2→data6 = 0;
のように、元保存データ２を初期化する。この際、data1のデータ種別が値として認識されないように0xFFFFFFFFを設定しておく。そして、この一連のデータ結合処理を終了する。
【００８４】
上述した一連のデータ結合処理は、図１６から図１９のフローチャートに従って処理されることにより実現される。図１６は、計測データの削除処理を説明するための図である。図１６において、データ処理部４０は、入力パラメータを設定する（ステップＳ６１）。即ち、
変数StartAdrsに検査対象のデバイス９２の先端アドレスを設定し、
変数EndAdrsに検査対象のデバイス９２の後端アドレスを設定し、
配列Data[]に計測データを設定し、
変数Ｎに計測データの総数を設定する。
【００８５】
また、データ処理部４０は、計測データのカウントｉにゼロを設定し、選別した測定データの個数（選別数）ｊにゼロを設定する（ステップＳ６２）。
【００８６】
そして、データ処理部４０は、配列Data[i]がStartAdrsとEndAdrsとの範囲内にあるか否かを判断する（ステップＳ６３）。範囲内にない場合（ステップＳ６３のＮｏ）、データ処理部４０は、ステップＳ６５へと進む。
【００８７】
範囲内の場合（ステップＳ６３のＹｅｓ）、データ処理部４０は、選別した測定データとして一時データ領域に格納する（ステップＳ６４）。データ処理部４０は、temp_data[i]にData[i]を設定し、選別数ｊを１インクリメントする。
【００８８】
データ処理部４０は、カウントｉを１インクリメントした後（ステップＳ６５）、カウントｉが測定データの総数Ｎに達したか否かを判断する（ステップＳ６６）。カウントｉが総数Ｎより小さい場合（ステップＳ６６のＮｏ）、データ処理部４０は、ステップＳ６３へ戻り、上記同様の処理を繰り返す。
【００８９】
一方、カウントｉが総数Ｎ以上の場合（ステップＳ６６のＹｅｓ）、データ処理部４０は、選別した計測データを元の位置にコピーして（ステップＳ６７）、選別数を計測データの総数に設定し（ステップＳ６８）、この計測データの削除処理を終了する。
【００９０】
次に、データ処理部４０は、計測データ内で最も多く発生するパターンを抽出するパターン抽出処理を実行する。選別された計測データにおいて隣接するデータ内で、最も多く発生するパターンTypeとその発生回数TypeNとを抽出する。
【００９１】
図１７及び図１８は、パターン抽出処理を説明するための図である。図１７において、データ処理部４０は、入力パラメータを設定する（ステップＳ７１）。即ち、データ処理部４０は、配列Data[]に計測データを設定し、変数Ｎに計測データの総数を設定する。
【００９２】
また、データ処理部４０は、計測データのカウントｉにゼロを設定し、抽出したパターン個数（抽出数）ｊにゼロを設定する（ステップＳ７２）。
【００９３】
そして、データ処理部４０は、ｉ番目の計測データとｉ＋１番目の計測データとを一時パターン領域に格納する（ステップＳ７３）。即ち、データ処理部４０は、
tmp_ptrn0にData[i]を設定し、
tmp_ptrn1にData[i+1]を設定する。
【００９４】
その後、データ処理部４０は、抽出数ｊがゼロか否かを判断する（ステップＳ７４）。抽出数ｊがゼロでない場合（ステップＳ７４のＮｏ）、データ処理部４０は、ステップＳ７９へと進む。
【００９５】
一方、抽出数ｊがゼロの場合（ステップＳ７４のＹｅｓ）、データ処理部４０は、変数ｋをゼロで初期化する（ステップＳ７５）。
【００９６】
データ処理部４０は、既に抽出したパターンptrn[k][0]がtmp_ptrn0と一致しないか、又は、既に抽出したパターンptrn[k][1]がtmp_ptrn1と一致しないかを判断する（ステップＳ７６）。パターンptrn[k][0]がtmp_ptrn0に一致し、且つ、パターンptrn[k][1]がtmp_ptrn1に一致する場合（ステップＳ７６のＮｏ）、データ処理部４０は、ステップＳ８５へと進む。
【００９７】
一方、少なくともいずれか一方が一致しない場合（ステップＳ７６のＹｅｓ）、データ処理部４０は、変数ｋを１インクリメントして（ステップＳ７７）、変数ｋが抽出数ｊ以上であるか否かを判断する（ステップＳ７８）。変数ｋが抽出数ｊ未満である場合（ステップＳ７８のＮｏ）、データ処理部４０は、ステップＳ７６へと戻り、上述同様の処理を繰り返す。
【００９８】
一方、変数ｋが抽出数ｊ以上である場合（ステップＳ７８のＹｅｓ）、データ処理部４０は、新たに抽出したパターンとして設定する（ステップＳ７９）。即ち、データ処理部４０は、
ptrn[j][0]にtmp_ptrn0を設定し、
ptrn[j][1]にtmp_ptrn1を設定し、
tmp_ptrnNに１を設定し、
変数ｋに抽出数ｉに２を加算した値を設定する。
【００９９】
次に、データ処理部４０は、Data[k]がtmp_ptrn0と一致し、且つ、Data[k+1]がtmp_ptrn1と一致するか否かを判断する（ステップＳ８０）。少なくともいずれか一方が一致しない場合（ステップＳ８０のＮｏ）、変数ｋを１インクリメントして（ステップＳ８１）、ステップＳ８３へと進む。
【０１００】
両方共に一致する場合（ステップＳ８０のＹｅｓ）、データ処理部４０は、変数ｋに２を加算し、変数tmp_ptrnNに１を加算して（ステップＳ８２）、変数ｋが計測データの総数Ｎ以上であるか否かを判断する（ステップＳ８３）。変数ｋが計測データの総数Ｎ未満である場合（ステップＳ８３のＮｏ）、データ処理部４０は、ステップＳ８０へと戻り、上述同様の処理を繰り返す。
【０１０１】
変数ｋが計測データの総数Ｎ以上である場合（ステップＳ８３のＹｅｓ）、データ処理部４０は、変数ptrnN[j]にtmp_ptrnNを設定し、変数ｊを１インクリメントする（ステップＳ８４）。
【０１０２】
データ処理部４０は、変数ｉを１インクリメントして（ステップＳ８５）、変数ｉが計測データの総数Ｎ以上であるか否かを判断する（ステップＳ８６）。変数ｉが計測データの総数Ｎ未満である場合（ステップＳ８６のＮｏ）、データ処理部４０は、ステップＳ７３へと戻り、上述同様の処理を繰り返す。
【０１０３】
変数ｉが計測データの総数Ｎ以上である場合（ステップＳ８６のＹｅｓ）、図１８において、データ処理部４０は、発生回数TypeNにゼロを設定し、max_ptrn0にゼロを設定し、max_ptrn1にゼロを設定して初期化する（ステップＳ８７）。
【０１０４】
データ処理部４０は、更に、変数ｉをゼロで初期化した後（ステップＳ８８）、発生回数TypeNがptrnN[i]より大きいか否かを判断する（ステップＳ８９）。発生回数TypeNがptrnN[i]より大きくない場合（ステップＳ８９のＮｏ）、データ処理部４０は、発生回数TypeNにptrnN[i]を設定し、max_ptrn0にptrn[i][0]を設定し、max_ptrn1にptrn[i][1]を設定して（ステップＳ９０）、ステップＳ９１へと進む。
【０１０５】
一方、発生回数TypeNがptrnN[i]より大きい場合（ステップＳ８９のＹｅｓ）、データ処理部４０は、変数ｉを１インクリメントして（ステップＳ９１）、変数ｉが抽出数ｊ以上であるか否かを判断する（ステップＳ９２）。
【０１０６】
変数ｉが抽出数ｊ以上である場合（ステップＳ９２のＹｅｓ）、max_ptrn0及びmax_ptrn1を最も多いパターンとして出力し、また、発生回数TypeNを出力する（ステップＳ９３）。
【０１０７】
次に、データ処理部４０によって実行される、パターン保存バッファ３８において最も発生回数の多いパターンを結合する結合処理について説明する。図１９は、結合処理を説明するための図である。図１９において、データ処理部４０は、入力パラメータを設定する（ステップＳ１０１）。即ち、データ処理部４０は、max_ptrn0に統合するデータ０を設定し、max_ptrn1に統合するデータ１を設定し、Data[]に計測データを設定し、変数Ｎに計測データの総数を設定する。
【０１０８】
パターン保存バッファ３８にmax_ptrn0とmax_ptrn1とを登録し、max_ptrn0とmax_ptrn1とから統合したパターンptrn01を作成する（ステップＳ１０２）。また、データ処理部４０は、変数ｉにゼロを設定する（ステップＳ１０３）。
【０１０９】
データ処理部４０は、max_ptrn0がData[i]に一致し、且つ、max_ptrn1がData[i+1]に一致するか否かを判断する（ステップＳ１０４）。少なくともいずれか一方が一致しない場合（ステップＳ１０４のＮｏ）、データ処理部４０は、ステップＳ１０６へと進む。
【０１１０】
一方、両方が一致する場合（ステップＳ１０４のＹｅｓ）、データ処理部４０は、Data[i]にptrn01を設定し、Data[i+1]にゼロを設定して、変数ｉを１インクリメントする（ステップＳ１０５）。
【０１１１】
データ処理部４０は、変数ｉを１インクリメントする（ステップＳ１０６）。ステップＳ１０６が、ステップＳ１０５からの処理である場合、変数ｉは更に１加算されることになる。
【０１１２】
そして、データ処理部４０は、変数ｉが計測データの総数Ｎ以上であるか否かを判断する（ステップＳ１０７）。総数Ｎより小さい場合（ステップＳ１０７のＮｏ）、データ処理部４０は、ステップＳ１０４へと戻り、上述同様の処理を繰り返す。総数Ｎ以上である場合（ステップＳ１０７のＹｅｓ）、データ処理部４０は、この結合処理を終了する。
【０１１３】
上述したデータ処理部４０による処理において、同じパターンが繰り返された場合、処理回数以上は同じデータとして纏めるためのパラメータを追加することによって、ポーリング等の処理を行う場合等の分類に有効である。
【０１１４】
また、時間情報を持たせることによって、本来の制御パターンから外れて大きなパターンに結合されることを防止することができ、制御パターンの区切りを判別し易くすることができる。
【０１１５】
次に、本実施例を適用した処理例について、図２０〜図２３で説明する。図２０〜図２３において、制御データは、サンプリングデータ５０における計測データのうち選定された計測データ、又は、保存データ６０に格納される測定データに相当する。測定データの一例として、制御データで説明する。
【０１１６】
図２０は、正常時と異常時の制御データの例を示す図である。図２０において、正常な制御データと、異常が発生した場合の制御データとを示す。
【０１１７】
正常な制御データにおいて、アドレス０〜４に書き込みが行われ、アドレス８〜９のデータを読み込み、アドレス６〜７に書き込みが行われる制御パターンが１００回繰り返される。
【０１１８】
異常が発生した制御データは、本来左側の正常な制御データと同じ出現順になるはずであったが、５７回目の制御でアドレス８の読み出しデータに異常が発生した為、検査対象装置９の制御プロセッサであるＣＰＵ９０は、アドレス８の読み出しを続けて７回繰り返す。ＣＰＵ９０は、正常なデータが読み出せないため、リセット処理を行う。その後、何も発生していなかったかの様に、ＣＰＵ９０は、５７回目の処理からやり直す。
【０１１９】
このような状態が発生しているが、異常が発生した制御データにおいても、正常な制御データ同様に、１００回の所定の処理は終えている。
【０１２０】
異常が発生した制御データに対して本実施例に係るデータ処理部４０が処理を行った場合で説明する。パラメータの一つであるパターン発生回数は、「２」で設定されたとする。
【０１２１】
図２１は、結合前データと処理途中の内部状態とを示す図である。図２１において、結合前データは、図２０の異常が発生した制御データである。後述される図２２、図２３においても同様である。
【０１２２】
図２１において、結合前データに対して本来の制御パターンまでを結合した状態が、処理途中１で示されている。処理途中１では、エラー発生部分と、リセットの処理だけが未結合で残っている。処理途中１と処理途中２とは、同じ状態を表している。処理途中２では、全体の分類状態を示している。
【０１２３】
処理途中２において、１番目の処理パターンから５６番目の処理パターンまでが正常な制御であり結合が行われたことを示している。部分７ｅは、エラーが発生した５７番目の処理パターンからやり直した５７番目の処理パターンまでの部分であり結合されなかった箇所である。やり直した５７番目の処理パターン以降は、正常な制御に戻るため、１００番目の処理パターンまで結合が行われている。
【０１２４】
図２２は、結合前データと処理結果の内部状態とを示す図である。図２２において、パターン発生回数が「２」の設定で結合処理を行っているため、２つ以上の同じパターンのデータが無くなっている。
【０１２５】
特徴的な部分として、異常が発生したときにデータを８回読み直している最後の読み出しアクセス（「Adrs 8 Rd」）が未結合のまま残っている。前後の異常が発生したときの制御パターンの開始から、リセットが行われる部分まで、他の部分と比較して結合回数が極端に少なくなっていることが確認できる。
【０１２６】
図２３は、結合前データと処理結果の表示例を示す図である。図２３において、結合前データは、結合処理を行う前の状態の一部を示し、個々のデータの結合回数は、全て「０」を示す。例えば、表示例は、数１００個の結合前データの前半部である。この表示例では、全データのアクセス時間が均一で隙間無く並んでいるものとしている。
【０１２７】
結合処理による処理結果の表示を、全体を表示できる状態までズームアウトされている。また、処理結果の表示では、結合回数に応じた幅でパターンの結合の大きさを示す。明らかに中央部分のデータが小さな状態２３ａで残っていることが判る。結合されたデータについては、個々の要素を表示する機能があるものとする。
【０１２８】
図２４は、処理結果の結合回数の少ない部分の拡大表示例を示す図である。図２４において、図２３の処理結果の表示によって、拡大表示させる前の表示からデータに特徴があることが判ったが、処理完了後データを拡大表示させると未結合のデータ２４ａが残っていること、結合回数の極端な変化によりデータが他の部分と違っていることが確認できる。
【０１２９】
上述したように、検証対象のデバイスを制御する制御データをパターン化することによって、通常使用状態で蓄積した大量のデータの中から異常が発生している可能性が高いデータを識別することができる。
【０１３０】
本実施例によれば、大量のデータから制御パターンとして特異な部分を確認することができる。採取された大量のデータに基づいてパターン化されない部分を識別することができるため、特異な制御が採集できれば漏れなく確認することができる。
【０１３１】
複雑なシステムを開発の最終段階で第三者が動作検証を行なう等で使用する場合に効果を奏する。時間の許す限りデータを採取し、特異な部分について其々の機能部分の担当者に処理内容について確認すれば、検証漏れの解消等に効果がある。十分な検証経験のない、又は、システムの内容に余り詳しくない検証者であっても、特異な部分を機械的に検証することができる。つまり、検証の内容に予断を持たずに検証作業に参加できる。
【０１３２】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１３３】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、
前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部と
を有することを特徴とするパターン化装置。
（付記２）
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記１記載のパターン化装置。
（付記３）
前記結合の回数に応じた幅で前記パターンを表示する表示部と
を更に有することを特徴とする付記１又は２記載のパターン化装置。
（付記４）
コンピュータによって実行されるパターン化方法であって、
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
ことを特徴とするパターン化方法。
（付記５）
命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記４記載のパターン化方法。
（付記６）
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるパターン化プログラム。
（付記７）
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記６記載のパターン化プログラム。
（付記８）
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを１つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
【符号の説明】
【０１３４】
９            検査対象装置
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３８          パターン保存バッファ
５０、５０−１    サンプリングデータ
６０、６０−２    保存データ
８０          大容量ストレージ
９０          ＣＰＵ
９１          メモリ
９２          デバイス
９３          試験データ供給部
９４          データ蓄積部
１００        パターン化装置
【図１】
2014203125.tif 000003
【図２】
2014203125.tif 000004
【図３】
2014203125.tif 000005
【図４】
2014203125.tif 000006
【図５】
2014203125.tif 000007
【図６】
2014203125.tif 000008
【図７】
2014203125.tif 000009
【図８】
2014203125.tif 000010
【図９】
2014203125.tif 000011
【図１０】
2014203125.tif 000012
【図１１】
2014203125.tif 000013
【図１２】
2014203125.tif 000014
【図１３】
2014203125.tif 000015
【図１４】
2014203125.tif 000016
【図１５】
2014203125.tif 000017
【図１６】
2014203125.tif 000018
【図１７】
2014203125.tif 000019
【図１８】
2014203125.tif 000020
【図１９】
2014203125.tif 000021
【図２０】
2014203125.tif 000022
【図２１】
2014203125.tif 000023
【図２２】
2014203125.tif 000024
【図２３】
2014203125.tif 000025
【図２４】
2014203125.tif 000026