JP2014203125A - パターン化装置及び方法 - Google Patents
パターン化装置及び方法 Download PDFInfo
- Publication number
- JP2014203125A JP2014203125A JP2013076268A JP2013076268A JP2014203125A JP 2014203125 A JP2014203125 A JP 2014203125A JP 2013076268 A JP2013076268 A JP 2013076268A JP 2013076268 A JP2013076268 A JP 2013076268A JP 2014203125 A JP2014203125 A JP 2014203125A
- Authority
- JP
- Japan
- Prior art keywords
- data
- pattern
- control data
- processing unit
- appears
- 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.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】 本発明の課題は、検証対象のデバイスを制御する制御データをパターン化することを目的とする。
【解決手段】 上記課題は、命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部とを有するパターン化装置により達成される。
【選択図】 図8
【解決手段】 上記課題は、命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部とを有するパターン化装置により達成される。
【選択図】 図8
Description
本発明は、検証対象のデバイスを制御する制御データをパターン化して異常を検出することに関する。
従来より、開発したデバイスの検証において、デバイスに対する供給データを予め用意しておき、その供給データに対する制御も予め決められた形で行われ、動作試験を行った結果をシステム上のメモリや、出力データを蓄積する機器(例えば、計測器)等に蓄積し、その蓄積データを期待する結果と比較することで実施されてきた。
例えば、連続する2以上のサイクルにおいて取得された出力信号の組を、出力信号の状態遷移として記憶し、高負荷の場合にのみ発生する状態遷移を区別可能に表示することが知られている。また、出力信号の信号変化パターンの特徴とリアルタイムに入力されるアドレス信号の変化状態とを比較して異常動作を検出すること、デジタル信号の論理値と予め指定された論理値との一致回数が予め設定した回数に達する毎に発生事情を表示すること等が提案されている。
上述した検証方法では、個別機能の動作の成否は検証できるが、第1に、システム全体の動作効率は検証できない。第2に、個別機能の検証では、判明しない問題も存在する可能性がある。判明しない問題とは、特定の機能を数百回繰り返した時に発生する問題、複数の機能を組み合せて動作させた場合の問題、一定の時間の経過があって発生する問題、制御ソフトウェアのバグによる問題等である。第3に、予め用意する検証データに漏れや、データ自体に間違いがある場合もある。
1つの側面において、本発明の目的は、検証対象のデバイスを制御する制御データをパターン化することである。
本実施例の一態様によれば、パターン化装置は、命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部とを有する。
また、上記課題を解決するための手段として、コンピュータに上記パターン化装置として機能させるためのプログラム、そのプログラムを記録した記録媒体、及びパターン化方法とすることもできる。
本実施例の一態様によれば、検証対象のデバイスを制御する制御データをパターン化することによって、通常使用状態で蓄積した大量のデータの中から異常が発生している可能性が高いデータを識別することができる。
以下、本発明の実施の形態を図面に基づいて説明する。図1は、検証対象装置の構成例を示す図である。図1では、検証対象装置9の基本的な構成例を示している。検証対象装置9は、デバイスを制御するCPU(中央処理装置)90と、制御に係るデータを記憶するメモリ91と、検証対象のデバイス92と、デバイス92に対して予め用意された試験データを供給する試験データ供給部93と、デバイス92が出力したデータを蓄積するデータ蓄積部94とを有する。CPU90と、メモリ91と、デバイス92とは、命令バス95で接続される。
デバイス92がかなり小さな規模であっても、OS(Operating System)、リアルモニター等が使用され、メモリ91の使用状況はこれらに依存し、更に、キャッシュを実装したプロセッサが大部分となりミクロな部分でも、メモリ91の使用を外部から見ただけでは何も見えない状態にある。現状では、プロセッサのデバイスに対する制御が外部から検証対象装置9全体を見渡す事が可能な唯一のものである。
検証対象装置9を構成する上でプロセッサとしてのCPU90がデバイス92を制御する方法は、いくつかのパターンになっている事が多い。データをパターン化することによって、制御ソフトウェアのバグ等で異質な制御パターンの発生を検出することができる。
更に、細かい検証によって、異常な処理が行われているが、制御ソフトウェアも含めた検証対象装置9全体が異常発生に対してそれをリカバリーする様な動作をするため、規模の大きな処理の中では、僅かに処理効率が低下しただけの様にみえる場合がある。
処理能力が大きく低下している場合は問題として検出され易いが、僅かな性能低下では問題として認識し難い。僅かな性能低下の状態が単独で発生している場合は、検証対象装置9全体が問題を小さくする方向に動作していると言えるが、新たな問題の原因となる可能性もある。
このような僅かな性能低下の状態を認識して問題が無いと判断し修正しない場合と、この状態を全く認識することなく放置してしまう場合とでは、検証対象装置9の動作状態は同じであるが、今後の検証対象装置9に対する対応に大きな違いが生じる可能性がある。
本実施例の基本的な仕組みでは、CPU90がデバイス92などにアクセスするパターンに着目する。図1に示すような検証対象装置9を通常状態で動作させ、命令バス95のデータを長時間採取し、その制御パターンを分類していくと、特異な部分は、パターン化されずに残っていくことになる。パターン化されずに残った部分に問題のある部分がある場合が多い。必ず問題があるわけではないが、パターン化されずに残った部分が存在することを認識することで、検証を精度良く行なうことが可能となる。CPU90の制御は、デバイスの状態をみながら行われる場合が多く、制御自体の問題だけでなく、デバイス自体の問題を発見するきっかけになる。
図1では、検証対象がデバイス92の1装置、メモリ91の1装置の構成例を示したが、検証対象として複数の装置、複数のメモリが構成されていても良い。検証対象として複数の装置が構成された場合の、後述される本実施例において作成された制御パターンを機能部分毎に作成した表示例を図2に示す。図2において、分類された機能部分A−1、A−2、A−3、B−1、B−2、M1−R及びM2−R、M1−W及びM2−Wを色分け等により表示することにより、機能部分を視覚的に認識し易くすることができる。
表示部分2aは、分類された機能部分のうち、制御パターンが途中で途切れていると判断したものを無色で表示している。表示部分2bにより、同じ処理が頻発していることを新式することができる。表示部分2cは、どの制御パターンにも分類できないものを無色及び名称無しで表示している。
システム規模の増大により、関係する機能の数が多くなり複雑化する状態において、発見されていない問題の検出、正常に動作しているが制御方法として無駄の多い状態の検出、制御ソフトウェアの作成方法から、デバイス92のインターフェースの仕様の考察の要否の判断など、各機能の詳細を知らないユーザであっても、本実施例を適用した結果を利用することによって、単純な制御の仕組みとして認識し易いように表示することができる。
本実施例の概要を、各々のフローチャート図を用いて、関連技術との比較によって説明する。図3は、関連技術の検証処理の概要を説明するためのフローチャート図である。図3において、ユーザは、試験データを準備し(ステップS11)、また、試験データに対する予測結果を準備する(ステップS12)。
ユーザは、デバイス92を実機等の検査対象装置9に搭載して動作させる(ステップS13)。デバイス92の出力データを用いて、動作結果と予測結果とが一致するか否かを判断する(ステップS15)。
動作結果と予測結果とが一致しない場合、ユーザは、試験結果を考察し、検査対象のデバイス92を修正する、又は、試験データ及び予測結果を修正し(ステップS14)、ステップS13及びS14の処理が繰り返される。一方、動作結果と予測結果とが一致する場合、この検証処理を終了する。
図4は、本実施例を適用した場合の検証処理の概要を説明するためのフローチャート図である。図4において、ユーザは、デバイス92を実機等の検査対象装置9に搭載して動作させる(ステップS21)。
デバイス92の動作結果を、後述するパターン化装置100に入力して、自動でパターン抽出を行い、抽出したパターンを分類する(ステップS22)。パターン化装置100は、極端な制御パターンが存在するか否かを判断する(ステップS23)。
極端な制御パターンが存在する場合(ステップS23のYes)、パターン化装置100は、制御パターンが正常か否かを判断する(ステップS24)。正常である場合、パターン化装置100は、ステップS23へ戻る。正常でない場合、パターン化装置100による処理結果が表示されることにより、ユーザは原因を究明し、検査対象のデバイス92を修正する、又は、試験データ及び予測結果を修正し(ステップS28)、この検証処理を終了する。
一方、極端な制御パターンが存在しない場合(ステップS23のNo)、極端な制御パターンが存在しないことがパターン化装置100による処理結果が表示されることにより、ユーザが、特定の制御が頻発している部分があるか否かを検証する(ステップS25)。
特定の制御が頻発している部分がある場合(ステップS25のYes)、ユーザは、その状態が設計時に想定していた通りの状態であるか否かを判断する(ステップS26)。想定通りである場合、この検証処理を終了する。一方、想定通りでない場合、制御の状態を改めて評価し、対策の実施の有無から検討した後(ステップS27)、この検証処理を終了する。
一方、特定の制御が頻発している部分がない場合(ステップS25のNo)、この検証処理を終了する。
図5は、制御データを取得するための構成を示す図である。図5において、大容量ストレージ80を外部記憶装置として検査対象装置9に接続し、デバイス92が接続された命令バス95を介して、動作中の送受信で計測された計測データを大容量ストレージ80に蓄積して行く。
次に、大容量ストレージ80に蓄積された計測データからパターンを抽出して分類するパターン化装置100について説明する。図6は、パターン化装置100のハードウェア構成を示す図である。図6において、パターン化装置100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インターフェース)17と、ドライブ18とを有し、命令バスBに接続される。
CPU11は、主記憶装置12に格納されたプログラムに従ってパターン化装置100を制御する。主記憶装置12には、RAM(Random Access Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
補助記憶装置13には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12及び/又は補助記憶装置13を有する。
入力装置14は、マウス、キーボード等を有し、ユーザがパターン化装置100による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。出力装置16は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F17は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。通信I/F17による通信は無線又は有線に限定されるものではない。
パターン化装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によってパターン化装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムが命令バスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
パターン化装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によってパターン化装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムが命令バスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図7は、パターン化装置100の機能構成を示す図である。図7において、パターン化装置100は、パラメータ記憶部31と、データ記憶部32と、データ処理部40と、表示部50とを有する。パラメータ記憶部31とデータ記憶部32とは、夫々、上述した記憶部130の一部に相当する。
パラメータ記憶部31は、アドレス範囲と、パターン結合発生頻度とをパラメータとして記憶する。アドレス範囲は、入力された検査対象装置9内でデバイス92がマッピングされたアドレスの範囲を示す。パターン結合発生頻度は、パターンを結合した回数、即ち、データのパターン化の細かさの値を示す。
データ記憶部32は、検査対象装置9を動作させながら大容量ストレージ80に蓄積したCPU90、メモリ91、デバイス92の命令バス95の計測データを記憶する。
データ処理部40は、パラメータ記憶部31に記憶されたパラメータと、データ記憶部32に記憶されたデータからデータのパターン抽出を行い、抽出したパターンを結合する。結合されずに残ったデータが、特異なデータであると判断できる。
表示部50は、データ処理部40によってパターン化された結果を用いて、装置毎の機能部分を容易に判別可能なようにした表示画面(例えば、図2)を作成して、表示装置15に表示させる。
図8は、データ処理部40によるパターン抽出して結合する処理を説明するためのフローチャート図である。図8において、検査対象のデバイス92のアドレスをパラメータとして入力する(ステップS31)。変数StartAdrsにはデバイスの先端アドレスが設定され、変数Endadrsにはデバイスの後端アドレスが設定される。パターン発生頻度をパラメータとして入力する(ステップS32)。変数PtrnNにはパターン結合発生頻度が設定される。更に、大容量ストレージ80に記憶された計測データを入力する(ステップS33)。配列Data[]に計測データが入力される。
計測データのうち検査対象のデバイス92以外のデータを削除する(ステップS34)。隣接する計測データにおいて、最も多く発生するパターンTypeとその発生回数TypeNとを抽出する(ステップS35)。
発生回数TypeNがパターン結合発生頻度PtrnN以上であるか否かを判断する(ステップS36)。発生回数TypeNがパターン結合発生頻度PtrnN以上である場合、配列Data[]内のパターンTypeを示すパターンの計測データを新たな計測データとして置き換える(ステップS37)。
上述の処理により、計測データは、パターンに基づいて結合される。この時、記憶された計測データがあたかも単独のデータのように表示されているが、実際には、少なくとも、アクセスの方向(read/write)、アドレス、時間、データ等の情報が必要である。このフローチャートでは、例として、制御パターンでの結合を示し、比較などは、アクセスの方向、アドレスによって行うことになる。
図9は、データ保存例を示す図である。図9において、入力された計測データは、保存データ60に加工され、パターン化装置100のデータ記憶部32に記憶される。保存データ60は、各32ビット長のdata1、data2、data3、data4、data5、及びdata6の項目を有する。
data1は、保存データ60のデータ種別を示す。data1が0x00000000を示す場合、計測データはreadアクセスの制御パターンであることを示し、data1が0x00000001を示す場合、計測データはwriteアクセスの制御パターンであることを示し、data1が0x00000002を示す場合、保存データ60は結合されたことを示す。
data2は、保存データ60が計測データを保持する場合は、計測データのアドレスを示す。data3は、保存データ60が計測データを保持する場合は、計測データの実体を示す。保存データ60が結合データである場合は、data2及びdata3によって1つのパターンに置き換えられた2つの計測データの番号が示される。
data4は、保存データ60が計測データを保持する場合は、計測データが発生した時間を示す。保存データ60が結合データである場合は、結合されたパターンの開始時間が示される。
data5及びdata6は、保存データ60が計測データを保持する場合は、使用しないエリアとなる。保存データ60が結合データである場合は、data5に結合されたパターンの停止時間が示される。また、data6には、結合によってパターンを結合した結合回数が示される。
パターン保存バッファ38用に、記憶部130の一部が利用される。パターン保存バッファ38には、計測データ加工後の保存データ60が格納される。パターン保存バッファ38には、計測データを含む保存データ60(「aaaa」及び「bbbb」)が保存されると共に、結合する2つの計測データを1つのパターンに置き換えた保存データ60(「aaaa + bbbb」)も保存される。
図8のステップS34の処理によって検査対象のデバイス92以外のデータが削除された計測データに対する、パターン結合について説明する。先ず、パターンの結合について図10、図11、及び図12で説明する。
以下の説明において、サンプリングデータ50は、大容量ストレージ80に記憶されたサンプリング開始から終了までに取得した計測データの全体に相当する。サンプリングデータ50では、本実施例に係る処理に必要な、抽出されたパターンと結合されたパターンとが示され、それ以外を空白で示している。
図10は、計測データの保存例を示す図である。図10において、サンプリングデータ50では、アドレス範囲内でアドレスを指定するパターンを簡易的に「Adrs 0 Wr」、「Adrs 6 Rd」、「Adrs 4 Wr」、「Adrs 5 Rd」、「Adrs 1 Wr」、・・・のように示す。
サンプリングデータ50の先頭をサンプリング開始位置とし、「Adrs 0 Wr」が8msecの位置でアドレス0に書き込まれ、「Adrs 6 Rd」が16msecの位置でアドレス6に書き込まれ、「Adrs 4 Wr」が22msecの位置でアドレス4に書き込まれている。
更に、「Adrs 5 Rd」が32msecの位置でアドレス0に書き込まれ、「Adrs 1 Wr」が38msecの位置でアドレス0に書き込まれている。
サンプリングデータ50内で抽出されたパターンは、夫々、保存データ60に加工される。保存データ60に関して、data3で保持される計測データは0x????????で表し、時間の単位は1msec単位として記入している。また、"--------"が示される場合は、使用しないエリアを表している。
パターン「Adrs 0 Wr」は、8msecの位置でアドレス0に書き込まれたデータであることを示す保存データ60に加工され、パターン「Adrs 6 Rd」は、16msecの位置でアドレス6に書き込まれたデータであることを示す保存データ60に加工され、パターン「Adrs 4 Wr」は、22msecの位置でアドレス4に書き込まれたデータであることを示す保存データ60に加工される。
更に、パターン「Adrs 5 Rd」は、32msecの位置でアドレス0に書き込まれたデータであることを示す保存データ60に加工され、パターン「Adrs 1 Wr」は、38msecの位置でアドレス0に書き込まれたデータであることを示す保存データ60に加工される。
パターン結合について、図11及び図12で説明する。図11及び図12は、パターン結合を説明するための図である。
図11では、サンプリングデータ50でパターン結合を説明する。図11において、パターン「Adrs 0 Wr」とパターン「Adrs 6 Rd」とが結合された様子を示している。ここでは、結合パターン「Adrs 0 Wr 6 Rd」として示される。結合パターン「Adrs 0 Wr 6 Rd」は、8〜16msec位置でアドレス0に書き込みアドレス6から読み出しが行われたことを示す。
図12では、保存データ60でパターン結合を説明する。図12において、パターン「Adrs 0 Wr」の保存データ60と、パターン「Adrs 6 Rd」の保存データ60とに基づいて、結合パターン「Adrs 0 Wr 6 Rd」の保存データ60が作成される。
data1は、0x00000002により結合されたことを示す。
data2は、0x00000000によりパターン保存バッファ38内でのパターン「Adrs 0 Wr」の保存データ60の番号を示す。
data3は、0x00000001によりパターン保存バッファ38内でのパターン「Adrs 6 Rd」の保存データ60の番号を示す。
data4には、パターン「Adrs 0 Wr」のdata4の値0x00000001が設定され、開始時間を示す。
data5は、パターン「Adrs 6 Rd」data5の値0x00000010が設定され、停止時間を示す。
data6は、結合回数を示す。この場合、1回である。
data1は、0x00000002により結合されたことを示す。
data2は、0x00000000によりパターン保存バッファ38内でのパターン「Adrs 0 Wr」の保存データ60の番号を示す。
data3は、0x00000001によりパターン保存バッファ38内でのパターン「Adrs 6 Rd」の保存データ60の番号を示す。
data4には、パターン「Adrs 0 Wr」のdata4の値0x00000001が設定され、開始時間を示す。
data5は、パターン「Adrs 6 Rd」data5の値0x00000010が設定され、停止時間を示す。
data6は、結合回数を示す。この場合、1回である。
結合パターン「Adrs 0 Wr 6 Rd」の保存データ60によって、8〜16msec位置でデータをアドレス0に書き込み、アドレス6から読み出すことが結合される。
図13は、パターン保存バッファへの格納例を示す図である。図13では、パターン保存バッファ38において、結合前のパターン「Adrs 0 Wr」の保存データ60と、パターン「Adrs 6 Rd」の保存データ60とが格納され、また、結合後の結合パターン「Adrs 0 Wr 6 Rd」の保存データ60も順次格納される。
パターン保存バッファ38において、結合前のパターン「Adrs 0 Wr」が0番目に保存され、パターン「Adrs 6 Rd」が1番目に保存され、結合パターン「Adrs 0 Wr 6 Rd」が2番目の保存データ60として保存される。
パターン保存バッファ38には、結合パターンに関するdata4及びdata5の時間情報を外して保存する。Data3の値は、0x????????となっているが、パターン分類としてデータの値を扱う場合は、意味のあるデータとして扱う必要があるが、パターン分類としてアドレスだけを扱う場合は、パターン保存バッファ38にデータの値を記録する必要はない。
図14及び図15は、一連のデータ結合処理の概要を説明するための図である。図14及び図15において、パターン保存バッファ38への格納前の2つの保存データ60について、元保存データ1及び元保存データ2として説明し、データ結合処理内では、D1及びD2で表される。各D1及びD2は、上述したdata1からdata6を要素として構成する構造体である。また、他変数の扱いは以下の通りである。
B_wptr :パターン保存バッファ38の現在の書き込み位置
D1_t :元保存データ1の時間
D2_t :元保存データ2の時間
D1_ptn :元保存データ1の結合回数
D2_ptn :元保存データ2の結合回数
D1_n :パタ−ン保存バッファ80内での元保存データ1の番号
D2_n :パタ−ン保存バッファ80内での元保存データ2の番号
ローカルデータとして、これらの値を保存するエリアを準備する。
D1_t :元保存データ1の時間
D2_t :元保存データ2の時間
D1_ptn :元保存データ1の結合回数
D2_ptn :元保存データ2の結合回数
D1_n :パタ−ン保存バッファ80内での元保存データ1の番号
D2_n :パタ−ン保存バッファ80内での元保存データ2の番号
ローカルデータとして、これらの値を保存するエリアを準備する。
D1→data1と表記した場合は、元保存データ1のdata1の要素を指すものとし、
B_wptr→data1と表記した場合は、データ保存バッファ38の書き込み位置のdata1の要素を指すものとする。
B_wptr→data1と表記した場合は、データ保存バッファ38の書き込み位置のdata1の要素を指すものとする。
図14におけるデータ結合処理の前半部では、元保存データが登録の必要のあるデータであった場合は、パターン保存バッファ38に登録し、結合パターンとして登録する際に必要な設定データを抜き出し、ローカルデータとして保存する。
図15におけるデータ結合処理の後半部では、新しく結合したパターンをパターン保存バッファ38に登録する。また、元保存データの一つの位置に結合パターンのデータとして値を書き戻す。もう一つのデータは、削除する。ここでは、データの属性にread、write、group以外の値を書き込むことで削除している。同じ結合パターンを他の元保存データに当てはめる場合もこの後半部での処理を行う。
図14において、データ結合処理が開始されると、データ処理部40は、変数の初期化を行い、パラメータ記憶部31からパラメータの読み込みを行う(ステップS41)。即ち、
B_wptrにパターン保存バッファ38の現在の書き込み位置を設定し、
D1_tにゼロを設定し、D2_tにゼロを設定し、
D1_ptnにゼロを設定し、D2_ptnにゼロを設定し、
D1_nにゼロを設定し、D2_nにゼロを設定して、
パラメータ記憶部31からパラメータを読み込む。データ処理部40は、アドレス範囲と、パターン結合発生頻度とを取得する。
B_wptrにパターン保存バッファ38の現在の書き込み位置を設定し、
D1_tにゼロを設定し、D2_tにゼロを設定し、
D1_ptnにゼロを設定し、D2_ptnにゼロを設定し、
D1_nにゼロを設定し、D2_nにゼロを設定して、
パラメータ記憶部31からパラメータを読み込む。データ処理部40は、アドレス範囲と、パターン結合発生頻度とを取得する。
データ処理部40は、D1->data1が0x00000002を示すか、即ち、保存データ1が結合データであるか否かを判断する(ステップS42)。保存データD1が結合データでない場合には(ステップS42のNo)、データ処理部40は、パターン保存バッファ38に元保存データ1をパターンとして登録する(ステップS43)。即ち、
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; (結合回数0とする)
のようにパターンが登録される。
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; (結合回数0とする)
のようにパターンが登録される。
そして、データ処理部40は、ローカルデータに結合データの設定データを設定する(ステップS44)。即ち、
D1_t = D1→data4;
D1_ptn = 0;
D1_n = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ38へのポインタが設定される。番号はパターン保存バッファ38内の元保存データ1が格納された位置を指定するポインタである。
D1_t = D1→data4;
D1_ptn = 0;
D1_n = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ38へのポインタが設定される。番号はパターン保存バッファ38内の元保存データ1が格納された位置を指定するポインタである。
データ処理部40は、パターン保存バッファ38の書き込み位置を移動させる(ステップS45)。即ち、データ処理部40は、
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。そして、ステップS47へと進む。
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。そして、ステップS47へと進む。
一方、元保存データ1が結合データである場合(ステップS42のYes)、データ処理部40は、ローカルデータに結合データの設定データを設定する(ステップS46)。即ち、
D1_t = D1→data4; (開始時間)
D1_ptn = D1→data6;
D1_n = D1→data2;
のように、開始時間、結合回数、及びアドレスが設定された後、ステップS48へと進む。
D1_t = D1→data4; (開始時間)
D1_ptn = D1→data6;
D1_n = D1→data2;
のように、開始時間、結合回数、及びアドレスが設定された後、ステップS48へと進む。
データ処理部40は、元保存データ2が結合データであるか否かを判断する(ステップS47)。即ち、保存データD1が結合データである場合(ステップS47のNo)、データ処理部40は、パターン保存バッファに元保存データ2をパターンとして登録する(ステップS49)。即ち、
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; (結合回数0とする)
のようにパターンが登録される。
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; (結合回数0とする)
のようにパターンが登録される。
そして、データ処理部40は、ローカルデータに結合データの設定データを設定する(ステップS50)。即ち、
D2_t = D2→data4;
D2_ptn = 0;
D2_n = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ38へのポインタが設定される。番号はパターン保存バッファ38内の元保存データ2が格納された位置を指定するポインタである。
D2_t = D2→data4;
D2_ptn = 0;
D2_n = B_wptr;
のように、時間が設定され、結合回数にゼロが設定され、番号にパターン保存バッファ38へのポインタが設定される。番号はパターン保存バッファ38内の元保存データ2が格納された位置を指定するポインタである。
データ処理部40は、パターン保存バッファ38の書き込み位置を移動させる(ステップS51)。即ち、データ処理部40は、
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。そして、図15のステップS52へと進む。
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。そして、図15のステップS52へと進む。
一方、元保存データ2が結合データである場合(ステップS47のYes)、データ処理部40は、ローカルデータに結合データの設定データを設定する(ステップS48)。即ち、
D2_t = D1→data5; (停止時間)
D2_ptn = D1→data6;
D2_n = D1→data2;
のように、停止時間、結合回数、及びアドレスが設定された後、ステップS52へと進む。
D2_t = D1→data5; (停止時間)
D2_ptn = D1→data6;
D2_n = D1→data2;
のように、停止時間、結合回数、及びアドレスが設定された後、ステップS52へと進む。
図15にて、データ処理部40は、パターン保存バッファ38に、結合パターンとして登録する(ステップS52)。即ち、
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;
のように結合パターンが登録される。
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;
のように結合パターンが登録される。
データ処理部40は、登録した結合パターンに関して設定データをローカルデータにコピーする(ステップS53)。即ち、
D1_n = B_wptr;
D1_ptn = B_wptr→data6;
のように、登録した結合パターンへのポインタ、及び結合回数が設定される。
D1_n = B_wptr;
D1_ptn = B_wptr→data6;
のように、登録した結合パターンへのポインタ、及び結合回数が設定される。
そして、データ処理部40は、パターン保存バッファ38の書き込み位置を移動させる(ステップS54)。即ち、データ処理部40は、
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。
B_wptr = B_wptr + 1;
のようにB_wptrを1インクリメントする。
次に、データ処理部40は、元保存データ1に結合データを書き込む(ステップS55)。即ち、データ処理部40は、
D1→data1 = 0x00000002;
D1→data2 = D1n;
D1→data3 = 0; (未使用のため初期化)
D1→data4 = D1_t;
D1→data5 = D2_t;
D1→data6 = D1_ptn;
のようにデータ種別、番号、開始時間、停止時間、及び結合回数を設定する。data3は未使用のため初期化される。
D1→data1 = 0x00000002;
D1→data2 = D1n;
D1→data3 = 0; (未使用のため初期化)
D1→data4 = D1_t;
D1→data5 = D2_t;
D1→data6 = D1_ptn;
のようにデータ種別、番号、開始時間、停止時間、及び結合回数を設定する。data3は未使用のため初期化される。
更に、データ処理部40は、元保存データ2を削除する(ステップS56)。即ち、
D2→data1 = 0xFFFFFFFF; (データとして認識しない形式にする。)
D2→data2 = 0;
D2→data3 = 0;
D2→data4 = 0;
D2→data5 = 0;
D2→data6 = 0;
のように、元保存データ2を初期化する。この際、data1のデータ種別が値として認識されないように0xFFFFFFFFを設定しておく。そして、この一連のデータ結合処理を終了する。
D2→data1 = 0xFFFFFFFF; (データとして認識しない形式にする。)
D2→data2 = 0;
D2→data3 = 0;
D2→data4 = 0;
D2→data5 = 0;
D2→data6 = 0;
のように、元保存データ2を初期化する。この際、data1のデータ種別が値として認識されないように0xFFFFFFFFを設定しておく。そして、この一連のデータ結合処理を終了する。
上述した一連のデータ結合処理は、図16から図19のフローチャートに従って処理されることにより実現される。図16は、計測データの削除処理を説明するための図である。図16において、データ処理部40は、入力パラメータを設定する(ステップS61)。即ち、
変数StartAdrsに検査対象のデバイス92の先端アドレスを設定し、
変数EndAdrsに検査対象のデバイス92の後端アドレスを設定し、
配列Data[]に計測データを設定し、
変数Nに計測データの総数を設定する。
変数StartAdrsに検査対象のデバイス92の先端アドレスを設定し、
変数EndAdrsに検査対象のデバイス92の後端アドレスを設定し、
配列Data[]に計測データを設定し、
変数Nに計測データの総数を設定する。
また、データ処理部40は、計測データのカウントiにゼロを設定し、選別した測定データの個数(選別数)jにゼロを設定する(ステップS62)。
そして、データ処理部40は、配列Data[i]がStartAdrsとEndAdrsとの範囲内にあるか否かを判断する(ステップS63)。範囲内にない場合(ステップS63のNo)、データ処理部40は、ステップS65へと進む。
範囲内の場合(ステップS63のYes)、データ処理部40は、選別した測定データとして一時データ領域に格納する(ステップS64)。データ処理部40は、temp_data[i]にData[i]を設定し、選別数jを1インクリメントする。
データ処理部40は、カウントiを1インクリメントした後(ステップS65)、カウントiが測定データの総数Nに達したか否かを判断する(ステップS66)。カウントiが総数Nより小さい場合(ステップS66のNo)、データ処理部40は、ステップS63へ戻り、上記同様の処理を繰り返す。
一方、カウントiが総数N以上の場合(ステップS66のYes)、データ処理部40は、選別した計測データを元の位置にコピーして(ステップS67)、選別数を計測データの総数に設定し(ステップS68)、この計測データの削除処理を終了する。
次に、データ処理部40は、計測データ内で最も多く発生するパターンを抽出するパターン抽出処理を実行する。選別された計測データにおいて隣接するデータ内で、最も多く発生するパターンTypeとその発生回数TypeNとを抽出する。
図17及び図18は、パターン抽出処理を説明するための図である。図17において、データ処理部40は、入力パラメータを設定する(ステップS71)。即ち、データ処理部40は、配列Data[]に計測データを設定し、変数Nに計測データの総数を設定する。
また、データ処理部40は、計測データのカウントiにゼロを設定し、抽出したパターン個数(抽出数)jにゼロを設定する(ステップS72)。
そして、データ処理部40は、i番目の計測データとi+1番目の計測データとを一時パターン領域に格納する(ステップS73)。即ち、データ処理部40は、
tmp_ptrn0にData[i]を設定し、
tmp_ptrn1にData[i+1]を設定する。
tmp_ptrn0にData[i]を設定し、
tmp_ptrn1にData[i+1]を設定する。
その後、データ処理部40は、抽出数jがゼロか否かを判断する(ステップS74)。抽出数jがゼロでない場合(ステップS74のNo)、データ処理部40は、ステップS79へと進む。
一方、抽出数jがゼロの場合(ステップS74のYes)、データ処理部40は、変数kをゼロで初期化する(ステップS75)。
データ処理部40は、既に抽出したパターンptrn[k][0]がtmp_ptrn0と一致しないか、又は、既に抽出したパターンptrn[k][1]がtmp_ptrn1と一致しないかを判断する(ステップS76)。パターンptrn[k][0]がtmp_ptrn0に一致し、且つ、パターンptrn[k][1]がtmp_ptrn1に一致する場合(ステップS76のNo)、データ処理部40は、ステップS85へと進む。
一方、少なくともいずれか一方が一致しない場合(ステップS76のYes)、データ処理部40は、変数kを1インクリメントして(ステップS77)、変数kが抽出数j以上であるか否かを判断する(ステップS78)。変数kが抽出数j未満である場合(ステップS78のNo)、データ処理部40は、ステップS76へと戻り、上述同様の処理を繰り返す。
一方、変数kが抽出数j以上である場合(ステップS78のYes)、データ処理部40は、新たに抽出したパターンとして設定する(ステップS79)。即ち、データ処理部40は、
ptrn[j][0]にtmp_ptrn0を設定し、
ptrn[j][1]にtmp_ptrn1を設定し、
tmp_ptrnNに1を設定し、
変数kに抽出数iに2を加算した値を設定する。
ptrn[j][0]にtmp_ptrn0を設定し、
ptrn[j][1]にtmp_ptrn1を設定し、
tmp_ptrnNに1を設定し、
変数kに抽出数iに2を加算した値を設定する。
次に、データ処理部40は、Data[k]がtmp_ptrn0と一致し、且つ、Data[k+1]がtmp_ptrn1と一致するか否かを判断する(ステップS80)。少なくともいずれか一方が一致しない場合(ステップS80のNo)、変数kを1インクリメントして(ステップS81)、ステップS83へと進む。
両方共に一致する場合(ステップS80のYes)、データ処理部40は、変数kに2を加算し、変数tmp_ptrnNに1を加算して(ステップS82)、変数kが計測データの総数N以上であるか否かを判断する(ステップS83)。変数kが計測データの総数N未満である場合(ステップS83のNo)、データ処理部40は、ステップS80へと戻り、上述同様の処理を繰り返す。
変数kが計測データの総数N以上である場合(ステップS83のYes)、データ処理部40は、変数ptrnN[j]にtmp_ptrnNを設定し、変数jを1インクリメントする(ステップS84)。
データ処理部40は、変数iを1インクリメントして(ステップS85)、変数iが計測データの総数N以上であるか否かを判断する(ステップS86)。変数iが計測データの総数N未満である場合(ステップS86のNo)、データ処理部40は、ステップS73へと戻り、上述同様の処理を繰り返す。
変数iが計測データの総数N以上である場合(ステップS86のYes)、図18において、データ処理部40は、発生回数TypeNにゼロを設定し、max_ptrn0にゼロを設定し、max_ptrn1にゼロを設定して初期化する(ステップS87)。
データ処理部40は、更に、変数iをゼロで初期化した後(ステップS88)、発生回数TypeNがptrnN[i]より大きいか否かを判断する(ステップS89)。発生回数TypeNがptrnN[i]より大きくない場合(ステップS89のNo)、データ処理部40は、発生回数TypeNにptrnN[i]を設定し、max_ptrn0にptrn[i][0]を設定し、max_ptrn1にptrn[i][1]を設定して(ステップS90)、ステップS91へと進む。
一方、発生回数TypeNがptrnN[i]より大きい場合(ステップS89のYes)、データ処理部40は、変数iを1インクリメントして(ステップS91)、変数iが抽出数j以上であるか否かを判断する(ステップS92)。
変数iが抽出数j以上である場合(ステップS92のYes)、max_ptrn0及びmax_ptrn1を最も多いパターンとして出力し、また、発生回数TypeNを出力する(ステップS93)。
次に、データ処理部40によって実行される、パターン保存バッファ38において最も発生回数の多いパターンを結合する結合処理について説明する。図19は、結合処理を説明するための図である。図19において、データ処理部40は、入力パラメータを設定する(ステップS101)。即ち、データ処理部40は、max_ptrn0に統合するデータ0を設定し、max_ptrn1に統合するデータ1を設定し、Data[]に計測データを設定し、変数Nに計測データの総数を設定する。
パターン保存バッファ38にmax_ptrn0とmax_ptrn1とを登録し、max_ptrn0とmax_ptrn1とから統合したパターンptrn01を作成する(ステップS102)。また、データ処理部40は、変数iにゼロを設定する(ステップS103)。
データ処理部40は、max_ptrn0がData[i]に一致し、且つ、max_ptrn1がData[i+1]に一致するか否かを判断する(ステップS104)。少なくともいずれか一方が一致しない場合(ステップS104のNo)、データ処理部40は、ステップS106へと進む。
一方、両方が一致する場合(ステップS104のYes)、データ処理部40は、Data[i]にptrn01を設定し、Data[i+1]にゼロを設定して、変数iを1インクリメントする(ステップS105)。
データ処理部40は、変数iを1インクリメントする(ステップS106)。ステップS106が、ステップS105からの処理である場合、変数iは更に1加算されることになる。
そして、データ処理部40は、変数iが計測データの総数N以上であるか否かを判断する(ステップS107)。総数Nより小さい場合(ステップS107のNo)、データ処理部40は、ステップS104へと戻り、上述同様の処理を繰り返す。総数N以上である場合(ステップS107のYes)、データ処理部40は、この結合処理を終了する。
上述したデータ処理部40による処理において、同じパターンが繰り返された場合、処理回数以上は同じデータとして纏めるためのパラメータを追加することによって、ポーリング等の処理を行う場合等の分類に有効である。
また、時間情報を持たせることによって、本来の制御パターンから外れて大きなパターンに結合されることを防止することができ、制御パターンの区切りを判別し易くすることができる。
次に、本実施例を適用した処理例について、図20〜図23で説明する。図20〜図23において、制御データは、サンプリングデータ50における計測データのうち選定された計測データ、又は、保存データ60に格納される測定データに相当する。測定データの一例として、制御データで説明する。
図20は、正常時と異常時の制御データの例を示す図である。図20において、正常な制御データと、異常が発生した場合の制御データとを示す。
正常な制御データにおいて、アドレス0〜4に書き込みが行われ、アドレス8〜9のデータを読み込み、アドレス6〜7に書き込みが行われる制御パターンが100回繰り返される。
異常が発生した制御データは、本来左側の正常な制御データと同じ出現順になるはずであったが、57回目の制御でアドレス8の読み出しデータに異常が発生した為、検査対象装置9の制御プロセッサであるCPU90は、アドレス8の読み出しを続けて7回繰り返す。CPU90は、正常なデータが読み出せないため、リセット処理を行う。その後、何も発生していなかったかの様に、CPU90は、57回目の処理からやり直す。
このような状態が発生しているが、異常が発生した制御データにおいても、正常な制御データ同様に、100回の所定の処理は終えている。
異常が発生した制御データに対して本実施例に係るデータ処理部40が処理を行った場合で説明する。パラメータの一つであるパターン発生回数は、「2」で設定されたとする。
図21は、結合前データと処理途中の内部状態とを示す図である。図21において、結合前データは、図20の異常が発生した制御データである。後述される図22、図23においても同様である。
図21において、結合前データに対して本来の制御パターンまでを結合した状態が、処理途中1で示されている。処理途中1では、エラー発生部分と、リセットの処理だけが未結合で残っている。処理途中1と処理途中2とは、同じ状態を表している。処理途中2では、全体の分類状態を示している。
処理途中2において、1番目の処理パターンから56番目の処理パターンまでが正常な制御であり結合が行われたことを示している。部分7eは、エラーが発生した57番目の処理パターンからやり直した57番目の処理パターンまでの部分であり結合されなかった箇所である。やり直した57番目の処理パターン以降は、正常な制御に戻るため、100番目の処理パターンまで結合が行われている。
図22は、結合前データと処理結果の内部状態とを示す図である。図22において、パターン発生回数が「2」の設定で結合処理を行っているため、2つ以上の同じパターンのデータが無くなっている。
特徴的な部分として、異常が発生したときにデータを8回読み直している最後の読み出しアクセス(「Adrs 8 Rd」)が未結合のまま残っている。前後の異常が発生したときの制御パターンの開始から、リセットが行われる部分まで、他の部分と比較して結合回数が極端に少なくなっていることが確認できる。
図23は、結合前データと処理結果の表示例を示す図である。図23において、結合前データは、結合処理を行う前の状態の一部を示し、個々のデータの結合回数は、全て「0」を示す。例えば、表示例は、数100個の結合前データの前半部である。この表示例では、全データのアクセス時間が均一で隙間無く並んでいるものとしている。
結合処理による処理結果の表示を、全体を表示できる状態までズームアウトされている。また、処理結果の表示では、結合回数に応じた幅でパターンの結合の大きさを示す。明らかに中央部分のデータが小さな状態23aで残っていることが判る。結合されたデータについては、個々の要素を表示する機能があるものとする。
図24は、処理結果の結合回数の少ない部分の拡大表示例を示す図である。図24において、図23の処理結果の表示によって、拡大表示させる前の表示からデータに特徴があることが判ったが、処理完了後データを拡大表示させると未結合のデータ24aが残っていること、結合回数の極端な変化によりデータが他の部分と違っていることが確認できる。
上述したように、検証対象のデバイスを制御する制御データをパターン化することによって、通常使用状態で蓄積した大量のデータの中から異常が発生している可能性が高いデータを識別することができる。
本実施例によれば、大量のデータから制御パターンとして特異な部分を確認することができる。採取された大量のデータに基づいてパターン化されない部分を識別することができるため、特異な制御が採集できれば漏れなく確認することができる。
複雑なシステムを開発の最終段階で第三者が動作検証を行なう等で使用する場合に効果を奏する。時間の許す限りデータを採取し、特異な部分について其々の機能部分の担当者に処理内容について確認すれば、検証漏れの解消等に効果がある。十分な検証経験のない、又は、システムの内容に余り詳しくない検証者であっても、特異な部分を機械的に検証することができる。つまり、検証の内容に予断を持たずに検証作業に参加できる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、
前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部と
を有することを特徴とするパターン化装置。
(付記2)
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記1記載のパターン化装置。
(付記3)
前記結合の回数に応じた幅で前記パターンを表示する表示部と
を更に有することを特徴とする付記1又は2記載のパターン化装置。
(付記4)
コンピュータによって実行されるパターン化方法であって、
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
ことを特徴とするパターン化方法。
(付記5)
命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記4記載のパターン化方法。
(付記6)
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるパターン化プログラム。
(付記7)
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記6記載のパターン化プログラム。
(付記8)
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
(付記1)
命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、
前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部と
を有することを特徴とするパターン化装置。
(付記2)
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記1記載のパターン化装置。
(付記3)
前記結合の回数に応じた幅で前記パターンを表示する表示部と
を更に有することを特徴とする付記1又は2記載のパターン化装置。
(付記4)
コンピュータによって実行されるパターン化方法であって、
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
ことを特徴とするパターン化方法。
(付記5)
命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記4記載のパターン化方法。
(付記6)
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるパターン化プログラム。
(付記7)
前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする付記6記載のパターン化プログラム。
(付記8)
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
9 検査対象装置
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
38 パターン保存バッファ
50、50−1 サンプリングデータ
60、60−2 保存データ
80 大容量ストレージ
90 CPU
91 メモリ
92 デバイス
93 試験データ供給部
94 データ蓄積部
100 パターン化装置
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
38 パターン保存バッファ
50、50−1 サンプリングデータ
60、60−2 保存データ
80 大容量ストレージ
90 CPU
91 メモリ
92 デバイス
93 試験データ供給部
94 データ蓄積部
100 パターン化装置
Claims (5)
- 命令バスに現れる検証対象のデバイスに対する制御データを記憶するデータ記憶部と、
前記データ記憶部に記憶された前記制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、該隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返すデータ処理部と
を有することを特徴とするパターン化装置。 - 前記データ処理部は、命令バスに現れるデータが入力されると、前記検証対象のデバイスのアドレス範囲に基づいて、該命令バスに現れるデータから前記制御データを選別して前記データ記憶部に記憶する
ことを特徴とする請求項1記載のパターン化装置。 - 前記結合の回数に応じた幅で前記パターンを表示する表示部と
を更に有することを特徴とする請求項1又は2記載のパターン化装置。 - コンピュータによって実行されるパターン化方法であって、
データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
ことを特徴とするパターン化方法。 - データ記憶部に記憶された命令バスに現れる検証対象のデバイスに対する制御データを用いて、隣接する制御データのパターンを解析し、最も多い頻度で出現するパターンで隣接する制御データを抽出し、前記隣接する制御データを1つに結合したデータで置換する処理を、予め定めたパターン結合発生頻度以上の頻度で出現するパターンが存在しなくなるまで繰り返す
処理をコンピュータに実行させるパターン化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013076268A JP2014203125A (ja) | 2013-04-01 | 2013-04-01 | パターン化装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013076268A JP2014203125A (ja) | 2013-04-01 | 2013-04-01 | パターン化装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014203125A true JP2014203125A (ja) | 2014-10-27 |
Family
ID=52353547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013076268A Pending JP2014203125A (ja) | 2013-04-01 | 2013-04-01 | パターン化装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014203125A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018125389A1 (de) | 2017-10-23 | 2019-04-25 | Fanuc Corporation | Zustandsbestimmungsvorrichtung |
US10908599B2 (en) | 2017-10-31 | 2021-02-02 | Fanuc Corporation | Testing device and machine learning device |
-
2013
- 2013-04-01 JP JP2013076268A patent/JP2014203125A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018125389A1 (de) | 2017-10-23 | 2019-04-25 | Fanuc Corporation | Zustandsbestimmungsvorrichtung |
US10981315B2 (en) | 2017-10-23 | 2021-04-20 | Fanuc Corporation | State determination device |
DE102018125389B4 (de) | 2017-10-23 | 2023-08-24 | Fanuc Corporation | Zustandsbestimmungsvorrichtung |
US10908599B2 (en) | 2017-10-31 | 2021-02-02 | Fanuc Corporation | Testing device and machine learning device |
DE102018126434B4 (de) | 2017-10-31 | 2021-09-09 | Fanuc Corporation | Testvorrichtung und Maschinenlernvorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073519B (zh) | 测试用例生成方法和装置 | |
CN106326067B (zh) | 一种在压力测试下对cpu性能进行监控的方法及装置 | |
US11055153B2 (en) | Quantification of compute performance across multiple independently executed microservices with a state machine supported workflow graph | |
JP2010002370A (ja) | パターン抽出プログラム、方法及び装置 | |
US8140899B2 (en) | Method and system for diagnosing a computer system | |
JP7218233B2 (ja) | プログラム運用システム、プログラム運用方法 | |
JP7218797B2 (ja) | 情報処理装置およびapi使用履歴表示プログラム | |
JPWO2016185558A1 (ja) | プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム | |
US8850407B2 (en) | Test script generation | |
JP2014203125A (ja) | パターン化装置及び方法 | |
CN111459796B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
KR102103590B1 (ko) | 프로그램 호환성 자동테스트 방법 및 이를 이용하는 장치 | |
CN110347639A (zh) | 片上系统及其操作方法 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
JP7211427B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP6447111B2 (ja) | 共通化情報提供プログラム、共通化情報提供方法、および共通化情報提供装置 | |
CN113127369A (zh) | 一种执行脚本的处理方法以及装置 | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
JP2017041196A (ja) | スタブ化対象判定装置、方法、及びプログラム | |
US20240020039A1 (en) | Evidence collection guidance method and apparatus for file selection and computer-readable storage medium | |
CN114706715B (zh) | 一种基于bmc的分布式raid的控制方法、装置、设备及介质 | |
JP7238439B2 (ja) | 情報処理装置、テスト方法、及びテストプログラム | |
CN111566625A (zh) | 测试用例生成装置、测试用例生成方法和测试用例生成程序 | |
JP2012059202A (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
TW201928669A (zh) | 電腦設備、診斷方法以及非暫時性電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150501 |