(57)【要約】【課題】多重割り込み発生時などに低優先度の割り込みが未実行となる不測の事象を警告することにより、検証作業にかかる作業負担および作業時間を軽減させること。【解決手段】リソースＲｉの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブルの記憶内容を参照して、リソースＲｉの割込要求フラグが有効状態となっているか否かを判定するとともにリソースＲｉの割込実績フラグが有効状態となっているか否かを判定する。そして、その判定結果に基づいて、リソースＲｉの割り込みに関する警告の要否を決定し、警告が必要であると決定された場合に、リソースＲｉの割り込みが未実行であることを示す警告メッセージを出力する。【選択図】図１１
2010061198.tif 000002
【特許請求の範囲】
【請求項１】
検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能なコンピュータを、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定手段、
前記第１および第２の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
【請求項２】
前記決定手段は、
前記第１の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第２の判定手段によって割込実績フラグが無効状態と判定された場合に、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする請求項１に記載の検証支援プログラム。
【請求項３】
前記コンピュータを、
前記受付手段によって前記任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグおよび割込実績フラグを無効状態に設定する設定手段として機能させることを特徴とする請求項１または２に記載の検証支援プログラム。
【請求項４】
前記受付手段は、
前記任意のリソースの割込要求フラグを有効状態に設定するイベント通知を受け付け、
前記設定手段は、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグを有効状態に設定することを特徴とする請求項３に記載の検証支援プログラム。
【請求項５】
前記コンピュータを、
前記設定手段によって設定された設定内容と設定時刻とを関連付ける関連付け手段、
前記関連付け手段によって関連付けられた関連付け結果に基づいて、前記リソースごとの割り込みの実行状況をあらわすグラフを作成する作成手段として機能させ、
前記出力手段は、
前記作成手段によって作成されたグラフを出力することを特徴とする請求項４に記載の検証支援プログラム。
【請求項６】
前記コンピュータを、
前記第１の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第２の判定手段によって割込実績フラグが無効状態と判定された場合に、前記テーブルの記憶内容を参照して、前記任意のリソースとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する第３の判定手段として機能させ、
前記決定手段は、
前記第３の判定手段によって前記他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする請求項１〜５のいずれか一つに記載の検証支援プログラム。
【請求項７】
検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能な検証支援装置であって、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定手段と、
前記第１および第２の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段と、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段と、
を備えることを特徴とする検証支援装置。
【請求項８】
制御手段および記憶手段を備え、検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能なコンピュータが、
前記制御手段により、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定工程と、
前記制御手段により、前記第１および第２の判定工程によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定工程と、
前記制御手段により、前記決定工程によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力工程と、
を実行することを特徴とする検証支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、システムに対する割り込みの状態をデバッグ情報として提示する技術に関し、特に、多重割り込み発生時に優先度の低い割り込みが未実行となるケースを警告する技術に関する。
【背景技術】
【０００２】
一般に、組み込みシステムのソフトウェア開発では、外部割り込み、タイマ割り込み、Ａ／Ｄ変換完了割り込みなど複数の割り込みを使ってシステムの機能を実現している。しかし、割り込みの発生を期待しているにもかかわらず、何らかの原因により割り込みが発生せず、システムが意図した通りに動作しない場合がある。このため、割り込みが正常におこなわれているか否かを検証する必要がある。
【０００３】
従来において、マイクロプロセッサが誤動作し、割込処理は正常におこなわれているもののプログラム実行アドレスが実際のプログラム領域とは異なるアドレスを実行しているような暴走状態になった場合に、制御用マイクロプロセッサシステムのアラーム信号を出力する技術が開示されている（たとえば、下記特許文献１参照。）。
【０００４】
【特許文献１】特開平４−５８３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、多重割り込み発生時などに優先度の低い割り込みが未実行となるような不測の事象が発生した場合に、その状態を知るための手段がデバッグ環境として用意されていなかった。このため、期待する割り込みが発生せず、システムが意図した通りに動作しない場合に、その不具合を特定するのに手間と時間がかかり、ひいては開発期間の長期化を招くという問題があった。
【０００６】
この開示技術は、上述した従来技術による問題点を解消するため、多重割り込み発生時などに低優先度の割り込みが未実行となる事象をユーザに警告することにより、迅速な不具合特定を可能とし、開発製品の品質向上および開発期間の短縮化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この開示技術は、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付け、前記イベント通知を受け付けた場合、リソースごとの割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定し、前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定し、判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定し、警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力することを要件とする。
【０００８】
この開示技術によれば、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合に、その割り込みに関する警告メッセージを出力することができる。
【発明の効果】
【０００９】
この開示技術によれば、多重割り込み発生時などに低優先度の割り込みが未実行となる事象をユーザに警告することにより、迅速な不具合特定を可能とし、開発製品の品質向上および開発期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この検証支援プログラム、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。この検証支援プログラム、検証支援装置、および検証支援方法では、リソースの割込要因ビットおよび割込許可ビットの値が更新されたときに、割り込みが未実行となる事象の発生をチェックし、警告メッセージをユーザに提示することで、ソフトウェア開発の検証作業を支援する。
【００１１】
（検証システムのシステム構成）
まず、実施の形態にかかる検証システムのシステム構成について説明する。図１は、検証システムのシステム構成図である。図１において、検証システム１００は、検証支援装置１０１に構築されるデバッグ環境であり、検証対象となるユーザプログラムの実行中に割り込みの未発生警告をおこなう。
【００１２】
この検証システム１００は、ソフトウェアデバッガ１１０と、命令セットシミュレータ１２０（ＩＳＳ：Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｓｉｍｕｌａｔｏｒ）と、を含む構成である。ソフトウェアデバッガ１１０は、検証支援装置１０１を使用するソフトウェア開発者が操作するツールである。
【００１３】
デバッグコマンドとしては、たとえば、Ｒｕｎコマンド、Ｓｔｏｐコマンド、ＳｔｅｐコマンドおよびＢｒｅａｋコマンドがある。Ｒｕｎコマンドは、ユーザプログラムを連続実行させるコマンドである。Ｓｔｏｐコマンドは、連続実行中のユーザプログラムを停止させるコマンドである。
【００１４】
Ｓｔｅｐコマンドは、一命令ごとにユーザプログラムを実行させるコマンドである。Ｂｒｅａｋコマンドは、ユーザプログラムのある特定のコード行で、ユーザプログラムの実行を停止させるコマンドである。ソフトウェア開発者は、これらのデバッグコマンドを用いて、ソフトウェアデバッガ１１０を制御する。
【００１５】
ＩＳＳ１２０は、命令セットプロセッサの動作をシミュレーションすることができるシミュレータである。このＩＳＳ１２０は、ソフトウェアデバッガ１１０の中に組み込まれ、ソフトウェアデバッガ１１０により制御される。具体的には、ソフトウェア開発者によるコマンド操作により、ＩＳＳ１２０の中でプログラムが動作する。
【００１６】
また、ＩＳＳ１２０は、ＩＥ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｅｘｅｃｕｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）機能と、ＮＥ（Ｎｏｔｉｆｙ  Ｅｖｅｎｔ  Ｆｕｎｃｔｉｏｎ）機能と、ＩＣ（Ｉｎｔｅｒｒｕｐｔｉｏｎ  Ｃｈｅｃｋ  Ｆｕｎｃｔｉｏｎ）機能と、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｆｕｎｃｔｉｏｎ）機能と、を有している。
【００１７】
これら機能は、検証システム１００を実現するために必要となる機能の一例である。ＩＥ機能は、命令が実行されたとき（割り込みが発生したとき）に割込関数を呼び出す機能である。ＮＥ機能は、各種イベントが発生したことを検知・通知する機能である。ＩＣ機能は、割り込みの競合状態をチェックする機能である。ＵＩ機能は、ユーザインターフェースを実現するための機能である。
【００１８】
一般に、組み込みシステムのソフトウェア開発では、複数の割り込みを使ってシステムの機能を実現している。これら割り込みの種類は多岐にわたり、２つ以上の割り込みを同時に使用する場合もある。ところが、多重割り込み発生時に、不適切な割込要因クリア処理により、割り込みの発生を期待しているにもかかわらず、優先度の低い割り込みが未実行となるような不測の事象が発生する場合がある。このため、このような不測の事象が発生した場合における不具合を特定するための仕組みが必要となる。
【００１９】
従来では、このような不具合を特定するために、デバッガを停止して各種Ｉ／Ｏレジスタの割込要因ビットおよび割込レベルをチェックする、あるいは、割込関数にデバッグ用の実行コードを埋め込むことで割り込み発生の有無を確認するなどの対策がおこなわれていた。しかし、これらの作業はソフトウェア開発者による手作業でおこなわれ、非常に手間がかかるという問題があった。また、検証対象プログラムをデバッグのために書き換えることは、検証対象自体が変化することとなるため好ましくない。
【００２０】
そこで、本実施の形態では、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合に、その旨をソフトウェア開発者に警告する仕組みを提案する。なお、意図的に優先度の低い割り込みが実行されないことを期待するプログラムを作り込むことも想定されるが、ここでは、意図しているものも含めて未発生警告をおこなう。
【００２１】
（検証支援装置のハードウェア構成）
つぎに、実施の形態にかかる検証支援装置１０１のハードウェア構成について説明する。図２は、検証支援装置のハードウェア構成を示すブロック図である。図２において、検証支援装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２２】
ここで、ＣＰＵ２０１は、検証支援装置１０１の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２３】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２４】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２５】
インターフェース（以下、「Ｉ／Ｆ」と略する。）２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２６】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２７】
スキャナ２１２は、画像を光学的に読み取り、検証支援装置１０１内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２８】
（実行ログテーブルの記憶内容）
つぎに、検証支援装置１０１に用いられる実行ログテーブルの記憶内容について説明する。図３は、実行ログテーブルの記憶内容を示す説明図である。図３において、実行ログテーブル３００には、検証対象プログラムの実行中に割り込みを発生させるリソースごとの実行ログ３００−１〜３００−ｎが記憶されている。
【００２９】
具体的には、実行ログ３００−１〜３００−ｎは、リソース名、割込要求フラグおよび割込実績フラグを有している。リソース名は、リソースを識別する名称である。割込要求フラグは、割込要求の有無を示すフラグである。ここでは、割込要求があった場合に「ＯＦＦ」から「ＯＮ」となる。割込実績フラグは、割り込みが発生したか否かを示すフラグである。ここでは、割り込みが発生した場合に「ＯＦＦ」から「ＯＮ」となる。
【００３０】
ここで、実行ログ３００−１を例に挙げると、リソースＲ１の割込要求フラグが「ＯＮ」、割込実績フラグが「ＯＮ」となっている。これは、リソースＲ１の割り込みが発生し、現在実行中であることを示している。
【００３１】
（検証支援装置の機能的構成）
つぎに、検証支援装置１０１の機能的構成について説明する。図４は、検証支援装置の機能的構成を示すブロック図である。図４において、検証支援装置１０１は、受付部４０１と、設定部４０２と、割込要求判定部４０３と、割込実績判定部４０４と、決定部４０５と、出力部４０６と、関連付け部４０７と、作成部４０８と、多重割込判定部４０９と、を含む構成である。
【００３２】
この制御部となる機能（受付部４０１〜多重割込判定部４０９）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３３】
まず、受付部４０１は、検証対象プログラムの入力を受け付ける機能を有する。検証対象プログラムとは、たとえば、組み込みシステムの機能を実現するために開発されるソフトウェアである。この検証対象プログラムは、たとえば、図２に示したキーボード２１０やマウス２１１をユーザが操作することで検証支援装置１０１に直接入力することとしてもよく、また、データベースからの抽出により取得することとしてもよい。
【００３４】
検証支援装置１０１に検証対象プログラムが入力されると、ユーザがソフトウェアデバッガ１１０を操作することで、ＩＳＳ１２０（図１参照）の中で検証対象プログラムが動作することとなる。なお、受付部４０１によって受け付けた受付結果は、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３５】
また、受付部４０１は、リソースＲｉ（ｉ＝１，２，…，ｎ）の割込要求フラグを無効状態に設定するイベント通知を受け付ける機能を有する。リソースとは、たとえば、割り込みを発生させる機器であり、リロードタイマ、Ａ／Ｄコンバータ、外部割り込みなどがある。なお、外部割り込みとは、図２に示したキーボード２１０やマウス２１１などのユーザインターフェースの総称である。
【００３６】
具体的には、たとえば、受付部４０１は、検証対象プログラムの実行を制御するＩＳＳ１２０からソフトウェアデバッガ１１０に通知されるイベント通知を受け付けることとしてもよい。このイベント通知には、リソースＲｉの割り込みが発生したことを通知する割込イベント通知や、Ｉ／Ｏレジスタに対する書き込みがおこなわれたことを通知する書込イベント通知が含まれる。
【００３７】
Ｉ／Ｏレジスタは、リソースＲ１〜Ｒｎを制御するためにＲＡＭ２０３などに設けられる記憶領域であり、リソースＲ１〜Ｒｎごとの割込要因ビットおよび割込許可ビットを記憶する。ここで、Ｉ／Ｏレジスタの記憶内容について説明する。図５は、Ｉ／Ｏレジスタの記憶内容を示す説明図である。
【００３８】
図５において、Ｉ／Ｏレジスタ５００には、リソースＲ１〜Ｒｎごとの割込要因ビットおよび割込許可ビットが記憶されている。これら各リソースＲ１〜Ｒｎの割込要因ビットおよび割込許可ビットは、ＩＳＳ１２０により検証対象プログラムによって書き換えられる。
【００３９】
具体的には、たとえば、リロードタイマの場合、予め設定された時間間隔で発生する割込信号に応じて、割込関数が呼び出される。また、Ａ／Ｄコンバータの場合、アナログ信号からデジタル信号への変換完了時に発生する割込信号に応じて、割込関数が呼び出される。また、外部割り込みの場合、ユーザによるキーボード２１０やマウス２１１などの操作入力により発生する割込信号に応じて、割込関数が呼び出される。
【００４０】
なお、多重割り込み発生時には、各リソースＲ１〜Ｒｎの優先度に従って、関数呼び出しがおこなわれる。また、外部割り込みを実現するためには、たとえば、外部の環境をシミュレーションするシミュレーション環境をＩＳＳ１２０とは別に作り込むこととなる。そして、外部のシミュレーション環境とＩＳＳ１２０とを連動させてシステム全体を動作させることで、外部割り込みの割込信号を検出する。また、割込信号の発生要因はシミュレーション中のユーザの操作入力となるが、ランダムに発生するようなプログラムを作り込むこととしてもよい。
【００４１】
ＩＳＳ１２０は、Ｉ／Ｏレジスタ５００に対する書き込みをおこなった場合、ＮＥ機能により、Ｉ／Ｏレジスタ５００に対する書込イベントをソフトウェアデバッガ１１０に通知する。詳細は後述するが、ＩＳＳ１２０によるＩ／Ｏレジスタ５００に対する書き込みにより、リソースＲｉの割込要因ビットまたは割込許可ビットが「０」となった場合、リソースＲｉの割込要求フラグが無効状態に設定される。
【００４２】
つまり、割込要求フラグを無効状態に設定するイベント通知とは、割込要因ビットまたは割込許可ビットに「０」を書き込む書込イベント通知である。また、このイベント通知には、リソースＲｉを特定するための情報（たとえば、リソース名、割込番号、Ｉ／Ｏレジスタのレジスタ番号など）が含まれている。
【００４３】
設定部４０２は、受付部４０１によってリソースＲｉの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル３００に記憶されているリソースＲｉの割込要求フラグおよび割込実績フラグを無効状態に設定する機能を有する。上述したように、割込要求フラグを無効状態に設定するイベント通知とは、割込要因ビットまたは割込許可ビットを「０」とする書込イベント通知である。
【００４４】
また、設定部４０２は、受付部４０１によってリソースＲｉの割込要求フラグを有効状態に設定するイベント通知を受け付けた場合、実行ログテーブル３００に記憶されているリソースＲｉの割込要求フラグを有効状態に設定する。割込要求フラグを有効状態に設定するイベント通知とは、割込要因ビットおよび割込許可ビットがともに「１」となる書込イベント通知である。
【００４５】
また、設定部４０２は、受付部４０１によってリソースＲｉの割り込みが発生したことを通知するイベント通知を受け付けた場合、実行ログテーブル３００に記憶されているリソースＲｉの割込実績フラグを有効状態に設定する。割り込みが発生したことを通知するイベント通知とは、割込イベント通知である。
【００４６】
このように、ＩＳＳ１２０からソフトウェアデバッガ１１０に通知されるイベント通知を受け付ける都度、割込要求フラグおよび割込実績フラグの有効／無効状態を設定することで、実行ログテーブル３００の記憶内容を検証対象プログラムの実行状況にあわせて更新することができる。
【００４７】
割込要求判定部４０３は、受付部４０１によってリソースＲｉの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル３００の記憶内容を参照して、リソースＲｉの割込要求フラグが有効状態となっているか否かを判定する機能を有する。具体的には、受け付けたイベント通知からリソースＲｉを特定し、特定されたリソースＲｉの実行ログ３００−１〜３００−ｎの割込要求フラグを参照する。
【００４８】
たとえば、イベント通知からリソースＲ３が特定された場合、実行ログ３００−３の割込要求フラグを参照して、有効状態となっているか否かを判定する。ここでは、リソースＲ３の割込要求フラグが「ＯＮ」となっているため、割込要求フラグが有効状態と判定することとなる。
【００４９】
割込実績判定部４０４は、受付部４０１によってリソースＲｉの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、実行ログテーブル３００の記憶内容を参照して、リソースＲｉの割込実績フラグが有効状態となっているか否かを判定する機能を有する。具体的には、受け付けたイベント通知からリソースＲｉを特定し、特定されたリソースＲｉの実行ログ３００−１〜３００−ｎの割込実績フラグを参照する。
【００５０】
たとえば、イベント通知からリソースＲ３が特定された場合、実行ログ３００−３の割込実績フラグを参照して、有効状態となっているか否かを判定する。ここでは、リソースＲ３の割込実績フラグが「ＯＦＦ」となっているため、割込実績フラグが無効状態と判定することとなる。なお、割込要求判定部４０３および割込実績判定部４０４によって判定された判定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５１】
決定部４０５は、割込要求判定部４０３および割込実績判定部４０４によって判定された判定結果に基づいて、リソースＲｉの割り込みに関する警告の要否を決定する機能を有する。リソースＲｉの割り込みに関する警告とは、リソースＲｉの割り込みが未実行となることをユーザに報知するものである。
【００５２】
具体的には、たとえば、割込要求判定部４０３によって割込要求フラグが有効状態と判定され、かつ、割込実績判定部４０４によって割込実績フラグが無効状態と判定された場合に、リソースＲｉの割り込みに関する警告が必要であると決定することとしてもよい。これにより、割込要求があったにもかかわらず割り込みが実行されることなく割込要求フラグが無効状態となる場合に警告をおこなうことができる。なお、決定部４０５によって決定された決定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５３】
出力部４０６は、決定部４０５によって警告が必要であると決定された場合、リソースＲｉの割り込みが未実行であることを示す警告メッセージを出力する機能を有する。具体的には、たとえば、警告メッセージテンプレートに警告対象のリソース名を挿入することで、警告メッセージを出力することとしてもよい。
【００５４】
なお、出力形式としては、たとえば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。
【００５５】
ここで、警告メッセージテンプレートの具体例について説明する。図６は、警告メッセージテンプレートの具体例を示す説明図である。図６において、警告メッセージテンプレート６００は、割り込みが未実行であることを警告する警告メッセージのテンプレートである。
【００５６】
作成部４０８は、この警告メッセージテンプレート６００の挿入位置６０１に警告対象のリソースＲｉのリソース名を挿入することで、警告メッセージを作成することができる。たとえば、リソースＲ３の割り込みに関する警告が必要であると決定された場合、挿入位置６０１に『リソースＲ３』が挿入された警告メッセージを作成することとなる。
【００５７】
ソフトウェア開発者は、出力された警告メッセージを確認することで、割込要求があったにもかかわらず未実行となった割り込みの存在を把握することができる。なお、警告メッセージテンプレート６００は、たとえば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶されている。
【００５８】
関連付け部４０７は、設定部４０２によって設定された設定内容と設定時刻とを関連付ける機能を有する。設定時刻とは、実行ログテーブル３００に記憶されている各リソースＲ１〜Ｒｎの割込要求フラグおよび割込実績フラグの有効／無効状態が設定された時刻である。なお、この設定時刻は、検証対象プログラムを実行するシミュレーションのシミュレーション時刻（たとえば、クロックサイクル）であり、たとえば、検証支援装置１０１において計測される。
【００５９】
ここで、関連付け部４０７による関連付け結果を記憶する関連付けテーブルの具体例について説明する。図７は、関連付けテーブルの具体例を示す説明図である。図７において、関連付けテーブル７００には、設定時刻ｔ１〜ｔ１１ごとに、各リソースＲ１〜Ｒｎの割込要求フラグおよび割込実績フラグに関する設定内容が記憶されている。なお、図面では、関連付け結果の一部を抜粋して表示している。
【００６０】
設定時刻ｔ１を例に挙げると、リソースＲ２の割込要求フラグが無効状態（ＯＦＦ）から有効状態（ＯＮ）に設定されている。また、設定時刻ｔ２を例に挙げると、リソースＲ２の割込実績フラグが無効状態（ＯＦＦ）から有効状態（ＯＮ）に設定されている。この関連付けテーブル７００は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域によって実現される。
【００６１】
作成部４０８は、関連付け部４０７によって関連付けられた関連付け結果に基づいて、リソースＲ１〜Ｒｎごとの割り込みの実行状況をあらわす遷移グラフを作成する機能を有する。具体的には、たとえば、リソースＲ１〜Ｒｎごとの割り込みの実行状況と、リソースＲ１〜Ｒｎの割込要求フラグおよび割込実績フラグの設定時刻とを対応付けてあらわす遷移グラフを作成することとしてもよい。なお、作成部４０８によって作成された作成結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６２】
このとき、決定部４０５による決定結果から、遷移グラフ内の割り込みが未実行のまま割込要求フラグが無効状態となる箇所を特定し、その箇所を強調表示することとしてもよい。より具体的には、たとえば、特定された箇所を点線などで囲うこととしてもよく、また、他の箇所とは異なる色でカラーリングすることとしてもよい。さらに、警告メッセージを付加することとしてもよい。
【００６３】
また、出力部４０６は、作成部４０８によって作成されたグラフを出力することとしてもよい。ここで、図７に示した関連付けテーブル７００の記憶内容に基づいて作成される遷移グラフについて説明する。ここでは、作成部４０８は、シミュレーション時刻の時間軸に沿って、各リソースＲ１〜Ｒｎの設定内容が変更されたポイントをプロットすることで、割り込みの時間的経過をあらわす遷移グラフを作成する。
【００６４】
図８は、遷移グラフの具体例を示す説明図である。図８において、遷移グラフ８００は、リソースＲ１，Ｒ２，Ｒ３の割り込みの実行状況をあらわすグラフである。なお、割込番号は、各リソースＲ１〜Ｒｎに予め付与されている識別番号である。また、図８中、▲は割込要因セットを、▼は割込要因クリアを示している。割込要因セットとは割込要求フラグが有効状態となることを示しており、割込要因クリアとは割込要求フラグが無効状態となることを示している。
【００６５】
この遷移グラフ８００によれば、ソフトウェア開発者は、メイン処理の実行中において、まず、リソースＲ２の割り込みが発生し（シミュレーション時刻ｔ２）、このあと、リソースＲ１の割り込みが発生し（シミュレーション時刻ｔ５）、最後に、リソースＲ２の割り込みが発生（シミュレーション時刻ｔ１０）していることを把握することができる。
【００６６】
また、点線枠で示す警告８１０により、シミュレーション時刻ｔ７に発生すべきリソースＲ３の割り込みが未実行となったことを把握することができる。これは、リソースＲ１の割込関数内でリソースＲ３の割込要因ビットを「０」とする書込イベントが発生し、リソースＲ３の割り込みが発生する前に割込要因がクリアされたことにより起こった事象である。
【００６７】
また、作成部４０８は、決定部４０５によって警告が必要であると決定された場合、検証対象プログラム内のリソースＲｉの割り込みに関する記述を強調表示する警告画面を作成することとしてもよい。具体的には、たとえば、リソースＲｉの名称を手掛かりに、検証対象プログラムの中から該当箇所（たとえば、割込関数）を検索し、その該当箇所を強調表示する警告画面を作成することとしてもよい。
【００６８】
また、出力部４０６は、作成部４０８によって作成された警告画面を出力することとしてもよい。ここで、図２に示したディスプレイ２０８に表示される警告画面について説明する。図９は、警告画面の具体例を示す説明図である。図９において、ディスプレイ２０８には、リソースＲ３の割り込みに関する警告画面９１０および警告メッセージ９２０が表示されている。
【００６９】
具体的には、警告画面９１０には、ユーザプログラムＣの一部が表示されており、リソースＲ３の割り込みに関する記述が強調表示（図９中符号９３０）されている。また、警告メッセージ９２０には、ユーザプログラムＣにおけるリソースＲ３の割り込みに関する記述の行番号（６行目）とともに、リソースＲ３の割り込みが未実行であることを示すメッセージが表示されている。
【００７０】
ソフトウェア開発者は、出力された警告画面９１０および警告メッセージ９２０を確認することで、リソースＲ３の割り込みが発生する前に割込要因がクリアされた事象を把握することができる。さらに、ユーザプログラムＣの中からリソースＲ３の割り込みに関するコード行を容易に特定することができる。
【００７１】
多重割込判定部４０９は、割込要求判定部４０３によって割込要求フラグが有効状態と判定され、かつ、割込実績判定部４０４によって割込実績フラグが無効状態と判定された場合に、実行ログテーブル３００の記憶内容を参照して、リソースＲｉとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する機能を有する。
【００７２】
ここで、割込要求フラグおよび割込実績フラグが有効状態とは、そのリソースの割り込みが発生し、現在実行中であることを示している。すなわち、多重割込判定部４０９は、リソースＲｉと他のリソースとの間で割り込みが競合（多重割り込み）していないか否かを判定することとなる。
【００７３】
決定部４０５は、多重割込判定部４０９によってリソースＲｉとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、リソースＲｉの割り込みに関する警告が必要であると決定することとしてもよい。これにより、多重割り込みが発生している場合に限り、リソースＲｉの割り込みが未実行であることを示す警告メッセージを出力することができる。
【００７４】
たとえば、リソースＲ３の割込要求フラグが有効状態と判定され、かつ、割込実績フラグが無効状態と判定された場合を例に挙げると、リソースＲ１の割込要求フラグおよび割込実績フラグが有効状態となっている。この場合、リソースＲ１とリソースＲ３との多重割り込みにより、リソースＲ３の割り込みが未実行であることを示す警告メッセージを出力することとなる。
【００７５】
これは、リソースＲ３の割り込みの優先度に比べて、リソースＲ１の割り込みの優先度が高い場合に起こる事象である。これにより、割込要求があったにもかかわらず割り込みが未実行となる事象のうち、多重割り込みの発生時に低優先度の割り込みが未実行となる事象を絞り込んで警告することができる。
【００７６】
また、作成部４０８は、実行ログテーブル３００の記憶内容に基づいて、任意のタイミングにおける各リソースＲ１〜Ｒｎの割込実績をあらわす割込実績画面を作成することとしてもよい。具体的には、たとえば、任意のデバッグコマンドを指定することで、検証対象プログラムの実行が停止した時点での割込実績をあらわす割込実績画面を作成することとしてもよい。
【００７７】
ここで、割込実績画面の具体例について説明する。図１０は、割込実績画面の具体例を示す説明図である。図１０において、ディスプレイ２０８には、各リソース（リロードタイマ、Ａ／Ｄコンバータ、外部割り込み）の割込実績をあらわす割込実績画面１０００が表示されている。具体的には、リソースごとに、リソース名、チャネル番号、割込番号、優先度および割込実績が表示されている。なお、チャネル番号は、各リソースの割り込みに使用される伝送路のチャネル番号である。
【００７８】
また、割込実績画面１０００において、図２に示したキーボード２１０やマウス２１１をユーザが操作することでカーソルＣを移動させてボタンＢ１〜Ｂ４をクリックすると、各種デバッグコマンドを指定することができる。たとえば、ボタンＢ２をクリックすると、連続実行中の検証対象プログラムが停止し、その時点での割込実績が割込実績画面１０００に表示される。
【００７９】
また、ボタンＢ３をクリックすると、一命令実行後の割込実績が割込実績画面１０００に表示される。また、ボタンＢ４をクリックすると、特定のコード行までの検証対象プログラムが実行され、その時点での割込実績が割込実績画面１０００に表示される。
【００８０】
ソフトウェア開発者は、割込実績画面１０００を確認することで、Ｉ／Ｏレジスタ（たとえば、Ｉ／Ｏレジスタ５００）の割込要因ビットおよび割込許可ビットの値を確認するなどの面倒な作業をおこなうことなく、時々刻々と変化する各リソース（リロードタイマ、Ａ／Ｄコンバータ、外部割り込み）の割込実績を容易に把握することができる。
【００８１】
（検証支援装置の検証支援処理手順）
つぎに、本実施の形態にかかる検証支援装置１０１の検証支援処理手順について説明する。ここでは、検証対象プログラムの実行中に、ＩＳＳ１２０からの書込イベント通知または割込イベント通知を受け付けた場合にコンピュータによって自動実行される検証支援処理手順について説明する。
【００８２】
図１１は、検証支援処理手順の一例を示すフローチャート（その１）である。図１１のフローチャートにおいて、まず、受付部４０１により、ＩＳＳ１２０からの書込イベント通知を受け付けたか否かを判断する（ステップＳ１１０１）。ここで、書込イベント通知を受け付けるのを待って（ステップＳ１１０１：Ｎｏ）、受け付けた場合（ステップＳ１１０１：Ｙｅｓ）、受け付けた書込イベント通知からリソースＲｉを特定する（ステップＳ１１０２）。
【００８３】
このあと、Ｉ／Ｏレジスタ５００に記憶されているリソースＲｉの割込要因ビットを参照して、『割込要因ビット＝＝１？』を判断する（ステップＳ１１０３）。ここで、『割込要因ビット＝１』の場合（ステップＳ１１０３：Ｙｅｓ）、Ｉ／Ｏレジスタ５００に記憶されているリソースＲｉの割込許可ビットを参照して、『割込許可ビット＝＝１？』を判断する（ステップＳ１１０４）。
【００８４】
ここで、『割込許可ビット＝１』の場合（ステップＳ１１０４：Ｙｅｓ）、設定部４０２により、実行ログテーブル３００に記憶されているリソースＲｉの割込要求フラグを有効状態に設定して（ステップＳ１１０５）、本フローチャートによる一連の処理を終了する。
【００８５】
また、ステップＳ１１０３において『割込要因ビット≠１』の場合（ステップＳ１１０３：Ｎｏ）、または、ステップＳ１１０４において『割込許可ビット≠１』の場合（ステップＳ１１０４：Ｎｏ）には、割込要求判定部４０３により、実行ログテーブル３００の記憶内容を参照して、リソースＲｉの割込要求フラグが有効状態となっているか否かを判定する（ステップＳ１１０６）。
【００８６】
ここで、割込要求フラグが有効状態の場合（ステップＳ１１０６：Ｙｅｓ）、割込実績判定部４０４により、実行ログテーブル３００の記憶内容を参照して、リソースＲｉの割込実績フラグが有効状態となっているか否かを判定する（ステップＳ１１０７）。ここで、割込実績フラグが無効状態の場合（ステップＳ１１０７：Ｎｏ）、決定部４０５により、リソースＲｉの割り込みに関する警告が必要であると決定する（ステップＳ１１０８）。
【００８７】
そして、作成部４０８により、警告メッセージテンプレート６００の挿入位置６０１にリソースＲｉのリソース名を挿入することで警告メッセージを作成する（ステップＳ１１０９）。このあと、出力部４０６により、作成された警告メッセージを出力して（ステップＳ１１１０）、最後に、設定部４０２により、実行ログテーブル３００に記憶されているリソースＲｉの割込要求フラグおよび割込実績フラグを無効状態に設定して（ステップＳ１１１１）、本フローチャートによる一連の処理を終了する。
【００８８】
また、ステップＳ１１０６において割込要求フラグが無効状態の場合（ステップＳ１１０６：Ｎｏ）、または、ステップＳ１１０７において割込実績フラグが有効状態の場合（ステップＳ１１０７：Ｙｅｓ）には、決定部４０５により、リソースＲｉの割り込みに関する警告が不要であると決定して（ステップＳ１１１２）、ステップＳ１１１１に移行する。
【００８９】
これによれば、リソースＲｉの割り込みが実行されていないにもかかわらず、割込要求フラグが有効状態から無効状態に変更される場合に、リソースＲｉの割り込みが未実行となる事象をユーザに警告することができる。
【００９０】
図１２は、検証支援処理手順の一例を示すフローチャート（その２）である。図１２のフローチャートにおいて、まず、受付部４０１により、ＩＳＳ１２０からの割込イベント通知を受け付けたか否かを判断する（ステップＳ１２０１）。
【００９１】
ここで、割込イベント通知を受け付けるのを待って（ステップＳ１２０１：Ｎｏ）、受け付けた場合（ステップＳ１２０１：Ｙｅｓ）、受け付けた割込イベント通知からリソースＲｉを特定する（ステップＳ１２０２）。
【００９２】
そして、設定部４０２により、実行ログテーブル３００に記憶されているリソースＲｉの割込実績フラグを有効状態に設定して（ステップＳ１２０３）、本フローチャートによる一連の処理を終了する。
【００９３】
これによれば、リソースＲｉの割り込みの発生時に、実行ログテーブル３００に記憶されているリソースＲｉの割込実績フラグを有効状態に設定することができる。
【００９４】
以上説明したように、本実施の形態によれば、検証対象プログラムの検証時に、割込要求があったにもかかわらず割り込みが未実行となる事象が発生した場合、その事象に関する警告メッセージをデバッグ情報としてユーザに提示することができる。これにより、何らかの原因により割り込みが発生しない事象を容易にチェックすることができる。
【００９５】
特に、多重割り込み発生時に、割り込みの発生を期待しているにもかかわらず低優先度の割り込みが未実行となる不測の事象を容易にチェックすることが可能となり、ソフトウェア開発者による不具合特定にかかる作業負担および作業時間を軽減することができる。また、各リソースの割り込みの状態をグラフ化して提示することにより、システムの想定外の動作を容易にチェックすることができる。
【００９６】
このようなことから、この検証支援プログラム、検証支援装置、および検証支援方法によれば、システムに潜在している問題点を、ソフトウェア開発の初期段階で改善することが可能となり、開発製品の品質向上および開発期間の短縮化を図ることができる。
【００９７】
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
【００９８】
また、本実施の形態で説明した検証支援装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した検証支援装置１０１の機能（受付部４０１〜多重割込判定部４０９）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、検証支援装置１０１を製造することができる。
【００９９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１００】
（付記１）検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能なコンピュータを、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定手段、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定手段、
前記第１および第２の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
【０１０１】
（付記２）前記決定手段は、
前記第１の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第２の判定手段によって割込実績フラグが無効状態と判定された場合に、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする付記１に記載の検証支援プログラム。
【０１０２】
（付記３）前記コンピュータを、
前記受付手段によって前記任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグおよび割込実績フラグを無効状態に設定する設定手段として機能させることを特徴とする付記１または２に記載の検証支援プログラム。
【０１０３】
（付記４）前記受付手段は、
前記任意のリソースの割込要求フラグを有効状態に設定するイベント通知を受け付け、
前記設定手段は、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルに記憶されている前記任意のリソースの割込要求フラグを有効状態に設定することを特徴とする付記３に記載の検証支援プログラム。
【０１０４】
（付記５）前記コンピュータを、
前記設定手段によって設定された設定内容と設定時刻とを関連付ける関連付け手段、
前記関連付け手段によって関連付けられた関連付け結果に基づいて、前記リソースごとの割り込みの実行状況をあらわすグラフを作成する作成手段として機能させ、
前記出力手段は、
前記作成手段によって作成されたグラフを出力することを特徴とする付記４に記載の検証支援プログラム。
【０１０５】
（付記６）前記作成手段は、
前記決定手段によって警告が必要であると決定された場合、前記検証対象プログラム内の前記任意のリソースの割り込みに関する記述を強調表示する警告画面を作成することを特徴とする付記４に記載の検証支援プログラム。
【０１０６】
（付記７）前記コンピュータを、
前記第１の判定手段によって割込要求フラグが有効状態と判定され、かつ、前記第２の判定手段によって割込実績フラグが無効状態と判定された場合に、前記テーブルの記憶内容を参照して、前記任意のリソースとは異なる他のリソースの割込要求フラグおよび割込実績フラグが有効状態となっているか否かを判定する第３の判定手段として機能させ、
前記決定手段は、
前記第３の判定手段によって前記他のリソースの割込要求フラグおよび割込実績フラグが有効状態と判定された場合、前記任意のリソースの割り込みに関する警告が必要であると決定することを特徴とする付記１〜６のいずれか一つに記載の検証支援プログラム。
【０１０７】
（付記８）付記１〜７のいずれか一つに記載の検証支援プログラムを記録したコンピュータに読み取り可能な記録媒体。
【０１０８】
（付記９）検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能な検証支援装置であって、
任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定手段と、
前記受付手段によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定手段と、
前記第１および第２の判定手段によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定手段と、
前記決定手段によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力手段と、
を備えることを特徴とする検証支援装置。
【０１０９】
（付記１０）制御手段および記憶手段を備え、検証対象プログラムの実行中に割り込みを発生させるリソースごとに、割込要求フラグおよび割込実績フラグの有効／無効状態を記憶するテーブルにアクセス可能なコンピュータが、
前記制御手段により、任意のリソースの割込要求フラグを無効状態に設定するイベント通知を受け付ける受付工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込要求フラグが有効状態となっているか否かを判定する第１の判定工程と、
前記制御手段により、前記受付工程によって前記イベント通知を受け付けた場合、前記テーブルの記憶内容を参照して、前記任意のリソースの割込実績フラグが有効状態となっているか否かを判定する第２の判定工程と、
前記制御手段により、前記第１および第２の判定工程によって判定された判定結果に基づいて、前記任意のリソースの割り込みに関する警告の要否を決定する決定工程と、
前記制御手段により、前記決定工程によって警告が必要であると決定された場合、前記任意のリソースの割り込みが未実行であることを示す警告メッセージを出力する出力工程と、
を実行することを特徴とする検証支援方法。
【産業上の利用可能性】
【０１１０】
以上のように、検証支援プログラム、検証支援装置、および検証支援方法は、組み込みシステムのソフトウェア開発に有用である。
【図面の簡単な説明】
【０１１１】
【図１】検証システムのシステム構成図である。
【図２】検証支援装置のハードウェア構成を示すブロック図である。
【図３】実行ログテーブルの記憶内容を示す説明図である。
【図４】検証支援装置の機能的構成を示すブロック図である。
【図５】Ｉ／Ｏレジスタの記憶内容を示す説明図である。
【図６】警告メッセージテンプレートの具体例を示す説明図である。
【図７】関連付けテーブルの具体例を示す説明図である。
【図８】遷移グラフの具体例を示す説明図である。
【図９】警告画面の具体例を示す説明図である。
【図１０】割込実績画面の具体例を示す説明図である。
【図１１】検証支援処理手順の一例を示すフローチャート（その１）である。
【図１２】検証支援処理手順の一例を示すフローチャート（その２）である。
【符号の説明】
【０１１２】
１００  検証システム
１０１  検証支援装置
３００  実行ログテーブル
４０１  受付部
４０２  設定部
４０３  割込要求判定部
４０４  割込実績判定部
４０５  決定部
４０６  出力部
４０７  関連付け部
４０８  作成部
４０９  多重割込判定部
【図１】
2010061198.tif 000003
【図２】
2010061198.tif 000004
【図３】
2010061198.tif 000005
【図４】
2010061198.tif 000006
【図５】
2010061198.tif 000007
【図６】
2010061198.tif 000008
【図７】
2010061198.tif 000009
【図８】
2010061198.tif 000010
【図９】
2010061198.tif 000011
【図１０】
2010061198.tif 000012
【図１１】
2010061198.tif 000013
【図１２】
2010061198.tif 000014