(57)【要約】【課題】指示手段による規定時間の監視を行わない場合に比べて、規定時間内に処理が終了されなかったことが容易にわかる、監視装置及び監視プログラムを提供する。【解決手段】割込ハンドラ３０（超過時振舞指定部５８）が、実行指示を受信したタスクの規定時間を決定し、規定時間超過時の振舞を指定する。ＯＳ２６（規定時間超過監視部５０）は、当該規定時間を経過したか否か判断し、デッドラインに達した際に未だ当該タスクの実行が完了してない場合は、指定された振舞（超過処理）を実行するよう超過時振舞実行部５２に指示する。本実施の形態では、少なくとも、デッドラインに達した際の全タスクの実行状態をログ保存部１４にログを保存する。【選択図】図２
2012043148.tif 000002
【特許請求の範囲】
【請求項１】
実行するように指示された処理が規定時間内に終了しなかった場合の超過処理手段により行われる超過処理を指定する指定手段と、
複数の処理を実行するように制御する制御手段の制御により前記複数の処理の各々が共有の資源を順次利用して実行され、かつ前記規定時間内に終了したか否かを各処理毎に監視すると共に、前記複数の処理のいずれかが前記規定時間内に行われなかった場合に、前記指定手段で指定された前記超過処理を前記超過処理手段に実行させるように指示する指示手段と、
を備えた監視装置。
【請求項２】
前記超過処理は、前記規定時間に達した際に、前記規定時間内に終了しなかった処理の実行状態を保存する処理を含み、前記指示手段は、前記超過処理手段に前記規定時間内に行われなかった処理の実行状態を保存するよう指示する、請求項１に記載の監視装置。
【請求項３】
前記超過処理は、前記規定時間に達した際に、前記制御手段により実行が制御されている前記複数の処理毎に実行状態を保存する処理を含み、前記指示手段は、前記超過処理手段に前記複数の処理毎に実行状態を保存するよう指示する、請求項１に記載の監視装置。
【請求項４】
前記指定手段は、実行するように指示された処理の種類に応じた前記超過処理を指定する、請求項１から請求項３のいずれか１項に記載の監視装置。
【請求項５】
複数の処理を実行するように制御する制御手段の制御により前記複数の処理の各々が共有の資源を順次利用して実行され、かつ前記規定時間内に終了したか否かを各処理毎に監視するステップと、
前記複数の処理のいずれかが前記規定時間内に行われなかった場合に、指定手段により指定された超過処理を超過処理手段に実行させるように指示するステップと、
を備えた処理をコンピュータに実行させるための監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置及び監視プログラムに関する。
【背景技術】
【０００２】
特許文献１には、要求元からのロック要求コマンドを受け付け、該ロック要求コマンドによるロック要求に対して資源のロックが可能か否かを判定し、ロック不可能と判定したロック要求を出力するロック要求コマンド処理部と、該ロック要求コマンド処理部から出力されたロック要求をロック待ちにすると共に、そのロック待ちの事象に対するタイマ処理の開始を指示するロック待ちキュー処理部と、該ロック待ちキュー処理部によってタイマ処理の開始が指示された事象についてタイマ処理を開始し、タイマ処理を開始した事象の内の、タイマ処理を開始してから予め定められた一定時間が経過した事象をタイムアウトとするタイマ処理部と、該タイマ処理部でタイムアウトとされた事象についてデッドロックが発生しているか否かをチェックするデッドロックチェック処理部と、該デッドロックチェック処理部がデッドロックを検出したとき、前記要求元にデッドロック発生を通知するアテンション処理手段とを備えたことを特徴とする排他制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許平１０−０２１０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、指示手段による規定時間の監視を行わない場合に比べて、規定時間内に処理が終了されなかったことが容易にわかる、監視装置及び監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の監視装置は、実行するように指示された処理が規定時間内に終了しなかった場合の超過処理手段により行われる超過処理を指定する指定手段と、複数の処理を実行するように制御する制御手段の制御により前記複数の処理の各々が共有の資源を順次利用して実行され、かつ前記規定時間内に終了したか否かを各処理毎に監視すると共に、前記複数の処理のいずれかが前記規定時間内に行われなかった場合に、前記指定手段で指定された前記超過処理を前記超過処理手段に実行させるように指示する指示手段と、を備える。
【０００６】
請求項２に記載の監視装置は、請求項１に記載の監視装置において、前記超過処理は、前記規定時間に達した際に、前記規定時間内に終了しなかった処理の実行状態を保存する処理を含み、前記指示手段は、前記超過処理手段に前記規定時間内に行われなかった処理の実行状態を保存するよう指示する。
【０００７】
請求項３に記載の監視装置は、請求項１に記載の監視装置において、前記超過処理は、前記規定時間に達した際に、前記制御手段により実行が制御されている前記複数の処理毎に実行状態を保存する処理を含み、前記指示手段は、前記超過処理手段に前記複数の処理毎に実行状態を保存するよう指示する。
【０００８】
請求項４に記載の監視装置は、請求項１から請求項３のいずれか１項に記載の監視装置において、前記指定手段は、実行するように指示された処理の種類に応じた前記超過処理を指定する。
【０００９】
請求項５に記載の監視プログラムは、複数の処理を実行するように制御する制御手段の制御により前記複数の処理の各々が共有の資源を順次利用して実行され、かつ前記規定時間内に終了したか否かを各処理毎に監視するステップと、前記複数の処理のいずれかが前記規定時間内に行われなかった場合に、指定手段により指定された超過処理を超過処理手段に実行させるように指示するステップと、を備えた処理をコンピュータに実行させるためのものである。
【発明の効果】
【００１０】
請求項１及び請求項５に記載の発明によれば、指示手段による規定時間の監視を行わない場合に比べて、規定時間内に処理が終了されなかったことが容易にわかる。
【００１１】
請求項２に記載の発明によれば、本構成を有しない場合と比較して、規定時間内に終了しなかった処理の実行状態が保存される。
【００１２】
請求項３に記載の発明によれば、規定時間内に終了しなかった処理の状態のみを保存する場合に比べて、他の処理の実行状態により、規定時間内に処理が終了しなかった理由が容易にわかるようになる。
【００１３】
請求項４に記載の発明によれば、全ての処理に対して同一の超過処理を指定する場合と比較して、当該処理が規定時間内に終了しなかったことにより、周囲に与える影響を考慮した超過処理を超過処理手段に実行させられる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態に係る監視装置の一例の概略構成を示す概略構成図である。
【図２】本実施の形態に係る監視装置の一例の概略構成を示す機能ブロック図である。
【図３】規定時間を超過せずにタスクが完了した場合の一例を説明するためのタイムチャートである。
【図４】優先度の設定により規定時間が超過した場合の一例を説明するためのタイムチャートである。
【図５】共有資源獲得時の優先度が逆転したことにより規定時間が超過した場合の一例を説明するためのタイムチャートである。
【図６】デッドロックが発生したことにより規定時間が超過した場合の一例を説明するためのタイムチャートである。
【図７】本実施の形態に係る監視装置における視動作の一例のフローチャートである。
【図８】本実施の形態における規定時間が超過した場合の一例を説明するためのタイムチャートである。
【図９】本実施の形態に係る監視装置のログ保存部に保存されているログの情報を利用者に提供する場合の具体的一例を説明するための説明図である。
【図１０】本実施の形態に係る監視装置のログ保存部に保存されているログの情報を利用者に提供する場合の具体的一例を説明するための説明図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。なお、本実施の形態では、具体的一例として、リアルタイムＯＳ（ＲＴＯＳ）が提供するタスク間同期機構を備えたシステムにおいて、タスクの実行が規定時間内に完了したか否かを監視する監視装置に本発明を適用した場合について説明する。
【００１６】
図１に、本実施の形態の監視装置の一例の概略構成図を示す。本実施の形態の監視装置１０は、制御部１２、ログ保存部１４、ＵＩ（ユーザインターフェイス）１６、及び通信部１８を備えて構成されており、制御部１２、ログ保存部１４、ＵＩ１６、及び通信部１８は、バス３４を介して互いに接続されている。
【００１７】
制御部１２は、監視装置１０全体、及びシステム全体を制御する機能を有しており、ＣＰＵ２０、メモリ２２、及び記憶部２４を含んで構成されている。
【００１８】
記憶部２４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリ等から成る不揮発性のものである。本実施の形態では、記憶部２４には、少なくともリアルタイムＯＳであるＯＳ２６、利用者が利用するための各種のアプリケーション２８、割込ハンドラ（ＩＳＲ：Ｉｎｔｅｒｒｕｐｔ  Ｓｅｒｖｉｃｅ  Ｒｏｕｔｉｎｅ）３０、及び振舞実行プログラム３２が記憶されている。ＯＳ２６、アプリケーション２８、割込ハンドラ３０、及び振舞実行プログラム３２は、ＣＰＵ２０により実行される。なお、アプリケーション２８により実行される処理を本実施の形態では、タスクと言う。
【００１９】
本実施の形態では、ＯＳ２６は、タスクスケジューリングを行い、セマフォ等の同期機構を用いて、割込ハンドラ３０やアプリケーション２８間の同期をとって、各タスクを実行させると共に、タスクが規定時間内に完了したか否かを監視し、完了しない場合は、指定された振舞（超過処理）を超過ハンドラ等の振舞実行プログラム３２に実行させる機能を有するものである。割込ハンドラ３０は、割り込みが発生した際に、ＣＰＵ２０（ＯＳ２６）により呼び出されるプログラムであり、規定の割込処理を行う。さらに本実施の形態では、タスクの種類に応じて、規定時間を決定すると共に、規定時間超過（タイムアウト）の際の振舞（超過処理）を指定する機能を有している。振舞実行プログラム３２は、指定された超過処理を実行するためのプログラムであり、例えば、超過ハンドラ等が挙げられる（詳細後述）。
【００２０】
ログ保存部１４は、タイムアウト時に、実行を指示されているタスクのログが保存されるものであり、具体的一例としては、メモリ等が挙げられる。
【００２１】
ＵＩ１６は、利用者からの指示（例えば、タスクの実行指示）を受け付けたり、利用者に対して、ログ保存部１４に保存されているログ等を提示したりする機能を有しており、具体的一例としては、タッチパネル、液晶、キーボード、マウス、及び各種ボタン等が挙げられる。通信部１８は、データを外部との間で有線や無線、ネットワーク等を介して送受信する機能を有するものであり、本実施の形態では、ログ保存部１４に保存されているログを外部のコンピュータ等に送信する機能を有している。
【００２２】
さらに、本実施の形態の監視装置１０の監視機能に関する構成を詳細に説明するために、図２に、監視装置１０の一例の機能ブロック図を示す。
【００２３】
本実施の形態の監視装置１０は、ログ保存部１４、ＵＩ１６、通信部１８、振舞実行プログラム３２、規定時間超過監視部５０、超過時振舞実行部５２、同期機構受信部５４、同期機構送信部５６、超過時振舞指定部５８、及び超過状態ログ保存部６４を備えて構成されている、
【００２４】
規定時間超過監視部５０は、同期機構送信部５６により設定された規定時間を監視すると共に、規定時間を超過した際（本実施の形態では、規定時間を超過したタイムアウトの瞬間）に、超過処理を実行させるための割り込みを発生させる。また、規定時間が超過していることを示す戻り値（詳細後述）を付与したセマフォを同期機構受信部５４に送信する機能を有するものである。
【００２５】
超過時振舞実行部５２は、規定時間超過監視部５０が規定時間を超過したと判断した場合に、超過時振舞指定部５８により指定されたコールバック関数（詳細後述）に対応する規定時間超過時の振舞を振舞実行プログラム３２に実行させるための機能を有するものである。本実施の形態では、超過時の振舞（超過処理）は、タイムアウト時の各タスクの状態（システム情報）をログ保存部１４に保存させる処理や、超過した旨の警告をログに保存する処理、システムを再起動させる処理等が挙げられる。また、これらの超過処理を組み合わせてもよい、なお超過処理の種類は特に限定されないが、タイムアウト時のタスクの状態を知るために、タスクの状態をログに保存する超過処理を行うことが好ましい。これらの超過処理を行うため、振舞実行プログラム３２は、各超過処理に対応した超過ハンドラ６０１〜６０ｎ（以下、個々を区別せずに総称する場合は、１〜ｎの符号を付さずに称する）や、再起動部６２を含んでいる。
【００２６】
同期機構受信部５４は、セマフォ等の同期機構を受信する機能を有するものである。また、同期機構送信部５６は、同期機構を受信待ちしているタスクに対してセマフォ等の同期機構を送信する機能を有するものである。なお、本実施の形態では、送信されるセマフォには、規定時間値及び超過時の振舞の指定が含まれている。
【００２７】
超過時振舞指定部５８は、タスクの種類に応じて、規定時間超過時の振舞を指定する機能を有するものである。超過時の振舞を指定する方法としては、予め登録したコールバック関数のポインタ（コールバック関数が記憶されているメモリのアドレスが格納されているポインタ）の指定や、振舞（超過処理）毎に割り振った番号の指定や、新規のコールバック関数のポインタを動的に登録する方法等が挙げられる。
【００２８】
超過状態ログ保存部６４は、超過ハンドラ６０がログを保存する超過処理を行う場合に、ログ保存部１４に実行指示を受けつている全タスクのログを保存させる機能を有するものである。
【００２９】
ログ情報出力部６６は、ログ保存部１４に保存されている規定時間超過の際のログ情報をＵＩ１６や通信部１８を介して出力する機能を有するものである。
【００３０】
次に、本実施の形態の監視装置１０による規定時間の監視動作について詳細に説明するが、監視動作の詳細の前にまず、タスクの処理における規定時間の超過について説明する。ここでは、理解しやすくするために、本実施の形態の監視装置１０を備えない、リアルタイムＯＳにより制御されるシステムによる規定時間超過について具体的一例を挙げて説明する。なお、具体的一例として、ＵＩ描画タスク（ＵＩ１６に画像を表示させる処理）の規定時間を監視する場合について説明する。
【００３１】
図３に、規定時間を超過せずにタスクが完了した場合の一例を説明するためのタイムチャートを示す。
【００３２】
図３に示すように、まず、ＵＩ描画タスクはセマフォ資源を初期化し、利用者がＵＩ１６を介してタスクの実行を指示（以下、ボタン押下という）するまで待機状態になる（図３、ｓｅｍａ＿ｗａｉｔ（ｕｉ＿ｓｅｍ）；）。ボタン押下により、割込みが発生すると、割込ハンドラ３０は、ボタン押下の同期を指示を出力する（図３、ｓｅｍａ＿ｐｏｓｔ（ｕｉ＿ｓｅｍ）；）。当該指示により、セマフォの同期により、ＵＩ描画タスク処理が実行される。なお、本実施の形態では、ボタン押下による割込みが発生した時点から、ＵＩ描画タスクの規定時間のカウントが、図示を省略したカウンタ等により開始される。なおここでは、具体的一例として、ＵＩ描画タスクの規定時間を５００ｍ秒としている。図３に示した場合では、ＵＩ描画タスクは、規定時間内に完了し、ＵＩ１６に表示される画面の切り替え処理が行われる。従って、この場合では、ＵＩ描画タスクは、規定時間超過にはならない。
【００３３】
一方、図４に、優先度の設定により規定時間が超過した場合の一例を説明するためのタイムチャートを示す。
【００３４】
図４に示すように、図３に示した場合と同様にまず、ＵＩ描画タスクはセマフォ資源を初期化し、待機状態になる（図４、ｓｅｍａ＿ｗａｉｔ（ｕｉ＿ｓｅｍ）；）。この状態で当該ＵＩ描画タスクとは別のＵＩ描画タスクよりも優先度の高いタスク（以下、高優先度タスクという）が受け付けられていると、ＵＩ描画タスクが待機状態にある間に、高優先度タスクの実行が開始される。その後、ボタン押下により、割込みが発生すると、割込ハンドラ３０は、同期指示を出力する（図４、ｓｅｍａ＿ｐｏｓｔ（ｕｉ＿ｓｅｍ）；）。その後、割込ハンドラ３０の処理により一時中断された高優先度タスクの処理が再開される。図４に示した場合では、ＵＩ描画タスクの規定時間を超過後に、高優先度タスクが完了し、その後にＵＩ描画タスクが実行されるため、ＵＩ描画タスクは、規定時間の超過後に完了することになる。このように、優先度の高いタスクが他に有ると、高優先度タスクよりも実行が後になるため、規定時間を超過してしまう場合がある。
【００３５】
また、図５に、共有資源獲得時の優先度が逆転したことにより規定時間が超過した場合の一例を説明するためのタイムチャートを示す。
【００３６】
図５に示すように、まず、ＵＩ描画タスクよりも優先度の低いタスク（以下、低優先度タスクという）の実行が開始され、本実施の形態では、ミューテックスにより、共有資源の獲得に成功（ロック）した状態になる（図５、ｍｕｔｅｘ＿ｌｏｃｋ（ａ＿ｍｕｔｅｘ）；）。この後、ＵＩ描画タスクが待機状態になると共に、低優先度タスクにより獲得されている共有資源の獲得待ちになる（図５、ｍｕｔｅｘ＿ｌｏｃｋ（ａ＿ｍｕｔｅｘ）；）。この状態で当該ＵＩ描画タスクとは別のＵＩ描画タスクよりも優先度が低いが、低優先度タスクよりも優先度の高いタスク（中優先度タスクという）が受け付けられ、当該中優先度タスクの実行に低優先度タスクが獲得している共有資源を要さない場合は、ＵＩ描画タスクが待機状態にある間に、中優先度タスクの実行が開始される。その後、ボタン押下により、割込みが発生すると、割込ハンドラ３０は、同期指示を出力する（図５、ｓｅｍａ＿ｐｏｓｔ（ｕｉ＿ｓｅｍ）；）。その後、割込ハンドラ３０の処理により一時中断された中優先度タスクの処理が再開され、中優先度タスクの完了後に、中断されていた低優先度タスクの事項が再開され、図５に示した場合では、ＵＩ描画タスクの規定時間を超過後に、低優先度タスクが完了し、共有資源が開放（非ロック）される（図５、ｍｕｔｅｘ＿ｕｎｌｏｃｋ（ａ＿ｍｕｔｅｘ）；）。その後にＵＩ描画タスクが実行されるため、ＵＩ描画タスクは、規定時間の超過後に完了することになる。このように、ＵＩ描画タスクの優先度が最も高い場合でも、共有資源が他のタスクに獲得されていると、当該共有資源が開放さえるまでＵＩ描画タスクが実行されないため、規定時間を超過してしまう場合がある。
【００３７】
さらに、図６に、デッドロックが発生したことにより規定時間が超過した場合の一例を説明するためのタイムチャートを示す。図６は、他のタスクが既に獲得しているタスクを獲得しようと互いに待機状態になってしまい、処理が実行できなくなるいわゆる、デッドロックが発生した場合を示している。
【００３８】
図５に示すように、まず、低優先度タスクが共有資源ａの獲得に成功した状態になる（図６、ｍｕｔｅｘ＿ｌｏｃｋ（ａ＿ｍｕｔｅｘ）；）。この後、ＵＩ描画タスクが、共有資源ｂの獲得に成功（図６、ｍｕｔｅｘ＿ｌｏｃｋ（ｂ＿ｍｕｔｅｘ）；）すると共に、低優先度タスクにより獲得されている共有資源ａの獲得待ちになる（図６、ｍｕｔｅｘ＿ｌｏｃｋ（ａ＿ｍｕｔｅｘ）；）。さらに、低優先度タスクがＵＩ描画タスクにより獲得されている共有資源ｂの獲得待ちになる（図６、ｍｕｔｅｘ＿ｌｏｃｋ（ｂ＿ｍｕｔｅｘ）；）。即ち、ＵＩ描画タスクと低優先度タスクとが、いわゆるデッドロック状態になる。これによりいずれも、実行されない状態になるため、規定時間が超過しても、ＵＩ描画タスクは、実行されず、従って完了しない。このように、デッドロックの発生により、規定時間を超過してしまう場合がある。
【００３９】
これらのように、規定時間が超過してもタスクの実行が完了しない場合があるため、本実施の形態の監視装置１０では、規定時間内にタスクの実行が完了した否かを監視すると共に、完了しなかった場合に、超過処理を振舞実行プログラム３２により実行する。
【００４０】
図７に、本実施の形態の監視装置１０における監視動作の一例のフローチャートを示す。また、図８に、本実施の形態における規定時間が超過した場合の一例（上述の図４の場合に対応）を説明するためのタイムチャートを示す。
【００４１】
本実施の形態では、受信タスク（具体的一例では、上述のようにＵＩ描画タスク）、ＯＳ２６、及び割込ハンドラ（ＩＳＲ）３０がＣＰＵ２０により実行されることにより、監視動作が行われる。
【００４２】
まず、ＵＩ描画タスクではセマフォ資源を初期化（図７、ステップ１００）し、同期機構受信部５４を呼出し（図７、ステップ１０２）、セマフォの送信が有るか否かを判断し（図７、ステップ１０４）、ＯＳ２６により同期機構送信部５６から同期機構受信部５４にセマフォの送信が有るまで否定されて、待機状態になる（図８、ｓｅｍａ＿ｗａｉｔ＿ｗｄ（ｕｉ＿ｓｅｍ）；）。
【００４３】
次にＯＳ２６内部では、同期機構（セマフォ）の送信が有るか否かを判断し、割込ハンドラ３０により同期機構送信部５６の呼出しが有るまで否定されて、待機状態になる（図７、ステップ２０６）。
【００４４】
次に、割込ハンドラ３０では、ボタン押下により割込みが発生したか否か判断し（図７、ステップ３０８）、発生するまで否定されて待機状態になり、発生した場合は、肯定され、割込処理を行う（図７、ステップ３１０）。さらに、本実施の形態では、処理の種類に応じて規定時間を決定する（図７、ステップ３１２）。規定時間は、例えば当該処理の種類に応じて予め定められている。さらに、超過時振舞指定部５８により処理の種類に応じて超過時の振舞を指定する（図７、ステップ３１４）。本実施の形態では、例えば、処理の完了が規定時間を過ぎても特に他に重大な影響を与えない場合（ＵＩ描画タスクもこれに含む）等は、ログを保存する超過処理を行うように定められる。また、機械の制御系のタスク等、規定時間を超過すると、機械に影響（例えば、加熱する等）を与える等、重大な影響を及ぼす場合は、再起動や、当該タスクを中止する等の超過処理を行うように定められる。
【００４５】
さらに、同期機構送信部５６を呼び出す（図７、ステップ３１６）。図８に示した「ｓｅｍａ＿ｐｏｓｔ＿ｗｄ（ｕｉ＿ｓｅｍ，５００，ＣＯＲＥ＿ＲＵＭＰ）；」が規定時間及び規定時間超過時の振舞を指定した呼出しの具体例である。ここで、「ｗｄ」は、デッドラインが設定されていることを示し、「５００」は規定時間を示し、「ＣＯＲＥ＿ＲＵＭＰ」は、システム情報をログに保存することを示している。なお、その他の超過処理を行う場合には「ＣＯＲＥ＿ＲＵＭＰ」にかわり、規定時間が超過したことを警告する旨をログに保存する場合には「ＬＯＧ＿ＷＡＲＮ」を、強制的に再起動する場合には「ＲＥＢＯＯＴ」を引数として指定するようにする。
【００４６】
このように、割込ハンドラ３０により同期機構送信部５６が呼び出されると、ＯＳ２６では、同期機構の送信が有ったと判断（図７、ステップ２０６で肯定）して、規定時間超過監視部５０に受信した規定時間を設定（図７、ステップ２１８）する。さらに、ＯＳ２６は、実行待ちのタスクのタスクスケジューリングを行い、実行させるタスクの選択を行う（図７、ステップ２２０）。なお、図８に示すように、上述の図４を用いて説明した場合と同様に、高優先度タスクが実行されている場合は、高優先度タスクが選択され、実行される。
【００４７】
さらに、規定時間超過監視部５０は、設定された規定時間を超過したか否か判断し、超過していない場合（図７、ステップ２２２で否定判断）は、ＵＩ描画タスク（受信タスク）を実行できるか否か判断する（図７、ステップ２２６）。一方、規定時間が超過した場合、本実施の形態では、デッドラインに達した際（図７、ステップ２２２で肯定判断）に、指定された振舞（超過処理）を振舞実行プログラム３２に実行（図７、ステップ２２４）させた後、ＵＩ描画タスクを実行できるか否か判断する。図８に示した場合では、ＣＯＲＥ＿ＤＵＭＰが指定されているため、超過状態ログ保存部６４により全タスクのシステム情報がログ保存部１４に保存される。ここでは、高優先度タスク及びＵＩ描画タスクの実行状態がログに保存される。
【００４８】
ＵＩ描画タスクを未だ実行できない場合（図８に示したように、高優先度タスクの実行中等）は、否定されて図７のステップ２２０に示したタスクスケジューリングに戻り、本処理を繰り返す。一方、ＵＩ描画タスクを実行できるようになった場合（高優先度タスクの完了等）は、肯定されて、ＵＩ描画タスクに、規定時間の超過の有無を示す戻り値をつけて、セマフォを送信する。具体的一例として本実施の形態では、「ｓｅｍａ＿ｗａｉｔ＿ｗｄ（０）；」ならば、規定時間が超過していないことを示し、一方、「ｓｅｍａ＿ｗａｉｔ＿ｗｄ（−１）；」ならば規定時間が超過していることを示す。ここでの「０」及び「−１」を戻り値と称している。
【００４９】
ＯＳ２６によりセマフォが送信されると、ＵＩ描画タスクでは、送信が有ったと判断（図７、ステップ１０４で肯定）する。さらに、上述の戻り値を評価し（図７、ステップ１２８）、超過したか否かを判断する（図７、ステップ１３０）。ここで、規定時間を超過せずに、ＵＩ描画タスクを完了した場合は、否定判断されて、本処理を終了する。一方、図８に示した場合のように、規定時間を超過している場合は、例えば、タスクの実行を行わないようにする処理を含む、予め定められたエラー処理（図７、ステップ１３２）を実行した後、本処理を終了する。
【００５０】
なお、このようにしてログ保存部１４に保存された規定時間超過の際のログは、利用者の所望により、ログ情報出力部６６によってＵＩ１６に表示されたり、通信部１８を介して外部に出力されたりする。監視装置１０と、外部のコンピュータ等が通信部１８を介して接続されている場合は、定期的に当該ログが外部に出力されるようになっていてもよい。利用者に提供される当該ログの情報の具体的一例を図９及び図１０に示す。なお、図９及び図１０は、ＵＩ１６の画面、または通信部１８を介して接続されたコンピュータの画面に表示された状態を示している。図９に示すように、履歴情報操作メニュー等が表示される場合は、規定時間超過ログを表示させるように選択する。当該選択に応じて、図１０に示すような、規定時間超過ログが表示される。図１０では、規定時間が超過した警告、ＣＯＲＥ＿ＤＵＭＰが発生したこと、及び、ＣＯＲＥ＿ＤＵＭＰの情報が表示されている状態の具体的一例を示している。
【００５１】
ログ保存部１４に保存されたログは、定期的に消去されるものであっても、ログ保存部１４が一杯（これ以上メモリに書き込めない状態等）になった場合や、ログ情報を利用者に提供した後等に消去されるようにしてもよい。例えば、図９に示した履歴情報操作メニューが表示される場合は、利用者が「＃０２．履歴の消去」を選択すると、保存されていたログが消去されるようにしてもよい。
【００５２】
以上説明したように、本実施の形態では、割込ハンドラ３０（超過時振舞指定部５８）が、実行指示を受信したタスク（受信タスク）の規定時間を決定し、規定時間超過時の振舞を指定する。ＯＳ２６（規定時間超過監視部５０）は、当該規定時間を経過したか否か判断し、デッドラインに達した際に未だ受信タスクの実行が完了してない場合は、指定された振舞（超過処理）を実行するよう超過時振舞実行部５２に指示する。本実施の形態では、少なくとも、デッドラインに達した際の全タスクの実行状態をログ保存部１４にログを保存する。
【００５３】
このようにすることにより、利用者は、規定時間内に完了しなかった受信タスクが有ったことが容易にわかるようになる。また、デッドラインに達した際の全タスクの状態がログに保存されるため、不具合の解析が容易になる。
【００５４】
また、受信タスク自身が規定時間の超過を監視する場合、ボタン押下のタイミングが不明である等の要因により、規定時間の超過が適切に判断されない場合が有るが、本実施の形態では、ＯＳ２６の機能である規定時間超過監視部５０が規定時間の超過を監視するため、適切に規定時間の超過が監視される。
【００５５】
なお、本実施の形態では、具体的一例として、受信タスクが１つ（ＵＩ描画タスク）の場合について説明したがこれに限らず、受信タスクが複数ある場合では、同様に、監視処理を行えばよい。
【００５６】
また、本実施の形態ではＯＳ２６、及び割込ハンドラ３０等、ソフトウエアにより、規定時間超過監視部５０や超過時振舞指定部５８を実現しているがこれに限らず、ハードウエアとして実現するようにしてもよい。
【符号の説明】
【００５７】
１０  監視装置
１２  制御部
１４  ログ保存部
２０  ＣＰＵ
２６  ＯＳ（ＲＴＯＳ）
３０  割込ハンドラ（ＩＳＲ）
３２  振舞実行プログラム
５０  規定時間超過監視部
５２  超過時振舞実行部
５８  超過時振舞指定部
６０  超過ハンドラ
【図１】
2012043148.tif 000003
【図２】
2012043148.tif 000004
【図７】
2012043148.tif 000005
【図９】
2012043148.tif 000006
【図３】
2012043148.tif 000007
【図４】
2012043148.tif 000008
【図５】
2012043148.tif 000009
【図６】
2012043148.tif 000010
【図８】
2012043148.tif 000011
【図１０】
2012043148.tif 000012