JP2000339182A - リアルタイム処理装置 - Google Patents

リアルタイム処理装置

Info

Publication number
JP2000339182A
JP2000339182A JP15078699A JP15078699A JP2000339182A JP 2000339182 A JP2000339182 A JP 2000339182A JP 15078699 A JP15078699 A JP 15078699A JP 15078699 A JP15078699 A JP 15078699A JP 2000339182 A JP2000339182 A JP 2000339182A
Authority
JP
Japan
Prior art keywords
real
time processing
algorithm
software module
software
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.)
Pending
Application number
JP15078699A
Other languages
English (en)
Inventor
Masaki Koyama
正樹 小山
Mitsuhide Maeda
光英 前田
Hitoshi Sakakibara
仁 榊原
謙之 ▲土▼井
Kaneyuki Doi
Masaru Hashimoto
勝 橋本
Keiichi Yoshida
恵一 吉田
Osamu Nishimura
治 西村
Yoshiko Suzuki
佳子 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP15078699A priority Critical patent/JP2000339182A/ja
Publication of JP2000339182A publication Critical patent/JP2000339182A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 リアルタイム処理を行うソフトウェアモジュ
ールをそのまま組み合わせて複数のリアルタイム処理が
可能なリアルタイム処理装置を提供する。 【解決手段】 複数のアルゴリズムを含み、1つのアル
ゴリズムを選択して実行する複数のソフトウェアモジュ
ール1a〜1nと、リアルタイム処理が達成されている
かを検出する検出手段2a〜2nと、各ソフトウェアモ
ジュールにアルゴリズムを指示する調整手段3とを備
え、調整手段3は、検出手段2a〜2nが出力する情報
に基づいて、各ソフトウェアモジュールのアルゴリズム
決定及びアルゴリズム指示を繰り返すことを特徴とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、制御ソフトウェア
等のリアルタイム性を確保する必要のある処理装置に関
するものであり、特にモジュール化された制御ソフトウ
ェア(ソフトウェアモジュール)を組み合わせて同時に
動作させるリアルタイム処理装置に関するものである。
【0002】
【従来の技術】従来、血圧計や心電計などの外部機器の
データを取り込んで、リアルタイム処理する装置(リア
ルタイム処理装置)においては、そのリアルタイム処理
プログラムは、例えば、データ入力タスクと、計算タス
クと、表示タスクから構成されており、データ入力タス
クは、一定時間間隔で途切れることなくセンサのデータ
を連続的にサンプリングし、キューを介してそのデータ
を次の計算タスクに渡すように構成され、計算タスク
は、キューからデータを取り出して血圧値計算などの計
算を行い、別のキューを介して次の表示タスクに計算結
果データを渡し、表示タスクは、計算結果が格納された
キューからデータを取り出してディスプレイに血圧値な
どの結果データを表示するというようなリアルタイム処
理を行っていた。
【0003】
【発明が解決しようとする課題】以上に例示したような
リアルタイム処理装置は、制御対象である外部機器をリ
アルタイムに制御できるように、各外部機器毎に別々に
専用の処理プログラムが用いられており、単に、それら
の複数種類の外部機器のリアルタイム処理プログラムを
まとめて、1つの装置でリアルタイム処理することは、
従来ほとんど行われていなかった。これは、1種類の外
部装置のリアルタイム処理プログラムをモジュール化し
て、1つのソフトウェアモジュールとして構成し、それ
らのソフトウェアモジュールを単に集めて、複数種類の
ソフトウェアモジュールを1つの装置で同時に動作さ
せ、複数種類の外部機器に同時に対応させようにとして
も、リアルタイム処理が保証されないという問題があっ
たからである。
【0004】つまり、複数のソフトウェアモジュールを
集めてそれぞれ独立して動作できるように構成した場
合、同時に実行されるソフトウェアモジュールの組み合
わせによっては、突発的に、装置のCPUの処理能力を
超えてしまう場合があり、CPUの処理能力を超えた状
態で、外部機器からの入力データの取りこぼしが発生し
ないようにデータ入力を続けていくと、データ入力以降
の処理プログラムが入力したデータをすぐに処理できな
くなるため、未処理のデータがバッファに溜まってい
き、ついには、バッファ容量を超えて、バッファあふれ
を起こし、外部機器からリアルタイムに入力されるデー
タを処理しきれなくなってしまうという問題点があっ
た。
【0005】従来、この問題点に対処する方法として
は、各ソフトウェアモジュールを単に組み合わせて使用
するのではなく、それらのソフトウェアモジュールを、
ソースコードレベルで合成し、各ソフトウェアモジュー
ルに含まれているタスクの優先度の調整を行ったり、各
ソフトウェアモジュールのお互いのプログラムがリアル
タイム処理を遂行することができるように、各タスクの
アルゴリズムに変更を加えるという方法がとられてい
た。つまり、リアルタイム処理を行うソフトウェアモジ
ュールを複数組み合わせる場合には、ほとんど始めから
ソフトウェアを作り直すのと同程度の作業量が必要であ
った。
【0006】以上のように、リアルタイム処理を目的と
したシステムにおいては、単に複数種類のソフトウェア
モジュールを組み合わせるだけでは、複数種類のリアル
タイム処理を実行できるリアルタイム処理プログラムを
構築することができなかった。
【0007】本発明は上記の問題点を解決するためにな
されたもので、その目的とするところは、個々のリアル
タイム処理を行うソフトウェアモジュールに何ら手を加
えることなく、それらのソフトウェアモジュールを組み
合わせることができ、複数のリアルタイム処理の遂行が
可能なリアルタイム処理装置を提供することにある。
【0008】
【課題を解決するための手段】請求項1記載のリアルタ
イム処理装置は、許容時間内に処理を完遂する必要のあ
る、いわゆるリアルタイム処理を行うための複数のアル
ゴリズムを含み、それらのアルゴリズムから1つのアル
ゴリズムを選択して実行する機能を備えた複数のソフト
ウェアモジュールと、ソフトウェアモジュール毎に設け
られ、選択されたアルゴリズムによってリアルタイム処
理が達成されているかを検出する検出手段と、各ソフト
ウェアモジュールにいずれのアルゴリズムをとらせるか
を決定して、各ソフトウェアモジュールに指示する調整
手段とを備え、前記調整手段は、前記検出手段が出力す
る情報に基づいて、全てのソフトウェアモジュールがリ
アルタイム処理を実行できるようになるまで、いずれの
アルゴリズムをとらせるかの判断処理及び各ソフトウェ
アモジュールに対する指示を繰り返すことを特徴とする
ものである。
【0009】請求項2記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、前記調整手段
は、各ソフトウェアモジュールにプライオリティ属性を
設け、プライオリティの低いソフトウェアモジュールの
アルゴリズムが、プライオリティの高いソフトウェアモ
ジュールのアルゴリズムよりも、リアルタイム処理が簡
易なアルゴリズムになるよう、各ソフトウェアモジュー
ルのアルゴリズムを決定することを特徴とするものであ
る。
【0010】請求項3記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、前記検出手段
が、対応するソフトウェアモジュールの未処理データ量
を監視することにより、リアルタイム処理が達成されて
いるかを検出するように構成されていることを特徴とす
るものである。
【0011】請求項4記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、前記複数のア
ルゴリズムは互いに異なるステップ数を有するように構
成され、前記調整手段は、複数の前記検出手段の出力に
基づいて、リアルタイム処理が可能となるように、適切
なステップ数を有するアルゴリズムを選択して各ソフト
ウェアモジュールに指示することを特徴とするものであ
る。
【0012】
【発明の実施の形態】以下、本発明のリアルタイム処理
装置の概要を図1に基づいて説明する。図1は、リアル
タイム処理装置のソフトウェアの構造を示す構造図であ
る。各ソフトウェアモジュール1a〜1nは、それぞ
れ、複数の同目的の処理を行うアルゴリズム2を備えて
おり、それらのアルゴリズム2の中から1つのアルゴリ
ズムを選択して実行できるように構成されている。例え
ば、Normal、LowPower、Critica
l、Deadという名称のアルゴリズムを備えており、
いずれかのアルゴリズムを選択して実行するように構成
されている。
【0013】ソフトウェアモジュール1a〜1nに対応
して、それらのソフトウェアモジュールのリアルタイム
処理達成状況を検出する検出手段3がそれぞれ設けられ
ており、各検出手段3が、対応するソフトウェアモジュ
ールのリアルタイム処理が達成されているかを常に検出
するように構成されている。リアルタイム処理が達成さ
れているかどうかという判断は、例えば、ソフトウェア
モジュール内の全てのキューに、未処理データがどの程
度蓄積されているかにより判断する。但し、キューの使
用状況に限定されず、CPU占有時間等の、OSが提供
する指標を用いて判断するように構成してもよい。
【0014】各検出手段3により検出されたリアルタイ
ム処理達成状況の情報は、調整手段4に伝達され、調整
手段4は、各検出手段3から伝達された情報を基にし
て、例えば、ソフトウェアモジュール1aには、Nor
malアルゴリズムを選択させ、ソフトウェアモジュー
ル1bには、LowPowerアルゴリズムを選択させ
る、というように、各ソフトウェアモジュールに、いず
れのアルゴリズムをとらせるかを決定する。そして、全
てのソフトウェアモジュールのリアルタイム処理が達成
されるようになるまで、いずれのアルゴリズムをとらせ
るかの判断処理及び各ソフトウェアモジュールに対する
指示を繰り返すように構成されている。
【0015】次に、図2及び図3に基づいて、図1に示
したリアルタイム処理装置でリアルタイム処理を実現す
る方法の概略を説明する。図2は情報が伝達される様子
を示す説明図、図3はフローチャートである。但し、こ
こでは、ソフトウェアモジュールは、1a,1b,1c
の3個であるとして説明する。以下、各ステップ(1)
〜(6)について説明する。
【0016】まず、(1)に示すように、ソフトウェア
モジュール1a〜1cに対応する検出手段2a〜2c
が、それぞれ、対応するソフトウェアモジュール1a〜
1cのリアルタイム処理達成の状況を検出する。
【0017】次に、(2)に示すように、各検出手段2
a〜2cが、調整手段3にその情報を伝達する。図2に
示す例は、ソフトウェアモジュール1aでリアルタイム
処理が困難な状況であり、「問題あり」(図2では
「×」で表示)という旨の情報を調整手段3に伝達し、
他のソフトウェアモジュール1b,1cでは、リアルタ
イム処理は問題ない状況であり「OK」という旨の情報
を調整手段3に伝達する場合を示したものである。
【0018】(3)のステップでは、調整手段3が、各
ソフトウェアモジュールに選択させるアルゴリズムの決
定(アルゴリズムの組み合わせの調整)を行う。図2に
示す例の場合、ソフトウェアモジュール1aの検出手段
2aから伝達される情報が「×」であり、他のソフトウ
ェアモジュール1b,1cの検出手段2b,2cから伝
達される情報が「○」であるため、ソフトウェアモジュ
ール1aでリアルタイム処理が達成できない恐れがある
ので、ソフトウェアモジュール1aのリアルタイム処理
達成状況を、「×」から「○」にすることが必要であ
る。調整手段3は、「○」を示す情報を伝達してきたソ
フトウェアモジュール1b,1cのうちのいずれか、ま
たは、両方の、ソフトウェアモジュールのリアルタイム
処理を、より簡易なものに変更指示することにより、C
PU処理に余裕を持たせ、ソフトウェアモジュール1a
のリアルタイム処理が可能になるように調整する。図2
に示す例の場合、ソフトウェアモジュール1a,1bに
は、Normalアルゴリズムを選択させ、ソフトウェ
アモジュール1cには、Normalアルゴリズムより
もリアルタイム処理が簡易なLowPowerアルゴリ
ズムを選択させるというように構成されている。
【0019】次に、(4)に示すように、調整手段3
が、ソフトウェアモジュール1a〜1cに、(3)のス
テップで決定したアルゴリズムを指示する情報を伝達す
る。それによって、ソフトウェアモジュール1a〜1c
で、指示されたアルゴリズムが選択され(ステップ
(5))、そのアルゴリズムにもとづくリアルタイム処
理が実行される(ステップ(6))。そして、以上に説
明した処理が繰り返され、一定時間毎にアルゴリズムの
見直しが行われて、全てのソフトウェアモジュールのリ
アルタイム処理が達成されている状態(全ての検出手段
によるソフトウェアモジュールから調整手段に伝達され
る情報が「○」を示す状態)になるまで、各ソフトウェ
アモジュールのアルゴリズムの調整が繰り返し行われ
る。
【0020】以下、本発明のリアルタイム処理装置の一
実施形態を詳細に説明する。本実施の形態は、本発明の
リアルタイム処理装置を、図4に示す組み込みハードウ
ェアに適用したものである。なお、ハードウェアは通常
のPCや他の信号処理エンジンであってもよい。
【0021】組み込みハードウェア1は、中央演算装置
(CPU2)と、データやプログラムを記憶する記憶手
段3と、外部機器との間でデータ伝送を行うための入出
力手段4とから構成されている。入出力手段4には、複
数のリアルタイム性を要求される外部機器6a〜6cが
接続されている。入出力手段4と外部機器6a〜6c
は、有線で接続されてもよいし、無線等、他の伝送手段
で接続されていてもよい。記憶手段3には、リアルタイ
ム処理プログラムが格納され、中央演算処理装置(CP
U2)により実行される。
【0022】リアルタイム処理プログラムは、調整手段
11と、複数のソフトウェアモジュール12a〜12c
と、ソフトウェアモジュール毎に設けられた検出手段1
3a〜13cとから構成されている。また、ソフトウェ
アモジュール12a〜12cには、それぞれ、複数のタ
スク14a−1〜14a−4、14b−1〜14b−
4、14c−1〜14c−2と、複数のキュー15a−
1〜15a−3、15b−1〜15b−3、15c−1
とが含まれており、外部機器6を制御する機能を実現し
ている。
【0023】例えば、タスク14a−1〜14a−3
が、それぞれ、データ入力タスク、計算タスク、表示タ
スクであり、CPU2の処理能力が足りている場合に
は、図5に示すように、各タスク間はキューを介してデ
ータを受け渡し、データ入力に追随して、キューにデー
タが滞ることなく、データ入力タスクから計算タスク
へ、さらに表示タスクへとデータが渡されてリアルタイ
ム処理が問題なく行われる。しかし、複数のソフトウェ
アモジュールが組み合わされる場合、突発的にCPUの
処理能力が不足する場合があり、このような場合は、例
えば、図6に示すように、1つのソフトウェアモジュー
ルの、処理の遅い計算タスク14a−2がリアルタイム
にデータを処理できなくなり、入力側のキューにデータ
が溜まってしまい、やがては、キューあふれを起し、リ
アルタイム処理ができなくなるという状態が発生する。
本発明のリアルタイム処理装置は、このような問題を解
決するため、リアルタイム処理が困難であるという状態
を検出し、例えば、図7に示す方法にしたがって各ソフ
トウェアモジュールに実行させるアルゴリズムを調整す
る。
【0024】図7はキューの長さが様々に変化した状態
を示す図で、(a)はキューの長さがキュー全体長の1
/2になった場合を示し、(b)はキューの長さがキュ
ー全体長の3/4になった場合を示している。例えば、
ソフトウェアモジュール12aのリアルタイム処理達成
状況を検出する検出手段13aは、そのソフトウェアモ
ジュール12aで動作するタスクとキューの状況を常に
監視し、キュー全体長とキューの長さ(キューに蓄積さ
れているデータ数)を、一定時間毎に監視するように構
成されており、キューの長さが短く、リアルタイム処理
に問題がない場合には、検出手段13aは、調整手段1
1に対して、ソフトウェアモジュール12aのリアルタ
イム処理達成状況として、「Normal」という名称
の情報を伝達する。ここでは、リアルタイム処理達成状
況を表す情報、及び、選択されるアルゴリズムの名称と
して、「Normal」、「LowPower」、「C
ritical」、「Dead」という4段階の指標を
用いることとするが本実施形態に限定されるものではな
い。
【0025】もし、図7(a)に示すように、少なくと
も1つのキューの長さが、キュー全体長の1/2にまで
伸びてきた場合には、ソフトウェアモジュール12aの
リアルタイム処理に問題があることを検出手段13aが
検出し、検出手段13aが、調整手段11に対し、リア
ルタイム処理達成状況として、「LowPower」と
いう情報を伝達する。
【0026】また、図7(b)に示すように、少なくと
も1つのキューの長さが、キュー全体長の3/4にまで
伸びてきた場合には、ソフトウェアモジュール12aの
リアルタイム処理を実行するのに危機的な状態であるこ
とを検出手段13aが検出し、検出手段13aが、調整
手段11に対して、「Critical」という情報を
伝達する。さらに、少なくとも1つのキューの長さが、
キュー全体長にまで伸びた場合には、ソフトウェアモジ
ュール12aのリアルタイム処理が不可能であることを
検出し、検出手段13aが、調整手段11に対して、
「Dead」という情報を伝達する。
【0027】次に、調整手段11は、検出手段13a〜
13cにより報告されたリアルタイム処理達成状況を基
に、各ソフトウェアモジュールに選択させるアルゴリズ
ムの組み合わせの調整を行い、検出手段13a〜13c
に対してそれぞれのソフトウェアモジュールに選択させ
るアルゴリズムを伝達する。検出手段13a〜13c
は、調整手段11から伝達されたアルゴリズムの情報
を、対応するモジュール13a内部から参照できるよう
に構成されているので、ソフトウェアモジュール12a
に含まれるタスクは、図8に示すように、検出手段13
aに保持されているアルゴリズムの情報を参照し、その
アルゴリズムにしたがったリアルタイム処理を実行す
る。
【0028】指示されたアルゴリズムが、「Norma
l」の場合には、図8に示すように、タスク(例えば、
タスク14a−1〜14a−4)は、通常のリアルタイ
ム処理アルゴリズム(Normalアルゴリズム)にし
たがって、処理ステップ数が大きいNormal処理を
実行し、「LowPower」の場合には、通常の処理
よりも簡易なリアルタイム処理アルゴリズム(Norm
alアルゴリズム)にしたがって、処理ステップ数が中
程度のLowPower処理を実行し、「Critic
al」の場合には、リアルタイム性が損なわれない最低
限の処理(処理ステップ数が小さいCritical処
理)を行うリアルタイム処理アルゴリズム「Criti
cal」にしたがう。アルゴリズムが、「Dead」の
場合には、検出手段13aが、全てのソフトウェアモジ
ュール内のタスクをデリートするという処理を行う。な
お、「Dead」の場合には、ソフトウェアモジュール
はそれ以降のリアルタイム処理は一切行わなくなるとい
う特殊な処理である。
【0029】なお、本実施例においては、リアルタイム
処理の達成状況を検出する方法として、キュー長を監視
する方法を採用しているが、それ以外の方法を用いて行
ってもよい。特に、通常のPCなどに採用されているO
Sでは、OSが管理している各タスクのCPU占有時間
などの情報を用いることができるので、これらを用いて
各タスクのリアルタイム処理が達成されているかを判断
することが可能である。
【0030】また、リアルタイム処理の達成状況を検出
するためにキューを用いるという方法は、タスクで処理
されるべき未処理のデータが多数存在するという現象を
観察することにより、間接的にリアルタイム処理の達成
が困難であることを推測しているにすぎない。ただ、推
測ではあるが、リアルタイム処理プログラムにおいて
は、かなり有意な検出方法であると言える。但し、キュ
ーを用いるという方法を用いるためには、リアルタイム
処理達成状況がキュー長に反映されるようにソフトウェ
アモジュールを構成しておく必要があるが、リアルタイ
ムOSを採用したシステムや、OSを使用しないシステ
ムにおいては、CPU占有時間の計測が困難である場合
が多いため、キューもしくはバッファを監視するという
方法を採用することにより、間接的ではあるが、容易に
リアルタイム処理達成状況を把握(推測)することがで
きるという利点がある。
【0031】次に、図9乃至図11に基づいて本発明の
リアルタイム処理装置の異なる実施形態について説明す
る。図9及び図10はソフトウェアモジュールの動作を
示す説明図、図11は動作ステップの詳細を示す説明図
である。
【0032】図9乃至図11に示す実施形態では、予
め、各ソフトウェアモジュールには、プライオリティ情
報が付与され、調整手段は、このプライオリティ情報を
基にソフトウェアモジュールのアルゴリズム選択の組み
合わせの調整を行うものである。つまり、リアルタイム
処理の達成が困難な場合には、プライオリティの低いソ
フトウェアモジュールは、プライオリティの高いソフト
ウェアモジュールよりもアルゴリズムが簡易になるよう
に調整される。まず、プライオリティの高いソフトウェ
アモジュールの処理方法を示した図9、及び、プライオ
リティの低いソフトウェアモジュールの処理方法を示し
た図10にしたがって動作を説明する。
【0033】但し、前提条件として、ソフトウェアモジ
ュールは、12a,12bの2個であり、ソフトウェア
モジュール12aは、外部機器6aをリアルタイム制御
し、ソフトウェアモジュール12bは、外部機器6bを
リアルタイム制御するものとする。また、ソフトウェア
モジュール12a,12bは、それぞれ、単体では、
「Normal」のアルゴリズムでリアルタイム処理が
可能であり、ソフトウェアモジュール12aと、ソフト
ウェアモジュール12bとを組み合わせた場合には、両
方とも、「Normal」のアルゴリズムを実行する
と、リアルタイム処理が追いつかなくなり、また、どち
らか一方のソフトウェアモジュールが、「LowPow
er」のアルゴリズムを実行すれば、同時にリアルタイ
ム処理が可能であるとする。さらに、プライオリティ
は、ソフトウェアモジュール12aの方がソフトウェア
モジュール12bよりも高いとする。
【0034】図9乃至図11に示す実施形態は、プライ
オリティの低いソフトウェアモジュール及びプライオリ
ティの高いソフトウェアモジュールは、まず、「Nor
mal」アルゴリズムにしたがって通常のNormal
処理を行っていたが、プライオリティの低いソフトウェ
アモジュールのリアルタイム処理の量が多くなったため
に、プライオリティの高いソフトウェアモジュールのC
PU占有時間が短くなった場合の動作を示したものであ
る。このような場合、プライオリティの高いソフトウェ
アモジュールのタスク(例えば、計算タスク)がリアル
タイムにデータを処理できなくなり、計算タスクの入力
側のキューの長さが長くなって、その検出手段が、「L
owPower」という情報を調整手段に伝えた場合に
は、プライオリティの高いソフトウェアモジュールのア
ルゴリズムは、「Normal」のままにしておき、プ
ライオリティの低いソフトウェアモジュールのアルゴリ
ズムが、「LowPower」になるように調整を行
う。これにより、プライオリティの低いソフトウェアモ
ジュールで処理が簡易になった分、プライオリティの高
いソフトウェアモジュールのリアルタイム処理が促進さ
れるようになる。結果として、プライオリティの高いソ
フトウェアモジュールのキュー長が減少し、キュー長が
キュー全体長の1/2以下になれば、プライオリティの
高いソフトウェアモジュールの検出手段は、「Norm
al」という情報を調整手段に伝達する。但し、図9乃
至図11に示す実施形態では、調整手段は、プライオリ
ティを考慮して、アルゴリズムの組み合わせを調整した
が、これ以外の調整方法によってアルゴリズムの調整を
行ってもよい。
【0035】次に、図11に基づき時系列に沿って各ス
テップ(1)〜(7)について説明する。
【0036】ステップ(1)・・・システムが動作を開
始すると、ソフトウェアモジュール12a,12bも動
作を開始し、それぞれ、外部機器6a,6bのリアルタ
イム制御を開始する。ソフトウェアモジュール12a,
12bは、一定時間間隔で、途切れることなくそれぞれ
外部機器6a,6bからデータをサンプリングし、リア
ルタイムでデータを処理していく。この状態では、ソフ
トウェアモジュール12a,12bが選択しているアル
ゴリズムは、ともに、「Normal」であり、検出手
段13a,13bが、リアルタイム処理達成状況とし
て、調整手段11に「Normal」という情報を伝達
しており、調整手段11は、ソフトウェアモジュール1
2a,12bのアルゴリズムとして、「Normal」
アルゴリズムを選択し、ソフトウェアモジュール12
a,12bに指示している状態である。
【0037】ステップ(2)・・・ソフトウェアモジュ
ール12a,12bは、「Normal」のアルゴリズ
ムを実行しているので、リアルタイム処理が追いつかな
くなり、ソフトウェアモジュール12aの、あるキュー
(例えば、キュー15a−1)にデータがだんだん溜ま
り、キュー全体長の1/2を超える。これにより、ソフ
トウェアモジュール12aの検出手段13aは、キュー
15a−1のつまり具合から、「LowPower」と
いう情報を調整手段11に伝達する。
【0038】ステップ(3)・・・調整手段11は、ソ
フトウェアモジュール12aのリアルタイム処理達成状
況が「LowPower」であり、ソフトウェアモジュ
ール12bのリアルタイム処理達成状況が「Norma
l」であることから、プライオリティの高いソフトウェ
アモジュール12aのアルゴリズムを、「Norma
l」のままにし、代わりに、プライオリティの低いソフ
トウェアモジュール12bのアルゴリズムを「LowP
ower」にするという決定を行い、アルゴリズムの組
み合わせを調整する。
【0039】ステップ(4)・・・ソフトウェアモジュ
ール12aのタスク(例えば、タスク14a−1〜14
a−n)は、ソフトウェアモジュール12aのアルゴリ
ズムが「Normal」であることを認識し、「Nor
mal」用のアルゴリズム(Normalアルゴリズ
ム)を選択してリアルタイム処理(Normal処理)
を続行する。一方、ソフトウェアモジュール12bのタ
スク(例えば、タスク14b−1〜14b−n)は、ソ
フトウェアモジュール12bのとるべきアルゴリズムが
「LowPower」であることを認識し、「LowP
ower」用のアルゴリズム(LowPowerアルゴ
リズム)を選択して、LowPower処理を実行す
る。これにより、ソフトウェアモジュール12bが、N
ormal処理より簡易なリアルタイム処理(LowP
ower処理)に変更されるので、ソフトウェアモジュ
ール12aのリアルタイム処理が促進される。
【0040】ステップ(5)・・・ステップ(4)の結
果として、ソフトウェアモジュール12aのキュー15
a−1のキュー長が次第に短くなっていき、キュー15
a−1の長さが、キュー全体長の1/2よりも短くなる
と、検出手段13aは、「Normal」という情報を
調整手段11に伝達する。
【0041】ステップ(6)・・・調整手段11は、ソ
フトウェアモジュール12a,12bのリアルタイム処
理状況が、ともに、「Normal」になったので、ソ
フトウェアモジュール12a,12bのアルゴリズム
を、Normalアルゴリズムに変更する。
【0042】ステップ(7)・・・ソフトウェアモジュ
ール12a,12bのそれぞれのタスク(タスク14a
−1〜14a−n、タスク14b−1〜14b−n)
は、Normalアルゴリズムでリアルタイム処理を続
行する。
【0043】以上に説明したように、選択するアルゴリ
ズムを制御することによって、突発的にソフトウェアモ
ジュールのリアルタイム処理ができなくなるような事態
が発生しても、システム全体として、リアルタイム処理
を続行することが可能となるのである。なお、実施形態
では、ソフトウェアモジュールの個数は2個であるとし
て説明したが、ソフトウェアモジュールの個数が3個以
上になっても、調整手段が、それぞれのソフトウェアモ
ジュールの検出手段の情報を基に、それぞれのモジュー
ルのリアルタイム処理アルゴリズムの選択を適切に調整
して、アルゴリズム選択の組み合わせを決定することに
より、突発的にリアルタイム処理ができなくなるような
事態が発生しても、システム全体として、リアルタイム
処理を続行することが可能となる。
【0044】また、本発明のリアルタイム処理装置によ
れば、複数のソフトウェアモジュールのリアルタイム処
理の達成ができているかどうかを、各々のソフトウェア
モジュール毎に設けた検出手段が検出し、調整手段が各
ソフトウェアモジュールのアルゴリズムの選択の組み合
わせを調整して決定することにより、もし、リアルタイ
ム処理を達成することのできないソフトウェアモジュー
ルが存在する場合においても、システム内のソフトウェ
アモジュールのアルゴリズムの選択の組み合わせを適切
に決定することにより、システム内の全てのソフトウェ
アモジュールのリアルタイム処理の遂行ができるように
なる。
【0045】すなわち、予め、本発明のリアルタイム処
理装置に適合するように、言い換えると、調整手段の指
示に応じて、リアルタイム処理量の異なる複数のアルゴ
リズムから、1個のアルゴリズムを選択して実行するよ
うに、ソフトウェアモジュールを開発しておけば、複数
のソフトウェアモジュールを組み合わせてシステムを構
築した場合において、突発的にリアルタイム処理ができ
なくなるようなソフトウェアモジュールが存在すること
があっても、各ソフトウェアモジュールのアルゴリズム
の見直しや、各タスクのプライオリティ調整などの作業
をすることなしに、システム全体としてリアルタイム性
の欠如を回避してリアルタイム処理を遂行することが可
能となるので、リアルタイム処理を行うソフトウェアモ
ジュールに何ら手を加えること無しに、複数のソフトウ
ェアモジュールを組み合わせて、複数のリアルタイム処
理を遂行するリアルタイム処理装置の構築が可能とな
り、ひいては、リアルタイム処理装置の開発効率と動作
時の安全性が著しく向上するようになる。
【0046】
【発明の効果】請求項1記載のリアルタイム処理装置
は、リアルタイム処理を行うソフトウェアモジュールに
何ら手を加えること無しに、複数のソフトウェアモジュ
ールを組み合わせて、複数のリアルタイム処理を遂行す
るリアルタイム処理装置の構築が可能となり、ひいて
は、リアルタイム処理装置の開発効率と動作時の安全性
が著しく向上するようになるという効果を奏する。
【0047】請求項2記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、プライオリテ
ィの低いソフトウェアモジュールのリアルタイム処理を
簡易なものに変更することにより、よりプライオリティ
の高いソフトウェアモジュールのリアルタイム処理の遂
行を促進することができるという効果を奏する。
【0048】請求項3記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、組み込みOS
を用いた機器や、OSを用いない機器にも対応すること
ができるという効果を奏する。
【0049】請求項4記載のリアルタイム処理装置は、
請求項1記載のリアルタイム処理装置で、より細かく的
確に、ソフトウェアモジュールのリアルタイム処理達成
状況を管理することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明のリアルタイム処理装置のソフトウェア
の構造を示す構造図である。
【図2】本発明のリアルタイム処理装置のリアルタイム
達成方法の概略を示す図で、情報が伝達される様子を示
す説明図である。
【図3】本発明のリアルタイム処理装置の動作の概略を
示すフローチャートである。
【図4】本発明のリアルタイム処理装置を適用した組み
込みハードウェアの構成図である。
【図5】リアルタイム処理が実行される様子を示した説
明図である。
【図6】リアルタイム処理が実行される様子を示した説
明図である。
【図7】キューの長さが変化した状態を示す図で、
(a)はキューの長さがキュー全体長の1/2になった
場合、(b)はキューの長さがキュー全体長の3/4に
なった場合を示す説明図である。
【図8】タスクの動作を示すフローチャートである。
【図9】プライオリティの高いソフトウェアモジュール
の動作を示す説明図である。
【図10】プライオリティの低いソフトウェアモジュー
ルの動作を示す説明図である。
【図11】詳細な動作ステップを時系列に沿って示す説
明図である。
【符号の説明】
1a〜1n,12a〜12c ソフトウェアモジュー
ル 2a〜2n,13a〜13c 検出手段 3,11 調整手段
フロントページの続き (72)発明者 榊原 仁 大阪府門真市大字門真1048番地松下電工株 式会社内 (72)発明者 ▲土▼井 謙之 大阪府門真市大字門真1048番地松下電工株 式会社内 (72)発明者 橋本 勝 大阪府門真市大字門真1048番地松下電工株 式会社内 (72)発明者 吉田 恵一 大阪府門真市大字門真1048番地松下電工株 式会社内 (72)発明者 西村 治 大阪府門真市大字門真1048番地松下電工株 式会社内 (72)発明者 鈴木 佳子 大阪府門真市大字門真1048番地松下電工株 式会社内 Fターム(参考) 5B076 AA13 AB13 AB17 5B098 GA04 GC03 GC08

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 許容時間内に処理を完遂する必要のあ
    る、いわゆるリアルタイム処理を行うための複数のアル
    ゴリズムを含み、それらのアルゴリズムから1つのアル
    ゴリズムを選択して実行する機能を備えた複数のソフト
    ウェアモジュールと、ソフトウェアモジュール毎に設け
    られ、選択されたアルゴリズムによってリアルタイム処
    理が達成されているかを検出する検出手段と、各ソフト
    ウェアモジュールにいずれのアルゴリズムをとらせるか
    を決定して、各ソフトウェアモジュールに指示する調整
    手段とを備え、前記調整手段は、前記検出手段が出力す
    る情報に基づいて、全てのソフトウェアモジュールがリ
    アルタイム処理を実行できるようになるまで、いずれの
    アルゴリズムをとらせるかの判断処理及び各ソフトウェ
    アモジュールに対する指示を繰り返すことを特徴とする
    リアルタイム処理装置。
  2. 【請求項2】 前記調整手段は、各ソフトウェアモジュ
    ールにプライオリティ属性を設け、プライオリティの低
    いソフトウェアモジュールのアルゴリズムが、プライオ
    リティの高いソフトウェアモジュールのアルゴリズムよ
    りも、リアルタイム処理が簡易なアルゴリズムになるよ
    う、各ソフトウェアモジュールのアルゴリズムを決定す
    ることを特徴とする請求項1記載のリアルタイム処理装
    置。
  3. 【請求項3】 前記検出手段が、対応するソフトウェア
    モジュールの未処理データ量を監視することにより、リ
    アルタイム処理が達成されているかを検出するように構
    成されていることを特徴とする請求項1記載のリアルタ
    イム処理装置。
  4. 【請求項4】 前記複数のアルゴリズムは互いに異なる
    ステップ数を有するように構成され、前記調整手段は、
    複数の前記検出手段の出力に基づいて、リアルタイム処
    理が可能となるように、適切なステップ数を有するアル
    ゴリズムを選択して各ソフトウェアモジュールに指示す
    ることを特徴とする請求項1記載のリアルタイム処理装
    置。
JP15078699A 1999-05-31 1999-05-31 リアルタイム処理装置 Pending JP2000339182A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15078699A JP2000339182A (ja) 1999-05-31 1999-05-31 リアルタイム処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15078699A JP2000339182A (ja) 1999-05-31 1999-05-31 リアルタイム処理装置

Publications (1)

Publication Number Publication Date
JP2000339182A true JP2000339182A (ja) 2000-12-08

Family

ID=15504411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15078699A Pending JP2000339182A (ja) 1999-05-31 1999-05-31 リアルタイム処理装置

Country Status (1)

Country Link
JP (1) JP2000339182A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256225A (ja) * 2002-03-06 2003-09-10 Mitsubishi Electric Corp コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム
JP2005502146A (ja) * 2001-09-12 2005-01-20 レクスロート インドラマート ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 工業プロセスを制御および/または調整するための方法
US7231642B2 (en) 2001-03-19 2007-06-12 Mitsubishi Denki Kasbushiki Kaisha Vehicle-mounted multimedia device
JP2009289266A (ja) * 2008-05-29 2009-12-10 Dspace Digital Signal Processing & Control Engineering Gmbh リアルタイムでシミュレーションされるべき信号を計算するためのタスクを実施する方法
JP2013210686A (ja) * 2012-03-30 2013-10-10 Nec Corp シミュレーションシステム及びシミュレーション実行制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231642B2 (en) 2001-03-19 2007-06-12 Mitsubishi Denki Kasbushiki Kaisha Vehicle-mounted multimedia device
JP2005502146A (ja) * 2001-09-12 2005-01-20 レクスロート インドラマート ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 工業プロセスを制御および/または調整するための方法
JP2003256225A (ja) * 2002-03-06 2003-09-10 Mitsubishi Electric Corp コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム
JP2009289266A (ja) * 2008-05-29 2009-12-10 Dspace Digital Signal Processing & Control Engineering Gmbh リアルタイムでシミュレーションされるべき信号を計算するためのタスクを実施する方法
JP2013210686A (ja) * 2012-03-30 2013-10-10 Nec Corp シミュレーションシステム及びシミュレーション実行制御方法

Similar Documents

Publication Publication Date Title
JP4071536B2 (ja) ファイル装置の試験装置及び該ファイル装置の試験装置における試験方法
JP4367856B2 (ja) プロセス制御システム及びその制御方法
JP6689873B2 (ja) プロセッサ/コプロセッサ構成に対するデータのオフローディング及びオンローディングのための技術
US7181651B2 (en) Detecting and correcting a failure sequence in a computer system before a failure occurs
US11144330B2 (en) Algorithm program loading method and related apparatus
JP2004178118A (ja) プログラムの動作状態の監視方法及び監視プログラム
JP2000339182A (ja) リアルタイム処理装置
JP2005135130A (ja) 負荷監視条件決定プログラム,負荷監視条件決定システム,負荷監視条件決定方法および負荷監視プログラム
CN117033146B (zh) 指定共识合约执行进程的识别方法、装置、设备及介质
JP4761229B2 (ja) 運用管理装置、運用管理方法ならびにプログラム
CN115934291A (zh) 一种任务执行方法、装置、电子设备及存储介质
JP2010204916A (ja) 試験システム及び試験方法
JP2010244470A (ja) 分散処理システム及び分散処理方法
JP6758498B2 (ja) データ処理装置、監視方法及びプログラム
JPH09305443A (ja) プロセス監視装置およびプロセス監視方法
JP2004070582A (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP7032922B2 (ja) 診断装置、診断装置の制御方法、および制御プログラム
JP3759852B2 (ja) プロセス障害対応装置及びプロセス障害検出方法
JP6373236B2 (ja) 計算機
JP2704137B2 (ja) 現用・予備切り換え方式
KR20090015476A (ko) 윈도우 메세지 처리수단을 구비한 컴퓨터 시스템 및 이의메세지 처리방법
US20210042154A1 (en) Data processing device, task control method, and program
JP2004355265A (ja) 処理統括装置、及び、処理判定方法
CN111488317A (zh) 一种基于文件变化内容的文件同步方法和装置
JP2010122998A (ja) コンピュータシステム検査装置及びそれを備えたコンピュータシステム並びにコンピュータシステム検査方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051101