JP2010061198A - Verification support program, verification support device and verification support method - Google Patents
Verification support program, verification support device and verification support method Download PDFInfo
- Publication number
- JP2010061198A JP2010061198A JP2008223340A JP2008223340A JP2010061198A JP 2010061198 A JP2010061198 A JP 2010061198A JP 2008223340 A JP2008223340 A JP 2008223340A JP 2008223340 A JP2008223340 A JP 2008223340A JP 2010061198 A JP2010061198 A JP 2010061198A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- resource
- flag
- determination
- request flag
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
この発明は、システムに対する割り込みの状態をデバッグ情報として提示する技術に関し、特に、多重割り込み発生時に優先度の低い割り込みが未実行となるケースを警告する技術に関する。 The present invention relates to a technique for presenting the status of an interrupt to a system as debug information, and more particularly to a technique for warning a case where an interrupt with a low priority is not executed when multiple interrupts occur.
一般に、組み込みシステムのソフトウェア開発では、外部割り込み、タイマ割り込み、A/D変換完了割り込みなど複数の割り込みを使ってシステムの機能を実現している。しかし、割り込みの発生を期待しているにもかかわらず、何らかの原因により割り込みが発生せず、システムが意図した通りに動作しない場合がある。このため、割り込みが正常におこなわれているか否かを検証する必要がある。 In general, in software development of an embedded system, a system function is realized by using a plurality of interrupts such as an external interrupt, a timer interrupt, and an A / D conversion completion interrupt. However, there is a case where an interrupt does not occur for some reason and the system does not operate as intended even though the generation of the interrupt is expected. For this reason, it is necessary to verify whether or not the interruption is normally performed.
従来において、マイクロプロセッサが誤動作し、割込処理は正常におこなわれているもののプログラム実行アドレスが実際のプログラム領域とは異なるアドレスを実行しているような暴走状態になった場合に、制御用マイクロプロセッサシステムのアラーム信号を出力する技術が開示されている(たとえば、下記特許文献1参照。)。
In the past, if the microprocessor malfunctioned and the interrupt processing was performed normally, but the program execution address entered a runaway state that was executing an address different from the actual program area, the control microprocessor A technique for outputting an alarm signal of a processor system is disclosed (for example, see
しかしながら、上述した従来技術では、多重割り込み発生時などに優先度の低い割り込みが未実行となるような不測の事象が発生した場合に、その状態を知るための手段がデバッグ環境として用意されていなかった。このため、期待する割り込みが発生せず、システムが意図した通りに動作しない場合に、その不具合を特定するのに手間と時間がかかり、ひいては開発期間の長期化を招くという問題があった。 However, in the above-described prior art, when an unexpected event occurs such that a low-priority interrupt becomes unexecuted when multiple interrupts occur, there is no means for providing a debugging environment as a debugging environment. It was. For this reason, when an expected interrupt does not occur and the system does not operate as intended, there is a problem that it takes time and effort to identify the malfunction, and thus the development period is prolonged.
この開示技術は、上述した従来技術による問題点を解消するため、多重割り込み発生時などに低優先度の割り込みが未実行となる事象をユーザに警告することにより、迅速な不具合特定を可能とし、開発製品の品質向上および開発期間の短縮化を図ることを目的とする。 In order to solve the above-described problems caused by the prior art, this disclosed technique enables a user to quickly identify a problem by alerting the user of an event in which a low-priority interrupt is not executed when multiple interrupts occur. The purpose is to improve the quality of the developed product and shorten the development period.
上述した課題を解決し、目的を達成するため、この開示技術は、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付け、前記イベント通知を受け付けた場合、リソースごとの割込要求フラグおよび割込実績フラグの有効/無効状態を記憶するテーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定し、前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定し、判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定し、警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力することを要件とする。 In order to solve the above-described problems and achieve the object, this disclosed technology accepts an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state, and when the event notification is accepted, interrupts for each resource Referring to the stored contents of the table storing the valid / invalid status of the request flag and the interrupt record flag, it is determined whether or not the interrupt request flag of the arbitrary resource is valid, and the event notification If accepted, it refers to the stored contents of the table to determine whether the interrupt record flag of the arbitrary resource is in a valid state, and based on the determined determination result, When it is determined whether or not a warning regarding an interrupt is necessary, and it is determined that a warning is necessary, a warning message indicating that the interrupt of the arbitrary resource has not been executed. The requirement that the output.
この開示技術によれば、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合に、その割り込みに関する警告メッセージを出力することができる。 According to this disclosed technique, when an event occurs in which an interrupt is not executed despite an interrupt request, a warning message regarding the interrupt can be output.
この開示技術によれば、多重割り込み発生時などに低優先度の割り込みが未実行となる事象をユーザに警告することにより、迅速な不具合特定を可能とし、開発製品の品質向上および開発期間の短縮化を図ることができるという効果を奏する。 According to this disclosed technology, it is possible to quickly identify defects by warning the user that a low-priority interrupt has not been executed when multiple interrupts occur, improving the quality of the developed product and shortening the development period. There is an effect that it can be realized.
以下に添付図面を参照して、この検証支援プログラム、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。この検証支援プログラム、検証支援装置、および検証支援方法では、リソースの割込要因ビットおよび割込許可ビットの値が更新されたときに、割り込みが未実行となる事象の発生をチェックし、警告メッセージをユーザに提示することで、ソフトウェア開発の検証作業を支援する。 Exemplary embodiments of a verification support program, a verification support apparatus, and a verification support method will be described below in detail with reference to the accompanying drawings. In this verification support program, verification support device, and verification support method, when the values of the interrupt factor bit and interrupt enable bit of a resource are updated, the occurrence of an event in which an interrupt is not executed is checked, and a warning message is displayed. The software development verification work is supported by presenting to the user.
(検証システムのシステム構成)
まず、実施の形態にかかる検証システムのシステム構成について説明する。図1は、検証システムのシステム構成図である。図1において、検証システム100は、検証支援装置101に構築されるデバッグ環境であり、検証対象となるユーザプログラムの実行中に割り込みの未発生警告をおこなう。
(System configuration of verification system)
First, the system configuration of the verification system according to the embodiment will be described. FIG. 1 is a system configuration diagram of the verification system. In FIG. 1, a
この検証システム100は、ソフトウェアデバッガ110と、命令セットシミュレータ120(ISS:Instruction Set Simulator)と、を含む構成である。ソフトウェアデバッガ110は、検証支援装置101を使用するソフトウェア開発者が操作するツールである。
The
デバッグコマンドとしては、たとえば、Runコマンド、Stopコマンド、StepコマンドおよびBreakコマンドがある。Runコマンドは、ユーザプログラムを連続実行させるコマンドである。Stopコマンドは、連続実行中のユーザプログラムを停止させるコマンドである。 Examples of the debug command include a Run command, a Stop command, a Step command, and a Break command. The Run command is a command for continuously executing the user program. The Stop command is a command for stopping the user program being continuously executed.
Stepコマンドは、一命令ごとにユーザプログラムを実行させるコマンドである。Breakコマンドは、ユーザプログラムのある特定のコード行で、ユーザプログラムの実行を停止させるコマンドである。ソフトウェア開発者は、これらのデバッグコマンドを用いて、ソフトウェアデバッガ110を制御する。
The Step command is a command for executing the user program for each instruction. The Break command is a command for stopping execution of the user program at a specific code line of the user program. The software developer controls the
ISS120は、命令セットプロセッサの動作をシミュレーションすることができるシミュレータである。このISS120は、ソフトウェアデバッガ110の中に組み込まれ、ソフトウェアデバッガ110により制御される。具体的には、ソフトウェア開発者によるコマンド操作により、ISS120の中でプログラムが動作する。
The ISS 120 is a simulator that can simulate the operation of the instruction set processor. The ISS 120 is incorporated in the
また、ISS120は、IE(Instruction Execution Function)機能と、NE(Notify Event Function)機能と、IC(Interruption Check Function)機能と、UI(User Interface Function)機能と、を有している。 Further, the ISS 120 has an IE (Instruction Execution Function) function, an NE (Notify Event Function) function, an IC (Interruption Check Function) function, and a UI (User Interface Function, Function).
これら機能は、検証システム100を実現するために必要となる機能の一例である。IE機能は、命令が実行されたとき(割り込みが発生したとき)に割込関数を呼び出す機能である。NE機能は、各種イベントが発生したことを検知・通知する機能である。IC機能は、割り込みの競合状態をチェックする機能である。UI機能は、ユーザインターフェースを実現するための機能である。
These functions are examples of functions necessary for realizing the
一般に、組み込みシステムのソフトウェア開発では、複数の割り込みを使ってシステムの機能を実現している。これら割り込みの種類は多岐にわたり、2つ以上の割り込みを同時に使用する場合もある。ところが、多重割り込み発生時に、不適切な割込要因クリア処理により、割り込みの発生を期待しているにもかかわらず、優先度の低い割り込みが未実行となるような不測の事象が発生する場合がある。このため、このような不測の事象が発生した場合における不具合を特定するための仕組みが必要となる。 In general, in software development of embedded systems, a system function is realized using a plurality of interrupts. There are various types of interrupts, and two or more interrupts may be used simultaneously. However, when multiple interrupts occur, due to inappropriate interrupt factor clear processing, an unexpected event may occur in which an interrupt with a low priority is not executed even though an interrupt is expected to occur. is there. For this reason, a mechanism for identifying a malfunction when such an unexpected event occurs is required.
従来では、このような不具合を特定するために、デバッガを停止して各種I/Oレジスタの割込要因ビットおよび割込レベルをチェックする、あるいは、割込関数にデバッグ用の実行コードを埋め込むことで割り込み発生の有無を確認するなどの対策がおこなわれていた。しかし、これらの作業はソフトウェア開発者による手作業でおこなわれ、非常に手間がかかるという問題があった。また、検証対象プログラムをデバッグのために書き換えることは、検証対象自体が変化することとなるため好ましくない。 Conventionally, in order to identify such problems, the debugger is stopped and the interrupt factor bits and interrupt levels of various I / O registers are checked, or the execution code for debugging is embedded in the interrupt function. Measures such as checking whether or not an interrupt has occurred were taken. However, these operations are performed manually by software developers, and there is a problem that it is very time-consuming. In addition, rewriting the verification target program for debugging is not preferable because the verification target itself changes.
そこで、本実施の形態では、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合に、その旨をソフトウェア開発者に警告する仕組みを提案する。なお、意図的に優先度の低い割り込みが実行されないことを期待するプログラムを作り込むことも想定されるが、ここでは、意図しているものも含めて未発生警告をおこなう。 Therefore, in the present embodiment, a mechanism is proposed that warns a software developer when an event occurs in which an interrupt is not executed even though an interrupt request is made. Although it is assumed that a program that intentionally expects a low-priority interrupt to not be executed, a non-occurrence warning including the intended one is issued here.
(検証支援装置のハードウェア構成)
つぎに、実施の形態にかかる検証支援装置101のハードウェア構成について説明する。図2は、検証支援装置のハードウェア構成を示すブロック図である。図2において、検証支援装置101は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
(Hardware configuration of verification support device)
Next, a hardware configuration of the
ここで、CPU201は、検証支援装置101の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
Here, the
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
The
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
An interface (hereinafter abbreviated as “I / F”) 209 is connected to a
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ212は、画像を光学的に読み取り、検証支援装置101内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
The
(実行ログテーブルの記憶内容)
つぎに、検証支援装置101に用いられる実行ログテーブルの記憶内容について説明する。図3は、実行ログテーブルの記憶内容を示す説明図である。図3において、実行ログテーブル300には、検証対象プログラムの実行中に割り込みを発生させるリソースごとの実行ログ300−1〜300−nが記憶されている。
(Contents stored in the execution log table)
Next, the storage contents of the execution log table used for the
具体的には、実行ログ300−1〜300−nは、リソース名、割込要求フラグおよび割込実績フラグを有している。リソース名は、リソースを識別する名称である。割込要求フラグは、割込要求の有無を示すフラグである。ここでは、割込要求があった場合に「OFF」から「ON」となる。割込実績フラグは、割り込みが発生したか否かを示すフラグである。ここでは、割り込みが発生した場合に「OFF」から「ON」となる。 Specifically, the execution logs 300-1 to 300-n have a resource name, an interrupt request flag, and an interrupt record flag. The resource name is a name for identifying the resource. The interrupt request flag is a flag indicating the presence / absence of an interrupt request. Here, when there is an interrupt request, the state changes from “OFF” to “ON”. The interrupt record flag is a flag indicating whether or not an interrupt has occurred. Here, when an interrupt occurs, the state changes from “OFF” to “ON”.
ここで、実行ログ300−1を例に挙げると、リソースR1の割込要求フラグが「ON」、割込実績フラグが「ON」となっている。これは、リソースR1の割り込みが発生し、現在実行中であることを示している。 Here, taking the execution log 300-1 as an example, the interrupt request flag of the resource R1 is “ON”, and the interrupt record flag is “ON”. This indicates that a resource R1 interrupt has occurred and is currently being executed.
(検証支援装置の機能的構成)
つぎに、検証支援装置101の機能的構成について説明する。図4は、検証支援装置の機能的構成を示すブロック図である。図4において、検証支援装置101は、受付部401と、設定部402と、割込要求判定部403と、割込実績判定部404と、決定部405と、出力部406と、関連付け部407と、作成部408と、多重割込判定部409と、を含む構成である。
(Functional configuration of verification support device)
Next, a functional configuration of the
この制御部となる機能(受付部401〜多重割込判定部409)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
Specifically, the functions (accepting
まず、受付部401は、検証対象プログラムの入力を受け付ける機能を有する。検証対象プログラムとは、たとえば、組み込みシステムの機能を実現するために開発されるソフトウェアである。この検証対象プログラムは、たとえば、図2に示したキーボード210やマウス211をユーザが操作することで検証支援装置101に直接入力することとしてもよく、また、データベースからの抽出により取得することとしてもよい。
First, the receiving
検証支援装置101に検証対象プログラムが入力されると、ユーザがソフトウェアデバッガ110を操作することで、ISS120(図1参照)の中で検証対象プログラムが動作することとなる。なお、受付部401によって受け付けた受付結果は、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
When the verification target program is input to the
また、受付部401は、リソースRi(i=1,2,…,n)の割込要求フラグを無効状態に設定するイベント通知を受け付ける機能を有する。リソースとは、たとえば、割り込みを発生させる機器であり、リロードタイマ、A/Dコンバータ、外部割り込みなどがある。なお、外部割り込みとは、図2に示したキーボード210やマウス211などのユーザインターフェースの総称である。
The
具体的には、たとえば、受付部401は、検証対象プログラムの実行を制御するISS120からソフトウェアデバッガ110に通知されるイベント通知を受け付けることとしてもよい。このイベント通知には、リソースRiの割り込みが発生したことを通知する割込イベント通知や、I/Oレジスタに対する書き込みがおこなわれたことを通知する書込イベント通知が含まれる。
Specifically, for example, the
I/Oレジスタは、リソースR1〜Rnを制御するためにRAM203などに設けられる記憶領域であり、リソースR1〜Rnごとの割込要因ビットおよび割込許可ビットを記憶する。ここで、I/Oレジスタの記憶内容について説明する。図5は、I/Oレジスタの記憶内容を示す説明図である。
The I / O register is a storage area provided in the
図5において、I/Oレジスタ500には、リソースR1〜Rnごとの割込要因ビットおよび割込許可ビットが記憶されている。これら各リソースR1〜Rnの割込要因ビットおよび割込許可ビットは、ISS120により検証対象プログラムによって書き換えられる。
In FIG. 5, the I / O register 500 stores an interrupt factor bit and an interrupt permission bit for each of the resources R1 to Rn. The interrupt factor bits and the interrupt permission bits of these resources R1 to Rn are rewritten by the verification target program by the
具体的には、たとえば、リロードタイマの場合、予め設定された時間間隔で発生する割込信号に応じて、割込関数が呼び出される。また、A/Dコンバータの場合、アナログ信号からデジタル信号への変換完了時に発生する割込信号に応じて、割込関数が呼び出される。また、外部割り込みの場合、ユーザによるキーボード210やマウス211などの操作入力により発生する割込信号に応じて、割込関数が呼び出される。
Specifically, for example, in the case of a reload timer, an interrupt function is called in accordance with an interrupt signal generated at a preset time interval. In the case of an A / D converter, an interrupt function is called according to an interrupt signal generated when conversion from an analog signal to a digital signal is completed. In the case of an external interrupt, an interrupt function is called according to an interrupt signal generated by an operation input by the user using the
なお、多重割り込み発生時には、各リソースR1〜Rnの優先度に従って、関数呼び出しがおこなわれる。また、外部割り込みを実現するためには、たとえば、外部の環境をシミュレーションするシミュレーション環境をISS120とは別に作り込むこととなる。そして、外部のシミュレーション環境とISS120とを連動させてシステム全体を動作させることで、外部割り込みの割込信号を検出する。また、割込信号の発生要因はシミュレーション中のユーザの操作入力となるが、ランダムに発生するようなプログラムを作り込むこととしてもよい。
When multiple interrupts occur, a function call is made according to the priorities of the resources R1 to Rn. In order to realize an external interrupt, for example, a simulation environment for simulating an external environment is created separately from the
ISS120は、I/Oレジスタ500に対する書き込みをおこなった場合、NE機能により、I/Oレジスタ500に対する書込イベントをソフトウェアデバッガ110に通知する。詳細は後述するが、ISS120によるI/Oレジスタ500に対する書き込みにより、リソースRiの割込要因ビットまたは割込許可ビットが「0」となった場合、リソースRiの割込要求フラグが無効状態に設定される。
When writing to the I / O register 500 is performed, the
つまり、割込要求フラグを無効状態に設定するイベント通知とは、割込要因ビットまたは割込許可ビットに「0」を書き込む書込イベント通知である。また、このイベント通知には、リソースRiを特定するための情報(たとえば、リソース名、割込番号、I/Oレジスタのレジスタ番号など)が含まれている。 That is, the event notification for setting the interrupt request flag to the invalid state is a write event notification for writing “0” in the interrupt factor bit or the interrupt permission bit. Further, the event notification includes information for specifying the resource Ri (for example, resource name, interrupt number, register number of I / O register, etc.).
設定部402は、受付部401によってリソースRiの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル300に記憶されているリソースRiの割込要求フラグおよび割込実績フラグを無効状態に設定する機能を有する。上述したように、割込要求フラグを無効状態に設定するイベント通知とは、割込要因ビットまたは割込許可ビットを「0」とする書込イベント通知である。
When the accepting
また、設定部402は、受付部401によってリソースRiの割込要求フラグを有効状態に設定するイベント通知を受け付けた場合、実行ログテーブル300に記憶されているリソースRiの割込要求フラグを有効状態に設定する。割込要求フラグを有効状態に設定するイベント通知とは、割込要因ビットおよび割込許可ビットがともに「1」となる書込イベント通知である。
When the accepting
また、設定部402は、受付部401によってリソースRiの割り込みが発生したことを通知するイベント通知を受け付けた場合、実行ログテーブル300に記憶されているリソースRiの割込実績フラグを有効状態に設定する。割り込みが発生したことを通知するイベント通知とは、割込イベント通知である。
When the accepting
このように、ISS120からソフトウェアデバッガ110に通知されるイベント通知を受け付ける都度、割込要求フラグおよび割込実績フラグの有効/無効状態を設定することで、実行ログテーブル300の記憶内容を検証対象プログラムの実行状況にあわせて更新することができる。
In this way, each time an event notification notified from the
割込要求判定部403は、受付部401によってリソースRiの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル300の記憶内容を参照して、リソースRiの割込要求フラグが有効状態となっているか否かを判定する機能を有する。具体的には、受け付けたイベント通知からリソースRiを特定し、特定されたリソースRiの実行ログ300−1〜300−nの割込要求フラグを参照する。
When the accepting
たとえば、イベント通知からリソースR3が特定された場合、実行ログ300−3の割込要求フラグを参照して、有効状態となっているか否かを判定する。ここでは、リソースR3の割込要求フラグが「ON」となっているため、割込要求フラグが有効状態と判定することとなる。 For example, when the resource R3 is specified from the event notification, it is determined by referring to the interrupt request flag in the execution log 300-3 whether or not the resource R3 is in a valid state. Here, since the interrupt request flag of the resource R3 is “ON”, the interrupt request flag is determined to be valid.
割込実績判定部404は、受付部401によってリソースRiの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル300の記憶内容を参照して、リソースRiの割込実績フラグが有効状態となっているか否かを判定する機能を有する。具体的には、受け付けたイベント通知からリソースRiを特定し、特定されたリソースRiの実行ログ300−1〜300−nの割込実績フラグを参照する。
When the
たとえば、イベント通知からリソースR3が特定された場合、実行ログ300−3の割込実績フラグを参照して、有効状態となっているか否かを判定する。ここでは、リソースR3の割込実績フラグが「OFF」となっているため、割込実績フラグが無効状態と判定することとなる。なお、割込要求判定部403および割込実績判定部404によって判定された判定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
For example, when the resource R3 is specified from the event notification, it is determined by referring to the interrupt record flag of the execution log 300-3 whether or not the resource R3 is in the valid state. Here, since the interrupt record flag of the resource R3 is “OFF”, the interrupt record flag is determined to be invalid. The determination results determined by the interrupt
決定部405は、割込要求判定部403および割込実績判定部404によって判定された判定結果に基づいて、リソースRiの割り込みに関する警告の要否を決定する機能を有する。リソースRiの割り込みに関する警告とは、リソースRiの割り込みが未実行となることをユーザに報知するものである。
The
具体的には、たとえば、割込要求判定部403によって割込要求フラグが有効状態と判定され、かつ、割込実績判定部404によって割込実績フラグが無効状態と判定された場合に、リソースRiの割り込みに関する警告が必要であると決定することとしてもよい。これにより、割込要求があったにもかかわらず割り込みが実行されることなく割込要求フラグが無効状態となる場合に警告をおこなうことができる。なお、決定部405によって決定された決定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
Specifically, for example, when the interrupt request flag is determined to be valid by the interrupt
出力部406は、決定部405によって警告が必要であると決定された場合、リソースRiの割り込みが未実行であることを示す警告メッセージを出力する機能を有する。具体的には、たとえば、警告メッセージテンプレートに警告対象のリソース名を挿入することで、警告メッセージを出力することとしてもよい。
The
なお、出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。
The output format includes, for example, display on the
ここで、警告メッセージテンプレートの具体例について説明する。図6は、警告メッセージテンプレートの具体例を示す説明図である。図6において、警告メッセージテンプレート600は、割り込みが未実行であることを警告する警告メッセージのテンプレートである。
Here, a specific example of the warning message template will be described. FIG. 6 is an explanatory diagram showing a specific example of the warning message template. In FIG. 6, a
作成部408は、この警告メッセージテンプレート600の挿入位置601に警告対象のリソースRiのリソース名を挿入することで、警告メッセージを作成することができる。たとえば、リソースR3の割り込みに関する警告が必要であると決定された場合、挿入位置601に『リソースR3』が挿入された警告メッセージを作成することとなる。
The
ソフトウェア開発者は、出力された警告メッセージを確認することで、割込要求があったにもかかわらず未実行となった割り込みの存在を把握することができる。なお、警告メッセージテンプレート600は、たとえば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されている。
By confirming the output warning message, the software developer can grasp the presence of an interrupt that has not been executed despite an interrupt request. The
関連付け部407は、設定部402によって設定された設定内容と設定時刻とを関連付ける機能を有する。設定時刻とは、実行ログテーブル300に記憶されている各リソースR1〜Rnの割込要求フラグおよび割込実績フラグの有効/無効状態が設定された時刻である。なお、この設定時刻は、検証対象プログラムを実行するシミュレーションのシミュレーション時刻(たとえば、クロックサイクル)であり、たとえば、検証支援装置101において計測される。
The associating
ここで、関連付け部407による関連付け結果を記憶する関連付けテーブルの具体例について説明する。図7は、関連付けテーブルの具体例を示す説明図である。図7において、関連付けテーブル700には、設定時刻t1〜t11ごとに、各リソースR1〜Rnの割込要求フラグおよび割込実績フラグに関する設定内容が記憶されている。なお、図面では、関連付け結果の一部を抜粋して表示している。
Here, a specific example of the association table that stores the association result by the
設定時刻t1を例に挙げると、リソースR2の割込要求フラグが無効状態(OFF)から有効状態(ON)に設定されている。また、設定時刻t2を例に挙げると、リソースR2の割込実績フラグが無効状態(OFF)から有効状態(ON)に設定されている。この関連付けテーブル700は、RAM203、磁気ディスク205、光ディスク207などの記憶領域によって実現される。
Taking the set time t1 as an example, the interrupt request flag of the resource R2 is set from the invalid state (OFF) to the valid state (ON). Taking the set time t2 as an example, the interrupt record flag of the resource R2 is set from the invalid state (OFF) to the valid state (ON). The association table 700 is realized by storage areas such as the
作成部408は、関連付け部407によって関連付けられた関連付け結果に基づいて、リソースR1〜Rnごとの割り込みの実行状況をあらわす遷移グラフを作成する機能を有する。具体的には、たとえば、リソースR1〜Rnごとの割り込みの実行状況と、リソースR1〜Rnの割込要求フラグおよび割込実績フラグの設定時刻とを対応付けてあらわす遷移グラフを作成することとしてもよい。なお、作成部408によって作成された作成結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
The
このとき、決定部405による決定結果から、遷移グラフ内の割り込みが未実行のまま割込要求フラグが無効状態となる箇所を特定し、その箇所を強調表示することとしてもよい。より具体的には、たとえば、特定された箇所を点線などで囲うこととしてもよく、また、他の箇所とは異なる色でカラーリングすることとしてもよい。さらに、警告メッセージを付加することとしてもよい。
At this time, from the determination result by the
また、出力部406は、作成部408によって作成されたグラフを出力することとしてもよい。ここで、図7に示した関連付けテーブル700の記憶内容に基づいて作成される遷移グラフについて説明する。ここでは、作成部408は、シミュレーション時刻の時間軸に沿って、各リソースR1〜Rnの設定内容が変更されたポイントをプロットすることで、割り込みの時間的経過をあらわす遷移グラフを作成する。
The
図8は、遷移グラフの具体例を示す説明図である。図8において、遷移グラフ800は、リソースR1,R2,R3の割り込みの実行状況をあらわすグラフである。なお、割込番号は、各リソースR1〜Rnに予め付与されている識別番号である。また、図8中、▲は割込要因セットを、▼は割込要因クリアを示している。割込要因セットとは割込要求フラグが有効状態となることを示しており、割込要因クリアとは割込要求フラグが無効状態となることを示している。
FIG. 8 is an explanatory diagram of a specific example of the transition graph. In FIG. 8, a
この遷移グラフ800によれば、ソフトウェア開発者は、メイン処理の実行中において、まず、リソースR2の割り込みが発生し(シミュレーション時刻t2)、このあと、リソースR1の割り込みが発生し(シミュレーション時刻t5)、最後に、リソースR2の割り込みが発生(シミュレーション時刻t10)していることを把握することができる。
According to the
また、点線枠で示す警告810により、シミュレーション時刻t7に発生すべきリソースR3の割り込みが未実行となったことを把握することができる。これは、リソースR1の割込関数内でリソースR3の割込要因ビットを「0」とする書込イベントが発生し、リソースR3の割り込みが発生する前に割込要因がクリアされたことにより起こった事象である。 Further, it is possible to grasp that the interrupt of the resource R3 to be generated at the simulation time t7 has not been executed by the warning 810 indicated by the dotted frame. This occurs because a write event that sets the interrupt factor bit of resource R3 to “0” in the interrupt function of resource R1 and the interrupt factor is cleared before the interrupt of resource R3 occurs Event.
また、作成部408は、決定部405によって警告が必要であると決定された場合、検証対象プログラム内のリソースRiの割り込みに関する記述を強調表示する警告画面を作成することとしてもよい。具体的には、たとえば、リソースRiの名称を手掛かりに、検証対象プログラムの中から該当箇所(たとえば、割込関数)を検索し、その該当箇所を強調表示する警告画面を作成することとしてもよい。
In addition, when the
また、出力部406は、作成部408によって作成された警告画面を出力することとしてもよい。ここで、図2に示したディスプレイ208に表示される警告画面について説明する。図9は、警告画面の具体例を示す説明図である。図9において、ディスプレイ208には、リソースR3の割り込みに関する警告画面910および警告メッセージ920が表示されている。
The
具体的には、警告画面910には、ユーザプログラムCの一部が表示されており、リソースR3の割り込みに関する記述が強調表示(図9中符号930)されている。また、警告メッセージ920には、ユーザプログラムCにおけるリソースR3の割り込みに関する記述の行番号(6行目)とともに、リソースR3の割り込みが未実行であることを示すメッセージが表示されている。
Specifically, a part of the user program C is displayed on the
ソフトウェア開発者は、出力された警告画面910および警告メッセージ920を確認することで、リソースR3の割り込みが発生する前に割込要因がクリアされた事象を把握することができる。さらに、ユーザプログラムCの中からリソースR3の割り込みに関するコード行を容易に特定することができる。
By confirming the
多重割込判定部409は、割込要求判定部403によって割込要求フラグが有効状態と判定され、かつ、割込実績判定部404によって割込実績フラグが無効状態と判定された場合に、実行ログテーブル300の記憶内容を参照して、リソースRiとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する機能を有する。
The multiple interrupt
ここで、割込要求フラグおよび割込実績フラグが有効状態とは、そのリソースの割り込みが発生し、現在実行中であることを示している。すなわち、多重割込判定部409は、リソースRiと他のリソースとの間で割り込みが競合(多重割り込み)していないか否かを判定することとなる。
Here, the interrupt request flag and the interrupt record flag being in a valid state indicate that the resource interrupt has occurred and is currently being executed. That is, the multiple interrupt
決定部405は、多重割込判定部409によってリソースRiとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、リソースRiの割り込みに関する警告が必要であると決定することとしてもよい。これにより、多重割り込みが発生している場合に限り、リソースRiの割り込みが未実行であることを示す警告メッセージを出力することができる。
When the multiple interrupt
たとえば、リソースR3の割込要求フラグが有効状態と判定され、かつ、割込実績フラグが無効状態と判定された場合を例に挙げると、リソースR1の割込要求フラグおよび割込実績フラグが有効状態となっている。この場合、リソースR1とリソースR3との多重割り込みにより、リソースR3の割り込みが未実行であることを示す警告メッセージを出力することとなる。 For example, when the interrupt request flag of the resource R3 is determined to be valid and the interrupt record flag is determined to be invalid, the interrupt request flag and interrupt record flag of the resource R1 are valid. It is in a state. In this case, a warning message indicating that the interrupt of the resource R3 is not executed is output due to the multiple interrupt of the resource R1 and the resource R3.
これは、リソースR3の割り込みの優先度に比べて、リソースR1の割り込みの優先度が高い場合に起こる事象である。これにより、割込要求があったにもかかわらず割り込みが未実行となる事象のうち、多重割り込みの発生時に低優先度の割り込みが未実行となる事象を絞り込んで警告することができる。 This is an event that occurs when the interrupt priority of the resource R1 is higher than the interrupt priority of the resource R3. This makes it possible to narrow down and warn of events in which a low-priority interrupt is not executed when multiple interrupts occur, among events in which an interrupt is not executed even when an interrupt request is made.
また、作成部408は、実行ログテーブル300の記憶内容に基づいて、任意のタイミングにおける各リソースR1〜Rnの割込実績をあらわす割込実績画面を作成することとしてもよい。具体的には、たとえば、任意のデバッグコマンドを指定することで、検証対象プログラムの実行が停止した時点での割込実績をあらわす割込実績画面を作成することとしてもよい。
Further, the creating
ここで、割込実績画面の具体例について説明する。図10は、割込実績画面の具体例を示す説明図である。図10において、ディスプレイ208には、各リソース(リロードタイマ、A/Dコンバータ、外部割り込み)の割込実績をあらわす割込実績画面1000が表示されている。具体的には、リソースごとに、リソース名、チャネル番号、割込番号、優先度および割込実績が表示されている。なお、チャネル番号は、各リソースの割り込みに使用される伝送路のチャネル番号である。
Here, a specific example of the interrupt record screen will be described. FIG. 10 is an explanatory diagram illustrating a specific example of an interrupt record screen. In FIG. 10, the
また、割込実績画面1000において、図2に示したキーボード210やマウス211をユーザが操作することでカーソルCを移動させてボタンB1〜B4をクリックすると、各種デバッグコマンドを指定することができる。たとえば、ボタンB2をクリックすると、連続実行中の検証対象プログラムが停止し、その時点での割込実績が割込実績画面1000に表示される。
On the interrupt record screen 1000, various debug commands can be specified by moving the cursor C and clicking the buttons B1 to B4 by operating the
また、ボタンB3をクリックすると、一命令実行後の割込実績が割込実績画面1000に表示される。また、ボタンB4をクリックすると、特定のコード行までの検証対象プログラムが実行され、その時点での割込実績が割込実績画面1000に表示される。 Also, when the button B3 is clicked, the interrupt record after executing one instruction is displayed on the interrupt record screen 1000. When the button B4 is clicked, the program to be verified up to a specific code line is executed, and the interrupt record at that time is displayed on the interrupt record screen 1000.
ソフトウェア開発者は、割込実績画面1000を確認することで、I/Oレジスタ(たとえば、I/Oレジスタ500)の割込要因ビットおよび割込許可ビットの値を確認するなどの面倒な作業をおこなうことなく、時々刻々と変化する各リソース(リロードタイマ、A/Dコンバータ、外部割り込み)の割込実績を容易に把握することができる。 The software developer confirms the interrupt result screen 1000 to perform troublesome work such as checking the values of the interrupt factor bit and interrupt permission bit of the I / O register (for example, I / O register 500). Without performing, it is possible to easily grasp the interrupt record of each resource (reload timer, A / D converter, external interrupt) that changes every moment.
(検証支援装置の検証支援処理手順)
つぎに、本実施の形態にかかる検証支援装置101の検証支援処理手順について説明する。ここでは、検証対象プログラムの実行中に、ISS120からの書込イベント通知または割込イベント通知を受け付けた場合にコンピュータによって自動実行される検証支援処理手順について説明する。
(Verification support processing procedure of verification support device)
Next, a verification support processing procedure of the
図11は、検証支援処理手順の一例を示すフローチャート(その1)である。図11のフローチャートにおいて、まず、受付部401により、ISS120からの書込イベント通知を受け付けたか否かを判断する(ステップS1101)。ここで、書込イベント通知を受け付けるのを待って(ステップS1101:No)、受け付けた場合(ステップS1101:Yes)、受け付けた書込イベント通知からリソースRiを特定する(ステップS1102)。
FIG. 11 is a flowchart (part 1) illustrating an example of the verification support processing procedure. In the flowchart of FIG. 11, first, the
このあと、I/Oレジスタ500に記憶されているリソースRiの割込要因ビットを参照して、『割込要因ビット==1?』を判断する(ステップS1103)。ここで、『割込要因ビット=1』の場合(ステップS1103:Yes)、I/Oレジスタ500に記憶されているリソースRiの割込許可ビットを参照して、『割込許可ビット==1?』を判断する(ステップS1104)。 Thereafter, referring to the interrupt factor bit of the resource Ri stored in the I / O register 500, “interrupt factor bit == 1? ] Is determined (step S1103). Here, when “interrupt factor bit = 1” (step S1103: Yes), referring to the interrupt permission bit of the resource Ri stored in the I / O register 500, “interrupt permission bit == 1”. ? ] Is determined (step S1104).
ここで、『割込許可ビット=1』の場合(ステップS1104:Yes)、設定部402により、実行ログテーブル300に記憶されているリソースRiの割込要求フラグを有効状態に設定して(ステップS1105)、本フローチャートによる一連の処理を終了する。
Here, if “interrupt permission bit = 1” (step S1104: Yes), the
また、ステップS1103において『割込要因ビット≠1』の場合(ステップS1103:No)、または、ステップS1104において『割込許可ビット≠1』の場合(ステップS1104:No)には、割込要求判定部403により、実行ログテーブル300の記憶内容を参照して、リソースRiの割込要求フラグが有効状態となっているか否かを判定する(ステップS1106)。
If “interrupt factor bit ≠ 1” in step S1103 (step S1103: No), or if “interrupt permission bit ≠ 1” in step S1104 (step S1104: No), an interrupt request determination is made. The
ここで、割込要求フラグが有効状態の場合(ステップS1106:Yes)、割込実績判定部404により、実行ログテーブル300の記憶内容を参照して、リソースRiの割込実績フラグが有効状態となっているか否かを判定する(ステップS1107)。ここで、割込実績フラグが無効状態の場合(ステップS1107:No)、決定部405により、リソースRiの割り込みに関する警告が必要であると決定する(ステップS1108)。
Here, when the interrupt request flag is in the valid state (step S1106: Yes), the interrupt
そして、作成部408により、警告メッセージテンプレート600の挿入位置601にリソースRiのリソース名を挿入することで警告メッセージを作成する(ステップS1109)。このあと、出力部406により、作成された警告メッセージを出力して(ステップS1110)、最後に、設定部402により、実行ログテーブル300に記憶されているリソースRiの割込要求フラグおよび割込実績フラグを無効状態に設定して(ステップS1111)、本フローチャートによる一連の処理を終了する。
Then, the
また、ステップS1106において割込要求フラグが無効状態の場合(ステップS1106:No)、または、ステップS1107において割込実績フラグが有効状態の場合(ステップS1107:Yes)には、決定部405により、リソースRiの割り込みに関する警告が不要であると決定して(ステップS1112)、ステップS1111に移行する。
If the interrupt request flag is invalid in step S1106 (step S1106: No), or if the interrupt record flag is valid in step S1107 (step S1107: Yes), the determining
これによれば、リソースRiの割り込みが実行されていないにもかかわらず、割込要求フラグが有効状態から無効状態に変更される場合に、リソースRiの割り込みが未実行となる事象をユーザに警告することができる。 According to this, when the interrupt of the resource Ri is not executed, the user is warned of an event that the interrupt of the resource Ri is not executed when the interrupt request flag is changed from the valid state to the invalid state. can do.
図12は、検証支援処理手順の一例を示すフローチャート(その2)である。図12のフローチャートにおいて、まず、受付部401により、ISS120からの割込イベント通知を受け付けたか否かを判断する(ステップS1201)。
FIG. 12 is a flowchart (part 2) illustrating an example of the verification support processing procedure. In the flowchart of FIG. 12, first, the receiving
ここで、割込イベント通知を受け付けるのを待って(ステップS1201:No)、受け付けた場合(ステップS1201:Yes)、受け付けた割込イベント通知からリソースRiを特定する(ステップS1202)。 Here, waiting for receiving an interrupt event notification (step S1201: No), if received (step S1201: Yes), the resource Ri is identified from the received interrupt event notification (step S1202).
そして、設定部402により、実行ログテーブル300に記憶されているリソースRiの割込実績フラグを有効状態に設定して(ステップS1203)、本フローチャートによる一連の処理を終了する。
Then, the
これによれば、リソースRiの割り込みの発生時に、実行ログテーブル300に記憶されているリソースRiの割込実績フラグを有効状態に設定することができる。 According to this, when the interruption of the resource Ri occurs, the interrupt record flag of the resource Ri stored in the execution log table 300 can be set to the valid state.
以上説明したように、本実施の形態によれば、検証対象プログラムの検証時に、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合、その事象に関する警告メッセージをデバッグ情報としてユーザに提示することができる。これにより、何らかの原因により割り込みが発生しない事象を容易にチェックすることができる。 As described above, according to the present embodiment, when an event in which an interrupt is not executed occurs even when an interrupt request is issued, the warning message related to the event is debugged. It can be presented to the user as information. Thereby, it is possible to easily check an event in which an interrupt does not occur for some reason.
特に、多重割り込み発生時に、割り込みの発生を期待しているにもかかわらず低優先度の割り込みが未実行となる不測の事象を容易にチェックすることが可能となり、ソフトウェア開発者による不具合特定にかかる作業負担および作業時間を軽減することができる。また、各リソースの割り込みの状態をグラフ化して提示することにより、システムの想定外の動作を容易にチェックすることができる。 In particular, when multiple interrupts occur, it is possible to easily check for unforeseen events in which low-priority interrupts are not executed even though they are expected to generate interrupts, and it is necessary for software developers to identify defects. Work load and work time can be reduced. In addition, it is possible to easily check an unexpected operation of the system by presenting the interrupt state of each resource in a graph.
このようなことから、この検証支援プログラム、検証支援装置、および検証支援方法によれば、システムに潜在している問題点を、ソフトウェア開発の初期段階で改善することが可能となり、開発製品の品質向上および開発期間の短縮化を図ることができる。 For this reason, according to the verification support program, the verification support device, and the verification support method, it is possible to improve problems that are latent in the system at an early stage of software development. It is possible to improve and shorten the development period.
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。 The verification support method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, this program may be a medium that can be distributed via a network such as the Internet.
また、本実施の形態で説明した検証支援装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した検証支援装置101の機能(受付部401〜多重割込判定部409)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、検証支援装置101を製造することができる。
Further, the
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are disclosed with respect to the embodiment described above.
(付記1)検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効/無効状態を記憶するテーブルにアクセス可能なコンピュータを、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定手段、
前記第1および第2の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
(Supplementary note 1) For each resource that generates an interrupt during the execution of the program to be verified, a computer that can access a table that stores the valid / invalid state of the interrupt request flag and the interrupt record flag,
An accepting means for accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state;
A first determination unit configured to determine whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored content of the table when the event notification is received by the reception unit;
A second determination unit configured to determine whether or not the interrupt record flag of the arbitrary resource is in a valid state by referring to the stored content of the table when the event notification is received by the reception unit;
Determining means for determining whether or not a warning related to interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determining means;
An output means for outputting a warning message indicating that the interruption of the arbitrary resource has not been executed when the determination means determines that a warning is necessary;
Verification support program characterized by functioning as
(付記2)前記決定手段は、
前記第1の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第2の判定手段によって割込実績フラグが無効状態と判定された場合に、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする付記1に記載の検証支援プログラム。
(Supplementary note 2)
When the interrupt determination flag is determined to be valid by the first determination unit and the interrupt record flag is determined to be invalid by the second determination unit, a warning regarding the interrupt of the arbitrary resource is issued. The verification support program according to
(付記3)前記コンピュータを、
前記受付手段によって前記任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグおよび割込実績フラグを無効状態に設定する設定手段として機能させることを特徴とする付記1または2に記載の検証支援プログラム。
(Appendix 3)
When the event notification for setting the interrupt request flag of the arbitrary resource to an invalid state is accepted by the accepting unit, the interrupt request flag and the interrupt result flag of the arbitrary resource stored in the table are invalidated The verification support program according to
(付記4)前記受付手段は、
前記任意のリソースの割込要求フラグを有効状態に設定するイベント通知を受け付け、
前記設定手段は、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグを有効状態に設定することを特徴とする付記3に記載の検証支援プログラム。
(Appendix 4) The accepting means is:
Accept an event notification to set the interrupt request flag of the arbitrary resource to a valid state,
The setting means includes
4. The verification support program according to appendix 3, wherein when the event notification is received by the receiving unit, an interrupt request flag of the arbitrary resource stored in the table is set to a valid state.
(付記5)前記コンピュータを、
前記設定手段によって設定された設定内容と設定時刻とを関連付ける関連付け手段、
前記関連付け手段によって関連付けられた関連付け結果に基づいて、前記リソースごとの割り込みの実行状況をあらわすグラフを作成する作成手段として機能させ、
前記出力手段は、
前記作成手段によって作成されたグラフを出力することを特徴とする付記4に記載の検証支援プログラム。
(Supplementary note 5)
Association means for associating the setting content set by the setting means with the set time;
Based on the association result associated by the association unit, function as a creation unit that creates a graph representing the execution status of the interrupt for each resource,
The output means includes
The verification support program according to appendix 4, wherein the graph created by the creation means is output.
(付記6)前記作成手段は、
前記決定手段によって警告が必要であると決定された場合、前記検証対象プログラム内の前記任意のリソースの割り込みに関する記述を強調表示する警告画面を作成することを特徴とする付記4に記載の検証支援プログラム。
(Appendix 6) The creation means includes
5. The verification support according to appendix 4, wherein when the determination unit determines that a warning is necessary, a warning screen that highlights a description about the interrupt of the arbitrary resource in the verification target program is created. program.
(付記7)前記コンピュータを、
前記第1の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第2の判定手段によって割込実績フラグが無効状態と判定された場合に、前記テーブルの記憶内容を参照して、前記任意のリソースとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する第3の判定手段として機能させ、
前記決定手段は、
前記第3の判定手段によって前記他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする付記1〜6のいずれか一つに記載の検証支援プログラム。
(Appendix 7)
When the interrupt request flag is determined to be valid by the first determination means and the interrupt record flag is determined to be invalid by the second determination means, refer to the stored contents of the table. , Functioning as third determination means for determining whether or not the interrupt request flag and the interrupt record flag of another resource different from the arbitrary resource are in a valid state,
The determining means includes
When the third determination unit determines that the interrupt request flag and the interrupt record flag of the other resource are in a valid state, it determines that a warning regarding the interrupt of the arbitrary resource is necessary. The verification support program according to any one of
(付記8)付記1〜7のいずれか一つに記載の検証支援プログラムを記録したコンピュータに読み取り可能な記録媒体。
(Supplementary note 8) A computer-readable recording medium in which the verification support program according to any one of
(付記9)検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効/無効状態を記憶するテーブルにアクセス可能な検証支援装置であって、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定手段と、
前記第1および第2の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段と、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段と、
を備えることを特徴とする検証支援装置。
(Supplementary note 9) A verification support apparatus capable of accessing a table storing valid / invalid states of an interrupt request flag and an interrupt result flag for each resource that generates an interrupt during execution of a program to be verified,
An accepting means for accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state;
A first determination unit that determines whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored content of the table when the event notification is received by the reception unit;
When the event notification is received by the receiving means, referring to the stored contents of the table, a second determination means for determining whether or not the interrupt record flag of the arbitrary resource is in a valid state;
A determination unit that determines whether or not a warning regarding the interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determination units;
An output means for outputting a warning message indicating that an interrupt of the arbitrary resource has not been executed when the determination means determines that a warning is necessary;
A verification support apparatus comprising:
(付記10)制御手段および記憶手段を備え、検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効/無効状態を記憶するテーブルにアクセス可能なコンピュータが、
前記制御手段により、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定工程と、
前記制御手段により、前記第1および第2の判定工程によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定工程と、
前記制御手段により、前記決定工程によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力工程と、
を実行することを特徴とする検証支援方法。
(Additional remark 10) The computer which has a control means and a memory | storage means and can access the table which memorize | stores the valid / invalid state of an interruption request flag and an interruption performance flag for every resource which generates an interrupt during execution of a program for verification But,
An accepting step of accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state by the control means;
When the event notification is received by the receiving step by the control means, a first determination is made as to whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored contents of the table The judging process of
When the event notification is received by the receiving step by the control means, a second determination is made as to whether or not the interrupt record flag of the arbitrary resource is in a valid state with reference to the stored contents of the table The judging process of
A determination step of determining whether or not a warning regarding interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determination steps by the control unit;
An output step of outputting a warning message indicating that an interrupt of the arbitrary resource has not been executed, when the control means determines that a warning is required by the determination step;
The verification support method characterized by performing this.
以上のように、検証支援プログラム、検証支援装置、および検証支援方法は、組み込みシステムのソフトウェア開発に有用である。 As described above, the verification support program, the verification support apparatus, and the verification support method are useful for software development of embedded systems.
100 検証システム
101 検証支援装置
300 実行ログテーブル
401 受付部
402 設定部
403 割込要求判定部
404 割込実績判定部
405 決定部
406 出力部
407 関連付け部
408 作成部
409 多重割込判定部
DESCRIPTION OF
Claims (8)
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定手段、
前記第1および第2の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段、
として機能させることを特徴とする検証支援プログラム。 For each resource that generates an interrupt during the execution of the program to be verified, a computer that can access a table storing the valid / invalid state of the interrupt request flag and the interrupt record flag,
An accepting means for accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state;
A first determination unit configured to determine whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored content of the table when the event notification is received by the reception unit;
A second determination unit configured to determine whether or not the interrupt record flag of the arbitrary resource is in a valid state by referring to the stored content of the table when the event notification is received by the reception unit;
Determining means for determining whether or not a warning related to interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determining means;
An output means for outputting a warning message indicating that the interruption of the arbitrary resource has not been executed when the determination means determines that a warning is necessary;
Verification support program characterized by functioning as
前記第1の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第2の判定手段によって割込実績フラグが無効状態と判定された場合に、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする請求項1に記載の検証支援プログラム。 The determining means includes
When the interrupt determination flag is determined to be valid by the first determination unit and the interrupt record flag is determined to be invalid by the second determination unit, a warning regarding the interrupt of the arbitrary resource is issued. The verification support program according to claim 1, wherein the verification support program is determined to be necessary.
前記受付手段によって前記任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグおよび割込実績フラグを無効状態に設定する設定手段として機能させることを特徴とする請求項1または2に記載の検証支援プログラム。 The computer,
When the event notification for setting the interrupt request flag of the arbitrary resource to an invalid state is accepted by the accepting unit, the interrupt request flag and the interrupt result flag of the arbitrary resource stored in the table are invalidated The verification support program according to claim 1, wherein the verification support program functions as a setting unit for setting to the verification.
前記任意のリソースの割込要求フラグを有効状態に設定するイベント通知を受け付け、
前記設定手段は、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグを有効状態に設定することを特徴とする請求項3に記載の検証支援プログラム。 The accepting means is
Accept an event notification to set the interrupt request flag of the arbitrary resource to a valid state,
The setting means includes
The verification support program according to claim 3, wherein when the event notification is received by the receiving unit, the interrupt request flag of the arbitrary resource stored in the table is set to a valid state.
前記設定手段によって設定された設定内容と設定時刻とを関連付ける関連付け手段、
前記関連付け手段によって関連付けられた関連付け結果に基づいて、前記リソースごとの割り込みの実行状況をあらわすグラフを作成する作成手段として機能させ、
前記出力手段は、
前記作成手段によって作成されたグラフを出力することを特徴とする請求項4に記載の検証支援プログラム。 The computer,
Association means for associating the setting content set by the setting means with the set time;
Based on the association result associated by the association unit, function as a creation unit that creates a graph representing the execution status of the interrupt for each resource,
The output means includes
The verification support program according to claim 4, wherein the graph created by the creation unit is output.
前記第1の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第2の判定手段によって割込実績フラグが無効状態と判定された場合に、前記テーブルの記憶内容を参照して、前記任意のリソースとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する第3の判定手段として機能させ、
前記決定手段は、
前記第3の判定手段によって前記他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする請求項1〜5のいずれか一つに記載の検証支援プログラム。 The computer,
When the interrupt request flag is determined to be valid by the first determination means and the interrupt record flag is determined to be invalid by the second determination means, refer to the stored contents of the table. , Functioning as third determination means for determining whether or not the interrupt request flag and the interrupt record flag of another resource different from the arbitrary resource are in a valid state,
The determining means includes
When the third determination unit determines that the interrupt request flag and the interrupt record flag of the other resource are in a valid state, it determines that a warning regarding the interrupt of the arbitrary resource is necessary. The verification support program according to any one of claims 1 to 5.
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定手段と、
前記第1および第2の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段と、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段と、
を備えることを特徴とする検証支援装置。 A verification support apparatus capable of accessing a table storing valid / invalid states of an interrupt request flag and an interrupt record flag for each resource that generates an interrupt during execution of a program to be verified,
An accepting means for accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state;
A first determination unit that determines whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored content of the table when the event notification is received by the reception unit;
When the event notification is received by the receiving means, referring to the stored contents of the table, a second determination means for determining whether or not the interrupt record flag of the arbitrary resource is in a valid state;
A determination unit that determines whether or not a warning regarding the interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determination units;
An output means for outputting a warning message indicating that an interrupt of the arbitrary resource has not been executed when the determination means determines that a warning is necessary;
A verification support apparatus comprising:
前記制御手段により、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第1の判定工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第2の判定工程と、
前記制御手段により、前記第1および第2の判定工程によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定工程と、
前記制御手段により、前記決定工程によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力工程と、
を実行することを特徴とする検証支援方法。 A computer comprising a control means and a storage means, and capable of accessing a table storing valid / invalid states of an interrupt request flag and an interrupt result flag for each resource that generates an interrupt during execution of a verification target program,
An accepting step of accepting an event notification for setting an interrupt request flag of an arbitrary resource to an invalid state by the control means;
When the event notification is received by the receiving step by the control means, a first determination is made as to whether or not the interrupt request flag of the arbitrary resource is in a valid state with reference to the stored contents of the table The judging process of
When the event notification is received by the receiving step by the control means, a second determination is made as to whether or not the interrupt record flag of the arbitrary resource is in a valid state with reference to the stored contents of the table The judging process of
A determination step of determining whether or not a warning regarding interruption of the arbitrary resource is necessary based on the determination result determined by the first and second determination steps by the control unit;
An output step of outputting a warning message indicating that an interrupt of the arbitrary resource has not been executed, when the control means determines that a warning is required by the determination step;
The verification support method characterized by performing this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223340A JP5239647B2 (en) | 2008-09-01 | 2008-09-01 | Verification support program, verification support apparatus, and verification support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008223340A JP5239647B2 (en) | 2008-09-01 | 2008-09-01 | Verification support program, verification support apparatus, and verification support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010061198A true JP2010061198A (en) | 2010-03-18 |
JP5239647B2 JP5239647B2 (en) | 2013-07-17 |
Family
ID=42187958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008223340A Expired - Fee Related JP5239647B2 (en) | 2008-09-01 | 2008-09-01 | Verification support program, verification support apparatus, and verification support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5239647B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04343147A (en) * | 1991-05-20 | 1992-11-30 | Fujitsu Ltd | Interrupt control method |
JPH0635757A (en) * | 1992-07-17 | 1994-02-10 | Sony Corp | Abnormality detector of cpu |
JPH11338712A (en) * | 1998-05-22 | 1999-12-10 | Nec Corp | Interruption sequence saving circuit |
JP2001323836A (en) * | 2000-05-17 | 2001-11-22 | Denso Corp | Abnormality detection method for crank synchronous task |
JP2003162432A (en) * | 2001-11-27 | 2003-06-06 | Canon Inc | Interrupt information recording apparatus |
-
2008
- 2008-09-01 JP JP2008223340A patent/JP5239647B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04343147A (en) * | 1991-05-20 | 1992-11-30 | Fujitsu Ltd | Interrupt control method |
JPH0635757A (en) * | 1992-07-17 | 1994-02-10 | Sony Corp | Abnormality detector of cpu |
JPH11338712A (en) * | 1998-05-22 | 1999-12-10 | Nec Corp | Interruption sequence saving circuit |
JP2001323836A (en) * | 2000-05-17 | 2001-11-22 | Denso Corp | Abnormality detection method for crank synchronous task |
JP2003162432A (en) * | 2001-11-27 | 2003-06-06 | Canon Inc | Interrupt information recording apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP5239647B2 (en) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6871327B2 (en) | Method and apparatus for extending coverage of GUI tests | |
US8645912B2 (en) | System and method for use in replaying software application events | |
US7516406B1 (en) | Partial functionality indicator | |
US9600519B2 (en) | Method and system to detect changes to graphical user interface screenshots used in documentation | |
JP4685171B2 (en) | Identifying design errors in electronic forms | |
US8312415B2 (en) | Using code analysis for requirements management | |
US7921370B1 (en) | Object-level text-condition indicators | |
US7178136B2 (en) | Debugging step-back button | |
JPH09101949A (en) | Method and system for support of interactive text correctionand user guidance | |
US20090150870A1 (en) | Method, Apparatus, and Computer Program Product for Implementing Enhanced Template Debug | |
JPH07261963A (en) | Method and system for operation of graphical object | |
WO2013154448A1 (en) | Method and system for automatically establishing a hierarchical parameterized cell (pcell) debugging environment | |
JP2009140229A (en) | Method for displaying help information, and computer | |
US6944795B2 (en) | Method and apparatus for stabilizing GUI testing | |
JP2005520228A (en) | System and method for providing prominent image elements in a graphical user interface display | |
TW200903338A (en) | Transactional debugger for a transactional memory system | |
US20130080892A1 (en) | Information processing device, gui manipulation assistance method, and computer-readable recording medium | |
JP5293165B2 (en) | Simulation support program, simulation apparatus, and simulation support method | |
JP5239647B2 (en) | Verification support program, verification support apparatus, and verification support method | |
US20100095279A1 (en) | Method for automatically testing menu items of application software | |
CN115543835A (en) | Method and device for testing front-end page, testing equipment and storage medium | |
JP2008158882A (en) | Information processor, pop-up window display control method, program, and recording medium | |
JPH08106540A (en) | Editor | |
JP3463331B2 (en) | Menu selection method | |
JP5319643B2 (en) | Software product line development support apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130128 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5239647 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |