(57)【要約】複数のタスクを有する実時間システム内のタスクのラン時間を測定する方法において，そのラン時間を定めるべきタスクの開始時に時間測定器が始動され，中断の場合には時間測定器は停止されて，時間測定器の状態が記憶され，中断の終了後に時間測定器が新たに始動される。本発明の核心は，各タスクの開始時に時間測定器を始動させることができ，その状態が優先順位平面の変化の度に記憶されることである。ラン時間を測定するための本発明に基づく装置は，時間測定器を有しており，その時間測定器に，優先順位平面の数に適合された容量を有するメモリが提供される。【選択図】図２
2004504667.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクを有する実時間システム内の少なくとも１つのタスクのラン時間を，少なくとも１つの時間測定器（１５）を用いて測定する方法であって，その場合に前記時間測定器（１５）は，測定すべき第１のタスクの開始時に始動され，第１のタスクが中断された場合には，前記時間測定器（１５）の状態が記憶され，第１のタスクが続行される場合には，前記時間測定器（１５）の記憶されている状態が復元されて，前記時間測定器（１５）は前記記憶されている状態から再び始動される，
ことを特徴とするラン時間の測定方法。
【請求項２】
少なくとも１つの時間測定器（１５）の状態は，第１のタスクが中断された場合にできる限り早く記憶され，中断の終了後にできる限り遅く復元される，ことを特徴とする請求項１に記載の方法。
【請求項３】
より優先順位の高い第２のタスクによって第１のタスクが中断された場合に，第１のタスクのラン時間の中断の間，第２のタスクのラン時間が測定される，
ことを特徴とする請求項１または２のいずれか１項に記載の方法。
【請求項４】
全タスクの全ラン時間測定が，正確に１つの時間測定器を使用して実施され，前記時間測定器のメモリ容量は，タスクの各種優先順位平面の数に適合されている，
ことを特徴とする請求項１から３のいずれか１項に記載の方法。
【請求項５】
少なくとも１つの時間測定器（１５）と，時間測定器（１５）を始動及び停止させる手段（１８）とを備えた，複数のタスクを有する実時間システム内の少なくとも１つのタスクのラン時間を測定する装置において，
前記時間測定器（１５）に，タスクの優先順位平面の数に適合されたメモリ容量を備えたメモリ（１６）が対応付けられている，
ことを特徴とするラン時間の測定装置。
【請求項６】
前記時間測定器は，ハードウェアタイマーである，ことを特徴とする請求項５に記載の装置。
【請求項７】
前記時間測定器（１５）のステップ幅は，タスクの通常のラン時間よりも著しく小さい，ことを特徴とする請求項５または６に記載の装置。
【発明の詳細な説明】
【０００１】
従来の技術
本発明は，実時間システム，特に実時間駆動システム内のタスクのラン時間の測定方法及び装置に関する。典型的な実時間駆動システムとして，例えばＲＣＯＳまたはＥＲＣＯＳが挙げられる。
【０００２】
タスクというのは，実時間システム内で遂行可能なプログラム部分である。全てのタスクの合計が，全実時間システムをもたらす。その場合に，マルチタスキングシステムも含まれている。実時間システムは，その時間行動に厳しい要請が向けられているコンピュータプログラムである。即ち，プログラムが予め設定されたタイムスパン内で所定の事象に反応することが保証されなければならない。実時間システムと特に実時間駆動システムは，主に安全上重要なシステムにおいて使用される。
【０００３】
全システムの所望の時間的行動を保証するためには，各タスクが所定の時間的設定を守ることが保証されなければならない。その場合に，実時間システム内のタスクは，様々な時間要請，いわゆるデッドラインを有している。これは，様々な優先順位として現れる。より高位の優先順位を有するタスクは，より低位の優先順位を有するタスクを中断できるとみなされる。これは，より高価値のタスクが遂行されようとした場合に，そのタスクがより低下値のタスクの遂行を中断することを意味している。
【０００４】
全システムの時間行動を定めて，必要に応じて修正するためには，プログラム開発の途中，テストモードにおいて，及び全システムの駆動の間も，特に後からプログラムを変更する場合に，各個々のタスクのラン時間を測定することが必要である。
【０００５】
タスクのラン時間を手動で求めることが，知られている。これは，例えばＣＰＵ−エミュレータを用いて実施される。その場合に，タスクのラン時間を測定する際に，そのタスクがより高い優先順位のタスクによって中断されること（リエンプティブマルチタスキング）が生じることが，問題となる。もはや所定のタスクのラン時間のみが測定されるのではないので，測定された時間は正確ではない。さらに，手動の測定は，極めて時間を要する。それがプログラム開発のコストと期間を増大させる。
【０００６】
タスクのラン時間を測定するための他の公知の方法においては，各タスク内で時間測定器を同時に進行させる。時間測定器として，例えば高解像度のハードウェアタイマーを使用することができる。しかしまた，純粋なソフトウェア解決も考えられる。その場合に時間測定器のステップ幅は，通常のタスクラン時間よりも著しく小さくしなければならない。このようにして，常にタスク開始の際に時間測定が始動されることは保証されるが，しかしこの方法によっては，タスクの総ラン時間，即ち本来のラン時間または正味ラン時間プラスより高価値のタスクによる中断しか測定できない。この方法は，上述した手動の方法よりも少ない作業時間しか必要としないが，求められた結果は著しく正確にはならない。従って手動の方法に比較して決定的な利点は得られない。
【０００７】
ＥＰ０５３４８８４Ａ１からは，マルチタスキングシステムの時間行動を検査する方法が知られている。その方法においては，個々のタスクのラン時間が測定されて，場合によっては予め設定可能な時間長さを越えた場合に，アラームが作動される。時間長さは，タイマーまたはカウンタによって定められる。その場合に時間長さは，プロセッサのサイクルの複数倍として定められる。マルチタスキングシステムは，複数のタスクを有しており，それら全てに所定の優先順位が対応付けられている。即ち，より低価値のタスクがより高価値のタスクによって中断されることが生じ得る。全プログラムが必要な時間要請を遵守することを保証するためには，各個々のラスクのラン時間を定めることができなければならない。
【０００８】
プロセッササイクル内でそのラン時間を定めようとするタスクの遂行の開始時に，カウンタが始動される。カウンタは，予め定められた値において始動し，各サイクル後にその状態を減少させる。所定の下方の限界に達した場合に，アラーム信号が出力される。タスクがより高い優先順位を有するタスクによって中断された場合には，カウンタは停止されて，その時の状態が記憶される。中断の終了後に，カウンタは記憶されている状態から新たに始動される。
【０００９】
ＥＰ０５３４８８４Ａ１に記載されている方法における欠点は，測定経過の間常に１つのタスクのラン時間しか測定できないことである。そのタスクのラン時間が定められた場合，即ちタスクが終了した場合に初めて，カウンタによって他のタスクのラン時間を定めることができる。測定経過は，タスクの遂行の開始とその終了によって開始される。
【００１０】
従って，本発明の課題は，タスクのラン時間の正確な測定が可能であって，さらに測定経過において複数のタスクのラン時間を定めることが可能な方法及び装置を提供することである。
【００１１】
方法に関する課題は，請求項１の特徴を有する方法によって解決される。
【００１２】
装置に関する課題は，請求項５の特徴を有する方法によって解決される。
【００１３】
本発明の好ましい実施が，従属請求項から明らかにされる。
【００１４】
発明の利点
本発明に基づく方法は，少なくとも部分的に異なる優先順位平面に対応付けられた複数のタスクを備えた実時間システム内でタスクのラン時間を測定するために用いられる。その場合に個々のタスクは，全て異なる優先順位平面で遂行されることが可能である。しかしまた，複数の，あるいは全てのタスクが同一の優先順位平面内で遂行されることも，可能である。ラン時間の時間測定のために，時間測定器が設けられており，その状態がラン時間を表す。そのラン時間を定めるべきタスクの開始時に，時間測定器が始動される。より高位の優先順位を有するタスクによるタスクの中断，即ち優先順位平面の交替がもたらされた場合に，時間測定器は停止されて，その時の状態が記憶される。中断の終了後，即ちそのラン時間を定めるべきタスクが新たに進行するとすぐに，時間測定器の記憶されている状態が復元されて，時間測定器は記憶されている状態から始めて再び始動される。
【００１５】
好ましくは，時間測定器の状態は，第１のタスクの中断が中断された場合に，できるだけ早く記憶され，中断の終了後にはできるだけ遅く，即ちタスクの再始動のできるだけ直前に，復元される。この手段によって，タスクの正味ラン時間の特に正確な測定が可能である。このことは，時間測定器の状態が記憶されるまでに，優先順位切換えの一部が一緒に測定されるために，システマチックエラーをもたらす可能性が排除できないので，効果的であることが明らかにされている。同じことは，時間測定器の記憶されている状態の復元についても当てはまる。時間測定器の状態が中断の際にできる限り早く記憶されて，中断の終了後にはできるだけ遅く復元されることによって，このエラーが最小限に抑えられる。この測定エラーは，各場合において，総ラン時間測定の場合における測定エラーよりも著しく小さい。
【００１６】
本発明に基づく方法の好ましい実施形態によれば，優先順位のより高い第２のタスクによって第１のタスクが中断された場合に，第２のタスクのラン時間は，第１のタスクのラン時間の中断の間測定される。その場合にもちろん，第２のタスクが然るべく中断されている間，第３のタスクのラン時間を測定するなども，可能である。即ち，本発明によれば，大略，実時間システムの経過の間，発生するタスクを略同時に測定することが可能である。
【００１７】
それによって，すでに説明したように，時間測定は常にタスクの開始時に始動されて，中断の間は停止されるので，１つまたは複数のタスクの正味ラン時間が定められる。
【００１８】
全優先順位平面のために，好ましくは唯一の時間測定器が設けられている。１つの優先順位平面内部で，全てのタスクが協調的に進行し，即ち相互に中断されない。優先順位平面の交替時，即ちより高価値のタスクの開始時に，使用されているＣＰＵの状態が記憶され，それによってＣＰＵは中断の終了後に中断の前と同じ状態にある。さらに，優先順位平面の各交替の際に，時間測定器の状態が記憶される。即ち，１つの時間測定器によって測定経過の中で，様々な優先順位平面で進行する複数のタスクのラン時間を定めることができる。
【００１９】
本発明に基づく方法によって，システム内の全てのタスクの正味ラン時間が，従来よりも簡単に定められる。付加的な負担は，各タスクの開始時の測定の始動及び各優先順位交替の際の時間測定器の確保と復元にある。その場合に他のタスクによる全ての中断は，自動的に除外される。それによってシステムリソースであるラン時間の，より改良された，かつより簡単なモニタリングが可能である。本方法は，使用される駆動システム及び基礎になるハードウェアに依存しない。測定のための時間測定器に対するリソース需要は，正確には１つの時間測定器しか必要とされないので，優先順位平面の数に依存しない。各優先順位平面には，測定の状態を確保するためのスペースが提供されるだけでよい。これは，実装にとっては重要である。というのは，提供可能な時間測定器の数は，通常，提供可能なメモリスペースよりも著しく制限されているからである。
【００２０】
その各々が所定の優先順位平面内で遂行される複数のタスクを有する実時間システム内でタスクのラン時間を測定するための，本発明に基づく装置は，時間測定器を有している。さらに，時間測定器の始動と停止を可能にする手段が設けられている。時間測定器には，優先順位平面の数に適合された容量を有するメモリが提供される。
【００２１】
ラン時間を測定する装置は，好ましくはハードウェアタイマーである。これは，すでにＣＰＵ内に実装しておくことができる。
【００２２】
好ましくは時間測定器のステップ幅は，タスクの通常のラン時間よりも著しく小さい。ステップ幅が小さくなるほど，測定の結果はそれだけ正確になる。
【００２３】
図１は，従来の方法における時間測定器の状態の時間的な推移を示している。図示されているのは，２本の横軸２と第１の縦軸３及び第２の縦軸４を有するグラフ１である。両横軸２には，時間が記載されている。第１の縦軸３によって，時間測定器の状態が定められる。第２の縦軸４は，タスクがその中で進行する優先順位平面を示している。第１の直線５と第２の直線６は，時間測定器の時間的な推移を示している。
【００２４】
時点ｔ１で，タスクＡが開始される。その優先順位平面は，第２の縦軸４によって読み出される。同様に時点ｔ１で，時間測定器が始動される。第１の直線５は，時間に伴う時間測定器の状態の変化を表している。時点ｔ２で，タスクＡはより高価値のタスクＢによって中断される。このタスクＢは，より高位の優先順位平面上で進行する。第１の直線５によって示されるように，時間測定器の状態の変化は，時間にわたってそれに影響を受けないままである。時点ｔ３において，タスクＢが終了する。中断の終了後に，タスクＡが続行される。時点ｔ４でタスクＡが終了する。時間測定器は，停止される。時間測定器の状態は，第１の縦軸３において読み取ることができる。
【００２５】
もちろん，求められた値は，タスクＡの正味ラン時間ではなく，総ラン時間を表している。タスクＡの終了後に，時間測定器の状態がリセットされる。タスクＡと同一の優先順位平面内で進行するタスクＣが開始される。時間測定器は，新たに始動される。その場合に第２の直線６は，時間測定器の状態を表している。
【００２６】
図２は，図１に基づくグラフ１を示しており，そのグラフは本発明に基づく方法における時間測定器の状態の時間的推移を表している。タスクＡ，Ｂ及びＣの時間的順序は，図１における順序に相当する。第３の直線１１，第４の直線１２，第５の直線１３及び第６の直線１４は，時間測定器の状態の推移を表している。
【００２７】
再び時点ｔ１でタスクＡが開始される。時間測定器が始動される。状態は，時間と共に第３の直線１１に従って変化する。時点ｔ２において，タスクＢが開始される。タスクＡは，中断される。時間測定器の状態が記憶されて，次にリセットされる。タスクＢのラン時間の間，第４の直線１２が，時間測定器の状態を示す。時点ｔ３でタスクＢが終了した後に，第１の横軸３によって時間測定器の状態とそれに伴ってタスクＢのラン時間を定めることができる。時点ｔ３でタスクＢが終了した後に，第５の直線１３によって示されるように，タスクＡが再び進行する。時点ｔ２で記憶された状態が復元さるので，時間測定器は記憶された状態で始るように再び進行する。時点ｔ４でタスクＡが終了した後に，時間測定器の状態を第１の縦軸３で読み出すことができる。この状態が，タスクＡの正味ラン時間のための尺度である。タスクＡの終了後に，タスクＣが開始される。タスクＣは，タスクＡと同一の優先順位平面内で進行し，従ってタスクＡの遂行を中断することはできなかったし，できない。第６の直線１４は，時間測定器の状態の推移を表している。
【００２８】
図３は，タスクのラン時間を測定するための，本発明に基づく装置を概略的に示している。装置は，時間測定器１５とメモリ１６を有しており，それらはデータ線１７を介して互いに接続されている。データ線１７を介して，時間測定器１５はその状態をメモリ１６へ格納することができる。時間測定器１５内には，時間測定器１５の始動と停止を可能にする手段１８が設けられている。
【図面の簡単な説明】
添付図面を用いて，本発明を詳細に説明する。図面において；
【図１】従来の方法における時間測定器の状態の時間的推移を示している。
【図２】本発明に基づく方法における時間測定器の状態の時間的推移を示している。
【図３】本発明に基づく装置を概略的に示している。
【図１】
2004504667.tif 000003
【図２】
2004504667.tif 000004
【図３】
2004504667.tif 000005
【国際公開パンフレット】
2004504667.tif 000006
2004504667.tif 000007
2004504667.tif 000008
2004504667.tif 000009
2004504667.tif 000010
2004504667.tif 000011
2004504667.tif 000012
2004504667.tif 000013
2004504667.tif 000014
2004504667.tif 000015
2004504667.tif 000016
2004504667.tif 000017
2004504667.tif 000018
2004504667.tif 000019
【国際公開パンフレット（コレクトバージョン）】
2004504667.tif 000020
2004504667.tif 000021
【国際調査報告】
2004504667.tif 000022
2004504667.tif 000023
2004504667.tif 000024
2004504667.tif 000025
2004504667.tif 000026
2004504667.tif 000027