JP5821596B2 - Search support program, search support device, and search support method - Google Patents

Search support program, search support device, and search support method Download PDF

Info

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
Application number
JP2011270710A
Other languages
Japanese (ja)
Other versions
JP2013123133A (en
Inventor
マチュー パリジ
マチュー パリジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011270710A priority Critical patent/JP5821596B2/en
Publication of JP2013123133A publication Critical patent/JP2013123133A/en
Application granted granted Critical
Publication of JP5821596B2 publication Critical patent/JP5821596B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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.

特表2009−514448号公報Special table 2009-514448 特開2005−64556号公報Japanese Patent Laid-Open No. 2005-64556

しかしながら、パケットがスキップされる論理的なルールやアサーションを検証者が仕様書に記載すると、記載ミスが発生しがちである。そのような仕様書を読んだ者は、パケットがスキップされる論理的なルールやアサーションについて誤った解釈をしてしまうことになる。このような解釈は擬似エラーの原因となり、重要なプロパティが監視から外れてしまうことになる。   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.

図1は、本実施の形態にかかる検証支援例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an example of verification support according to the present embodiment. 図2は、再度(1)のシミュレーションを実行したことにより得られるスキップ時のレジスタの状態とスキップ時の出現確率とチェックボックスの選択画面105の表示例である。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 box selection screen 105 obtained by executing the simulation of (1) again. 図3は、レジスタの状態の集計例を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of totalization of register states. 図4は、本実施の形態にかかる検証支援システムのシステム構成例を示す説明図である。FIG. 4 is an explanatory diagram showing a system configuration example of the verification support system according to the present embodiment. 図5は、送信元装置101のハードウェア構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a hardware configuration example of the transmission source device 101. 図6は、実施の形態にかかる検証支援装置104のハードウェア構成例を示すブロック図である。FIG. 6 is a block diagram of a hardware configuration example of the verification support apparatus 104 according to the embodiment. 図7は、検証支援装置104の機能的構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a functional configuration example of the verification support apparatus 104. 図8は、監視装置103のシミュレーション中における監視処理手順例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of a monitoring process procedure during the simulation of the monitoring apparatus 103. 図9は、トランザクタ400によるスナップショット取得処理手順例を示すフローチャートである。FIG. 9 is a flowchart showing an example of a snapshot acquisition processing procedure by the transactor 400. 図10は、検証支援装置104による検証支援処理手順を示すフローチャートである。FIG. 10 is a flowchart illustrating a verification support processing procedure performed by the verification support apparatus 104. 図11は、図10に示した集計処理(ステップS1001)の詳細な処理手順例を示すフローチャートである。FIG. 11 is a flowchart illustrating a detailed processing procedure example of the aggregation processing (step S1001) illustrated in FIG.

以下に添付図面を参照して、この発明にかかる検証支援プログラム、検証支援装置、および検証支援方法の実施の形態を詳細に説明する。   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 transmission source device 101 is a transmission source device 101 that transmits a packet to the transmission destination device 102. The transmission source device 101 is a verification target. The transmission source device 101 is a communication device having, for example, a USB (Universal Serial Bus) host controller. Further, the transmission source device 101 transmits a series of packets P for each transaction in units of frames. The transmission destination device 102 is a communication device that receives a packet transmitted from the transmission source device 101. The transmission destination device 102 is, for example, a USB device.

監視装置103は、送信元装置101と送信先装置102とのデータ通信を監視する装置である。具体的には、たとえば、監視装置103は、送信元装置101から送信されるフレームにおいてパケットがスキップされたことを検出する。各パケットには、どのトランザクションに所属しているかを識別可能なトランザクションID(identification)が付与されている。トランザクションIDは、たとえば、連続番号とする。この場合、監視装置103は、スキップ前後のパケットのトランザクションIDを参照することで、どのトランザクションのパケットがスキップされたかを特定することができる。ここで、パケットがスキップされる原因には、たとえば、送信元装置101の動作が不正確でありエラーが発生する不当な場合と、通信プロトコルや送信元装置101に関する設計仕様で決められて発生する正当な場合と、がある。   The monitoring device 103 is a device that monitors data communication between the transmission source device 101 and the transmission destination device 102. Specifically, for example, the monitoring device 103 detects that a packet has been skipped in a frame transmitted from the transmission source device 101. Each packet is given a transaction ID (identification) that can identify which transaction it belongs to. The transaction ID is, for example, a serial number. In this case, the monitoring apparatus 103 can identify which transaction packet is skipped by referring to the transaction IDs of the packets before and after skipping. Here, the reason why the packet is skipped occurs, for example, when the operation of the transmission source device 101 is inaccurate and an error occurs, and when determined according to the communication protocol and the design specifications regarding the transmission source device 101. There are legitimate cases.

検証支援装置104は、監視装置103がパケットのスキップを検出したときの送信元装置101内のレジスタ群の状態を示すスナップショット群から、パケットがスキップされる論理的なルールを探索する。具体的には、たとえば、検証支援装置104は、スナップショット群から、レジスタとその値の組み合わせごとの出現頻度を算出する。出現頻度としては、たとえば、出現確率や出現回数が採用される。以下、検証支援の動作手順について説明する。   The verification support apparatus 104 searches for a logical rule for skipping a packet from a snapshot group indicating a state of a register group in the transmission source apparatus 101 when the monitoring apparatus 103 detects a skip of the packet. Specifically, for example, the verification support apparatus 104 calculates the appearance frequency for each combination of a register and its value from the snapshot group. As the appearance frequency, for example, an appearance probability or the number of appearances is adopted. The operation procedure for verification support will be described below.

(1)まず、送信元装置101は、監視装置103からの指示により、送信先装置102へのデータ通信に関するシミュレーションを実行する。そして、監視装置103は、データ通信を監視し、シミュレーション中に発生するパケットのスキップを検出する。監視装置103でパケットのスキップが検出される都度、スキップ発生時のレジスタ群の各レジスタの値を示すスナップショットが送信元装置101から得られる。 (1) First, the transmission source device 101 executes a simulation related to data communication to the transmission destination device 102 according to an instruction from the monitoring device 103. Then, the monitoring device 103 monitors data communication and detects packet skipping that occurs during the simulation. Each time a packet skip is detected by the monitoring device 103, a snapshot indicating the value of each register in the register group at the time of the occurrence of the skip is obtained from the transmission source device 101.

(2)(1)のシミュレーションが終了すると、検証支援装置104は、蓄積されたスナップショット群106を取得する。検証支援装置104は、スナップショット群106から、スキップ発生時でのレジスタとその値の組み合わせの出現回数を集計する。集計内容については、図3で後述する。検証支援装置104は、組み合わせごとに出現確率を算出する。そして、検証支援装置104は、スキップ時のレジスタの状態とスキップ時の出現確率とチェックボックスを含む選択画面105を表示する。これにより、ユーザは、スキップ発生時にどの組み合わせの状態がどのくらいの頻度で発生しているかを把握することができる。また、チェックボックスは、ユーザ操作によりレジスタの状態を選択させるためのインターフェース情報である。 (2) When the simulation of (1) ends, the verification support apparatus 104 acquires the accumulated snapshot group 106. The verification support apparatus 104 tabulates the number of appearances of a combination of a register and its value when a skip occurs from the snapshot group 106. The total contents will be described later with reference to FIG. The verification support apparatus 104 calculates an appearance probability for each combination. Then, the verification support apparatus 104 displays a selection screen 105 including a register state at the time of skipping, an appearance probability at the time of skipping, and a check box. Thereby, the user can grasp | ascertain how often the state of which combination has generate | occur | produced at the time of skip generation | occurrence | production. The check box is interface information for selecting a register state by a user operation.

(3)検証支援装置104は、ユーザ操作によりレジスタの状態の選択を受け付ける。選択されたチェックボックスにはチェックマークとなるレ点が入力されている。図1では、「Active Bit=0」、「Error Counter=0」にレ点が入力されている。すなわち、ユーザは、エラー原因には成りえないレジスタの状態に対しレ点を入力することで、後述の論理関数によりエラーの対象外とすることができる。 (3) The verification support apparatus 104 accepts selection of a register state by a user operation. A check mark is entered in the selected check box. In FIG. 1, a check mark is input to “Active Bit = 0” and “Error Counter = 0”. That is, the user can exclude the error by using a logic function described later by inputting a check point for the register state that cannot cause the error.

(4)検証支援装置104は、論理関数107を生成する。論理関数107とは、制約条件を満たした場合は真であり、満たさなかった場合は偽とするアサーションである。検証支援装置104は、ユーザがチェックボックスで選択したレジスタとその値の組み合わせを制約条件とした論理関数107を生成する。たとえば、図1では、「Active Bit=0」、「Error Counter=0」にレ点が入力されているため、「Active Bit=0」、「Error Counter=0」を真とし、それ以外を偽とする論理関数107が生成される。 (4) The verification support apparatus 104 generates a logical function 107. The logical function 107 is an assertion that is true when the constraint condition is satisfied and is false when the constraint condition is not satisfied. The verification support apparatus 104 generates a logical function 107 using a combination of a register selected by the user and a value of the check box as a constraint condition. For example, in FIG. 1, since a check point is input to “Active Bit = 0” and “Error Counter = 0”, “Active Bit = 0” and “Error Counter = 0” are set to true, and the others are set to false. A logical function 107 is generated.

(5)生成された論理関数107は、監視装置103に付与される。監視装置103は、付与された論理関数107をスキップ発生時の制約条件として、再度(1)のシミュレーションを実行する。監視装置103は、制約条件を満たしている場合は、当該スキップは、通信プロトコルや送信元装置101に関する設計仕様で決められて発生する正当な処理であるとして、検出対象外とする。一方、制約条件を満たしていない場合は、(1)で説明したように、監視装置103は、スキップを検出する。これにより、当該スキップ検出時のスナップショットが取得されることになる。 (5) The generated logical function 107 is given to the monitoring device 103. The monitoring apparatus 103 executes the simulation (1) again using the assigned logical function 107 as a constraint condition when a skip occurs. If the monitoring device 103 satisfies the constraint condition, the skip is excluded from detection because it is a legitimate process that occurs as determined by the communication protocol and the design specifications related to the transmission source device 101. On the other hand, when the constraint condition is not satisfied, the monitoring apparatus 103 detects a skip as described in (1). As a result, a snapshot at the time of detecting the skip is acquired.

図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 box selection screen 105 obtained by executing the simulation of (1) again. In FIG. 1, the skip when “Active Bit = 0” and “Error Counter = 0” is not detected as a skip by the logical function 107.

このため、(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 transmission source device 101 transmits a series of packets for each transaction in units of frames. Here, the data structure of one frame will be described. The head of the frame is SOF (Start Of Frame). The SOF is a packet indicating the head of the frame. P1 to Pn are packets corresponding to transactions 1 to n. The packets P1 to Pn are transmitted one or more times in one frame. The packet Pi for each transaction may be the same data or different data. FIG. 2 shows that the packet Pi is skipped for some reason in the second-order packets P1 to Pn of the first frame.

(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 transmission source device 101, the value “0” of the register R1, the value “4” of the register R2, and the value “1” of the register R3 are acquired.

(C)このあと、検証支援装置104は、レジスタ状態テーブル300を用いて、レジスタごとに、レジスタの値の出現回数を計数する。ここでは、例として、レジスタR1を上述した「Active Bit」、レジスタR2を上述した「Error Counter」、レジスタR3を受信完了フラグとする。 (C) After that, the verification support apparatus 104 uses the register state table 300 to count the number of appearances of the register value for each register. Here, as an example, the register R1 is the “Active Bit”, the register R2 is the “Error Counter”, and the register R3 is the reception completion flag.

レジスタ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 verification support apparatus 104 counts up the number of appearances of the value “0” of the register R1 from “5” to “6”. Since the value of the register R2 is “4”, the verification support apparatus 104 counts up the number of appearances of the value “4” of the register R2 from “6” to “7”. Since the value of the register R3 is “1”, the verification support apparatus 104 counts up the number of appearances of the value “1” of the register R3 from “4” to “5”. As a result, the count is executed every time a snapshot is obtained.

<システム構成例>
図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 transmission source device 101, a transmission destination device 102, a monitoring device 103, a transactor 400, and a verification support device 104. The transactor 400 acquires a snapshot indicating the state of the register group of the transmission source device 101. Specifically, for example, the transactor 400 acquires the value of each register of the transmission source device 101 as a snapshot at the timing of receiving the packet skip detection signal from the monitoring device 103. Each time the transactor 400 receives a skip detection signal, a snapshot is obtained and becomes a snapshot group 106. In FIG. 3, the transactor 400 is defined as an independent device, but may be incorporated in the monitoring device 103 or the verification support device 104.

<送信元装置101のハードウェア構成例>
図5は、送信元装置101のハードウェア構成例を示すブロック図である。送信元装置101は、CPU(Central Processing Unit)501と、メモリ502と、USBホストコントローラ503と、これらを接続するバス504と、を有する。CPU501は、送信元装置101の全体の制御を司る。メモリ502は、CPU501のワークエリアとして使用される。また、メモリ502は、各種データを記憶する。
<Hardware Configuration Example of Transmission Source Device 101>
FIG. 5 is a block diagram illustrating a hardware configuration example of the transmission source device 101. The transmission source device 101 includes a CPU (Central Processing Unit) 501, a memory 502, a USB host controller 503, and a bus 504 connecting them. The CPU 501 governs overall control of the transmission source device 101. The memory 502 is used as a work area for the CPU 501. The memory 502 stores various data.

USBホストコントローラ503は、フレーム単位で時間を管理し、パケットの送信を制御する。また、USBホストコントローラ503は、送信元装置101の状態を示すレジスタ群を有し、状態に応じた値を設定する。具体的には、たとえば、USBホストコントローラ503は、上述したアクティブビットとして規定されたレジスタR1や、エラーカウンタとして規定されたレジスタR2や、受信完了フラグとして規定されたレジスタR3を有する。そして、USBホストコントローラ503は、送信先装置102とのデータ通信中に、レジスタR1〜R3の値を書き換える。たとえば、USBホストコントローラ503は、エラーが発生したら、レジスタR2の値を「1」に書き換え、エラーが発生しなくなったら再度、レジスタR2の値を「0」に書き換える。   The USB host controller 503 manages time in units of frames and controls packet transmission. Further, the USB host controller 503 has a register group indicating the state of the transmission source device 101, and sets a value corresponding to the state. Specifically, for example, the USB host controller 503 includes a register R1 defined as the active bit, a register R2 defined as an error counter, and a register R3 defined as a reception completion flag. Then, the USB host controller 503 rewrites the values of the registers R1 to R3 during data communication with the transmission destination device 102. For example, the USB host controller 503 rewrites the value of the register R2 to “1” when an error occurs, and rewrites the value of the register R2 to “0” again when no error occurs.

<検証支援装置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 Verification Support Device 104>
FIG. 6 is a block diagram of a hardware configuration example of the verification support apparatus 104 according to the embodiment. 6, the verification support apparatus 104 includes a CPU 601, a ROM (Read Only Memory) 602, a RAM (Random Access Memory) 603, a magnetic disk drive (Hard Disk Drive) 604, a magnetic disk 605, and an optical disk drive 606. An optical disk 607, a display 608, an I / F (Interface) 609, a keyboard 610, a mouse 611, a scanner 612, and a printer 613. Each component is connected by a bus 600.

ここで、CPU601は、検証支援装置104の全体の制御を司る。ROM602は、ブートプログラムなどのプログラムを記憶している。RAM603は、CPU601のワークエリアとして使用される。磁気ディスクドライブ604は、CPU601の制御にしたがって磁気ディスク605に対するデータのリード/ライトを制御する。磁気ディスク605は、磁気ディスクドライブ604の制御で書き込まれたデータを記憶する。   Here, the CPU 601 governs overall control of the verification support apparatus 104. The ROM 602 stores programs such as a boot program. The RAM 603 is used as a work area for the CPU 601. The magnetic disk drive 604 controls the reading / writing of the data with respect to the magnetic disk 605 according to control of CPU601. The magnetic disk 605 stores data written under the control of the magnetic disk drive 604.

光ディスクドライブ606は、CPU601の制御にしたがって光ディスク607に対するデータのリード/ライトを制御する。光ディスク607は、光ディスクドライブ606の制御で書き込まれたデータを記憶したり、光ディスク607に記憶されたデータをコンピュータに読み取らせたりする。   The optical disk drive 606 controls the reading / writing of the data with respect to the optical disk 607 according to control of CPU601. The optical disk 607 stores data written under the control of the optical disk drive 606, and causes the computer to read data stored on the optical disk 607.

ディスプレイ608は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ608は、たとえば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   A display 608 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As the display 608, for example, a liquid crystal display, a plasma display, or the like can be adopted.

インターフェース(以下、「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 network 614 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line, and the other via the network 614. Connected to other devices. The I / F 609 manages an internal interface with the network 614 and controls data input / output from an external device. For example, a modem or a LAN adapter can be employed as the I / F 609.

キーボード610は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス611は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 610 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 611 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ612は、画像を光学的に読み取り、検証支援装置104内に画像データを取り込む。なお、スキャナ612は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ613は、画像データや文書データを印刷する。プリンタ613には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ606、光ディスク607、ディスプレイ608、キーボード610、マウス611、スキャナ612、およびプリンタ613の少なくともいずれか1つは、なくてもよい。   The scanner 612 optically reads an image and takes in the image data into the verification support apparatus 104. Note that the scanner 612 may have an OCR (Optical Character Reader) function. The printer 613 prints image data and document data. As the printer 613, for example, a laser printer or an ink jet printer can be employed. Note that at least one of the optical disk drive 606, the optical disk 607, the display 608, the keyboard 610, the mouse 611, the scanner 612, and the printer 613 may be omitted.

<検証支援装置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 Verification Support Device 104>
FIG. 7 is a block diagram illustrating a functional configuration example of the verification support apparatus 104. The verification support apparatus 104 includes an acquisition unit 701, an extraction unit 702, a calculation unit 703, an output unit 704, a reception unit 705, and a generation unit 706. Specifically, the acquisition unit 701 to the generation unit 706 may cause the CPU 601 to execute a program stored in a storage device such as the ROM 602, the RAM 603, the magnetic disk 605, and the optical disk 607 illustrated in FIG. The function is realized by the I / F 609.

取得部701は、第1の装置から第2の装置へのデータ通信中に指定順序とは異なる順序でパケットが送信されたことが検出された場合に、第1の装置内のレジスタ群の状態を示すスナップショットを取得する。具体的には、たとえば、取得部701は、送信元装置101から送信先装置102へのデータ通信中に監視装置103においてパケットのスキップが検出された場合に、送信元装置101内のレジスタ群の状態を示すスナップショットを取得する。   When the acquisition unit 701 detects that packets are transmitted in an order different from the designated order during data communication from the first device to the second device, the acquisition unit 701 determines the state of the register group in the first device. Get a snapshot showing Specifically, for example, when the monitoring device 103 detects a packet skip during data communication from the transmission source device 101 to the transmission destination device 102, the acquisition unit 701 stores the register group in the transmission source device 101. Get a snapshot showing the status.

図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 monitoring device 103 detects a skip of a packet, the monitoring device 103 transmits a skip detection signal to the transactor 400. When the transactor 400 receives the skip detection signal from the monitoring device 103, the transactor 400 accesses the USB controller in the transmission source device 101, and from the register group in the transmission source device 101, sets a combination of identification information and value regarding the register for each register. Extract. A combination of the identification information and the value regarding the register for each register becomes a snapshot in one skip. Then, the acquisition unit 701 acquires the snapshot group 106 output from the transactor 400 during the simulation.

抽出部702は、取得部701によって取得されたスナップショットに含まれているレジスタ群の各々のレジスタに関する識別情報と値との組み合わせを抽出する。具体的には、たとえば、抽出部702は、スナップショット群106の各スナップショットから、レジスタに関する識別情報と値との組み合わせを抽出する。たとえば、図3に示したように、抽出部702は、スナップショットSiからレジスタR1のレジスタ名「R1」と値「0」の組み合わせ、レジスタR2のレジスタ名「R2」と値「4」の組み合わせ、レジスタR3のレジスタ名「R3」と値「1」の組み合わせを抽出する。   The extraction unit 702 extracts a combination of identification information and a value regarding each register of the register group included in the snapshot acquired by the acquisition unit 701. Specifically, for example, the extraction unit 702 extracts a combination of identification information and a value regarding the register from each snapshot of the snapshot group 106. For example, as illustrated in FIG. 3, the extraction unit 702 extracts a combination of the register name “R1” and the value “0” of the register R1 from the snapshot Si, and a combination of the register name “R2” and the value “4” of the register R2. , The combination of the register name “R3” and the value “1” of the register R3 is extracted.

算出部703は、抽出部702によって抽出された各組み合わせの抽出回数に基づいて各組み合わせの出現頻度を算出する。具体的には、算出部703は、組み合わせごとに出現回数を計数し、出現頻度を算出する。ここで、出現頻度とは、単に出現回数でもよく、出現確率でもよい。出現確率の場合、算出部703は、全組み合わせの総出現回数を分母とし、各組み合わせの出現回数を分子とすることにより、出現確率を算出する。   The calculation unit 703 calculates the appearance frequency of each combination based on the number of extraction times of each combination extracted by the extraction unit 702. Specifically, the calculation unit 703 counts the number of appearances for each combination and calculates the appearance frequency. Here, the appearance frequency may be simply the number of appearances or the appearance probability. In the case of the appearance probability, the calculation unit 703 calculates the appearance probability by using the total number of appearances of all combinations as a denominator and the number of appearances of each combination as a numerator.

たとえば、図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 calculation unit 703 executes the calculation process after the simulation ends, but may execute the calculation process during the simulation.

出力部704は、各組み合わせについて、組み合わせと当該組み合わせに対応する出現頻度とを出力する。具体的には、たとえば、出力部704は、組み合わせと当該組み合わせに対応する出現頻度とを、ディスプレイ608に表示出力したり、プリンタ613に印刷出力したり、他の装置、たとえば、監視装置103に送信したりする。ディスプレイ608に表示出力する場合、出力部704は、図1の(2)に示したような選択画面105を表示する。図1の(2)の場合、さらに、組み合わせの選択入力を受け付けるインターフェース情報の一例としてチェックボックスが表示されている。インターフェース情報は、チェックボックスに限らずラジオボタンなど入力装置からの操作入力で選択できるインターフェース情報であればよい。   The output unit 704 outputs a combination and an appearance frequency corresponding to the combination for each combination. Specifically, for example, the output unit 704 displays the combination and the appearance frequency corresponding to the combination on the display 608, prints it out on the printer 613, or outputs it to another device such as the monitoring device 103. Or send. In the case of display output on the display 608, the output unit 704 displays the selection screen 105 as shown in (2) of FIG. In the case of (2) in FIG. 1, a check box is further displayed as an example of interface information for accepting a combination selection input. The interface information is not limited to a check box, and may be interface information that can be selected by an operation input from an input device such as a radio button.

受付部705は、インターフェース情報から少なくともいずれか1つの組み合わせについての選択入力を受け付ける。具体的には、たとえば、図1の(3)に示したように、受付部705は、入力装置からの操作入力により、チェックボックスにレ点の入力を受け付ける。   The accepting unit 705 accepts a selection input for at least any one combination from the interface information. Specifically, for example, as illustrated in (3) of FIG. 1, the reception unit 705 receives an input of a check mark in a check box by an operation input from the input device.

生成部706は、受付部705によって選択入力が受け付けられた少なくともいずれか1つの組み合わせについては、指定順序とは異なる順序でのパケットの送信とみなさない旨を示す制約条件を有する論理関数を生成する。具体的には、たとえば、生成部706は、図1の(4)に示した論理関数107を生成する。論理関数107は、図1の(3)で選択入力された組み合わせについて、スキップが発生した場合であってもスキップの検出対象外とする制約条件を規定する。   The generation unit 706 generates a logical function having a constraint that indicates that at least any one of the combinations for which the selection input has been received by the reception unit 705 is not regarded as packet transmission in an order different from the specified order. . Specifically, for example, the generation unit 706 generates the logical function 107 shown in (4) of FIG. The logical function 107 defines a constraint condition that the combination selected and input in (3) of FIG. 1 is not subject to detection of skip even when a skip occurs.

生成部706によって制約条件が生成された場合、出力部704は、生成された制約条件を監視装置103に送信する。監視装置103は、生成部706から送信されてきた制約条件を次回以降のシミュレーションに適用する。たとえば、図1の(4)の論理関数107の例では、「Active Bit=0」または「Error Counter=0」の場合がスキップの検出対象外となる。   When the constraint condition is generated by the generation unit 706, the output unit 704 transmits the generated constraint condition to the monitoring device 103. The monitoring apparatus 103 applies the constraint condition transmitted from the generation unit 706 to the next and subsequent simulations. For example, in the example of the logical function 107 in (4) of FIG. 1, the case of “Active Bit = 0” or “Error Counter = 0” is not a skip detection target.

したがって、次回以降のシミュレーションで、スキップ発生時のレジスタ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 monitoring device 103 is excluded from the skip detection target. As for skipping, a skip detection signal is not issued from the monitoring apparatus 103, and a snapshot cannot be obtained. In this way, the monitoring apparatus 103 can exclude the state of the register selected by the user from the next and subsequent simulations.

<監視装置103の監視処理手順>
図8は、監視装置103のシミュレーション中における監視処理手順例を示すフローチャートである。まず、監視装置103は、送信元装置101から送信先装置102へのデータ通信のシミュレーションが終了しているか否かを判断する(ステップS801)。終了していない場合(ステップS801:No)、監視装置103は、図3の(A)に示したように、パケットのスキップが発生したか否かを判断する(ステップS802)。
<Monitoring Procedure of Monitoring Device 103>
FIG. 8 is a flowchart illustrating an example of a monitoring process procedure during the simulation of the monitoring apparatus 103. First, the monitoring apparatus 103 determines whether or not the simulation of data communication from the transmission source apparatus 101 to the transmission destination apparatus 102 has been completed (step S801). If not completed (step S801: No), the monitoring apparatus 103 determines whether or not a packet skip has occurred (step S802), as shown in FIG.

スキップが発生していない場合(ステップ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 monitoring apparatus 103 determines whether there is a constraint condition from the verification support apparatus 104 (step S803). When there is no restriction condition (step S803: No), the process proceeds to step S808.

一方、制約条件がある場合(ステップ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 monitoring apparatus 103 transmits a register state acquisition request to the transactor 400 (step S804). If the status of the register group cannot be received from the transactor 400 (step S805: No), the monitoring apparatus 103 returns to step S801. On the other hand, if it can be received (step S805: Yes), the monitoring apparatus 103 refers to the state of the received register group to determine whether the constraint condition is satisfied (step S806).

満たしている場合(ステップ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 monitoring apparatus 103 transmits a non-detection target signal to the transactor 400 (step S807), and returns to step S801. On the other hand, when the constraint condition is not satisfied (step S806: No), the process proceeds to step S808.

ステップS808では、監視装置103は、スキップを検出したことを示すスキップ検出信号をトランザクタ400に送信して(ステップS808)、ステップS801に戻る。そして、ステップS801において、シミュレーションが終了した場合(ステップS801:Yes)、監視装置103は一連の処理を終了する。このように、監視装置103は、制約条件の有無や制約条件の遵守または違反に応じて、トランザクタ400によるスナップショットの取得を制御することができる。   In step S808, monitoring device 103 transmits a skip detection signal indicating that a skip has been detected to transactor 400 (step S808), and returns to step S801. In step S801, when the simulation is completed (step S801: Yes), the monitoring apparatus 103 ends a series of processes. As described above, the monitoring apparatus 103 can control the acquisition of the snapshot by the transactor 400 in accordance with the presence / absence of the constraint condition, compliance with or violation of the constraint condition.

<トランザクタ400のスナップショット取得処理手順>
図9は、トランザクタ400によるスナップショット取得処理手順例を示すフローチャートである。まず、トランザクタ400は、監視装置103からステップS804での取得要求を受信したか否かを判断する(ステップS901)。受信していない場合(ステップS901:No)、ステップS901に戻る。一方、受信した場合(ステップS901:Yes)、トランザクタ400は、送信元装置101のUSBホストコントローラ503にアクセスしてレジスタ群の状態を取得する(ステップS902)。
<Snapshot acquisition processing procedure of transactor 400>
FIG. 9 is a flowchart showing an example of a snapshot acquisition processing procedure by the transactor 400. First, the transactor 400 determines whether or not the acquisition request in step S804 has been received from the monitoring apparatus 103 (step S901). If not received (step S901: No), the process returns to step S901. On the other hand, if received (step S901: Yes), the transactor 400 accesses the USB host controller 503 of the transmission source device 101 to acquire the state of the register group (step S902).

そして、トランザクタ400は、取得要求のレスポンスとして、取得したレジスタ群の状態を監視装置103に送信する(ステップS903)。このあと、トランザクタ400は、監視装置103からの信号の受信を待ち受ける(ステップS904)。受信した信号がスキップ検出信号である場合(ステップS904:スキップ検出)、トランザクタ400は、ステップS902で取得したレジスタ群の状態をスナップショットとして、検証支援装置104がアクセス可能な記憶装置に保存する(ステップS905)。そして、ステップS901に戻る。また、受信した信号が検出対象外信号である場合(ステップS904:対象外)、トランザクタ400は、ステップS902で取得したレジスタ群の状態を消去して(ステップS906)、ステップS901に戻る。   Then, the transactor 400 transmits the acquired state of the register group to the monitoring apparatus 103 as a response to the acquisition request (step S903). Thereafter, the transactor 400 waits for reception of a signal from the monitoring device 103 (step S904). When the received signal is a skip detection signal (step S904: skip detection), the transactor 400 saves the state of the register group acquired in step S902 as a snapshot in a storage device accessible by the verification support apparatus 104 ( Step S905). Then, the process returns to step S901. If the received signal is a non-detection target signal (step S904: non-target), the transactor 400 deletes the state of the register group acquired in step S902 (step S906) and returns to step S901.

このように、トランザクタ400は、検出すべきスキップが発生したときの送信元装置101のレジスタ群の状態をスナップショットとして取得することができる。   In this way, the transactor 400 can acquire the state of the register group of the transmission source device 101 when a skip to be detected occurs as a snapshot.

<検証支援処理手順>
図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 verification support apparatus 104. First, the verification support apparatus 104 executes a counting process as shown in FIGS. 3B and 3C (step S1001). A detailed processing procedure of the counting process (step S1001) will be described with reference to FIG. Through the counting process (step S1001), the verification support apparatus 104 can obtain the appearance frequency for each state of the register as shown in (2) of FIG.

検証支援装置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 verification support apparatus 104 calculates the appearance frequency for each register state (step S1002) and outputs the display (step S1003), as shown in (2) of FIG. Thereafter, the verification support apparatus 104 receives a selection input of a register state and waits for a confirmation input by an operation from the input device by the user (step S1004: No). When there is a definite input (step S1004: Yes), the verification support apparatus 104 specifies the state of the register as the selection item (step S1005), and generates the logical function 107 (step S1006). Then, the verification support apparatus 104 outputs the generated logical function 107 (step S1007). As a result, the verification support apparatus 104 ends a series of processes.

このように、検証支援装置104は、シミュレーションが終了する都度、論理関数107を生成して監視装置103に提供することができる。したがって、ユーザは、スキップが発生する場合のルール、換言すれば、レジスタがどのような状態のときにスキップが発生するかを絞り込むことができる。   In this way, the verification support apparatus 104 can generate the logical function 107 and provide it to the monitoring apparatus 103 every time the simulation is completed. Therefore, the user can narrow down the rule when the skip occurs, in other words, the state in which the register is skipped.

図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 verification support apparatus 104 determines whether there is an unselected snapshot from the snapshot group 106 (step S1101). If there is an unselected snapshot (step S1101: Yes), the verification support apparatus 104 selects one unselected snapshot (step S1102). The verification support apparatus 104 determines whether there is an unselected register from the selected snapshot (step S1103).

未選択のレジスタがない場合(ステップ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 verification support apparatus 104 selects one unselected register (step S1104), and determines whether or not it has been registered in the register status table 300 (step S1105). ). If registered (step S1105: Yes), the process proceeds to step S1107. On the other hand, if not registered (step S1105: No), the verification support apparatus 104 registers the selected register item in the register status table 300 (step S1106), and proceeds to step S1107.

ステップS1107では、検証支援装置104は、選択レジスタの値をスナップショットから抽出し(ステップS1107)、登録済みか否かを判断する(ステップS1108)。登録済みである場合(ステップS1108:Yes)、ステップS1110に移行する。一方、登録済みでない場合(ステップS1108:No)、検証支援装置104は、選択レジスタの値とその出現回数Nの初期値(N=0)を登録して(ステップS1109)、ステップS1110に移行して一連の処理を終了する。   In step S1107, the verification support apparatus 104 extracts the value of the selection register from the snapshot (step S1107), and determines whether it has been registered (step S1108). If registered (step S1108: YES), the process proceeds to step S1110. On the other hand, if not registered (step S1108: No), the verification support apparatus 104 registers the value of the selection register and the initial value (N = 0) of the appearance count N (step S1109), and proceeds to step S1110. To end the series of processing.

ステップS1110では、検証支援装置104は、選択レジスタについて抽出した値の出現回数Nをインクリメントし(ステップS1110)、ステップS1101に戻る。また、ステップS1101において、未選択のスナップショットがない場合(ステップS1101:No)、ステップS1002に移行する。   In step S1110, the verification support apparatus 104 increments the appearance count N of the value extracted for the selection register (step S1110), and returns to step S1101. If there is no unselected snapshot in step S1101 (step S1101: No), the process proceeds to step S1002.

このように、集計処理(ステップS1001)では、検証支援装置104は、シミュレーション中に取得されたスナップショット群106から、レジスタの値の出現回数をレジスタの値ごとに集計することができる。したがって、検証支援装置104は、どのレジスタがどのような値のときにスキップが何回発生したかを計数することができる。   In this way, in the counting process (step S1001), the verification support apparatus 104 can count the number of appearances of register values for each register value from the snapshot group 106 acquired during the simulation. Therefore, the verification support apparatus 104 can count how many skips have occurred when which register has what value.

このように、本実施の形態によれば、検証支援装置104は、スキップ発生時のレジスタの値とその出現回数から、レジスタの値ごとに、出現頻度を算出して、出力する。したがって、シミュレーション中にスキップが発生したときに送信元装置101がどのような状態であったかを把握することができる。また、このような状態が、レジスタの値ごとに出現頻度として得られる。   As described above, according to the present embodiment, the verification support apparatus 104 calculates and outputs the appearance frequency for each register value from the register value and the number of appearances when the skip occurs. Therefore, it is possible to grasp the state of the transmission source device 101 when a skip occurs during the simulation. Further, such a state is obtained as an appearance frequency for each register value.

ここで、あるレジスタのある値がスキップの正当な処理であることをユーザが理解している場合には、ユーザはそのレジスタの値と出現頻度について選択入力することで、検証支援装置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 verification support apparatus 104 performs a logical operation. A function 107 is generated. As a result, the number of appearances is not counted for the register value selected and input in the subsequent simulations. Therefore, by repeating the simulation by the monitoring apparatus 103 and the assignment of the generated logical function 107 to the monitoring apparatus 103, the verification support apparatus 104 narrows down to the skip that causes the error, and causes the error occurrence. It is possible to find a logical rule that skips the packet that becomes.

また、上述した実施の形態では、送信先装置102を1台の装置を例に挙げて説明したが、送信先装置102は複数台でもよい。この場合、送信元装置101のUSBホストコントローラ503は、送信先装置102のアドレスも専用のレジスタで逐次管理することになる。この場合、スキップが発生すると、送信先装置102のアドレスもレジスタの値として読み出され、レジスタ状態テーブル300に登録されることになる。したがって、検証支援装置104は、送信先装置102ごとにエラー原因となる処理を突き止めることができる。   In the above-described embodiment, the transmission destination device 102 has been described by taking a single device as an example. However, a plurality of transmission destination devices 102 may be used. In this case, the USB host controller 503 of the transmission source apparatus 101 sequentially manages the address of the transmission destination apparatus 102 using a dedicated register. In this case, when a skip occurs, the address of the transmission destination device 102 is also read as a register value and registered in the register state table 300. Therefore, the verification support apparatus 104 can find out the process that causes the error for each transmission destination apparatus 102.

以上説明したように、検証支援プログラム、検証支援装置、および検証支援方法によれば、パケットがスキップされる論理的なルールの探索の容易化を図ることができるという効果を奏する。   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 transmission source device 102 transmission destination device 103 monitoring device 104 verification support device 105 selection screen 106 snapshot group 107 logical function 300 register state table 400 transactor 701 acquisition unit 702 extraction unit 703 calculation unit 704 output unit 705 reception unit 706 generation unit

Claims (6)

第1の装置において指定順序とは異なる順序でパケットが送信される論理的なルールの探索を支援する探索支援プログラムであって、
前記第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つの組み合わせについての選択入力を受け付け、
前記選択入力が受け付けられた前記少なくともいずれか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の装置において指定順序とは異なる順序でパケットが送信される論理的なルールの探索を支援する探索支援装置であって、
前記第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の装置において指定順序とは異なる順序でパケットが送信される論理的なルールの探索を支援する探索支援方法であって、
コンピュータが、
前記第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.
JP2011270710A 2011-12-09 2011-12-09 Search support program, search support device, and search support method Expired - Fee Related JP5821596B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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
CN103038726A (en) Method and device for secured entry of personal data
CN110442788A (en) A kind of information recommendation method and device
US20110225559A1 (en) Logic verifying apparatus, logic verifying method, and medium
CN110502432B (en) Intelligent test method, device, equipment and readable storage medium
CN114218505A (en) Abnormal space-time point identification method and device, electronic equipment and storage medium
JP5821596B2 (en) Search support program, search support device, and search support method
CN110276183B (en) Reverse Turing verification method and device, storage medium and electronic equipment
US8326977B2 (en) Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method
JP5778892B2 (en) Operation status monitoring program, apparatus, and method
CN107196767A (en) Certificate request method and device
JP2008097384A (en) History information display unit and method
CN109710476B (en) System interface robustness testing method and device
US8681636B2 (en) Monitoring apparatus, method, and computer product
Bhateja A TGV-like approach for asynchronous testing
JP5495764B2 (en) Information processing apparatus, information processing method, and program
JP2017068296A (en) Monitor, monitoring method and monitoring program
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
JP6287436B2 (en) Information processing apparatus, information processing system, information processing method, and program
US11500521B2 (en) Page form, and method and system for simultaneously inputting plurality of pull-down menus
JP2017040988A (en) Information processing device and information processing program
JP5807452B2 (en) Correction program, correction device, and correction method

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