JP5821596B2 - Search support program, search support device, and search support method - Google Patents
Search support program, search support device, and search support method Download PDFInfo
- Publication number
- JP5821596B2 JP5821596B2 JP2011270710A JP2011270710A JP5821596B2 JP 5821596 B2 JP5821596 B2 JP 5821596B2 JP 2011270710 A JP2011270710 A JP 2011270710A JP 2011270710 A JP2011270710 A JP 2011270710A JP 5821596 B2 JP5821596 B2 JP 5821596B2
- Authority
- JP
- Japan
- Prior art keywords
- combination
- register
- order
- search support
- snapshot
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、検証支援する検証支援プログラム、検証支援装置、および検証支援方法に関する。 The present invention relates to a verification support program, a verification support apparatus, and a verification support method for supporting verification.
従来、検証対象の通信の監視において、検証者は、たとえば、パケットがスキップされたら「アクティブビットが「1」になったか?」、「カウンタの値が「0」より大きいか?」などの検証対象の論理的な状態を確認する。 Conventionally, in monitoring the communication to be verified, the verifier, for example, if the packet is skipped, “whether the active bit is“ 1 ”? , "Is the counter value greater than" 0 "? Check the logical status of the verification target.
また、テレビ電話用途向けビデオソースレート制御のための従来技術が開示されている。当該従来技術は、ネットワーク上でビデオフレームパケットをエンコードしたりデコードしたりするためのルールを作成する技術である。 Also disclosed is a prior art for video source rate control for videophone applications. The prior art is a technique for creating rules for encoding and decoding video frame packets on a network.
また、通信事業者提供の有線通信ネットワークを介し、全国多数の箇所へ同時に配信しなければ実現することができない地上波デジタル放送のデータ放送素材伝送システムが従来技術として開示されている。当該従来技術は、地上波デジタル放送のデータ放送サービスで採用されたデータカルーセル伝送方式の持つ冗長情報を取り除き、有線通信ネットワークとしてのデジタル放送素材中継網に引渡して同時配信させ、各受信側で元のデータカルーセルを復元する。 Further, a data broadcasting material transmission system for digital terrestrial broadcasting that cannot be realized unless it is simultaneously distributed to many locations throughout the country via a wired communication network provided by a communication carrier has been disclosed as a prior art. The related art removes redundant information of the data carousel transmission method adopted in the data broadcasting service of terrestrial digital broadcasting, and delivers it to the digital broadcasting material relay network as a wired communication network for simultaneous distribution. Restore your data carousel.
しかしながら、パケットがスキップされる論理的なルールやアサーションを検証者が仕様書に記載すると、記載ミスが発生しがちである。そのような仕様書を読んだ者は、パケットがスキップされる論理的なルールやアサーションについて誤った解釈をしてしまうことになる。このような解釈は擬似エラーの原因となり、重要なプロパティが監視から外れてしまうことになる。 However, if a verifier describes a logical rule or assertion in which a packet is skipped in a specification, a description error tends to occur. Those who read such a specification will misinterpret the logical rules and assertions that cause the packet to be skipped. Such an interpretation causes a pseudo-error, and important properties are removed from monitoring.
本発明は、パケットがスキップされる論理的なルールの探索の容易化を図ることを目的とする。 An object of the present invention is to facilitate the search for a logical rule in which a packet is skipped.
本発明の一側面によれば、第1の装置から第2の装置への通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、前記第1の装置内のレジスタ群の状態を示すスナップショットを取得し、取得されたスナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出し、抽出された各組み合わせの抽出回数に基づいて前記各組み合わせの出現頻度を算出し、前記各組み合わせについて、前記組み合わせと当該組み合わせに対応する出現頻度とを出力する検証支援プログラム、検証支援装置、および検証支援方法が提案される。 According to an aspect of the present invention, when it is detected during communication from the first device to the second device that packets are transmitted in an order different from the designated order, Acquire a snapshot showing the state of the register group, extract the combination of identification information and value for each register of the register group included in the acquired snapshot, and based on the number of extractions of each extracted combination Thus, a verification support program, a verification support apparatus, and a verification support method for calculating the appearance frequency of each combination and outputting the combination and the appearance frequency corresponding to the combination for each combination are proposed.
本発明の一側面によれば、パケットがスキップされる論理的なルールの探索の容易化を図ることができるという効果を奏する。 According to one aspect of the present invention, it is possible to facilitate the search for a logical rule in which a packet is skipped.
以下に添付図面を参照して、この発明にかかる検証支援プログラム、検証支援装置、および検証支援方法の実施の形態を詳細に説明する。 Exemplary embodiments of a verification support program, a verification support apparatus, and a verification support method according to the present invention will be explained below in detail with reference to the accompanying drawings.
<検証支援例>
図1は、本実施の形態にかかる検証支援例を示す説明図である。送信元装置101は、送信先装置102に対し、パケットを送信する送信元装置101である。送信元装置101が検証対象となる。送信元装置101は、たとえば、USB(Universal Serial Bus)ホストコントローラを有する通信装置である。また、送信元装置101は、トランザクションごとの一連のパケットPをフレーム単位で送信する。送信先装置102は、送信元装置101から送信されてくるパケットを受信する通信装置である。送信先装置102は、たとえば、USBデバイスである。
<Example of verification support>
FIG. 1 is an explanatory diagram illustrating an example of verification support according to the present embodiment. The
監視装置103は、送信元装置101と送信先装置102とのデータ通信を監視する装置である。具体的には、たとえば、監視装置103は、送信元装置101から送信されるフレームにおいてパケットがスキップされたことを検出する。各パケットには、どのトランザクションに所属しているかを識別可能なトランザクションID(identification)が付与されている。トランザクションIDは、たとえば、連続番号とする。この場合、監視装置103は、スキップ前後のパケットのトランザクションIDを参照することで、どのトランザクションのパケットがスキップされたかを特定することができる。ここで、パケットがスキップされる原因には、たとえば、送信元装置101の動作が不正確でありエラーが発生する不当な場合と、通信プロトコルや送信元装置101に関する設計仕様で決められて発生する正当な場合と、がある。
The
検証支援装置104は、監視装置103がパケットのスキップを検出したときの送信元装置101内のレジスタ群の状態を示すスナップショット群から、パケットがスキップされる論理的なルールを探索する。具体的には、たとえば、検証支援装置104は、スナップショット群から、レジスタとその値の組み合わせごとの出現頻度を算出する。出現頻度としては、たとえば、出現確率や出現回数が採用される。以下、検証支援の動作手順について説明する。
The
(1)まず、送信元装置101は、監視装置103からの指示により、送信先装置102へのデータ通信に関するシミュレーションを実行する。そして、監視装置103は、データ通信を監視し、シミュレーション中に発生するパケットのスキップを検出する。監視装置103でパケットのスキップが検出される都度、スキップ発生時のレジスタ群の各レジスタの値を示すスナップショットが送信元装置101から得られる。
(1) First, the
(2)(1)のシミュレーションが終了すると、検証支援装置104は、蓄積されたスナップショット群106を取得する。検証支援装置104は、スナップショット群106から、スキップ発生時でのレジスタとその値の組み合わせの出現回数を集計する。集計内容については、図3で後述する。検証支援装置104は、組み合わせごとに出現確率を算出する。そして、検証支援装置104は、スキップ時のレジスタの状態とスキップ時の出現確率とチェックボックスを含む選択画面105を表示する。これにより、ユーザは、スキップ発生時にどの組み合わせの状態がどのくらいの頻度で発生しているかを把握することができる。また、チェックボックスは、ユーザ操作によりレジスタの状態を選択させるためのインターフェース情報である。
(2) When the simulation of (1) ends, the
(3)検証支援装置104は、ユーザ操作によりレジスタの状態の選択を受け付ける。選択されたチェックボックスにはチェックマークとなるレ点が入力されている。図1では、「Active Bit=0」、「Error Counter=0」にレ点が入力されている。すなわち、ユーザは、エラー原因には成りえないレジスタの状態に対しレ点を入力することで、後述の論理関数によりエラーの対象外とすることができる。
(3) The
(4)検証支援装置104は、論理関数107を生成する。論理関数107とは、制約条件を満たした場合は真であり、満たさなかった場合は偽とするアサーションである。検証支援装置104は、ユーザがチェックボックスで選択したレジスタとその値の組み合わせを制約条件とした論理関数107を生成する。たとえば、図1では、「Active Bit=0」、「Error Counter=0」にレ点が入力されているため、「Active Bit=0」、「Error Counter=0」を真とし、それ以外を偽とする論理関数107が生成される。
(4) The
(5)生成された論理関数107は、監視装置103に付与される。監視装置103は、付与された論理関数107をスキップ発生時の制約条件として、再度(1)のシミュレーションを実行する。監視装置103は、制約条件を満たしている場合は、当該スキップは、通信プロトコルや送信元装置101に関する設計仕様で決められて発生する正当な処理であるとして、検出対象外とする。一方、制約条件を満たしていない場合は、(1)で説明したように、監視装置103は、スキップを検出する。これにより、当該スキップ検出時のスナップショットが取得されることになる。
(5) The generated
図2は、再度(1)のシミュレーションを実行したことにより得られるスキップ時のレジスタの状態とスキップ時の出現確率とチェックボックスの選択画面105の表示例である。図1では、論理関数107により「Active Bit=0」および「Error Counter=0」のときのスキップはスキップとして検出されない。
FIG. 2 is a display example of the register state at the time of skip, the appearance probability at the time of skip, and the check
このため、(A)のように、レジスタの状態は、「Error Counter=15」、「Active Bit=1」、「受信完了フラグ=1」となる。ユーザは、この表示結果を見て、エラーカウンタの値が0でないときにスキップの出現確率が他のレジスタの状態に比べて高いことがわかる。このため、ユーザは、エラーカウンタを計数させる処理がスキップの原因であると推測することができる。 For this reason, as shown in (A), the register states are “Error Counter = 15”, “Active Bit = 1”, and “Reception Complete Flag = 1”. The user can see from this display result that when the error counter value is not 0, the appearance probability of skip is higher than the state of other registers. For this reason, the user can estimate that the process of counting the error counter is the cause of the skip.
また、(B)のように、再度シミュレーションをしたときのレジスタの状態がエラーカウンタ≠0で、出現確率の総和が100%になったとする。このような場合、エラーカウンタ≠0のときにのみスキップが発生したことを意味するため、ユーザは、エラーカウンタを計数させる処理がスキップの原因であると突き止めることができる。 Further, as in (B), it is assumed that the state of the register when the simulation is performed again is error counter ≠ 0, and the sum of the appearance probabilities becomes 100%. In such a case, it means that a skip has occurred only when the error counter ≠ 0, and therefore the user can determine that the process of counting the error counter is the cause of the skip.
また、(C)のように、再度シミュレーションをしたときのレジスタの状態が「Active Bit=1」のみで、出現確率が100%になったとする。このような場合、「Active Bit=1」のときにのみスキップが発生したことを意味するため、ユーザは、アクティブビットの値を「1」にする処理がスキップの原因であると突き止めることができる。 Further, as shown in (C), it is assumed that the state of the register when the simulation is performed again is only “Active Bit = 1”, and the appearance probability becomes 100%. In such a case, since it means that a skip has occurred only when “Active Bit = 1”, the user can determine that the process of setting the value of the active bit to “1” is the cause of the skip. .
このように、(1)〜(5)を繰り返すことにより、レジスタの状態は、ユーザにとって必要なものに絞り込まれる。たとえば、図1では、(3)において、「Active Bit=0」、「Error Counter=0」にレ点が入力されている。したがって、次回のシミュレーションで、スキップ発生時に「Active Bit=0」または「Error Counter=0」である場合には、スキップ検出対象外となる。そのため、スキップ検出されたレジスタの状態について出現回数の計数や出現確率の算出が実行される。これにより、ユーザは、スキップが発生する場合のルール、換言すれば、レジスタがどのような状態のときにスキップが発生するかを突き止めることができる。 Thus, by repeating (1) to (5), the state of the register is narrowed down to what is necessary for the user. For example, in FIG. 1, in (3), a check mark is input to “Active Bit = 0” and “Error Counter = 0”. Therefore, in the next simulation, if “Active Bit = 0” or “Error Counter = 0” when a skip occurs, it is not a skip detection target. Therefore, the count of the number of appearances and the calculation of the appearance probability are executed for the state of the register in which the skip is detected. Thereby, the user can ascertain the rule when the skip occurs, in other words, in what state the register is skipped.
<レジスタの状態の集計例>
図3は、レジスタの状態の集計例を示す説明図である。レジスタの状態の集計は、図1では、(2)で実行される。
<Example of register status aggregation>
FIG. 3 is an explanatory diagram illustrating an example of totalization of register states. The summation of register states is executed in (2) in FIG.
(A)上述したように、送信元装置101は、トランザクションごとの一連のパケットをフレーム単位で送信する。ここで、1フレームのデータ構造について説明する。フレームの先頭はSOF(Start Of Frame)である。SOFは、フレームの先頭を示すパケットである。P1〜Pnは、トランザクション1〜nに対応するパケットである。パケットP1〜Pnは、1フレーム中に1または複数回送信される。トランザクションごとのパケットPiは同一データでもよく異なるデータでもよい。図2では、先頭のフレームの2順目のパケットP1〜Pnにおいて、パケットPiが何らかの原因でスキップされたことを示している。
(A) As described above, the
(B)パケットPiのスキップが検出されると、スキップ検出時のレジスタの状態がスナップショットSiとして取得される。ここでは、送信元装置101のレジスタR1〜R3の状態として、レジスタR1の値「0」、レジスタR2の値「4」、レジスタR3の値「1」が取得されている。
(B) When the skip of the packet Pi is detected, the state of the register when the skip is detected is acquired as the snapshot Si. Here, as the states of the registers R1 to R3 of the
(C)このあと、検証支援装置104は、レジスタ状態テーブル300を用いて、レジスタごとに、レジスタの値の出現回数を計数する。ここでは、例として、レジスタR1を上述した「Active Bit」、レジスタR2を上述した「Error Counter」、レジスタR3を受信完了フラグとする。
(C) After that, the
レジスタR1の値は「0」であるため、検証支援装置104は、レジスタR1の値「0」の出現回数を「5」から「6」にカウントアップする。また、レジスタR2の値は「4」であるため、検証支援装置104は、レジスタR2の値「4」の出現回数を「6」から「7」にカウントアップする。また、レジスタR3の値は「1」であるため、検証支援装置104は、レジスタR3の値「1」の出現回数を「4」から「5」にカウントアップする。これにより、スナップショットが得られる都度計数が実行されることになる。
Since the value of the register R1 is “0”, the
<システム構成例>
図4は、本実施の形態にかかる検証支援システムのシステム構成例を示す説明図である。検証支援システムは、送信元装置101と、送信先装置102と、監視装置103と、トランザクタ400と、検証支援装置104と、を有する。トランザクタ400は、送信元装置101のレジスタ群の状態を示すスナップショットを取得する。具体的には、たとえば、トランザクタ400は、監視装置103からのパケットのスキップ検出信号を受信したタイミングで、送信元装置101の各レジスタの値をスナップショットとして取得する。トランザクタ400は、スキップ検出信号を受信する都度、スナップショットが得られ、スナップショット群106となる。なお、図3では、トランザクタ400は、独立した装置として規定したが、監視装置103または検証支援装置104に組み込まれていてもよい。
<System configuration example>
FIG. 4 is an explanatory diagram showing a system configuration example of the verification support system according to the present embodiment. The verification support system includes a
<送信元装置101のハードウェア構成例>
図5は、送信元装置101のハードウェア構成例を示すブロック図である。送信元装置101は、CPU(Central Processing Unit)501と、メモリ502と、USBホストコントローラ503と、これらを接続するバス504と、を有する。CPU501は、送信元装置101の全体の制御を司る。メモリ502は、CPU501のワークエリアとして使用される。また、メモリ502は、各種データを記憶する。
<Hardware Configuration Example of
FIG. 5 is a block diagram illustrating a hardware configuration example of the
USBホストコントローラ503は、フレーム単位で時間を管理し、パケットの送信を制御する。また、USBホストコントローラ503は、送信元装置101の状態を示すレジスタ群を有し、状態に応じた値を設定する。具体的には、たとえば、USBホストコントローラ503は、上述したアクティブビットとして規定されたレジスタR1や、エラーカウンタとして規定されたレジスタR2や、受信完了フラグとして規定されたレジスタR3を有する。そして、USBホストコントローラ503は、送信先装置102とのデータ通信中に、レジスタR1〜R3の値を書き換える。たとえば、USBホストコントローラ503は、エラーが発生したら、レジスタR2の値を「1」に書き換え、エラーが発生しなくなったら再度、レジスタR2の値を「0」に書き換える。
The
<検証支援装置104のハードウェア構成例>
図6は、実施の形態にかかる検証支援装置104のハードウェア構成例を示すブロック図である。図6において、検証支援装置104は、CPU601と、ROM(Read Only Memory)602と、RAM(Random Access Memory)603と、磁気ディスクドライブ(Hard Disk Drive)604と、磁気ディスク605と、光ディスクドライブ606と、光ディスク607と、ディスプレイ608と、I/F(Interface)609と、キーボード610と、マウス611と、スキャナ612と、プリンタ613と、を備えている。また、各構成部はバス600によってそれぞれ接続されている。
<Hardware Configuration Example of
FIG. 6 is a block diagram of a hardware configuration example of the
ここで、CPU601は、検証支援装置104の全体の制御を司る。ROM602は、ブートプログラムなどのプログラムを記憶している。RAM603は、CPU601のワークエリアとして使用される。磁気ディスクドライブ604は、CPU601の制御にしたがって磁気ディスク605に対するデータのリード/ライトを制御する。磁気ディスク605は、磁気ディスクドライブ604の制御で書き込まれたデータを記憶する。
Here, the
光ディスクドライブ606は、CPU601の制御にしたがって光ディスク607に対するデータのリード/ライトを制御する。光ディスク607は、光ディスクドライブ606の制御で書き込まれたデータを記憶したり、光ディスク607に記憶されたデータをコンピュータに読み取らせたりする。
The
ディスプレイ608は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ608は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
A
インターフェース(以下、「I/F」と略する。)609は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク614に接続され、このネットワーク614を介して他の装置に接続される。そして、I/F609は、ネットワーク614と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F609には、たとえばモデムやLANアダプタなどを採用することができる。
An interface (hereinafter abbreviated as “I / F”) 609 is connected to a
キーボード610は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス611は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ612は、画像を光学的に読み取り、検証支援装置104内に画像データを取り込む。なお、スキャナ612は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ613は、画像データや文書データを印刷する。プリンタ613には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ606、光ディスク607、ディスプレイ608、キーボード610、マウス611、スキャナ612、およびプリンタ613の少なくともいずれか1つは、なくてもよい。
The
<検証支援装置104の機能的構成例>
図7は、検証支援装置104の機能的構成例を示すブロック図である。検証支援装置104は、取得部701と、抽出部702と、算出部703と、出力部704と、受付部705と、生成部706と、を有する。取得部701〜生成部706は、具体的には、たとえば、図6に示したROM602、RAM603、磁気ディスク605、光ディスク607などの記憶装置に記憶されたプログラムをCPU601に実行させることにより、または、I/F609により、その機能を実現する。
<Example of Functional Configuration of
FIG. 7 is a block diagram illustrating a functional configuration example of the
取得部701は、第1の装置から第2の装置へのデータ通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、第1の装置内のレジスタ群の状態を示すスナップショットを取得する。具体的には、たとえば、取得部701は、送信元装置101から送信先装置102へのデータ通信中に監視装置103においてパケットのスキップが検出された場合に、送信元装置101内のレジスタ群の状態を示すスナップショットを取得する。
When the
図1〜図4に示した例の場合、監視装置103がパケットのスキップを検出すると、監視装置103はトランザクタ400に対しスキップ検出信号を送信する。トランザクタ400は、監視装置103からのスキップ検出信号を受信すると、送信元装置101内のUSBコントローラにアクセスして送信元装置101内のレジスタ群からレジスタごとにレジスタに関する識別情報と値との組み合わせを抽出する。レジスタごとのレジスタに関する識別情報と値との組み合わせが1回のスキップでのスナップショットとなる。そして、取得部701は、シミュレーション中にトランザクタ400から出力されたスナップショット群106を取得することになる。
In the case of the example illustrated in FIGS. 1 to 4, when the
抽出部702は、取得部701によって取得されたスナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出する。具体的には、たとえば、抽出部702は、スナップショット群106の各スナップショットから、レジスタに関する識別情報と値との組み合わせを抽出する。たとえば、図3に示したように、抽出部702は、スナップショットSiからレジスタR1のレジスタ名「R1」と値「0」の組み合わせ、レジスタR2のレジスタ名「R2」と値「4」の組み合わせ、レジスタR3のレジスタ名「R3」と値「1」の組み合わせを抽出する。
The
算出部703は、抽出部702によって抽出された各組み合わせの抽出回数に基づいて各組み合わせの出現頻度を算出する。具体的には、算出部703は、組み合わせごとに出現回数を計数し、出現頻度を算出する。ここで、出現頻度とは、単に出現回数でもよく、出現確率でもよい。出現確率の場合、算出部703は、全組み合わせの総出現回数を分母とし、各組み合わせの出現回数を分子とすることにより、出現確率を算出する。
The
たとえば、図3の(C)が最終的な計数結果になった場合、分母になる総出現回数は、24回(=6+3+2+7+1+5)である。分子はそれぞれ、レジスタR1の値「0」の「6回」、レジスタR1の値「1」の「3回」、レジスタR2の値「0」の「2回」、レジスタR2の値「4」の「7回」、レジスタR2の値「2」の「1回」、レジスタR3の値「1」の「5回」となる。これにより、レジスタの値ごとに、出現確率が算出される。算出部703は、シミュレーションの終了後に算出処理を実行するが、シミュレーション中に算出処理を実行してもよい。
For example, when (C) in FIG. 3 is the final counting result, the total number of appearances as the denominator is 24 (= 6 + 3 + 2 + 7 + 1 + 5). The numerator is “6 times” of the value “0” of the register R1, “3 times” of the value “1” of the register R1, “2 times” of the value “0” of the register R2, and “4” of the register R2. "7 times" of the register R2, "1" of the value "2" of the register R2, and "5 times" of the value "1" of the register R3. Thereby, the appearance probability is calculated for each register value. The
出力部704は、各組み合わせについて、組み合わせと当該組み合わせに対応する出現頻度とを出力する。具体的には、たとえば、出力部704は、組み合わせと当該組み合わせに対応する出現頻度とを、ディスプレイ608に表示出力したり、プリンタ613に印刷出力したり、他の装置、たとえば、監視装置103に送信したりする。ディスプレイ608に表示出力する場合、出力部704は、図1の(2)に示したような選択画面105を表示する。図1の(2)の場合、さらに、組み合わせの選択入力を受け付けるインターフェース情報の一例としてチェックボックスが表示されている。インターフェース情報は、チェックボックスに限らずラジオボタンなど入力装置からの操作入力で選択できるインターフェース情報であればよい。
The
受付部705は、インターフェース情報から少なくともいずれか1つの組み合わせについての選択入力を受け付ける。具体的には、たとえば、図1の(3)に示したように、受付部705は、入力装置からの操作入力により、チェックボックスにレ点の入力を受け付ける。
The accepting
生成部706は、受付部705によって選択入力が受け付けられた少なくともいずれか1つの組み合わせについては、指定順序とは異なる順序でのパケットの送信とみなさない旨を示す制約条件を有する論理関数を生成する。具体的には、たとえば、生成部706は、図1の(4)に示した論理関数107を生成する。論理関数107は、図1の(3)で選択入力された組み合わせについて、スキップが発生した場合であってもスキップの検出対象外とする制約条件を規定する。
The
生成部706によって制約条件が生成された場合、出力部704は、生成された制約条件を監視装置103に送信する。監視装置103は、生成部706から送信されてきた制約条件を次回以降のシミュレーションに適用する。たとえば、図1の(4)の論理関数107の例では、「Active Bit=0」または「Error Counter=0」の場合がスキップの検出対象外となる。
When the constraint condition is generated by the
したがって、次回以降のシミュレーションで、スキップ発生時のレジスタR1、R2の状態が「Active Bit=0」または「Error Counter=0」である場合には、監視装置103は、スキップ検出対象外となり、このときのスキップについては、監視装置103からスキップ検出信号が発行されず、スナップショットが得られないことになる。このように、監視装置103は、ユーザによって選択されたレジスタの状態を次回以降のシミュレーションから除外することができる。
Therefore, in the simulation after the next time, if the state of the registers R1 and R2 when the skip occurs is “Active Bit = 0” or “Error Counter = 0”, the
<監視装置103の監視処理手順>
図8は、監視装置103のシミュレーション中における監視処理手順例を示すフローチャートである。まず、監視装置103は、送信元装置101から送信先装置102へのデータ通信のシミュレーションが終了しているか否かを判断する(ステップS801)。終了していない場合(ステップS801:No)、監視装置103は、図3の(A)に示したように、パケットのスキップが発生したか否かを判断する(ステップS802)。
<Monitoring Procedure of
FIG. 8 is a flowchart illustrating an example of a monitoring process procedure during the simulation of the
スキップが発生していない場合(ステップS802:No)、ステップS801に戻る。スキップが発生した場合(ステップS802:Yes)、監視装置103は、検証支援装置104からの制約条件があるか否かを判断する(ステップS803)。制約条件がない場合(ステップS803:No)、ステップS808に移行する。
If no skip has occurred (step S802: No), the process returns to step S801. When the skip occurs (step S802: Yes), the
一方、制約条件がある場合(ステップS803:Yes)、監視装置103は、レジスタの状態の取得要求をトランザクタ400に送信する(ステップS804)。監視装置103は、トランザクタ400からレジスタ群の状態が受信できなかった場合(ステップS805:No)、ステップS801に戻る。一方、受信できた場合(ステップS805:Yes)、監視装置103は、受信したレジスタ群の状態を参照して、制約条件を満たしているか否かを判断する(ステップS806)。
On the other hand, when there is a constraint condition (step S803: Yes), the
満たしている場合(ステップS806:Yes)、発生したスキップは検出対象外となるため、監視装置103は、トランザクタ400に検出対象外信号を送信して(ステップS807)、ステップS801に戻る。一方、制約条件を満たさない場合(ステップS806:No)、ステップS808に移行する。
If the condition is satisfied (step S806: Yes), the skip that has occurred is not detected, so the
ステップS808では、監視装置103は、スキップを検出したことを示すスキップ検出信号をトランザクタ400に送信して(ステップS808)、ステップS801に戻る。そして、ステップS801において、シミュレーションが終了した場合(ステップS801:Yes)、監視装置103は一連の処理を終了する。このように、監視装置103は、制約条件の有無や制約条件の遵守または違反に応じて、トランザクタ400によるスナップショットの取得を制御することができる。
In step S808,
<トランザクタ400のスナップショット取得処理手順>
図9は、トランザクタ400によるスナップショット取得処理手順例を示すフローチャートである。まず、トランザクタ400は、監視装置103からステップS804での取得要求を受信したか否かを判断する(ステップS901)。受信していない場合(ステップS901:No)、ステップS901に戻る。一方、受信した場合(ステップS901:Yes)、トランザクタ400は、送信元装置101のUSBホストコントローラ503にアクセスしてレジスタ群の状態を取得する(ステップS902)。
<Snapshot acquisition processing procedure of
FIG. 9 is a flowchart showing an example of a snapshot acquisition processing procedure by the
そして、トランザクタ400は、取得要求のレスポンスとして、取得したレジスタ群の状態を監視装置103に送信する(ステップS903)。このあと、トランザクタ400は、監視装置103からの信号の受信を待ち受ける(ステップS904)。受信した信号がスキップ検出信号である場合(ステップS904:スキップ検出)、トランザクタ400は、ステップS902で取得したレジスタ群の状態をスナップショットとして、検証支援装置104がアクセス可能な記憶装置に保存する(ステップS905)。そして、ステップS901に戻る。また、受信した信号が検出対象外信号である場合(ステップS904:対象外)、トランザクタ400は、ステップS902で取得したレジスタ群の状態を消去して(ステップS906)、ステップS901に戻る。
Then, the
このように、トランザクタ400は、検出すべきスキップが発生したときの送信元装置101のレジスタ群の状態をスナップショットとして取得することができる。
In this way, the
<検証支援処理手順>
図10は、検証支援装置104による検証支援処理手順を示すフローチャートである。検証支援装置104は、まず、図3の(B),(C)に示したような集計処理を実行する(ステップS1001)。集計処理(ステップS1001)の詳細な処理手順については図11で説明する。集計処理(ステップS1001)により、検証支援装置104は、図1の(2)に示したようなレジスタの状態ごとの出現頻度を得ることができる。
<Verification support processing procedure>
FIG. 10 is a flowchart illustrating a verification support processing procedure performed by the
検証支援装置104は、集計処理(ステップS1101)のあと、図1の(2)に示したように、レジスタの状態ごとに出現頻度を算出し(ステップS1002)、表示出力する(ステップS1003)。このあと、検証支援装置104は、ユーザによる入力装置からの操作により、レジスタの状態の選択入力を受け付けて、確定入力を待ち受ける(ステップS1004:No)。確定入力があった場合(ステップS1004:Yes)、検証支援装置104は、選択項目であるレジスタの状態を特定して(ステップS1005)、論理関数107を生成する(ステップS1006)。そして、検証支援装置104は、生成した論理関数107を出力する(ステップS1007)。これにより、検証支援装置104は、一連の処理を終了する。
After the counting process (step S1101), the
このように、検証支援装置104は、シミュレーションが終了する都度、論理関数107を生成して監視装置103に提供することができる。したがって、ユーザは、スキップが発生する場合のルール、換言すれば、レジスタがどのような状態のときにスキップが発生するかを絞り込むことができる。
In this way, the
図11は、図10に示した集計処理(ステップS1001)の詳細な処理手順例を示すフローチャートである。まず、検証支援装置104は、スナップショット群106の中から未選択のスナップショットがあるか否かを判断する(ステップS1101)。未選択のスナップショットがある場合(ステップS1101:Yes)、検証支援装置104は、未選択のスナップショットを1つ選択する(ステップS1102)。そして、検証支援装置104は、選択したスナップショットの中から未選択のレジスタがあるか否かを判断する(ステップS1103)。
FIG. 11 is a flowchart illustrating a detailed processing procedure example of the aggregation processing (step S1001) illustrated in FIG. First, the
未選択のレジスタがない場合(ステップS1103:No)、ステップS1101に戻る。未選択のレジスタがある場合(ステップS1103:Yes)、検証支援装置104は、未選択のレジスタを1つ選択し(ステップS1104)、レジスタ状態テーブル300に登録済みか否かを判断する(ステップS1105)。登録済みである場合(ステップS1105:Yes)、ステップS1107に移行する。一方、登録済みでない場合(ステップS1105:No)、検証支援装置104は、選択レジスタの項目をレジスタ状態テーブル300に登録して(ステップS1106)、ステップS1107に移行する。
If there is no unselected register (step S1103: No), the process returns to step S1101. If there is an unselected register (step S1103: Yes), the
ステップS1107では、検証支援装置104は、選択レジスタの値をスナップショットから抽出し(ステップS1107)、登録済みか否かを判断する(ステップS1108)。登録済みである場合(ステップS1108:Yes)、ステップS1110に移行する。一方、登録済みでない場合(ステップS1108:No)、検証支援装置104は、選択レジスタの値とその出現回数Nの初期値(N=0)を登録して(ステップS1109)、ステップS1110に移行して一連の処理を終了する。
In step S1107, the
ステップS1110では、検証支援装置104は、選択レジスタについて抽出した値の出現回数Nをインクリメントし(ステップS1110)、ステップS1101に戻る。また、ステップS1101において、未選択のスナップショットがない場合(ステップS1101:No)、ステップS1002に移行する。
In step S1110, the
このように、集計処理(ステップS1001)では、検証支援装置104は、シミュレーション中に取得されたスナップショット群106から、レジスタの値の出現回数をレジスタの値ごとに集計することができる。したがって、検証支援装置104は、どのレジスタがどのような値のときにスキップが何回発生したかを計数することができる。
In this way, in the counting process (step S1001), the
このように、本実施の形態によれば、検証支援装置104は、スキップ発生時のレジスタの値とその出現回数から、レジスタの値ごとに、出現頻度を算出して、出力する。したがって、シミュレーション中にスキップが発生したときに送信元装置101がどのような状態であったかを把握することができる。また、このような状態が、レジスタの値ごとに出現頻度として得られる。
As described above, according to the present embodiment, the
ここで、あるレジスタのある値がスキップの正当な処理であることをユーザが理解している場合には、ユーザはそのレジスタの値と出現頻度について選択入力することで、検証支援装置104は論理関数107を生成する。これにより、次回以降のシミュレーションにおいて選択入力されたレジスタの値については出現回数が計数されない。したがって、監視装置103によるシミュレーションと、生成された論理関数107の監視装置103への付与と、が繰り返されることにより、検証支援装置104は、エラーの発生原因となるスキップに絞り込んで、エラー発生原因となるパケットがスキップされる論理的なルールを突き止めることができる。
Here, when the user understands that a certain value of a certain register is a valid process of skipping, the user selects and inputs the value of the register and the appearance frequency, so that the
また、上述した実施の形態では、送信先装置102を1台の装置を例に挙げて説明したが、送信先装置102は複数台でもよい。この場合、送信元装置101のUSBホストコントローラ503は、送信先装置102のアドレスも専用のレジスタで逐次管理することになる。この場合、スキップが発生すると、送信先装置102のアドレスもレジスタの値として読み出され、レジスタ状態テーブル300に登録されることになる。したがって、検証支援装置104は、送信先装置102ごとにエラー原因となる処理を突き止めることができる。
In the above-described embodiment, the
以上説明したように、検証支援プログラム、検証支援装置、および検証支援方法によれば、パケットがスキップされる論理的なルールの探索の容易化を図ることができるという効果を奏する。 As described above, according to the verification support program, the verification support device, and the verification support method, it is possible to facilitate the search for a logical rule that skips a packet.
101 送信元装置
102 送信先装置
103 監視装置
104 検証支援装置
105 選択画面
106 スナップショット群
107 論理関数
300 レジスタ状態テーブル
400 トランザクタ
701 取得部
702 抽出部
703 算出部
704 出力部
705 受付部
706 生成部
101
Claims (6)
前記第1の装置から第2の装置への通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、前記第1の装置内のレジスタ群の状態を示すスナップショットを取得し、
取得された前記スナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出し、
抽出された各組み合わせの抽出回数に基づいて前記各組み合わせの出現頻度を算出し、
前記各組み合わせについて、前記組み合わせと当該組み合わせに対応する出現頻度とを出力する、
処理をコンピュータに実行させることを特徴とする探索支援プログラム。 A search support program for supporting a search for a logical rule in which packets are transmitted in an order different from a specified order in a first device,
When the packet in a different order than the order specified in the communication from the first device to the second device is detected to have been transmitted, a snapshot indicating the status of the register group in the first device Get
Extracting a combination of identification information and a value for each register of the register group included in the acquired snapshot;
Calculate the appearance frequency of each combination based on the number of extraction times of each extracted combination,
For each combination, output the combination and the appearance frequency corresponding to the combination,
A search support program characterized by causing a computer to execute processing.
前記各組み合わせについて、前記組み合わせと当該組み合わせに対応する出現頻度と前記組み合わせの選択入力を受け付けるインターフェース情報とを有する選択画面を表示することを特徴とする請求項1に記載の探索支援プログラム。 The output process is as follows:
2. The search support program according to claim 1, wherein a selection screen including the combination, an appearance frequency corresponding to the combination, and interface information for receiving a selection input of the combination is displayed for each combination.
前記選択入力が受け付けられた前記少なくともいずれか1つの組み合わせについては、前記指定順序とは異なる順序でのパケットの送信とみなさない旨を示す制約条件を有する論理関数を生成する、処理を前記コンピュータに実行させ、
前記出力する処理は、
生成された前記論理関数を出力することを特徴とする請求項2に記載の探索支援プログラム。 Receiving selection input for at least one combination from the interface information;
A process for generating a logical function having a constraint indicating that the selection input is not regarded as packet transmission in an order different from the specified order for the at least one combination received in the computer. Let it run
The output process is as follows:
The search support program according to claim 2, wherein the generated logical function is output.
前記論理関数を、前記第1の装置から前記第2の装置へのデータ通信中に前記指定順序とは異なる順序でデータ通信されたことを検出する監視装置に送信することを特徴とする請求項3に記載の探索支援プログラム。 The output process is as follows:
The logical function is transmitted to a monitoring device that detects that data communication is performed in an order different from the specified order during data communication from the first device to the second device. 3. The search support program according to 3.
前記第1の装置から第2の装置への通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、前記第1の装置内のレジスタ群の状態を示すスナップショットを取得する取得部と、
前記取得部によって取得された前記スナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出する抽出部と、
前記抽出部によって抽出された各組み合わせの抽出回数に基づいて前記各組み合わせの出現頻度を算出する算出部と、
前記各組み合わせについて、前記組み合わせと当該組み合わせに対応する出現頻度とを出力する出力部と、
を有することを特徴とする探索支援装置。 A search support device for supporting a search for a logical rule in which packets are transmitted in an order different from a specified order in a first device,
When the packet in a different order than the order specified in the communication from the first device to the second device is detected to have been transmitted, a snapshot indicating the status of the register group in the first device An acquisition unit for acquiring
An extraction unit for extracting a combination of identification information and a value for each register of the register group included in the snapshot acquired by the acquisition unit;
A calculation unit that calculates the appearance frequency of each combination based on the number of extraction times of each combination extracted by the extraction unit;
For each combination, an output unit that outputs the combination and the appearance frequency corresponding to the combination;
A search support apparatus characterized by comprising:
コンピュータが、
前記第1の装置から第2の装置への通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、前記第1の装置内のレジスタ群の状態を示すスナップショットを取得し、
取得された前記スナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出し、
抽出された各組み合わせの抽出回数に基づいて前記各組み合わせの出現頻度を算出し、
前記各組み合わせについて、前記組み合わせと当該組み合わせに対応する出現頻度とを出力する、
ことを特徴とする探索支援方法。 A search support method for supporting a search for a logical rule in which packets are transmitted in an order different from a specified order in a first device,
Computer
When the packet in a different order than the order specified in the communication from the first device to the second device is detected to have been transmitted, a snapshot indicating the status of the register group in the first device Get
Extracting a combination of identification information and a value for each register of the register group included in the acquired snapshot;
Calculate the appearance frequency of each combination based on the number of extraction times of each extracted combination,
For each combination, output the combination and the appearance frequency corresponding to the combination,
A search support method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270710A JP5821596B2 (en) | 2011-12-09 | 2011-12-09 | Search support program, search support device, and search support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270710A JP5821596B2 (en) | 2011-12-09 | 2011-12-09 | Search support program, search support device, and search support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013123133A JP2013123133A (en) | 2013-06-20 |
JP5821596B2 true JP5821596B2 (en) | 2015-11-24 |
Family
ID=48774873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011270710A Expired - Fee Related JP5821596B2 (en) | 2011-12-09 | 2011-12-09 | Search support program, search support device, and search support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5821596B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5092768B2 (en) * | 2007-02-05 | 2012-12-05 | 富士通株式会社 | Communication quality measuring apparatus, communication quality measuring method, and computer program |
JP2009021808A (en) * | 2007-07-11 | 2009-01-29 | Nippon Telegraph & Telephone East Corp | Signal monitor device, and computer program |
JP5471581B2 (en) * | 2010-02-23 | 2014-04-16 | 富士通株式会社 | Monitoring program, monitoring device, and monitoring method |
-
2011
- 2011-12-09 JP JP2011270710A patent/JP5821596B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013123133A (en) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110185220A1 (en) | Remote diagnostic system and method based on device data classification | |
US20100017486A1 (en) | System analyzing program, system analyzing apparatus, and system analyzing method | |
CN104660555B (en) | A kind of confirmation processing method, relevant apparatus and system | |
CN103873455B (en) | A kind of method and device of information checking | |
US8892510B2 (en) | Analysis-program storing recording medium, analyzing apparatus, and analytic method | |
CN103038726A (en) | Method and device for secured entry of personal data | |
CN110442788A (en) | A kind of information recommendation method and device | |
JP2008040560A (en) | Device and method for displaying history information | |
CN109710476B (en) | System interface robustness testing method and device | |
US20110225559A1 (en) | Logic verifying apparatus, logic verifying method, and medium | |
CN114218505A (en) | Abnormal space-time point identification method and device, electronic equipment and storage medium | |
JP2008158889A (en) | Trouble factor detection program, trouble factor detection method and trouble factor detector | |
JP5821596B2 (en) | Search support program, search support device, and search support method | |
JP4944559B2 (en) | History information display apparatus and method | |
CN104935436A (en) | User verification method and user verification system | |
US8326977B2 (en) | Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method | |
CN110502432B (en) | Intelligent test method, device, equipment and readable storage medium | |
JP5778892B2 (en) | Operation status monitoring program, apparatus, and method | |
CN107196767A (en) | Certificate request method and device | |
WO2018077059A1 (en) | Barcode identification method and apparatus | |
US8681636B2 (en) | Monitoring apparatus, method, and computer product | |
US20130212181A1 (en) | Information-processing device, comment-prompting method, and computer-readable recording medium | |
JP4747036B2 (en) | LSI analysis program, recording medium storing the program, LSI analysis apparatus, and LSI analysis method | |
Bhateja | A TGV-like approach for asynchronous testing | |
US11500521B2 (en) | Page form, and method and system for simultaneously inputting plurality of pull-down menus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150803 |
|
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: 20150908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5821596 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |