(57)【要約】【課題】周期ごとに発生するアプリケーションの実行処理の打ち切りを抑制できる。【解決手段】本発明のプログラムは、一定周期ごとに複数のアプリケーション３ａ〜３ｄに対してＣＰＵ時間を割り当てるプログラム２であって、情報処理装置に、次の周期に処理されるアプリケーション３ａ〜３ｄごとにＣＰＵ時間を割り当てる機能と、現在の周期に処理されるアプリケーション３ａ〜３ｄのうち、現在の周期内にその処理が完了しないアプリケーション３ａ〜３ｄが存在するか否かを判定する機能と、次の周期に処理されるアプリケーション３ａ〜３ｄの割当ＣＰＵ時間の合計と、周期の長さとの差分とから、次の周期でのＣＰＵ空き時間を算出する機能と、次の周期でのＣＰＵ空き時間を上限として、現在の周期内にその処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる機能とを実現させることを特徴とする。【選択図】  図２
2009086733.tif 000002
【特許請求の範囲】
【請求項１】
一定周期ごとに複数のアプリケーションを実行するＣＰＵを備える情報処理装置の制御プログラムであって、
情報処理装置に、
現在の周期内に、次の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当てる第１の割当機能と、
前記第１の割当機能によって割り当てられたＣＰＵ時間を記憶手段へ書き込む書込機能と、
現在の周期に実行するアプリケーションのうち、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定する判定機能と、
現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、次の周期におけるＣＰＵの空き時間を算出する算出機能と、
前記次の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる第２の割当機能とを実現させることを特徴とする情報処理装置の制御プログラム。
【請求項２】
前の周期が現在の周期に切り替わるまでに、現在の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当てる第３の割当機能と、
前記現在の周期に処理される各アプリケーションに対して割り当てられたＣＰＵ時間を第２の記憶手段へ書き込む第２の書込機能とを、
前記判定機能によって現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記第２の記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、現在の周期におけるＣＰＵの空き時間を算出する第２の算出機能と、
前記現在の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる第４の割当機能とを、前記情報処理装置に実現させることを特徴とする請求項１に記載の情報処理装置の制御プログラム。
【請求項３】
前記現在の周期におけるＣＰＵの空き時間がない場合に、前記第２の割当機能を、前記情報処理装置に実現させることを特徴とする請求項２に記載の情報処理装置の制御プログラム。
【請求項４】
前記判定機能は、前記情報処理装置に、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定する時点において、当該アプリケーションの実行処理に要しているＣＰＵ時間と、当該アプリケーションの進捗度とから、当該アプリケーションの実行処理が現在の周期内に完了するか否かを判定させることを特徴とする請求項１または請求項２に記載の情報処理装置の制御プログラム。
【請求項５】
前記現在の周期に処理されるアプリケーションのうち少なくとも１つは、前記判定機能を、前記情報処理装置に実現させることを特徴とする請求項１に記載の情報処理装置の制御プログラム。
【請求項６】
前記アプリケーションは所定の処理を繰り返すためのループコードを有し、
前記アプリケーションは、前記ループコードによって繰り返した所定の処理の実行回数と、それまでの実行処理に要したＣＰＵ時間とを用いて、前記判定機能を、前記情報処理装置に実現させることを特徴とする請求項５に記載の情報処理装置の制御プログラム。
【請求項７】
前記アプリケーションは、当該アプリケーションの実行処理の進捗度を示す進捗度指示コードを有し、前記進捗度指示コードが示すアプリケーションの実行処理の進捗度を用いて、前記判定機能を、前記情報処理装置に実現させることを特徴とする請求項６に記載の情報処理装置の制御プログラム。
【請求項８】
一定周期ごとに複数のアプリケーションを実行するＣＰＵを備える情報処理装置の制御方法であって、
現在の周期内に、次の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当て、
前記次の周期に処理される各アプリケーションに対して割り当てられたＣＰＵ時間を記憶手段へ書き込み、
現在の周期に実行するアプリケーションのうち、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定し、
現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、次の周期におけるＣＰＵの空き時間を算出し、
前記次の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てることを特徴とする情報処理装置の制御方法。
【請求項９】
一定周期ごとに複数のアプリケーションを実行するＣＰＵと、次の周期に処理される各アプリケーションに対して割り当てられたＣＰＵ時間を記憶手段とを備える情報処理装置であって、
前記ＣＰＵが、
現在の周期内に、次の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当てる第１の割当手段と、
前記第１の割当手段によって割り当てられたＣＰＵ時間を前記記憶手段へ書き込む書込手段と、
現在の周期に実行するアプリケーションのうち、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定する判定手段と、
現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、次の周期におけるＣＰＵの空き時間を算出する算出手段と、
前記次の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる第２の割当手段とを備えることを特徴とする情報処理装置。
【請求項１０】
一定周期ごとに複数のアプリケーションを実行するＣＰＵと、
現在の周期内に、次の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当てる第１の割当手段と、
前記第１の割当手段によって割り当てられたＣＰＵ時間を記憶する記憶手段と、
現在の周期に実行するアプリケーションのうち、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定する判定手段と、
現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、次の周期におけるＣＰＵの空き時間を算出する算出手段と、
前記次の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる第２の割当手段とを備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムに関するものである。
【背景技術】
【０００２】
船舶、航空機、自動車などの輸送機械には、センサによって把握した周囲の状況をリアルタイムに画面に表示させるセンサ情報システムが用いられている。例えば、船舶は、レーダー、ソナー、赤外線センサ、カメラなどの複数のセンサを備え、各局面に応じて複数のセンサのセンシング結果を解析することにより周囲の状況を把握する。周囲の状況を把握することにより、船舶は、衝突事故を回避し、安全な航行を実現する。
【０００３】
輸送機械に備えられるセンサ情報システムでは、センサによって把握した周囲の状況を即座にユーザへ知らせるために、所定時間以下の周期ごとに、画面に表示される周囲の状況が更新されなければならない。
【０００４】
このため、センサ情報システムでは、一定周期ごとに、各種センサからのセンシング結果を解析するアプリケーションや、その解析結果を画面に表示するアプリケーションが実行される。このようなアプリケーションは、ある周期に実行処理が開始されたときにはその周期内に実行処理が終了することが要求されるものの、周期内であればどのようなタイミングで実行されたとしても問題がないという特徴がある。
【０００５】
このような特徴を持つアプリケーションに対してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）時間の割り当て（以下、ＣＰＵ時間のスケジューリングと呼ぶ）を行う際には、ある周期においてアプリケーションに割り当てられるＣＰＵ時間の合計が重要となる。
【０００６】
このような周期を考慮したセンサ信号解析用のアプリケーションに対してスケジューリングを行う方式として、例えば、市場メカニズムに基づくＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）適応リソース割り当て技術がある（例えば、非特許文献１。）。
【０００７】
上記の非特許文献１に開示されている技術では、各アプリケーションが仮想的な通貨を用いてＣＰＵ時間の入札を行い、ＣＰＵ時間を所定単位ごとに獲得する。
【非特許文献１】“市場メカニズムに基づくＱｏＳ適応リソース割り当て技術”，東芝レビュー，Ｖｏｌ．６２，Ｎｏ．３，２００７，（２００７年３月），インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｔｏｓｈｉｂａ．ｃｏ．ｊｐ／ｔｅｃｈ／ｒｅｖｉｅｗ／２００７／０３／６２＿０３ｐｄｆ／０１＿１．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記の非特許文献１に開示されている技術では、アプリケーションの実行処理に要する時間を事前に正しく見積もる必要がある。しかし、各種センサとの通信遅延やキャッシュミスなどの要因によって、実際にアプリケーションの実行処理に要する時間は変動する。
【０００９】
そのため、たとえ、アプリケーションの実行処理に要する時間を事前に見積もり、周期内にアプリケーションの実行処理が完了するようにＣＰＵ時間を割り当てたとしても、その周期内にアプリケーションの実行処理が完了しない事態が発生する。
【００１０】
このように周期内にアプリケーションの実行処理が完了しない場合、そのアプリケーションの実行処理は途中で打ち切られる。アプリケーションの実行処理を途中で打ち切ることにより、センシング結果の解析が十分に行われない、あるいは周囲の状況を示す情報が画面に正しく表示されないなどの不具合が発生し、例えば、船舶の安全な航行に支障をきたす恐れがある。
【００１１】
本発明は、上記を鑑みてなされたものであって、周期ごとに発生するアプリケーションの実行処理の打ち切りを抑制できる情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明の実施形態に係る情報処理装置の制御プログラムは、一定周期ごとに複数のアプリケーションを実行するＣＰＵを備える情報処理装置の制御プログラムであって、情報処理装置に、現在の周期内に、次の周期に実行する各アプリケーションに対してＣＰＵ時間を割り当てる第１の割当機能と、前記第１の割当機能によって割り当てられたＣＰＵ時間を記憶手段へ書き込む書込機能と、現在の周期に実行するアプリケーションのうち、現在の周期内にその実行処理が完了しないアプリケーションが存在するか否かを判定する判定機能と、現在の周期内に実行処理が完了しないアプリケーションが存在すると判定された場合に、前記記憶手段に記憶された各アプリケーションに対して割り当てられたＣＰＵ時間の合計と、周期の長さとの差分から、次の周期におけるＣＰＵの空き時間を算出する算出機能と、前記次の周期におけるＣＰＵの空き時間を上限として、前記現在の周期内に実行処理が完了しないアプリケーションに対して、ＣＰＵ時間をさらに割り当てる第２の割当機能とを実現させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、周期ごとに発生するアプリケーションの実行処理の打ち切りを抑制できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について説明する。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るセンサ情報システム１００の構成を示すブロック図である。  
この第１の実施形態に係るセンサ情報システム１００は、情報処理装置１０と、レーダー装置２０と、ソナー装置３０と、入力装置４０と、表示装置５０とを備える。情報処理装置１０は、ＣＰＵ１２Ａと、ＣＰＵ１２Ｂと、メインメモリ１１と、入出力インタフェース１３Ａ〜１３Ｄとを備える。ＣＰＵ１２Ａはキャッシュメモリ１２Ａ−１を内蔵し、ＣＰＵ１２Ｂはキャッシュメモリ１２Ｂ−１を内蔵する。
【００１６】
ＣＰＵ１２Ａ、ＣＰＵ１２Ｂ、メインメモリ１１、および入出力インタフェース１３Ａ〜１３Ｄは、互いにバスラインで接続される。入出力インタフェース１３Ａは入力装置４０と接続される。入出力インタフェース１３Ｂは表示装置５０と接続される。入出力インタフェース１３Ｃはレーダー装置２０と接続される。入出力インタフェース１３Ｄはソナー装置３０と接続される。
【００１７】
このセンサ情報システム１００は、船舶、航空機などの輸送機械に搭載される。センサ情報システム１００は、レーダー装置２０とソナー装置３０によって周囲の状況を測定し、その測定結果を表示装置５０に画面情報として表示することにより、例えば、危険な障害物などをいち早く乗組員（ユーザ）に知らせるためのリアルタイムシステムである。なお、センサ情報システム１００は、１０００ｍｓｅｃごとに、レーダー装置２０とソナー装置３０によって周囲の状況を測定し、逐次その測定結果を画面情報として表示する。
【００１８】
レーダー装置２０は、電波を発信し、障害物や目標物からの電波の反射波を測定する。レーダー装置２０は、入出力インタフェース１３Ａを介して、測定結果である電波の反射波に関する情報（以下、センシング結果と呼ぶ。）をメインメモリ１１に記憶させる。なお、レーダー装置２０のセンシング結果を解析することによって、周囲に存在する障害物や目標物の距離や方位などを把握できる。
【００１９】
ソナー装置３０は、音波を発信し、障害物や目標物からの音波の反射波を測定する。ソナー装置３０は、入出力インタフェース１３Ｂを介して、測定結果である音波の反射波に関する情報（以下、センシング結果と呼ぶ。）をメインメモリ１１に記憶させる。なお、ソナー装置３０のセンシング結果を解析することによって、周囲に存在する障害物や目標物の距離や方位などを把握できる。
【００２０】
入力装置４０は、キーボードやマウスなど、ユーザが情報を入力するための装置である。ユーザは、入力装置４０を操作することによって、ソナー装置３０およびレーダー装置２０によるセンシング結果を、どのように表示装置５０に表示させるかを指定する。ユーザにより入力された情報は、入出力インタフェース１３Ｃを介して、ＣＰＵ１２Ａ、１２Ｂへ伝達される。
【００２１】
情報処理装置１０は、レーダー装置２０およびソナー装置３０によるセンシング結果を解析する。情報処理装置１０は、入力装置４０から入力された情報に従って、その解析結果から画面情報を作成し、入出力インタフェース１３Ｄを介して表示装置５０へ送信する。
【００２２】
表示装置５０は、情報処理装置１０から送信された画面情報を表示するディスプレイである。
【００２３】
図２（ａ）はＣＰＵ１２Ａが実行するソフトウェアの構成を示す図であり、図２（ｂ）はＣＰＵ１２Ｂが実行するソフトウェアの構成を示す図である。  
ＣＰＵ１２ＡとＣＰＵ１２Ｂは、マルチプロセッサに対応した同一のＯＳ１（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、例えば、Windows（R）、Linux（R）を実行する。ＣＰＵ１２Ａは、ＯＳ１の他、ミドルウェアとしてスケジューラ２を実行する。ＣＰＵ１２Ｂは、ＯＳ１の他、レーダー信号解析用アプリケーション３ａ、レーダー画面表示用アプリケーション３ｂ、ソナー信号解析用アプリケーション３ｃ、およびソナー画面表示用アプリケーション３ｄを実行する。
【００２４】
ＯＳ１に従って、ＣＰＵ１２ＡとＣＰＵ１２Ｂは、メインメモリ１１へのアクセス、入出力インタフェース１３Ａ〜１３Ｄの制御、入力装置４０からの入力情報の処理、表示装置５０へ画面情報の表示などを行う。ＯＳ１に従って、ＣＰＵ１２ＡとＣＰＵ１２Ｂは、実行可能な状態にある複数のプログラム（例えば、スケジューラ２や各アプリケーション３）に対して、ラウンドロビン方式によってタイムスライス（５０ｍｓｅｃ）ごとにＣＰＵ時間を割り当て、複数のプログラムを並列に実行する。なお、プログラムに割り当てられるＣＰＵ時間とは、ＣＰＵ１２ＡあるいはＣＰＵ１２Ｂがそのプログラムの実行処理を行う時間である。
【００２５】
スケジューラ２に従って、ＣＰＵ１２Ａは、各アプリケーション３に、周期ごとに割り当てるＣＰＵ時間を決定する。なお、ＣＰＵ１２Ａは、それぞれのアプリケーション３の優先度に応じて、アプリケーションごとにＣＰＵ時間を割り当てる。
【００２６】
レーダー信号解析用アプリケーション３ａに従って、ＣＰＵ１２Ｂは、レーダー装置２０からのセンシング結果をメインメモリ１１から読み出し、そのセンシング結果を解析して、周囲に存在する障害物や目標物の距離や方位などを示す情報を構成する。
【００２７】
レーダー画面表示用アプリケーション３ｂに従って、ＣＰＵ１２Ｂは、レーダー信号解析用アプリケーション３ａを実行することによって得られた解析結果を、表示装置５０に表示するための画面情報に変替する。
【００２８】
ソナー信号解析用アプリケーション３ｃに従って、ＣＰＵ１２Ｂは、ソナー装置３０からのセンシング結果をメインメモリ１１から読み出し、そのセンシング結果を解析して、周囲に存在する障害物や目標物の距離や方位などを示す情報を構成する。
【００２９】
ソナー画面表示用アプリケーション３ｄに従って、ＣＰＵ１２Ｂは、ソナー信号解析用アプリケーション３ｃを実行することによって得られた解析結果を、表示装置５０に表示するための画面情報に変替する。
【００３０】
なお、センサ情報システム１００は、１０００ｍｓｅｃごとに、レーダー装置２０とソナー装置３０によって周囲の状況を測定し、逐次その測定結果を画面情報として表示するため、ＣＰＵ１２ＡとＣＰＵ１２Ｂは、周期（１０００ｍｓｅｃ）内に、レーダー信号解析用アプリケーション３ａ、レーダー画面表示用アプリケーション３ｂ、ソナー信号解析用アプリケーション３ｃ、およびソナー画面表示用アプリケーション３ｄの実行処理を完了する必要がある。
【００３１】
図３は、ＣＰＵ１２Ａが実行するスケジューラ２と、ＣＰＵ１２Ｂが実行するレーダー画面表示用アプリケーション３ｂとの関係を示す。なお、ＣＰＵ１２Ａが実行するスケジューラ２と、ＣＰＵ１２Ｂが実行するレーダー信号解析用アプリケーション３ａ、ソナー信号解析用アプリケーション３ｃ、およびソナー画面表示用アプリケーション３ｄとの関係も同様である。
【００３２】
図４は、スケジューラ２およびレーダー画面表示用アプリケーション３ｂを実行する際の、一周期におけるＣＰＵ１２ＡとＣＰＵ１２Ｂの動作を示すフローチャートである。なお、センサ情報システム１００のＣＰＵ１２ＡとＣＰＵ１２Ｂは、周期ごとに同様の処理を繰り返す。
【００３３】
まず、前の周期（１０００ｍｓｅｃ）が終了し、現在の周期（１０００ｍｓｅｃ）へ切り替わる（ステップＳ１０１）。なお、前の周期において、現在の周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果が、次周期用記憶配列２−３として、メインメモリ１１に記憶されているものとする。
【００３４】
図５は、現在の周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果である。なお、周期の長さが１０００ｍｓｅｃであり、各アプリケーション３に割り当てられたＣＰＵ時間の合計は８００ｍｓｅｃであるため、現在の周期におけるＣＰＵ空き時間（未割当ＣＰＵ時間）は２００ｍｓｅｃである。
【００３５】
次に、ＣＰＵ１２Ａは、スケジューラ２の割当コード２−１に従い、次周期用記憶配列２−３としてメインメモリ１１に記憶された、現在の周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果を、現周期用記憶配列２−２としてメインメモリ１１に記憶しなおす（ステップＳ１０２）。
【００３６】
次に、ＣＰＵ１２Ａは、割当コード２−１に従い、次の周期における各アプリケーション３に対するＣＰＵ時間の割り当てを行い、その割り当て結果を、次周期用記憶配列２−３として、メインメモリ１１に記憶する（ステップＳ１０３）。その後、ＣＰＵ１２Ａは待機状態となる。
【００３７】
図６は、次の周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果である。なお、周期の長さが１０００ｍｓｅｃであり、各アプリケーション３に割り当てられたＣＰＵ時間の合計は８５０ｍｓｅｃであるため、次周期におけるＣＰＵ空き時間（未割当ＣＰＵ時間）は１５０ｍｓｅｃである。
【００３８】
次に、ＣＰＵ１２Ｂは、レーダー画面表示用アプリケーション３ｂに対してＣＰＵ時間が割り当てられているため、レーダー画面表示用アプリケーション３ｂの実行を開始する。なお、ＣＰＵ１２Ｂは、同様に、レーダー信号解析用アプリケーション３ａ、ソナー信号解析用アプリケーション３ｃ、およびソナー画面表示用アプリケーション３ｄを実行するが、その説明については省略する。
【００３９】
次に、ＣＰＵ１２Ｂは、レーダー画面表示用アプリケーション３ｂの実行コード３ｂ−１に従い、レーダー装置２０のセンシング結果の解析を行う（ステップＳ１０４）。
【００４０】
レーダー画面表示用アプリケーション３ｂの実行処理が終了した場合（ステップＳ１０５のはい）、ＣＰＵ１２Ｂは、その他のアプリケーションを実行するか、その動作を終了する。
【００４１】
一方、レーダー画面表示用アプリケーション３ｂの実行処理が終了していない場合（ステップＳ１０５のいいえ）には、ＣＰＵ１２Ｂは、進捗管理コード３ｂ−２に従って、レーダー画面表示用アプリケーション３ｂの実行コード３ｂ−１の進捗状況を調べ、レーダー画面表示用アプリケーション３ｂに割り当てられたＣＰＵ時間５０ｍｓｅｃ以内に、その実行処理が完了するか否かを判定する（ステップＳ１０６）。
【００４２】
割り当てられたＣＰＵ時間５０ｍｓｅｃ以内にレーダー画面表示用アプリケーション３ｂの実行処理が完了すると判定された場合（ステップＳ１０６のはい）には、ＣＰＵ１２Ｂは、実行コード３ｂ−１の実行処理を継続する（ステップＳ１０４）。
【００４３】
一方、割り当てられたＣＰＵ時間５０ｍｓｅｃ以内にレーダー画面表示用アプリケーション３ｂの実行処理が完了しないと判定された場合（ステップＳ１０６のいいえ）には、ＣＰＵ１２Ｂは、進捗管理コード３ｂ−２に従って、ＣＰＵ時間の再割り当てをＣＰＵ１２Ａに対して要求する。
【００４４】
レーダー画面表示用アプリケーション３ｂを実行するＣＰＵ１２ＢからのＣＰＵ時間の再割り当て要求を受信した場合、ＣＰＵ１２Ａは、スケジューラ２の割当コード２−１に従い、現周期用記憶配列２−２（図５）として記憶された未割り当てＣＰＵ時間２００ｍｓｅｃを上限として、レーダー画面表示用アプリケーション３ｂに対してＣＰＵ時間の再割り当てを行う（ステップＳ１０７のはい、Ｓ１０８）。
【００４５】
このＣＰＵ時間の再割り当てによってレーダー画面表示用アプリケーション３ｂの実行処理用に割り当てられたＣＰＵ時間に不足がなくなった場合（ステップＳ１０９のはい）、ＣＰＵ１２Ａは、ＣＰＵ時間の再割り当てを行ったことをＣＰＵ１２Ｂに対して通知する。ＣＰＵ１２Ｂは、ＣＰＵ時間の再割り当てが行われたレーダー画面表示用アプリケーション３ｂに従い、さらに、実行コード３ｂ−１や進捗管理コード３ｂ−２を実行する（ステップＳ１０４、Ｓ１０６）。
【００４６】
一方、レーダー画面表示用アプリケーション３ｂを実行するＣＰＵ１２ＢからのＣＰＵ時間の再割り当て要求を受信したとしても、現周期用記憶配列２−２として記憶された未割り当てＣＰＵ時間が存在しない場合（ステップＳ１０７のいいえ）、あるいは、ＣＰＵ時間の再割り当てを行ったにも関わらずレーダー画面表示用アプリケーション３ｂの実行処理用に割り当てられたＣＰＵ時間が不足する場合（ステップＳ１０９のいいえ）、ＣＰＵ１２Ｂは、スケジューラ２の割当コード２−１に従い、次周期用記憶配列２−３（図６）として記憶された未割り当てＣＰＵ時間１５０ｍｓｅｃを上限として、レーダー画面表示用アプリケーション３ｂに対してＣＰＵ時間の再割り当てを行う（ステップＳ１１０のはい、Ｓ１１１）。ＣＰＵ１２Ａは、ＣＰＵ時間の再割り当てを行ったことをＣＰＵ１２Ｂに対して通知する。ＣＰＵ１２Ｂは、ＣＰＵ時間の再割り当てが行われたレーダー画面表示用アプリケーション３ｂに従い、さらに、実行コード３ｂ−１や進捗管理コード３ｂ−２を実行する（ステップＳ１０４、Ｓ１０６）。
【００４７】
一方、次周期用記憶配列２−３として記憶された未割り当てＣＰＵ時間が存在しない場合（ステップＳ１１０のいいえ）は、ＣＰＵ１２Ｂは、レーダー画面表示用アプリケーション３ｂの実行処理を打ち切る（ステップＳ１１２）。
【００４８】
なお、レーダー画面表示用アプリケーション３ｂの実行処理の打ち切りは、ＣＰＵ１２Ｂが、レーダー画面表示用アプリケーション３ｂに従って行ってもよく、ＯＳ１に従って行っても良い。レーダー画面表示用アプリケーション３ｂが第三者によって作成された場合やレーダー画面表示用アプリケーション３ｂに不具合がある場合などは、ＣＰＵ１２Ｂは、ＯＳ１に従って、強制的にレーダー画面表示用アプリケーション３ｂの実行処理を打ち切る。
【００４９】
図７は、ＣＰＵ１２ＡとＣＰＵ１２Ｂがスケジューラ２および各アプリケーション３を実行したときの処理の様子の一例を示す図である。なお、現在の周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果を図５とする。次周期における各アプリケーション３に対するＣＰＵ時間の割り当て結果を図６とする。また、現在の周期において実際に各アプリケーション３を実行した際の各アプリケーション３の実行処理に要したＣＰＵ時間が図８であったものとする。
【００５０】
まず、前の周期から現在の周期へ切り替わった際に、ＣＰＵ１２Ａはスケジューラ２の実行を開始し、ＣＰＵ１２Ｂはレーダー信号解析用アプリケーション３ａとソナー信号解析用アプリケーション３ｃの実行を開始する。
【００５１】
ＣＰＵ１２Ｂは、前の周期で事前に割り当てられたＣＰＵ時間（図５）に従い、レーダー信号解析用アプリケーション３ａとソナー信号解析用アプリケーション３ｃとを、タイムスライス（５０ｍｓｅｃ）ごとに交互に実行する。
【００５２】
レーダー信号解析用アプリケーション３ａとソナー信号解析用アプリケーション３ｃの実行処理が前の周期で事前に割り当てられたＣＰＵ時間内には完了せず、現在の周期の未割当ＣＰＵ時間が存在するため、現在の周期の未割当ＣＰＵ時間から、ＣＰＵ時間の再割り当てが行われる。ＣＰＵ１２Ｂは、前の周期で事前に割り当てられたＣＰＵ時間と、再割り当てされたＣＰＵ時間とをかけて、レーダー信号解析用アプリケーション３ａとソナー信号解析用アプリケーション３ｃとの実行処理を行う。
【００５３】
レーダー信号解析用アプリケーション３ａとソナー信号解析用アプリケーション３ｃの実行処理が完了した後、ＣＰＵ１２Ｂは、それぞれレーダー画面表示用アプリケーション３ｂとソナー画面表示用アプリケーション３ｄの実行処理を開始する。
【００５４】
ＣＰＵ１２Ｂは、ソナー画面表示用アプリケーション３ｄの実行処理を、前の周期で事前に割り当てられたＣＰＵ時間内に完了した。一方、レーダー画面表示用アプリケーション３ｂの実行処理は、前の周期で事前に割り当てられたＣＰＵ時間内には完了しなかった。ここで、現在の周期の未割当ＣＰＵ時間が存在せず、かつ、次周期の未割当ＣＰＵ時間が存在するので、ＣＰＵ１２Ａは、スケジューラ２に従って、次周期の未割当ＣＰＵ時間から、ＣＰＵ時間の再割り当てを行う。ＣＰＵ１２Ｂは、前の周期で事前に割り当てられたＣＰＵ時間と、再割り当てされたＣＰＵ時間とをかけて、レーダー画面表示用アプリケーション３ｂの実行処理を行う。
【００５５】
図９は、表示装置５０の画面のピクセルを示す図である。  
表示装置５０は、縦ｍ個（ｍは１以上の整数）、横ｎ個（ｎは１以上の整数）、全体としてｍ×ｎ個のピクセルを有する。ＣＰＵ１２Ｂは、レーダー画面表示用アプリケーション３ｂに従い、レーダー信号解析用アプリケーション３ａを実行することにより得られた解析結果から、各ピクセルの輝度を算出する。なお、ＣＰＵ１２Ｂは、レーダー画面表示用アプリケーション３ｂに従い、各ピクセルの色彩（ＲＧＢ：Ｒｅｄ−Ｇｒｅｅｎ−Ｂｌｕｅ）を算出しても良い。
【００５６】
図１０は、レーダー画面表示用アプリケーション３ｂのコード３ｂ−ｃｏｄｅの一例を示す図である。なお、ソナー画面表示用アプリケーション３ｄについても、レーダー信号解析用アプリケーション３ａを実行することにより得られた解析結果ではなく、ソナー信号解析用アプリケーション３ｃを実行することにより得られた解析結果を用いる点以外、図１０と同様のコードで実現されるものと理解される。
【００５７】
レーダー画面表示用アプリケーション３ｂは、前処理コード３ｂ−ｃｏｄｅ１と、ピクセル輝度の算出コード３ｂ−ｃｏｄｅ２と、進捗状況算出コード３ｂ−ｃｏｄｅ３と、ループコード３ｂ−ｃｏｄｅ４と、後処理コード３ｂ−ｃｏｄｅ５とを有する。
【００５８】
前処理コード３ｂ−ｃｏｄｅ１は、メインメモリ１１に記憶された解析結果の読み出しなどを行うためのコードである。
【００５９】
ピクセル輝度の算出コード３ｂ−ｃｏｄｅ２は、レーダー信号解析用アプリケーション３ａを実行することにより得られた解析結果から、ｉ行ｊ列のピクセルの輝度を算出するためのコードである。“ｉ”と“ｊ”はループカウンタ値であり、“ｉ”は“１”から“ｍ”まで、“ｊ”は“１”から“ｎ”まで、スイープされる。
【００６０】
進捗状況算出コード３ｂ−ｃｏｄｅ３は、進捗状況算出コード３ｂ−ｃｏｄｅ３を実行する時点におけるレーダー画面表示用アプリケーション３ｂの進捗状況を［｛（ｉ／ｍ）＊１００｝％］なる式により算出するためのコードである。例えば、表示装置５０が１６００×１２００ピクセルで画面情報を表示するときには、“ｍ”は１２００行となり、ループカウンタ値“ｉ”が６００であれば、進捗度は、｛（６００／１２００）＊１００｝％＝５０％と算出される。なお、進捗状況算出コード３ｂ−ｃｏｄｅ３は、前処理コード３ｂ−ｃｏｄｅ１や後処理コード３ｂ−ｃｏｄｅ５などを考慮した式によって、レーダー画面表示用アプリケーション３ｂの進捗状況を算出するためのコードであっても良い。
【００６１】
進捗状況算出コード３ｂ−ｃｏｄｅ３は、図１０に示す例ではループ処理を“ｎ”回繰り返すたびに実行されるが、ループ処理を１回行うたびに実行されるものであってもよい。また、進捗状況算出コード３ｂ−ｃｏｄｅ３は、ループ処理の回数とは無関係に、タイマーが所定の時刻になったときに実行されるものであっても良い。例えば、周期１０００ｍｓｅｃの９０％、すなわち、現在の周期に切り替わってから９００ｍｓｅｃ経過した時点で、進捗状況算出コード３ｂ−ｃｏｄｅ３が実行されても良い。
【００６２】
ループコード３ｂ−ｃｏｄｅ４は、例えば、図１０に示す“ｆｏｒ文”であり、ピクセル輝度の算出コード３ｂ−ｃｏｄｅ２と進捗状況算出コード３ｂ−ｃｏｄｅ３とを、定期的に繰り返し実行するためのコードである。
【００６３】
後処理コード３ａｂ−ｃｏｄｅ５は、各ピクセルの輝度から表示装置５０に送信する画面情報を構成するためのコードである。
【００６４】
図１１は、レーダー信号解析用アプリケーション３ａのコード３ａ−ｃｏｄｅの一例を示す図である。なお、ソナー信号解析用アプリケーション３ｃについても、レーダー装置２０のセンシング結果ではなく、ソナー装置３０のセンシング結果を用いる点以外、図１１と同様のコードで実現されるものと理解される。
【００６５】
レーダー信号解析用アプリケーション３ａは、前処理コード３ａ−１と、反射データの解析コード３ａ−ｃｏｄｅ２と、進捗状況算出コード３ａ−ｃｏｄｅ３と、ループコード３ａ−ｃｏｄｅ４と、後処理コード３ａ−ｃｏｄｅ５とを有する。
【００６６】
前処理コード３ａ−ｃｏｄｅ１は、メインメモリ１１に記憶されたセンシング結果の読み出しなどを行うためのコードである。
【００６７】
反射データの解析コード３ａ−ｃｏｄｅ２は、レーダー装置２０のセンシング結果、即ち、仰角“ｉ”、方位角“ｊ”に対して電波を送信した際の反射波の情報を示すデータを、それぞれ解析するためのコードである。“ｉ”と“ｊ”はループカウンタ値であり、“ｉ”は“１”から“ｐ”まで、“ｊ”は“１”から“ｑ”まで、スイープされる。
【００６８】
進捗状況算出コード３ａ−ｃｏｄｅ３は、進捗状況算出コード３ａ−ｃｏｄｅ３を実行する時点におけるレーダー画面表示用アプリケーション３ｂの進捗状況を［｛（ｉ／ｐ）＊１００｝％］なる式により算出するためのコードである。なお、進捗状況算出コード３ａ−ｃｏｄｅ３は、前処理コード３ａ−ｃｏｄｅ１や後処理コード３ａ−ｃｏｄｅ５などを考慮した式によって、レーダー信号解析用アプリケーション３ａの進捗状況を算出するためのコードであっても良い。
【００６９】
ループコード３ａ−ｃｏｄｅ４は、例えば、図１１に示す“ｆｏｒ文”であり、反射データの解析コード３ａ−ｃｏｄｅ２と進捗状況算出コード３ａ−ｃｏｄｅ３とを、定期的に繰り返し実行するためのコードである。
【００７０】
後処理コード３ａ−ｃｏｄｅ５は、それぞれの反射データの解析結果を総合して、レーダー装置２０からのセンシング結果を解析した結果を構成するためのコードである。
【００７１】
図１２は、図４のステップＳ１０６において、ＣＰＵ１２Ｂが、各アプリケーション３の進捗管理コード３ｂ−２に従って、現在の周期において割り当てられたＣＰＵ時間内に、実行中のアプリケーションの実行処理が完了するか否かを判定する際の動作を示すフローチャートである。なお、進捗管理コード３ｂ−２は、進捗状況算出コード３ｂ−ｃｏｄｅ３を有する。
【００７２】
まず、ＣＰＵ１２Ｂは、ループカウンタ値を総ループ回数で除算した結果を、進捗度とする（ステップＳ２０１）。
【００７３】
次に、ＣＰＵ１２Ｂは、現在までにアプリケーションの実行処理に要したＣＰＵ時間を、進捗度で除算した結果を、実行中のアプリケーションの実行処理に要すると予想されるＣＰＵ時間（以下、予想総ＣＰＵ時間と呼ぶ）とする（ステップＳ２０２）。なお、ＣＰＵ１２Ｂは、ＯＳ１に従って、現在までにアプリケーションの実行処理に要したＣＰＵ時間を管理しているものとする。
【００７４】
次に、ＣＰＵ１２Ｂは、予想総ＣＰＵ時間から、現在の周期において割り当てられたＣＰＵ時間（以下、現周期の割当ＣＰＵ時間と呼ぶ）を減算した結果を、アプリケーションの実行処理を行うにあたって不足するＣＰＵ時間（以下、不足時間と呼ぶ）とする（ステップＳ２０３）。
【００７５】
不足時間が“０”以下であれば（ステップＳ２０４のいいえ）、ＣＰＵ１２Ｂは、実行中のアプリケーションの実行処理が、現周期の割当ＣＰＵ時間内に、完了すると判定する（ステップＳ２０５）。
【００７６】
一方、不足時間が“０”より大きければ（ステップＳ２０４のはい）、ＣＰＵ１２Ｂは、実行中のアプリケーションの実行処理が、現周期の割当ＣＰＵ時間内に、完了しないと判定する（ステップＳ２０６）。
【００７７】
図１３は、図４のステップＳ１０７〜Ｓ１０９において、ＣＰＵ１２Ａが、スケジューラ２の割当コード２−１に従って、現周期の未割当ＣＰＵ時間から、アプリケーションに対してＣＰＵ時間の再割当を行う際の動作を示すフローチャートである。
【００７８】
まず、ＣＰＵ１２Ａは、ＣＰＵ１２Ｂから、ＣＰＵ時間の再割当要求として、アプリケーションの種別と、そのアプリケーションの実行に不足する不足時間とを受信する。
【００７９】
次に、ＣＰＵ１２Ａは、不足時間が現周期の未割当ＣＰＵ時間よりも大きいか否かを判定する（ステップＳ３０１）。なお、不足時間は、ＣＰＵ１２Ｂが、図１２のステップＳ２０３において、進捗管理コード３ｂ−２にしたがって算出したものである。
【００８０】
不足時間が現周期の未割当ＣＰＵ時間よりも大きいと判定された場合（ステップＳ３０１のはい）、ＣＰＵ１２Ａは、アプリケーションに対してＣＰＵ時間の再割当を行う際に、追加するＣＰＵ時間（以下、追加割当時間と呼ぶ）を、現周期の未割当ＣＰＵ時間の残りすべてとする（ステップＳ３０２）。
【００８１】
一方、不足時間が現周期の未割当ＣＰＵ時間より大きくないと判定された場合（ステップＳ３０１のいいえ）、ＣＰＵ１２Ａは、追加割当時間を不足時間とする（ステップＳ３０３）。
【００８２】
次に、ＣＰＵ１２Ａは、現周期の未割当ＣＰＵ時間から追加割当時間を減算した減算結果へ、現周期の未割当ＣＰＵ時間を更新する（ステップＳ３０４）。
【００８３】
次に、ＣＰＵ１２Ａは、不足時間から追加割当時間を減算した減算結果へ、不足時間を更新する（ステップＳ３０５）。
【００８４】
次に、ＣＰＵ１２Ａは、ＣＰＵ時間の再割当を行うアプリケーションに関しての、現周期の割当ＣＰＵ時間と、追加割当時間とを加算した加算結果へ、現周期の割当ＣＰＵ時間を更新する（ステップＳ３０６）。
【００８５】
次に、ＣＰＵ１２Ａは、不足時間が０より大きいか否かを判定する（ステップＳ３０７）。
【００８６】
不足時間が０より大きくないと判定された場合（ステップＳ３０７のいいえ）、ＣＰＵ１２Ｂは、アプリケーションに対するＣＰＵ時間の再割当を完了できたものとして（ステップＳ３０８）、他の処理、例えばアプリケーションの実行処理などへ移行する。
【００８７】
一方、不足時間が０より大きいと判定された場合（ステップＳ３０７のはい）、ＣＰＵ１２Ａは、アプリケーションに対して再割り当てしたＣＰＵ時間が不足しているものとして（ステップＳ３０９）、さらなるＣＰＵ時間の割り当てを試みる。
【００８８】
図１４は、図４のステップＳ１１０、１１１において、ＣＰＵ１２Ａが、スケジューラ２の割当コード２−１に従って、次周期の未割当ＣＰＵ時間から、アプリケーションに対してＣＰＵ時間の再割当を行う際の動作を示すフローチャートである。
【００８９】
まず、ＣＰＵ１２Ａは、不足時間が次周期の未割当ＣＰＵ時間よりも大きいか否かを判定する（ステップＳ４０１）。なお、不足時間は、ＣＰＵ１２Ａが、図１２のステップＳ２０３で算出したもの、あるいは、図１３のステップＳ３０５で更新したものである。
【００９０】
不足時間が次周期の未割当ＣＰＵ時間よりも大きいと判定された場合（ステップＳ４０１のはい）、ＣＰＵ１２Ａは、追加割当時間を、次周期の未割当ＣＰＵ時間の残りすべてとする（ステップＳ４０２）。
【００９１】
一方、不足時間が次周期の未割当ＣＰＵ時間より大きくないと判定された場合（ステップＳ４０１のいいえ）、ＣＰＵ１２Ａは、追加割当時間を不足時間とする（ステップＳ４０３）。
【００９２】
次に、ＣＰＵ１２Ａは、次周期の未割当ＣＰＵ時間から追加割当時間を減算した減算結果へ、次周期の未割当ＣＰＵ時間を更新する（ステップＳ４０４）。
【００９３】
次に、ＣＰＵ１２Ａは、不足時間から追加割当時間を減算した減算結果へ、不足時間を更新する（ステップＳ４０５）。
【００９４】
次に、ＣＰＵ１２Ａは、ＣＰＵ時間の再割当を行うアプリケーションに関しての、現周期の割当ＣＰＵ時間と、追加割当時間とを加算した加算結果へ、現周期の割当ＣＰＵ時間を更新する（ステップＳ４０６）。
【００９５】
このように、第１の実施形態に係るセンサ情報システム１００によれば、周期ごとに発生するアプリケーションの実行処理を行う際に、次の周期に実行する各アプリケーション３に対してＣＰＵ時間をあらかじめ割り当てることによって、現在の周期中に実行処理が完了しないアプリケーションが存在したとしても、次の周期におけるＣＰＵの空き時間を上限として、実行処理が完了しないアプリケーションに対してＣＰＵ時間を再割り当てすることによって、アプリケーションの実行処理の打ち切りを抑制できる。
【００９６】
また、このセンサ情報システム１００のスケジューリング機能は、情報処理装置１０に搭載されたＣＰＵにプログラムを実行させることにより実現されるものとしたが、専用のハードウェアを用いることで実現することができる。
【００９７】
例えば、情報処理装置１０は、現周期用記憶配列２−２と次周期用記憶配列２−３とをそれぞれ記憶するメモリである現周期用記憶部と次周期用記憶部とを備えていて、各アプリケーション３の実行処理を行うＣＰＵ１２Ａ、１２Ｂの代わりに、専用のハードウェアとして、アプリケーションの進捗管理コードをＣＰＵ１２Ｂが実行することによって実現する機能を有する進捗管理部と、スケジューラ２の割当コード２−１をＣＰＵ１２Ａが実行することによって実現する機能とを有するＣＰＵ時間割当部とを備えていても良い。
【００９８】
（第２の実施形態）
第１の実施形態に係るセンサ情報システム１００が有するアプリケーションのコードは、ループコードを有していて、例えば、ループカウンタ値を総ループ回数で除算した除算結果を、そのアプリケーションの進捗状況としていた。一方、第２の実施形態に係るセンサ情報システムが有するアプリケーションのコードは、進捗度を指示するためのコードを有している。なお、この第２の実施形態に係るセンサ情報システムと第１の実施形態に係るセンサ情報システム１００との相違点は、アプリケーションのコードであるため、その他の部分については、その説明を省略する。
【００９９】
図１５は、レーダー画面表示用アプリケーション３ｂのコード３ｂ−ｃｏｄｅ１０の構成の一例を示す図である。なお、レーダー信号解析用アプリケーション３ａ、ソナー信号解析用アプリケーション３ｃおよびソナー画面表示用アプリケーション３ｄについても、図１５と同様の構成のコードで実現されるものと理解される。
【０１００】
レーダー画面表示用アプリケーション３ｂのコード３ｂ−ｃｏｄｅ１０は、第１乃至第４の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１４と、進捗度指示コード３ｂ−ｃｏｄｅ１５〜３ｂ−ｃｏｄｅ１７とを有する。
【０１０１】
第１乃至第４の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１４は、レーダー画面表示用アプリケーション３ｂのコード３ｂ−ｃｏｄｅ１０を、機能の種類、フェイズなどに応じて４つに分割して得られるコードである。
【０１０２】
進捗度指示コード３ｂ−ｃｏｄｅ１５〜３ｂ−ｃｏｄｅ１７は、それぞれ、第１の処理コード３ｂ−ｃｏｄｅ１１と第２の処理コード３ｂ−ｃｏｄｅ１２の間、第２の処理コード３ｂ−ｃｏｄｅ１２と第３の処理コード３ｂ−ｃｏｄｅ１３の間、および第３の処理コード３ｂ−ｃｏｄｅ１３と第４の処理コード３ｂ−ｃｏｄｅ１４の間に挿入される。
【０１０３】
第１の処理コード３ｂ−ｃｏｄｅ１１と第２の処理コード３ｂ−ｃｏｄｅ１２の間に挿入された進捗度指示コード３ｂ−ｃｏｄｅ１５は、進捗度が２０％であることを示す。即ち、第１の処理コード３ｂ−ｃｏｄｅ１１の実行処理に要するＣＰＵ時間は、第１乃至第４の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１４の実行に要するＣＰＵ時間の２０％であることを示す。
【０１０４】
第２の処理コード３ｂ−ｃｏｄｅ１２と第３の処理コード３ｂ−ｃｏｄｅ１３の間に挿入された進捗度指示コード３ｂ−ｃｏｄｅ１６は、進捗度が５０％であることを示す。即ち、第１および第２の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１２の実行処理に要するＣＰＵ時間は、第１乃至第４の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１４の実行に要するＣＰＵ時間の５０％であることを示す。
【０１０５】
第３の処理コード３ｂ−ｃｏｄｅ１３と第４の処理コード３ｂ−ｃｏｄｅ１４の間に挿入された進捗度指示コード３ｂ−ｃｏｄｅ１７は、進捗度が８０％であることを示す。即ち、第１乃至第３の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１３の実行処理に要するＣＰＵ時間は、第１乃至第４の処理コード３ｂ−ｃｏｄｅ１１〜３ｂ−ｃｏｄｅ１４の実行に要するＣＰＵ時間の８０％であることを示す。
【０１０６】
ＣＰＵ１２Ｂは、各アプリケーション３の進捗指示コードに従って現周期の割当ＣＰＵ時間内に各アプリケーション３の実行処理が完了するか否かを判定する際、進捗度の算出処理（図１２のステップＳ２０１）を行うのではなく、進捗指示コードによって示された進捗度を読み出す。ＣＰＵ１２Ｂは、読み出した進捗度をもとにＣＰＵ時間の再割り当て要求を行う。なお、各アプリケーション３のコードを機能の種類、フェイズなどに応じて分割する数は４つに限定されない。
【０１０７】
このように、各アプリケーションのコードに、そのアプリケーションの進捗度を指定するためのコードを挿入することによって、全体がループによって構成されていないアプリケーションにおいても進捗を把握することができる。なお、アプリケーションの進捗度を指定するためのコードは上記の形態に限定されるものではなく、さまざまな形態が考えられる。
【０１０８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の第１の実施形態に係るセンサ情報システムの構成を示すブロック図。
【図２】ＣＰＵが実行するソフトウェアの構成を示すブロック図。
【図３】レーダー画面表示用アプリケーションとスケジューラの構成を示すブロック図。
【図４】本発明の第１の実施形態に係る情報処理装置の動作を示すフローチャート。
【図５】現在の周期において各アプリケーションに割り当てられたＣＰＵ時間を示す図。
【図６】次周期において各アプリケーションに割り当てられたＣＰＵ時間を示す図。
【図７】スケジューラと各アプリケーションが実行されるタイミングを示す図。
【図８】各アプリケーションの実行処理に要したＣＰＵ時間を示す図。
【図９】表示装置の表示部のピクセル数を示すブロック図
【図１０】レーダー画面表示用アプリケーションのコードの構成の一例を示すブロック図。
【図１１】レーダー信号解析用アプリケーションのコードの構成の一例を示すブロック図。
【図１２】本発明の第１の実施形態に係る情報処理装置の動作を示すフローチャート。
【図１３】本発明の第１の実施形態に係る情報処理装置の動作を示すフローチャート。
【図１４】本発明の第１の実施形態に係る情報処理装置の動作を示すフローチャート。
【図１５】レーダー画面表示用アプリケーションのコードの構成の一例を示すブロック図。
【符号の説明】
【０１１０】
１・・・ＯＳ
２・・・スケジューラ
２−１・・・割当コード
２−２・・・現周期用記憶配列
２−３・・・次周期用記憶配列
３・・・アプリケーション
３ａ・・・レーダー信号解析用アプリケーション
３ａ−ｃｏｄｅ・・・レーダー画面表示用アプリケーションのコード
３ａ−ｃｏｄｅ１・・・前処理コード
３ａ−ｃｏｄｅ２・・・反射データの解析コード
３ａ−ｃｏｄｅ３・・・進捗状況算出コード
３ａ−ｃｏｄｅ４・・・ループコード
３ａ−ｃｏｄｅ５・・・後処理コード
３ｂ・・・レーダー画面表示用アプリケーション
３ｂ−ｃｏｄｅ・・・レーダー画面表示用アプリケーションのコード
３ｂ−ｃｏｄｅ１・・・前処理コード
３ｂ−ｃｏｄｅ２・・・ピクセル輝度の算出コード
３ｂ−ｃｏｄｅ３・・・進捗状況算出コード
３ｂ−ｃｏｄｅ４・・・ループコード
３ｂ−ｃｏｄｅ５・・・後処理コード
３ｂ−ｃｏｄｅ１０・・・レーダー画面表示用アプリケーションのコード
３ｂ−ｃｏｄｅ１１・・・第１の処理コード
３ｂ−ｃｏｄｅ１２・・・第２の処理コード
３ｂ−ｃｏｄｅ１３・・・第３の処理コード
３ｂ−ｃｏｄｅ１４・・・第４の処理コード
３ｂ−ｃｏｄｅ１５〜３ｂ−ｃｏｄｅ１７・・・進捗度指示コード
３ｂ−１・・・実行コード
３ｂ−２・・・進捗管理コード
３ｃ・・・ソナー信号解析用アプリケーション
３ｄ・・・ソナー画面表示用アプリケーション
１０・・・情報処理装置
１１・・・メインメモリ
１２Ａ、１２Ｂ・・・ＣＰＵ
１２Ａ−１、１２Ｂ−１・・・キャッシュメモリ
１３Ａ〜１３Ｄ・・・入出力インタフェース
２０・・・レーダー装置
３０・・・ソナー装置
４０・・・入力装置
５０・・・表示装置
１００・・・センサ情報システム
【図１】
2009086733.tif 000003
【図２】
2009086733.tif 000004
【図３】
2009086733.tif 000005
【図４】
2009086733.tif 000006
【図５】
2009086733.tif 000007
【図６】
2009086733.tif 000008
【図７】
2009086733.tif 000009
【図８】
2009086733.tif 000010
【図９】
2009086733.tif 000011
【図１０】
2009086733.tif 000012
【図１１】
2009086733.tif 000013
【図１２】
2009086733.tif 000014
【図１３】
2009086733.tif 000015
【図１４】
2009086733.tif 000016
【図１５】
2009086733.tif 000017