(57)【特許請求の範囲】
【請求項１】
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させ、
タスクからの待機要求に応じ、前記タイマー割り込みとは非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記第一の周期単位の周期数の補正の要否を判定し、
前記周期数の補正が必要であると判定された場合は、前記非同期な処理を待機するタスクの待機時間について、前記周期数を前記所定の係数で除した周期数に補正し、
前記周期数の補正が必要であると判定された場合は、補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する処理をコンピュータが実行する試験方法。
【請求項２】
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させ、
タスクからの待機要求に応じ、前記タイマー割り込みとは非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記第一の周期単位の周期数の補正の要否を判定し、
前記周期数の補正が必要であると判定された場合は、前記非同期な処理を待機するタスクの待機時間について、前記周期数を前記所定の係数で除した周期数に補正し、
前記周期数の補正が必要であると判定された場合は、補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する処理をコンピュータに実行させる試験プログラム。
【請求項３】
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させる短縮部と、
タスクからの待機要求に応じ、前記タイマー割り込みとは非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記第一の周期単位の周期数の補正の要否を判定する判定部と、
前記周期数の補正が必要であると判定された場合は、前記非同期な処理を待機するタスクの待機時間について、前記周期数を前記所定の係数で除した周期数に補正する補正部と、
前記周期数の補正が必要であると判定された場合は、補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する計測部とを有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの試験方法、試験プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
ソフトウェアの障害の中には、稼動状態が長期間継続した場合に発生するものがある。このような障害の原因の一つとして、例えば、一定周期で変数の値が継続的にインクリメント又はデクリメントされることによって、変数のオーバーフロー又はアンダーフローが発生し、当該オーバーフロー等の発生時における対処がされていないことが挙げられる。  一定周期の長さによっては、上記のような障害を検出するための試験に、長期間を要してしまう可能性がある。そこで、従来、ソフトウェアの加速試験が行われている。加速試験の方法としては、変数を加速する方法やソフトウェアの時間を加速する方法（例えば、特許文献１参照）がある。
【０００３】
変数を加速する方法では、一定周期でインクリメント又はデクリメントされる変数に対して、試験対象のソフトウェアの外部からインクリメント又はデクリメント操作が行われる。そうすることで、一定周期より速い周期で変数のインクリメント又はデクリメントが可能となる。例えば、ハードウェアから一定周期で割り込みを受けた際にＯＳ（Operating System）によってインクリメントされる変数に関して、ＯＳの外部のソフトウェアが、当該変数のインクリメントを割り込み周期とは無関係に行う例が挙げられる。
【０００４】
しかしながら、変数を加速する方法では、加速可能な変数が、外部から参照及び更新可能な変数に限られるため、試験対象のソフトウェアの全体を加速させることはできない。
い。
【０００５】
一方、ソフトウェアの時間を加速する方法では、ハードウェアによるタイマー割り込みの周期が加速され、ソフトウェアが認識する時間が加速される。一般的に、ＣＰＵは、設定されたカウンタ値を所定の周期で減算し、当該カウンタ値が０となった時点でタイマー割り込みを発生させる。ＯＳは、タイマー割り込みに応じて、ＯＳが管理する時刻の更新や、タスクのディスパッチ等を行う。加速試験の際には、ＣＰＵに設定されるカウンタ値の値を小さくすることで、タイマー割り込みの周期を短くすることができる。その結果、ＯＳが管理する時間の経過や、タスクのディスパッチ等が加速される。個々のタスクは任意の時間経過後に実行されるようにスケジューリングされるものが多く、時刻の経過が加速されることで、ＯＳ及びＯＳ上で動作するソフトウェア全体の加速試験が可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３８３５０号公報
【特許文献２】特開２００７−３４６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ソフトウェアの時間（タイマー割り込みの周期）を加速する方法では、タイマー割り込みとは非同期に動作するハードウェアにアクセスし、当該ハードウェアの応答待ちを行うようなタスクについて、加速試験が困難であるという問題がある。すなわち、タスクの応答待ち時間は加速されている一方で、ハードウェアの処理は、加速されないからである。その結果、タスクは、応答待ちから起床（又は復帰）しても、ハードウェアからの応答を得ることができず、タイムアウト等の異常を認識してしまう可能性がある。
【０００８】
この点について、図を用いて更に詳しく説明する。図１は、タイマー割り込みの周期を加速しない場合のタスク動作と時間との関係の一例を示す図である。
【０００９】
同図は、処理の実行主体ごとに、処理の実行タイミングを示す。すなわち、同図の水平方向は、時間軸を示す。同図では、タイマー割り込みの周期が４ミリ秒であることが示されている。なお、タイマー割り込みの周期ごとに、付与されている数値（０〜２４）は、同図の開始時からの相対的な実時間（ミリ秒）を示す。一方、垂直方向には、処理の実行主体として、タスクスケジューラ、タスク１、タスク２、タスク３、及び周辺ハードウェア等が列挙されている。
【００１０】
タスクスケジューラは、一定時間後にタスクを起動するためのスケジュール情報としてのタイマーリストを有し、タスクを起床させる処理を実施する。タスク１、２、及び３は、タスクスケジューラに登録されているタスクである。周辺ハードウェアは、例えば、メモリ、ＨＤＤ（Hard Disk Drive）等、タスクからアクセス対象とされるハードウェアである。
【００１１】
ここでは、タスク３の動作に注目する。タスク３は、時刻８において、周辺ハードウェアに処理要求を行った後、１６ミリ秒間の待機（ｗａｉｔ）をＯＳに要求する。周辺ハードウェアの処理の終了を待機するためである。タスクスケジューラは、待機時間をタイマー割り込みの周期数に変換する。ここでは、１６÷４＝４周期に変換される。そこで、タスクスケジューラは、４周期後の時刻２４にタスク３を起床させる。一方、周辺ハードウェアの処理は、開始から１２ミリ秒後の時刻２０で完了している。したがって、時刻２４に起床したタスク３は、周辺ハードウェアからの応答を得ることができ、以降の処理を継続することができる。
【００１２】
一方、図２は、タイマー割り込みの周期を２分の１に加速した場合のタスク動作と時間との関係の一例を示す図である。同図の見方は、図１と同様である。
【００１３】
同図において、タイマー割り込みの周期は、２ミリ秒に加速されている。タスク３の処理内容は、図１と同様である。すなわち、タスク３は、時刻２において、周辺ハードウェアに処理要求を行った後、１６ミリ秒間の待機（ｗａｉｔ）を開始する。なお、同図における時刻２は、タイマー割り込みの周期数では３周期目であり、タスク３やタスクスケジューラにとって、図１における時刻４と同じタイミングに相当する。
【００１４】
タスクスケジューラは、待機時間をタイマー割り込みの周期数に変換する。ここでも、１６÷４＝４周期に変換される。タスクスケジューラは、タイマー割り込みの周期が加速されていることを知らず、カウンタ値への変換式は、図１の場合と変わらないからである。そこで、タスクスケジューラは、４周期後の時刻１２にタスク３を起床させる。一方、周辺ハードウェアの処理は、開始から１２ミリ秒後の時刻１６まで待たないと完了しない。したがって、時刻１２に起床したタスク３は、周辺ハードウェアからの応答を得ることができず、タスク３はタイムアウト等を認識してしまう。
【００１５】
そこで、タイマー割り込みとは非同期な処理を待機するソフトウェアに関しても加速試験を行うことのできる試験方法、試験プログラム、及び情報処理装置の提供を目的とする。
【課題を解決するための手段】
【００１６】
そこで上記課題を解決するため、試験方法は、タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させ、前記タイマー割り込みとは非同期な処理を待機するタスクの待機時間について、前記第一の周期単位の周期数を前記所定の係数で除した周期数に補正し、補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する処理をコンピュータが実行する。
【発明の効果】
【００１７】
タイマー割り込みとは非同期な処理を待機するソフトウェアに関しても加速試験を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】タイマー割り込みの周期を加速しない場合のタスク動作と時間との関係の一例を示す図である。
【図２】タイマー割り込みの周期を２分の１に加速した場合のタスク動作と時間との関係の一例を示す図である。
【図３】本発明の実施の形態における試験装置のハードウェア構成例を示す図である。
【図４】第一の実施の形態における試験装置の機能構成例を示す図である。
【図５】加速値受付部が実行する処理手順の一例を説明するためのフローチャートである。
【図６】第一の実施の形態の待機処理部の機能構成例を示す図である。
【図７】第一の実施の形態の待機処理部が実行する処理手順の一例を説明するためのフローチャートである。
【図８】加速解消部が実行する処理手順の一例を説明するためのフローチャートである。
【図９】試験装置全体の処理手順の一例を説明するためのフローチャートである。
【図１０】タイマー割り込みの周期を加速しない場合の試験装置の動作の具体例を説明するための図である。
【図１１】タイマー割り込みの周期を加速しない場合の試験装置におけるタスク動作と時間との関係の一例を示す図である。
【図１２】タイマー割り込みの周期を２分の１に加速した場合の試験装置の動作の具体例を説明するための図である。
【図１３】タイマー割り込みの周期を２分の１に加速した場合の試験装置におけるタスク動作と時間との関係の一例を示す図である。
【図１４】第二の実施の形態の待機処理部の機能構成例を示す図である。
【図１５】第三の実施の形態を説明するための図である。
【図１６】第四の実施の形態を説明するための図である。
【図１７】第四の実施の形態における試験タスク及び被試験装置の動作例を示す図である。
【図１８】第四の実施の形態の試験タスクに係るプログラムの改変例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における試験装置のハードウェア構成例を示す図である。図３の試験装置１０は、それぞれバスBで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００２０】
試験装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って試験装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２２】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２３】
なお、試験装置１０には、マウス及びキーボード等の入力装置や、液晶ディスプレイ等の表示装置が接続されていてもよい。また、試験装置１０をネットワークに接続する必要が無い場合、試験装置１０は、インタフェース装置１０５を備えていなくてもよい。
【００２４】
図４は、第一の実施の形態における試験装置の機能構成例を示す図である。同図には、ＣＰＵ１０４、加速値設定部１１、及びＯＳ１２等が示されている。
【００２５】
ＣＰＵ１０４は、カウンタ部１４１、割り込み部１４２、及びＩ／Ｏコントローラ部１４３等を含む。カウンタ部１４１は、後述されるカウンタ値加速部１２３より設定されるカウンタ値を所定の周波数（以下、「カウンタ周波数」という。）に基づく周期でデクリメントする。カウンタ部１４１は、カウンタ値が０になると、その旨を割り込み部１４２に通知する。すなわち、カウンタ部１４１は、カウンタ値を用いてタイマー割り込みの発生時期を検知する。以下、単に「カウンタ値」というとき、カウンタ部１４１が利用するカウンタ値をいう。
【００２６】
割り込み部１４２は、カウンタ部１４１からの通知に応じ、タイマー割り込みを発生させる。
【００２７】
Ｉ／Ｏコントローラ部１４３は、周辺Ｉ／Ｏデバイスｄ１〜ｄｎ（以下、それぞれを区別しない場合、「周辺Ｉ／Ｏデバイスｄ」という。）とのデータの入出力を制御する。なお、本実施の形態において、周辺Ｉ／Ｏデバイスｄは、タイマー割り込み又はタイマー割り込みの周期とは非同期に動作するハードウェアの一例である。周辺Ｉ／Ｏデバイスｄの一例としては、図３に示される、補助記憶装置１０２、メモリ装置１０３、又はドライブ装置１００等である。また、周辺Ｉ／Ｏデバイスｄは、外部記憶媒体等、試験装置１０の外部の装置であってもよい。
【００２８】
加速値設定部１１は、タイマー割り込みの周期を短縮させるための係数（以下、「加速値」という。）をＯＳ１２に設定する。加速値は、０より大きく１以下の値を有する。加速値が１である場合、タイマー割り込みの周期は短縮されない。加速値設定部１１は、例えば、ＧＵＩ（Graphical User Interface）を表示させ、当該ＧＵＩを介して加速値を取得してもよいし、補助記憶装置１０２が記憶する加速値を取得してもよい。なお、加速値設定部１１は、試験装置１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。
【００２９】
ＯＳ１２は、試験装置１０にインストールされているＯＳ１２（Operating System）である。同図において、ＯＳ１２は、加速値受付部１２１、カウンタ値設定部１２２、カウンタ値加速部１２３、タイマー割り込み捕捉部１２４、タスク管理部１２５、時刻更新部１２６、割り込み回数更新部１２７、待機処理部１２８、及び加速解消部１２９等を有する。これら各部は、ＯＳ１２に含まれるプログラムが試験装置１０に実行させる処理により実現される。
【００３０】
加速値受付部１２１は、加速値設定部１１より加速値の設定を受け付ける。加速値受付部１２１は、受け付けた加速値をカウンタ値加速部１２３及び加速解消部１２９に通知する。カウンタ値設定部１２２は、タイマー割り込みが発生するたびに、カウンタ値をカウンタ値加速部１２３に設定する。カウンタ値加速部１２３は、カウンタ値設定部１２２よりカウンタ値が設定されるたびに、当該カウンタ値に、加速値受付部１２１より通知されている加速値を乗じた値（カウンタ値）を、カウンタ部１４１に設定する。したがって、加速値が０より大きく１未満である場合、カウンタ値は、カウンタ値設定部１２２が有する本来の値より小さくなる。その結果、タイマー割り込みの周期が短縮する。
【００３１】
タイマー割り込み捕捉部１２４は、いわゆる割り込みハンドラとして機能する。すなわち、タイマー割り込み捕捉部１２４は、ＣＰＵ１０４が発生させるタイマー割り込みを捕捉又は検知する。タイマー割り込み捕捉部１２４は、捕捉したタイマー割り込みに応じて、例えば、カウンタ値設定部１２２、タスク管理部１２５、時刻更新部１２６、及び割り込み回数更新部１２７等を呼び出す。
【００３２】
待機処理部１２８は、タスクからの待機要求（ｗａｉｔ要求）に応じ、当該タスクを待機要求において指定された待機時間だけ待機させるための処理を実行する。タスクとは、ＯＳ１２が管理する処理の実行単位をいう。例えば、スレッド又はプロセスが処理の実行単位の一例である。
【００３３】
待機処理部１２８は、タスクの待機時間に関して、秒単位の値を、タイマー割り込みの発生周期単位の値（以下、単に「周期数」という。）に換算する。具体的には、タスクは、ＯＳ１２に対して待機要求を行う際に、待機時間を秒単位の値によって指定する。待機処理部１２８は、当該秒単位の値を、タイマー割り込みの周期によって除することにより、待機時間を周期数に換算する。待機処理部１２８は、換算結果の周期数を、加速解消部１２９又はタスク管理部１２５に通知する。例えば、待機要求に係るタスクがＩ／Ｏ処理を行うタスクであれば、当該周期数は、加速解消部１２９に通知される。一方、待機要求に係るタスクがＩ／Ｏ処理を行わないタスク（例えば、ＣＰＵ１０４のみで動作するタスク）であれば、当該周波数は、直接的にタスク管理部１２５に通知される。「直接的に」とは、加速解消部１２９を経由せずに、ということである。なお、Ｉ／Ｏ処理とは、周辺Ｉ／Ｏデバイスｄへの処理要求を行い、当該処理要求に対する応答を待機することをいう。
【００３４】
加速解消部１２９は、Ｉ／Ｏ処理を行うタスクの待機時間に関して、加速値に基づく加速を解消する。具体的には、加速解消部１２９は、待機処理部１２８より通知された周期数を、加速値によって除することにより補正する。加速解消部１２９は、補正後の周期数（以下、「補正周期数」という。）をタスク管理部１２５に通知する。なお、加速値は、例えば、加速値受付部１２１より取得される。
【００３５】
タスク管理部１２５は、ＯＳ１２上で動作するタスクのスケジューリング等を行う。タスク管理部１２５は、タイマーリストＴＬを有する。タイマーリストＴＬは、各タスクのスケジュール情報である。例えば、タイマーリストＴＬには、各タスクを実行する時間が記録されている。
【００３６】
時刻更新部１２６は、ＯＳ１２が管理する時刻情報を更新する。割り込み回数更新部１２７は、割り込み回数を保持する変数の値を更新する。
【００３７】
上記したように、タスク管理部１２５及び時刻更新部１２６は、タイマー割り込み捕捉部１２４によって呼び出される。すなわち、タスク管理部１２５及び時刻更新部１２６は、タイマー割り込みの発生を契機として処理を実行する。したがって、タイマー割り込みの周期が加速されることにより、タスク管理部１２５及び時刻更新部１２等の処理周期も加速される。その結果、タスク管理に関する時間が加速（短縮）されたり、時刻の進行が加速されたりする。
【００３８】
例えば、タスク管理部１２５は、待機中のタスクの起床時期を、待機処理部１２８より通知される周期数又は加速解消部１２９より通知される補正周期数を用いて検知する。すなわち、タスク管理部１２５は、待機開始後のタイマー割り込みが、当該周期数又は当該補正周期数によって示される回数分発生したことによって、待機時間の満了を検知する。換言すれば、タスク管理部１２５は、当該周期数又は当該補正周期数の示す回数のタイマー割り込みの発生によって、待機時間を計測する。したがって、待機時間が、加速解消部１２９より通知される補正周期数に基づいて計測される場合、当該待機時間は加速されたものとなる。すなわち、当該待機時間は、タスクによって指定された実時間より短縮されたものとなる。一方、待機時間が、待機処理部１２８より通知される周期数に基づいて計測される場合、当該待機時間は加速されたものにはならない。すなわち、当該待機時間は、タスクによって指定された実時間通りとなる。
【００３９】
以下、試験装置１０における処理手順について説明する。図５は、加速値受付部が実行する処理手順の一例を説明するためのフローチャートである。
【００４０】
ステップＳ１０１において、加速値受付部１２１は、加速値設定部１１より加速値を受け付ける。続いて、加速値受付部１２１は、当該加速値を、カウンタ値加速部１２３及び加速解消部１２９のそれぞれに通知する（Ｓ１０２）。
【００４１】
続いて、待機処理部１２８について説明する。図６は、第一の実施の形態の待機処理部の機能構成例を示す図である。同図において、待機処理部１２８は、待機要求受付部１３１、識別情報取得部１３２、待機時間換算部１３３、及び判定部１３４等を有する。
【００４２】
待機要求受付部１３１は、タスクより待機要求を受け付ける。待機要求は、例えば、ｗａｉｔ関数をインタフェースとして受け付けられる。識別情報取得部１３２は、待機要求に係るタスク（以下、「待機タスク」という。）が、Ｉ／Ｏ処理を実行するタスクであるか否かを識別又は判定するための識別情報を取得する。第一の実施の形態では、タスク名が当該識別情報として利用される。タスク名とは、例えば、タスクに係るプログラムファイル名である。したがって、識別情報取得部１３２は、待機タスクよりタスク名を取得する。なお、待機処理部１２８は、各タスクと同一プロセス空間内で処理を実行する。したがって、識別情報取得部１３２は、待機タスクのタスク名を容易に取得することができる。
【００４３】
待機時間換算部１３３は、待機要求において指定される、秒単位の待機時間を周期数に換算する。判定部１３４は、待機タスクの待機時間に関して、加速解消部１２９による補正（加速の解消）の要否を判定する。具体的には、判定部１３４は、識別情報取得部１３２によって取得される識別情報に基づいて、待機タスクがＩ／Ｏ処理を実行するか否かを判定する。第一の実施の形態では、当該識別情報としてのタスク名が、Ｉ／Ｏ処理識別テーブルＴＢに含まれているか否かによって、待機タスクがＩ／Ｏ処理を実行するか否かを判定する。判定部１３４は、判定結果に応じて、タスク管理部１２５又は加速解消部１２９に、周期数を通知する。
【００４４】
Ｉ／Ｏ処理識別テーブルＴＢには、Ｉ／Ｏ処理を実行するタスクのタスク名の一覧が記録されている。Ｉ／Ｏ処理識別テーブルＴＢは、例えば、補助記憶装置１０２に記憶されている。
【００４５】
続いて、待機処理部１２８の処理手順について説明する。図７は、第一の実施の形態の待機処理部が実行する処理手順の一例を説明するためのフローチャートである。
【００４６】
待機要求受付部１３１によって、タスク（待機タスク）より待機要求が受け付けられると（Ｓ１１１でＹｅｓ）、識別情報取得部１３２は、待機タスクのタスク名を取得する（Ｓ１１２）。続いて、待機時間換算部１３３は、待機要求に指定された秒単位の待機時間を、タイマー割り込みの周期によって除することにより、周期数に換算する（Ｓ１１３）。
【００４７】
続いて、判定部１３４は、待機タスクのタスク名がＩ／Ｏ処理識別テーブルＴＢに含まれているか否かに基づいて、待機タスクがＩ／Ｏ処理を実行するか否かを判定する（Ｓ１１４）。当該タスク名が、Ｉ／Ｏ処理識別テーブルＴＢに含まれている場合、すなわち、待機タスクがＩ／Ｏ処理を実行する場合（Ｓ１１５でＹｅｓ）、判定部１３４は、加速解消部１２９に周期数を通知する（Ｓ１１６）。一方、当該タスク名が、Ｉ／Ｏ処理識別テーブルＴＢに含まれていない場合、すなわち、待機タスクがＩ／Ｏ処理を実行しない場合（Ｓ１１５でＮｏ）、判定部１３４は、タスク管理部１２５に周期数を通知する（Ｓ１１７）。タスク管理部１２５は、当該周期数に基づいて、待機タスクの起床時期をタイマーリストＴＬに登録する。
【００４８】
続いて、加速解消部１２９の処理手順について説明する。図８は、加速解消部が実行する処理手順の一例を説明するためのフローチャートである。
【００４９】
待機処理部１２８より周期数が通知されると（Ｓ１２１でＹｅｓ）、加速解消部１２９は、当該周期数を加速値によって除することにより、補正周期数を算出する（Ｓ１２２）。なお、加速値は、図５のステップＳ１０２において、加速値受付部１２１より通知されている。続いて、加速解消部１２９は、補正周期数をタスク管理部１２５に通知する（Ｓ１２３）。タスク管理部１２５は、当該補正周期数に基づいて、待機タスクの起床時期をタイマーリストＴＬに登録する。
【００５０】
続いて、図４に示される各部が連携して実行する全体の処理手順について説明する。図９は、試験装置全体の処理手順の一例を説明するためのフローチャートである。
【００５１】
カウンタ部１４１は、カウンタ値加速部１２３より設定されたカウンタ値をカウンタ周波数に基づく周期で１ずつ減算する（Ｓ２０１、Ｓ２０２）。カウンタ値が０になると、割り込み部１４２は、タイマー割り込みを発生させる（Ｓ２０３）。
【００５２】
タイマー割り込みは、タイマー割り込み捕捉部１２４によって捕捉される。タイマー割り込み部１４２は、タイマー割り込みの捕捉に応じ、タスク管理部１２５、時刻更新部１２６、割り込み回数更新部１２７、及びカウンタ値設定部１２２等を呼び出す（Ｓ２０４）。
【００５３】
タスク管理部１２５は、タイマー割り込み捕捉部１２４からの呼び出しに応じ、起動時期又は起床時期となったタスクを起動又は起床させる（Ｓ２０５）。また、時刻更新部１２６は、タイマー割り込み捕捉部１２４からの呼び出しに応じ、ＯＳ１２が管理する時刻情報を更新する（Ｓ２０６）。また、割り込み回数更新部１２７は、タイマー割り込み捕捉部１２４からの呼び出しに応じ、割り込み回数を保持する変数の値に１を加算する（Ｓ２０７）。
【００５４】
また、カウンタ値設定部１２２は、タイマー割り込み捕捉部１２４からの呼び出しに応じ、カウンタ値を算出する。カウンタ値は、タイマー割り込み捕捉部１２４からの呼び出し時に通知される、タイマー割り込みの周波数（タイマー割り込みの周期の逆数）によってカウンタ周波数を除することにより算出される。カウンタ値設定部１２２は、算出されたカウンタ値をカウンタ値加速部１２３へ通知する（Ｓ２０８）。カウンタ値加速部１２３は、通知されたカウンタ値に、加速値受付部１２１より通知されている加速値を乗ずることにより、加速されたカウンタ値を算出する。カウンタ値加速部１２３は、算出されたカウンタ値をカウンタ部１４１に設定する（Ｓ２０９）。
【００５５】
一方、ステップＳ２０５において起動されたタスクは、所定の処理を実行する（Ｓ２１１）。例えば、タスクは、周辺Ｉ／Ｏデバイスｄへ処理要求を行う。タスクは、当該処理要求に対する応答を待機するため、待機時間を指定して、待機処理部１２８に待機要求を入力する（Ｓ２１２）。待機処理部１２８は、当該タスク内（例えば、当該タスクに係るプロセス空間）において、図７を用いて説明した待機処理を実行する（Ｓ２１３）。なお、当該タスクは、Ｉ／Ｏ処理を実行するため、当該タスクのタスク名は、Ｉ／Ｏ処理識別テーブルＴＢに登録されている。したがって、タスク管理部１２５には、補正周期数（すなわち、加速が解消された周期数）が通知される。その結果、当該タスクは、補正周期数が示す回数のタイマー割り込みの発生後、すなわち、待機要求に指定した秒数通りの時間の経過後に、起床される。
【００５６】
続いて、試験装置１０の動作例について、各パラメータに具体的な値を当てはめて説明する。図１０は、タイマー割り込みの周期を加速しない場合の試験装置の動作の具体例を説明するための図である。同図において、カウンタ周波数は、６６ＭＨｚ、タイマー割り込みの周波数は、２５０Ｈｚ（すなわち、タイマー割り込みの周期は、４ミリ秒）であるとする。
【００５７】
ステップＳ３０１において、加速値受付部１２１は、加速値設定部１１より、加速値として「１」の設定を受け付ける。すなわち、タイマー割り込みの周期を加速しないことが設定される。続いて、加速値受付部１２１は、カウンタ値加速部１２３及び加速解消部１２９に、加速値として「１」を通知する（Ｓ３０２）。
【００５８】
タイマー割り込み捕捉部１２４は、４ミリ秒の周期でタイマー割り込みを発生させるために、４ミリ秒の逆数である２５０Ｈｚを、タイマー割り込みの周波数として、カウンタ値設定部１２２に設定する（Ｓ３０３）。カウンタ値設定部１２２は、カウンタ周波数（６６ＭＨｚ）をタイマー割り込みの周波数（２５０Ｈｚ）で除することにより、カウンタ値（２６６６６６）を算出し、当該カウンタ値をカウンタ値加速部１２３に設定する（Ｓ３０４）。
【００５９】
カウンタ値加速部１２３は、カウンタ値に加速値を乗じた値（２６６６６６×１＝２６６６６６）を、カウンタ値としてカウンタ部１４１に設定する（Ｓ３０５）。カウンタ部１４１は、１０００／６６ＭＨｚの周期で、カウンタ値（２６６６６６）をデクリメントし、カウンタが０になった時点で割り込み部１４２へ通知を行う（Ｓ３０６）。割り込み部１４２は、カウンタ部１４１からの通知に応じて、タイマー割り込みを発生させる（Ｓ３０７）。タイマー割り込み捕捉部１２４は、タイマー割り込みの発生に応じて、ステップＳ３０３を実行する。すなわち、ステップＳ３０３以降は、タイマー割り込みの発生に応じて繰り返し実行される。その結果、２６６６６６／６６ＭＨｚ＝４ミリ秒の周期で、タイマー割り込みが発生する。
【００６０】
このような状態において、タスク１、２、及び３がＯＳ１２上で動作しており、タスク３が、Ｉ／Ｏ処理を実行するタスクであるとする。すなわち、タスク３のタスク名は、Ｉ／Ｏ処理識別テーブルＴＢに登録されていることとする。
【００６１】
ここから先は、図１０に加え、図１１も参照しながら説明する。図１１は、タイマー割り込みの周期を加速しない場合の試験装置におけるタスク動作と時間との関係の一例を示す図である。同図は、処理の実行主体ごとに、処理の実行タイミングを示す。すなわち、同図の水平方向は、時間軸を示す。一方、垂直方向には、処理の実行主体として、タスク管理部１２５、加速解消部１２９、待機処理部１２８、タスク１、タスク２、タスク３、及び周辺ハードウェアｄ等が列挙されている。
【００６２】
周辺Ｉ／Ｏデバイスｄに対して処理要求を行った後、タスク３は、１６ミリ秒の待機時間を指定して、待機処理部１２８に対して待機要求を行う（Ｓ３０８）。待機処理部１２８は、カウンタ値設定部１２２よりタイマー割り込み周波数（２５０Ｈｚ）を取得し、待機要求に指定された待機時間（１６ミリ秒）を周期数に換算する。周期数は、待機時間（１６ミリ秒）をタイマー割り込み周期（１０００／２５０Ｈｚ）で除することにより算出される。したがって、１６ミリ秒／（１０００／２５０Ｈｚ）＝４周期が、周期数となる。タスク３のタスク名はＩ／Ｏ処理識別テーブルＴＢに登録されている。したがって、待機処理部１２８は、当該周期数を加速解消部１２９に通知する（Ｓ３０９）。
【００６３】
加速解消部１２９は、当該周期数を加速値受付部１２１より通知された加速値によって除することにより、補正周期数を算出する。したがって、補正周期数は、４／１＝４周期となる。加速解消部１２９は、当該補正周期数をタスク管理部１２５に通知する（Ｓ３１０）。タスク管理部１２５は、通知された補正期数分のタイマー割り込みの発生後に、タスク３を起床させる（Ｓ３１１）。ここで、タイマー割り込みの周期は４ミリ秒である。したがって、４×４＝１６ミリ秒後に、タスク３は起床される。すなわち、タスク３が待機要求に指定した待機時間通りにタスク３は起床される。一方、周辺Ｉ／Ｏデバイスｄの処理時間は、１２ミリ秒である。したがって、タスク３は、起床後において、周辺Ｉ／Ｏデバイスｄからの応答を得ることができ、処理を継続することができる。
【００６４】
次に、タイマー割り込みの周期を２分の１に加速した場合について説明する。図１２は、タイマー割り込みの周期を２分の１に加速した場合の試験装置の動作の具体例を説明するための図である。同図において、カウンタ周波数は、６６ＭＨｚ、タイマー割り込みの周波数は、２５０Ｈｚ（すなわち、タイマー割り込みの周期は、４ミリ秒）であるとする。
【００６５】
ステップＳ４０１において、加速値受付部１２１は、加速値設定部１１より、加速値として「０．５」の設定を受け付ける。すなわち、タイマー割り込みの周期を２分の１に加速することが設定される。続いて、加速値受付部１２１は、カウンタ値加速部１２３及び加速解消部１２９に、加速値として「０．５」を通知する（Ｓ４０２）。
【００６６】
タイマー割り込み捕捉部１２４は、４ミリ秒の周期でタイマー割り込みを発生させるために、４ミリ秒の逆数である２５０Ｈｚを、タイマー割り込みの周波数として、カウンタ値設定部１２２に設定する（Ｓ４０３）。カウンタ値設定部１２２は、カウンタ周波数（６６ＭＨｚ）をタイマー割り込みの周波数（２５０Ｈｚ）で除することにより、カウンタ値（２６６６６６）を算出し、当該カウンタ値をカウンタ値加速部１２３に設定する（Ｓ４０４）。
【００６７】
カウンタ値加速部１２３は、カウンタ値に加速値を乗じた値（２６６６６６×０．５＝１３３３３３）を、カウンタ値としてカウンタ部１４１に設定する（Ｓ４０５）。カウンタ部１４１は、１０００／６６ＭＨｚの周期で、カウンタ値（１３３３３３）をデクリメントし、カウンタが０になった時点で割り込み部１４２へ通知を行う（Ｓ４０６）。割り込み部１４２は、カウンタ部１４１からの通知に応じて、タイマー割り込みを発生させる（Ｓ４０７）。タイマー割り込み捕捉部１２４は、タイマー割り込みの発生に応じて、ステップＳ４０３を実行する。すなわち、ステップＳ４０３以降は、タイマー割り込みの発生に応じて繰り返し実行される。その結果、１３３３３３／６６ＭＨｚ＝２ミリ秒の周期で、タイマー割り込みが発生する。
【００６８】
このような状態において、タスク１、２、及び３がＯＳ１２上で動作しており、タスク３が、Ｉ／Ｏ処理を実行するタスクであるとする。すなわち、タスク３のタスク名は、Ｉ／Ｏ処理識別テーブルＴＢに登録されていることとする。
【００６９】
ここから先は、図１２に加え、図１３も参照しながら説明する。図１３は、タイマー割り込みの周期を２分の１に加速した場合の試験装置におけるタスク動作と時間との関係の一例を示す図である。同図の見方は、図１１と同じである。
【００７０】
周辺Ｉ／Ｏデバイスｄに対して処理要求を行った後、タスク３は、１６ミリ秒の待機時間を指定して、待機処理部１２８に対して待機要求を行う（Ｓ４０８）。待機処理部１２８は、カウンタ値設定部１２２よりタイマー割り込み周波数（２５０Ｈｚ）を取得し、待機要求に指定された待機時間（１６ミリ秒）を周期数に換算する。周期数は、待機時間（１６ミリ秒）をタイマー割り込み周期（１０００／２５０Ｈｚ）で除することにより算出される。したがって、１６ミリ秒／（１０００／２５０Ｈｚ）＝４周期が、周期数となる。タスク３のタスク名はＩ／Ｏ処理識別テーブルＴＢに登録されている。したがって、待機処理部１２８は、当該周期数を加速解消部１２９に通知する（Ｓ４０９）。
【００７１】
加速解消部１２９は、当該周期数を加速値受付部１２１より通知された加速値によって除することにより、補正周期数を算出する。したがって、補正周期数は、４／０．５＝８周期となる。加速解消部１２９は、当該補正周期数をタスク管理部１２５に通知する（Ｓ４１０）。タスク管理部１２５は、通知された補正周期数分のタイマー割り込みの発生後に、タスク３を起床させる（Ｓ４１１）。ここで、タイマー割り込みの周期は２ミリ秒である。したがって、２×８＝１６ミリ秒後に、タスク３は起床される。すなわち、タスク３が待機要求に指定した待機時間通りにタスク３は起床される。一方、周辺Ｉ／Ｏデバイスｄの処理時間は、１２ミリ秒である。したがって、タスク３は、起床後において、周辺Ｉ／Ｏデバイスｄからの応答を得ることができ、処理を継続することができる。
【００７２】
上述したように、第一の実施の形態によれば、タイマー割り込みの周期を加速（又は短縮）させる一方で、該周期とは非同期に動作するハードウェアからの応答の待機時間に関しては、該加速を解消させることができる。すなわち、当該待機時間に関して、実時間に戻すことができる。したがって、タイマー割り込みの周期と非同期に動作するハードウェアに関するＩ／Ｏ処理を含むソフトウェア全体の加速試験の実施を可能とすることができる。
【００７３】
その結果、例えば、一定周期でインクリメント又はデクリメントされる変数のオーバーフロー又はアンダーフローを短時間で検出することができる。また、ソフトウェアの長期稼動の安定性の確認に要する時間を短縮化することができる。また、タイマー等に基づいて、予め決められた日時又は時刻でスケジュールされた動作するソフトウェア又は当該ソフトウェアによって制御される装置に関して、スケジュールの内容を変更することなく、試験の所要時間を短縮することができる。
【００７４】
なお、タイマー割り込みの周期とは非同期な対象は、ハードウェアに限られない。例えば、試験装置１０とネットワークを介して接続されるコンピュータにおいて動作するソフトウェアであってもよい。すなわち、試験装置１０において動作するタスクが、当該ソフトウェアに対して処理要求を行い、当該処理要求に対する応答を待機する際に、加速の解消が行われてもよい。
【００７５】
次に、第二の実施の形態について説明する。第二の実施の形態では、待機処理部１２８が実行する処理内容の一部が、第一の実施の形態と異なる。
【００７６】
図１４は、第二の実施の形態の待機処理部の機能構成例を示す図である。図１４中、図６と同一部分には同一符号を付し、その説明は省略する。
【００７７】
第二の実施の形態において、Ｉ／Ｏ処理を実行する待機タスクは、Ｉ／Ｏ処理のための待機であるか否を示すフラグ情報を、例えば、メモリ装置１０３に記録する。
【００７８】
待機処理部１２８の識別情報取得部１３２は、当該フラグ情報をメモリ装置１０３より取得する。判定部１３４は、当該フラグ情報に基づいて、待機タスクが、Ｉ／Ｏ処理のための待機であるのか否かを判定し、判定結果に応じて、周期数をタスク管理部１２５又は加速解消部１２９に通知する。
【００７９】
このように、待機要求に係るタスクがＩ／Ｏ処理のための待機であるのか否かの判定方法は、所定の方法に限定されない。上記以外においても、例えば、Ｉ／Ｏ処理のための待機要求とそうでない待機要求とを受け付けるためのＡＰＩ（Application Program Interface）が明確に区別されてもよい。また、待機要求に係るタスクがアクセスする仮想アドレスを監視し、当該仮想アドレスが、周辺Ｉ／ＯデバイスｄのメモリマップドＩ／Ｏ領域に対応するものであれば、当該タスクによる待機要求は、Ｉ／Ｏ処理のための待機に関するものであると判定されてもよい。すなわち、待機要求に係るタスクに関する何らかの識別情報に基づいて、Ｉ／Ｏ処理のための待機であるか否かが判定されればよい。
【００８０】
次に、第三の実施の形態について説明する。第三の実施の形態では、予め指定した実際の日時に加速試験を自動的に開始させ、予め指定した実際の日時に加速試験を自動的に終了させたい場合について説明する。
【００８１】
図１５は、第三の実施の形態を説明するための図である。図１５中、図４と同一部分には同一符号を付し、その説明は省略する。また、図１５において、ＯＳ１２の構成要素の一部は、便宜上省略されている。
【００８２】
同図において、タスク１は、タスク１は、ＲＴＣ（Real Time Clock）３０を周期的に読み出す常駐型のプログラムである。また、例えば、補助記憶装置１０２には、試験開始日時及び試験終了日時が予め記録されている。なお、ＲＴＣ３０は電源が切られている間も内蔵電池から電源供給を受けて、時刻の更新を行っている時計であり、情報処理装置には一般的に採用されている。
【００８３】
タスク１は、周期的に、ＲＴＣ３０より時刻情報を読み出した時刻情報と、試験開始日時とを比較する。タスク１は、試験開始日時の到来を検知すると、加速値設定部１１に０より大きく１未満の加速値を設定する。加速値設定部１１は、当該加速値を、加速値受付部１２１に設定する（Ｓ５０３）。その結果、タイマー割り込みの周期が加速され、加速試験が行われる。
【００８４】
一方、タスク１は、加速試験中においても、周期的に、ＲＴＣ３０より時刻情報を読み出した時刻情報と、試験終了日時とを比較する。タスク１は、試験終了日時の到来を検知すると、加速値設定部１１に加速値として「１」を設定する。その結果、加速試験は終了する。
【００８５】
なお、加速試験中において、タスク１自身も、加速された動作を行っているが（例えば、ＲＴＣ３０の時刻情報の読み出し周期の短縮等が発生しているが）、ＲＴＣ３０より読み出される時刻情報は、実際の時刻を示すものである。したがって、試験終了日時に指定された実際の日時に加速試験を終了させることができる。
【００８６】
加速試験が実施されると、ＯＳ１２の時刻情報も加速されるため、現在時刻の把握が困難となるが、本実施の形態によれば、加速動作中のタスクであっても実際の時刻を把握することができる。
【００８７】
次に、第四の実施の形態について説明する。第四の実施の形態では、所定のシーケンスに基づいて、試験装置１０が外部の被試験装置を制御する例について説明する。
【００８８】
図１６は、第四の実施の形態を説明するための図である。同図において、試験装置１０と被試験装置５０とは、例えば、ＬＡＮ（Local Area Network）等のネットワークを介して接続されている。試験装置１０のハードウェア構成及び機能構成等は、図３又は図４において説明した通りである。試験装置１０上で動作するタスク（以下、「試験タスク」という。）は、被試験装置５０の電源のＯＮ／ＯＦＦ制御を、予め設定されたスケジュールで繰り返し実行する。このような場合、試験装置１０のＯＳ１２に、０より大きく１未満の加速値を設定することで、当該スケジュールを早期に消化することができる。但し、被試験装置５０は、電源ＯＦＦの指示の受け付け後に電源がＯＦＦされるまで或る程度時間を要し、また、電源ＯＮの指示の受け付け後に定常状態となるまでに或る程度時間を要する。したがって、試験タスクには、被試験装置５０が電源ＯＮ時又は電源ＯＦＦ時に必要とする時間を考慮した制御が求められる。但し、スケジュール情報において、当該時間が考慮されたスケジュールが設定されていたとしても、加速試験中においては、当該時間も加速されてしまう。そこで、試験装置１０は、試験タスクを、図１７に示されるように動作させる。
【００８９】
図１７は、第四の実施の形態における試験タスク及び被試験装置の動作例を示す図である。
【００９０】
同図において、Ｌ１で示される線は、試験タスクのＯＮ／ＯＦＦ制御を示す。一方、Ｌ２で示される線は、試験タスクのＯＮ／ＯＦＦ指示に応じて被試験装置５０のＯＮ／ＯＦＦ動作を示す。また、Ｍ１で示される部分には、試験装置１０の動作状態（加速モード又は実時間モード）が示されている。加速試験モードとは、ＯＳ１２に対して０より大きく１未満の加速値が設定された状態、すなわち、タイマー割り込みの周期が加速された状態を示す。実時間モードは、ＯＳ１２に対して加速値として１が設定された状態、すなわち、タイマー割り込みの周期が加速されていない状態を示す。なお、横軸に付与されている時刻は、試験装置１０のＯＳ１２が管理する時刻情報が示す時刻である。
【００９１】
例えば、試験タスクは、スケジュール情報に基づいて、８：００に電源ＯＮの指示を被試験装置５０に対して行うと共に、加速値として「１」を加速値設定部１１に設定する。その結果、試験装置１０は、実時間モードとなる。したがって、試験タスクは、スケジュール情報において指定されている、被試験装置５０の制御開始時刻の８：１０まで、実時間で待機する。
【００９２】
一方、被試験装置５０は、電源ＯＮの指示を受けて、電源をＯＮさせる。電源ＯＮの開始後、被試験装置５０は、１０分弱を要して、定常状態となる。
【００９３】
８：１０になると、試験タスクは、加速値設定部１１に０より大きく１未満の加速値を設定し、被試験装置５０に対して各種の制御を遠隔的に行う。したがって、当該制御は、加速モードにおいて行われる。
【００９４】
その後、スケジュール情報において、電源ＯＦＦの時刻として指定されている１８：００になると、試験タスクは、被試験装置５０は、加速値として「１」を加速値設定部１１に設定する。その結果、試験装置１０は、実時間モードとなる。したがって、試験タスクは、スケジュール情報において指定されている、被試験装置５０の制御開始時刻の１８：１０まで、実時間で待機する。
【００９５】
一方、被試験装置５０は、電源ＯＦＦの指示を受けて、電源をＯＦＦさせる。電源ＯＦＦの開始後、被試験装置５０は、１０分弱を要して、電源ＯＦＦ状態となる。
【００９６】
１８：１０になると、試験タスクは、加速値設定部１１に０より大きく１未満の加速値を設定し、例えば、電源がＯＦＦされたか否かの確認等を被試験装置５０関して行う。したがって、当該確認等は、加速モードにおいて行われる。
【００９７】
上記のように、加速試験モードと実時間モードとを適切に切り替えることで、被試験装置５０の電源ＯＮ時又は電源ＯＦＦ時の所要時間に同期させつつ、かつ、試験全体に要する時間を短縮することができる。
【００９８】
なお、第四の実施の形態では、被試験装置５０の電源のＯＮ／ＯＦＦ制御を一例として説明しているが、ＯＮ／ＯＦＦ時以外において、試験装置１０と被試験装置５０との間で経過時間を合わせたい場合に、実時間モードへの切り替えが行われてもよい。
【００９９】
ところで、第四の実施の形態の試験タスクに係るプログラムが、加速試験を予定しないで実装されている場合、すなわち、当該プログラムに加速値設定部１１への加速値の設定処理が実装されていない場合、例えば、図１８に示されるように、当該プログラムが改変されてもよい。
【０１００】
図１８は、第四の実施の形態の試験タスクに係るプログラムの改変例を示す図である。同図において、（Ａ）は、改変前のプログラム領域を示す。当該プログラム領域には、電源ＯＮの指示を行うための領域（ＯＮ指示領域）と、電源ＯＦＦの指示を行うための領域（ＯＦＦ指示領域）とが含まれる。
【０１０１】
斯かるプログラム領域に対して、ＯＮ指示領域及びＯＦＦ指示領域の前後に、加速値の設定ステップを追加するバイナリパッチを適用することにより、当該プログラム領域を（Ｂ）に示されるように改変することができる。
【０１０２】
（Ｂ）においては、ＯＮ指示領域又はＯＦＦ指示領域の前に加速値として「１」を設定するステップが含まれている。また、ＯＮ指示領域又はＯＦＦ指示領域の後に加速値として０＜α＜１を設定するステップが含まれている。（Ｂ）に示されるプログラム領域を有することにより、試験タスクは、図１７において説明した制御を行うことができる。
【０１０３】
なお、本実施の形態において、カウンタ値加速部１２３は、短縮部の一例である。加速解消部１２９は、補正部の一例である。タスク管理部１２５は、計測部の一例である。
【０１０４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１０５】
以上の説明に関し、更に以下の項を開示する。
（付記１）
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させ、
前記タイマー割り込みとは非同期な処理を待機するタスクの待機時間について、前記第一の周期単位の周期数を前記所定の係数で除した周期数に補正し、
補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する処理をコンピュータが実行する試験方法。
（付記２）
タスクからの待機要求に応じ、前記非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記周期数の補正の要否を判定する処理を前記コンピュータが実行する付記２記載の試験方法。
（付記３）
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させ、
前記タイマー割り込みとは非同期な処理を待機するタスクの待機時間について、前記第一の周期単位の周期数を前記所定の係数で除した周期数に補正し、
補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する処理をコンピュータに実行させる試験プログラム。
（付記４）
タスクからの待機要求に応じ、前記非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記周期数の補正の要否を判定する処理を前記コンピュータに実行させる付記３記載の試験プログラム。
（付記５）
タイマー割り込みの第一の周期を、所定の係数を乗じた第二の周期に短縮させる短縮部と、
前記タイマー割り込みとは非同期な処理を待機するタスクの待機時間について、前記第一の周期単位の周期数を前記所定の係数で除した周期数に補正する補正部と、
補正後の前記周期数の前記タイマー割り込みの発生により前記待機時間を計測する計測部とを有する情報処理装置。
（付記６）
タスクからの待機要求に応じ、前記非同期な処理を待機するタスクに関する識別情報を記憶する記憶部を参照して、該待機要求に係るタスクに関して前記周期数の補正の要否を判定する判定部を有する付記５記載の情報処理装置。
【符号の説明】
【０１０６】
１０          試験装置
１１          加速値設定部
１２          ＯＳ
３０          ＲＴＣ
５０          被試験装置
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        加速値受付部
１２２        カウンタ値設定部
１２３        カウンタ値加速部
１２４        タイマー割り込み捕捉部
１２５        タスク管理部
１２６        時刻更新部
１２７        割り込み回数更新部
１２８        待機処理部
１２９        加速解消部
１３１        待機要求受付部
１３２        識別情報取得部
１３３        待機時間換算部
１３４        判定部
１４１        カウンタ部
１４２        割り込み部
１４３        Ｉ／Ｏコントローラ部
Ｂ            バス
【図１】
0005614346.tif 000002
【図２】
0005614346.tif 000003
【図３】
0005614346.tif 000004
【図４】
0005614346.tif 000005
【図５】
0005614346.tif 000006
【図６】
0005614346.tif 000007
【図７】
0005614346.tif 000008
【図８】
0005614346.tif 000009
【図９】
0005614346.tif 000010
【図１０】
0005614346.tif 000011
【図１１】
0005614346.tif 000012
【図１２】
0005614346.tif 000013
【図１３】
0005614346.tif 000014
【図１４】
0005614346.tif 000015
【図１５】
0005614346.tif 000016
【図１６】
0005614346.tif 000017
【図１７】
0005614346.tif 000018
【図１８】
0005614346.tif 000019