JP2017503251A - リアルタイムタスクシーケンス計画を構成し、実行するための方法 - Google Patents

リアルタイムタスクシーケンス計画を構成し、実行するための方法 Download PDF

Info

Publication number
JP2017503251A
JP2017503251A JP2016536657A JP2016536657A JP2017503251A JP 2017503251 A JP2017503251 A JP 2017503251A JP 2016536657 A JP2016536657 A JP 2016536657A JP 2016536657 A JP2016536657 A JP 2016536657A JP 2017503251 A JP2017503251 A JP 2017503251A
Authority
JP
Japan
Prior art keywords
frame
time
sequence
date
task
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.)
Granted
Application number
JP2016536657A
Other languages
English (en)
Other versions
JP6441349B2 (ja
Inventor
デイビッド,ヴィンセント
バーボット,アドリヤン
Original Assignee
クロノ−セイフ
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 クロノ−セイフ filed Critical クロノ−セイフ
Publication of JP2017503251A publication Critical patent/JP2017503251A/ja
Application granted granted Critical
Publication of JP6441349B2 publication Critical patent/JP6441349B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)

Abstract

タスクと関連付けられた時間基準で連続フレームの反復シーケンスの各タスクをオフラインで分解するステップであって、各フレームが実行必要性を有する原始演算と関連付けられ、演算が開始してよい開始日及び演算が終了しなければならない期日を定義し、それによって各フレームが、演算が開始してよい時間マージンを定義する、分解するステップと、演算の開始日及び期日を尊重しつつ、反復シーケンスの第1の反復シーケンスのフレームごとに、対応する演算が、第1の反復シーケンスのフレーム(Fai)に重なる第2の反復シーケンスのフレームのグループのあらゆる2つの連続演算の間で対応する演算を実行できることを検証するステップと、検証が満たされる場合、2つのタスクの実行を許すステップを含んだ、時分割で2つのタスクを実行するための方法が提供される。2つのタスクの演算は、次いで各重要な日付で評価される以下のケース、つまり2つの演算が開始できる場合、より短い期日を有する演算を実行すること、及び単一の演算が開始できる場合に、単一の演算の実行必要性が、他方のシーケンスの該次のフレームと関連付けられた時間のマージンが加えられた、他方のシーケンスの次のフレームの開始日まで残っている時間に満たない場合にだけ演算を実行することに従ってスケジューリングされ、重要な日付は期日ごとに、開始日ごとに、及び演算の終了ごとに発生する。【選択図】図3A

Description

本発明は、通信網においてのように、リソースの制御された割当てが重要である他のシステムだけではなく、運輸(自動車、鉄道、船舶、宇宙)、産業自動化、エネルギーの分野でも使用される制御システム及び監視システム等のマルチタスクリアルタイムクリティカルシステムに関する。本発明は高水準の実装性能が必要とされるリアルタイムシステムと、システムの各タスクに割り当てられるハードウェアリソースの使用に関して高レベルの保証が必要とされるクリティカルシステムの両方に関する。
クリティカルリアルタイムシステム、つまり演算の遅れた実行によるいかなる期日違反も許容しないシステムでは、タスクな多くの場合静的スケジューリング方法によって実行される。実行リソースに対する必要性の静的な一時割当ては次いでオフラインで構築され、このことはリソース、特にプロセッサの使用に関してタスク間のタスクの時間的な独立性を明示している。この手法は、例えば記事[「安全クリティカルリアルタイムシステムにおける適時性をモデル化し、保証するための方法及び技法」、C.Aussagues、V.David、第4回IEEEコンプレックスコンピュータシステム国際会議、1998年]、並びに特許出願第WO2006−050967号及びUS第2010-0199280号に説明されている。
しかしながら、この手法はすべての活動の単一の順序付け計画だけを検討することを必要とし、したがって期日を決定するための単一の時間基準だけを検討する。これは、クロックを使用してクロックの期日を決定するタスク、及び可変速度オブジェクトの位置を使用して可変速度オブジェクトの期日を決定するタスク等、相関関係のない時間基準のタスクの場合、単一のプロセッサに対する干渉のない実装を困難にする。これは、共通の時間基準によって計時される2つの順序付け計画を、該順序制御計画がタスク間の干渉のない単一の順序付け計画で構成できるように構築することを暗示するだろう。これは、各状況の最悪の事態を考慮するためにリソースが広く特大である場合にだけ実際に達成可能である。
いくつかのリアルタイムシステムが一定のマージンの中で期日違反を許容できるために「クリティカル」と定義されない高水準性能を有するいくつかのリアルタイムシステムでは、異なる時間基準によって計時される2つの順序付け計画の構成は、動的スケジューリングアルゴリズムによって実行される。係るアルゴリズムは、例えば[「ハードリアルタイム環境でのマルチプログラミングのためのスケジューリングアルゴリズム、C.Liu、J.Layland、ACMジャーナル、第20巻、第1号、46−61ページ」]及び[「リアルタイムコンピューティングの基礎:スケジューリング及びリソース管理」、Andre M. Van Tiborg、Gary M. Koob編集、1991年、Kluwer Academic Publishers]及び[「安全クリティカルリアルタイムシステムで適時性をモデル化し、保証するための方法及び技法」、C.Aussagues、V.David、第4回IEEEコンプレックスコンピュータシステム国際会議、1998年]にも説明されている。
これらのアルゴリズムを用いる場合強制排除は不可避である。つまり、オペレーティングシステムはより緊急の演算を実行するために進行中の演算を中断できる。スケジューリングは動的であるので、強制排除の数及び持続時間は特定できず、各強制排除はコンテキストの切替えを実行するためにオーバヘッドを導入する。これがタスク間の干渉を生じさせ、これによりシステムはサイジングするのがより困難となり、より予測不可能になり、複雑なプロセッサアーキテクチャで再現可能ではない。また、係るシステムの設計者は、2つの異なる時間基準を有するシステムでのタスク優先順位又は期日を適切に設定するために困難に遭遇する。アプリケーションパラメータの値に応じた実行必要性の変動等の選ばれたオプションは、このようにして構築されたシステムを非常に複雑且つ制御不可能にする。
したがって、2つの計画の時間基準が異なっていても、干渉なく2つの順序付け計画を時分割で実行できる技術の必要性がある。
この必要性は、タスクと関連付けられた時間基準で連続フレームの反復シーケンスで各タスクをオフラインで分解するステップであって、各フレームが実行必要性を有する原子演算と関連付けられ、演算が開始する開始日及び演算が終了しなければならない期日を定義し、それによって各フレームが演算が開始する時間マージンを定義する、分解するステップと、演算の開始日及び期日を尊重しつつ、反復シーケンスの内の第1の反復シーケンスのフレームごとに、対応する演算が、第1の反復シーケンスのフレームに重なる第2の反復シーケンスのフレームのグループのあらゆる2つの連続演算の間で実行できることを検証するステップと、検証が満たされる場合、2つのタスクの実行を許すステップとを含む、2つのタスクを時分割で実行するための方法を提供することによって対応される。
2つのタスクの演算は次いで以下の場合に従ってスケジューリングされ、それぞれの重要な日付で評価され、重要な日付は各期日、各開始日、及び演算が終了するたびに発生する。つまり、2つの演算が開始できる場合、より短い期日を有する演算を実行し、単一の演算が開始できる場合、該演算の実行の必要性が、他のシーケンスの次のフレームと関連付けられた時間のマージンが加えられた他のシーケンスの該次のフレームの開始日までに残っている時間に満たない場合にだけ該演算を実行する。
各フレームは、フレームの期日後又はフレームの開始日前に位置する、ゼロであることがある予備の時間間隔をさらに含むことがあり、反復シーケンスの内のいずれか1つの予備の時間間隔は他の反復シーケンスの演算を実行するために使用されてよい。
検証ステップは以下の
・第1の反復シーケンスのフレームFaごとに、第2の反復シーケンスの各フレームFbの以下の条件を評価するステップであって、
[A.1]Da≦Tbj+1
[B.1]Da≦Rb+Tbj+1
及びDb≦Tai、並びに
[C.1]Db≦Tai、
上式では、D、T、及びRは、反復シーケンス識別子及びシーケンスのフレーム番号でインデックスが付けられた、実行必要性、時間マージン、及び予備時間である、評価するステップと、
・フレームFa及びFbが交換された状態で条件評価を繰り返すステップと、
・3つの条件[A.1]、[B.1]、及び[C.1]が任意の組(i、j)について満たされる場合にタスクの実行を許可するステップと
を含むことがある。
検証ステップは、以下の追加の
・条件[A.1]が偽である場合、以下の条件
[A.2]Da≦Tbj+1+Rbj+1+Tbj+2
及びDa+Dbj+1≦Ta+Tbj+1
を評価するステップと、
・条件[B.1]が偽である場合、以下の条件
[B.2]Da≦Tbj+1+Rbj+1+Tbj+2
及びDb+Da+Dbj+1≦Ta+Tbj+1
を評価するステップと、
・条件[C.1]が偽である場合、以下の条件
[C.2]Db≦Ta+min[Tb−Da,Ra,Rai−1
を評価するステップと、
・条件[A.1]又は[A.2]及び[B.1]又は[B.2]及び[C.1]又は[C.2]が組(i、j)ごとに満たされる場合に実行を許可するステップと
を含んでよい。
フレームの持続時間を決定する時間基準は、時間マージンT及び予備時間RがフレームFaの場合zaに係数1分変化し、フレームFbの場合zbに係数1分、変化し得るように可変であってよい。検証ステップは、次いで
・条件[A.1]が偽である場合、以下の条件
[A.2]Da≦Tbj+1+Rbj+1+Tbj+2
及びmin[ql(zb・(Tb+Rb)+(zb−1)Db),Da]+Dbj+1≦Ta
上式ではql=(Da−Tbj+1)/(Tb+Rb)
を評価するステップと、
・条件[B.1]が偽である場合、以下の条件
[B.2]Da≦Tbj+1+Rbj+1+Tbj+2
及びDb+min[ ql(zb・Tb+(zb−1)Db)+zb・Rb, Da]+Dbj+1≦Ta
上式ではql=(Da−Rb−Tbj+1)/Tb
を評価するステップと、
・条件[C.1]が偽である場合、以下の条件
[C.2]Db≦Ta+min[ Tb−Da,Ra,Rai−1
を評価するステップと、
・条件[A.1]又は[A.2]及び[B.1]又は[B.2]及び[C.1]又は[C.1]が組(i、j)について満たされる場合、タスクの実行を許可するステップと
をさらに含んでよい。
検証ステップは、以下の
・条件[B.1]が偽である場合、条件[B.2]の前に以下の条件
[B.1.1]Da≦Tb+Rb+Tbj+1
及びDbj−1≦Tl+min[ Tbj−1+Dbj−1+Rbj−1−Tl−Dai−l,Rai−2
上式ではql=(Da−Rb−Tbj+1)/Tb及びTl=Tai−1−(1−ql)Tb+Rai−1
を評価するステップと、
・条件[A.1]又は[A.2]及び[B.1]又は[B.1.1]及び[C.1]又は[C.2]が組(i、j)ごとに満たされる場合、タスクの実行を許可するステップと
をさらに含んでよい。
他の優位点及び特徴は、例示的な目的だけに提供され、添付図面中に表される本発明の特定の実施形態の以下の説明からより明確になるだろう。
タスクの順序付け計画を構成するために使用されるフレームの連続シーケンスの例を示す図である。 反復シーケンスのフレームの構造、及びフレームで演算を開始する異なる可能性を示す図である。 フレームの2つの反復シーケンスを時分割する異なる可能性を示し、図3Cはエラー状態を示す図である。 フレームの2つの反復シーケンスを時分割する異なる可能性を示し、図3Cはエラー状態を示す図である。 フレームの2つの反復シーケンスを時分割する異なる可能性を示し、図3Cはエラー状態を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第1の想定に従った2つのシーケンスの時分割状況を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第1の想定に従った2つのシーケンスの時分割状況を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第1の想定に従った2つのシーケンスの時分割状況を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第2の想定に従って2つのシーケンスの時分割状況を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第2の想定に従って2つのシーケンスの時分割状況を示す図である。 2つのシーケンスの構成のバリデーション基準を確立するための第3の想定に従った2つのシーケンスの時分割状況を示す図である。 図5Aの状況で別の有効性条件を確立するためのフレームの連続の例を示す図である。 代替の有効性条件を確立することを許す、第3の想定に従った2つのシーケンスの追加の実行状況を示す図である。
リアルタイムタスクは、次々と実行される演算の基本プロセスのシーケンスとして見なされてよく、各演算はタスクと関連付けられた時間基準での期日を有する。クリティカルリアルタイムシステムでは、期日は必須である。つまり、その期日を超える演算は、例えばエラー状態及びシステム停止を引き起こすだろう。以下に説明される技法は、相関関係のない時間基準でも複数のタスクがシステム上で時分割で実行され得る点で性能のレベルを改善するために係るシステムに適用できる。
図1は、フレームの反復シーケンスRSFにタスクを分解することを示し、各フレームFはタスクの順次演算に割り当てられる。タスクはループの反復シーケンスRSFを実行することによって実装される。
図2は、フレームFの時間構造を示す。フレームの開始は、演算が開始し得る日付である。フレームは演算を完了する必要のある期日Eを定める。演算は原子的であると見なされる。つまり、演算は別の演算を実行するために一時停止できない。期日Eは、ゼロであってよい任意選択の予備タイムスロットR分、フレームの最後に先行してよい。時間間隔Dはフレームと関連付けられた演算の実行必要性である。実行必要性Dは、例えば演算を実行するために必要とされるプロセッサクロックサイクルの数に相当する‐したがって、実行必要性Dはターゲットシステムのプロセッサの特性に応じた固定時間として表されてよい。間隔Tは、フレームの開始と演算を実行するための期日Eとの間の時間マージンに相当する。
このようにして、図2に示されるように、演算は、間隔Tが演算の最後と期日との間にあるフレームの開始と、演算がまさに期日Eで終了するフレームの開始後の時間Tとの間のどこで始まってもよい。中間状況の場合、qTはa演算の最後と期日との間の間隔を示し、0≦q≦1であり、(1−q)Tはフレームの始まりと演算の始まりとの間の相補的な間隔を示す。
予備間隔Rの合計は、例えば、プログラマが入力/出力等の非リアルタイム演算を実施するためにシステムに割り当てる時間である。
クリティカルリアルタイムシステムで時分割で実行される必要のある2つのタスクは、このようにしてフレームの反復シーケンスに分解される。タスクが干渉なく実行可能であるため、つまり演算の原子性を尊重するためには、2つのシーケンスのフレームの制約、つまり期日及びフレーム開始を尊重しつつ、一方のシーケンスの各演算が他方のシーケンスの2つの連続演算間でいつでも実行できるようにシーケンスを構成することが求められる。
図3Aから図3Cは、2つのシーケンスRSFa及びRSFbを展開する間に遭遇することがある多様な状況を示す。簡略にするために、予備間隔Rがゼロであると想定される。
図3Aでは、例として、シーケンスRSFaは、それぞれのパラメータ(Da=3、Ta=6)、(Da=4、Ta=1)、及び(Da=1、Ta=1)の3つのフレームFaからFaを含み、時間値は正規化された単位で表される。シーケンスRSFbは、フレームFaの開始の3単位後に始まり、それはそれぞれのパラメータ(Db=4、Tb=5)及び(Db=3、Tb=4)の2つのフレームFb及びFbを含む。
演算Daは対応するフレームの開始の1単位後に始まる。演算Daの最後で、演算Daはまだ開始できないが、演算Dbは開始されてよい。演算Dbの最後で、演算は実行のために準備完了していない。フレームFaの開始、ここでは期日Eaは演算Daを開始するために待機される。演算Daの最後で、演算Dbは実行可能であるが、演算Dbは開始されるべきではない。実際に、演算Dbがただちに起動されると、演算Dbはまさに期日Eaで終了し、それによって演算Daはその期日前に実行できないだろう。この状況では、フレームFaの始まりは演算Daを起動するために待機される。最後に、演算Dbは演算Daの最後で開始できる。
図3Bでは、演算Daがフレームの始まり3単位後に開始する点を除き、同じパラメータが保存される。演算Db及び演算Daは、対応するフレームの制約を尊重しつつ、図3Aに関して2単位分遅延する。演算Daはまさにその期日Eaで終了する。
図3Cでは、演算Daがフレームの始まり4単位後にここで開始する点を除き、同じパラメータが保存される。演算Db及び演算Daは、図3Aに関して3単位分遅延する。演算Dbは、その期日Ebを尊重しつつ依然として実行できるが、演算Daはその期日Eaに違反する。
本明細書に参照される技法に共通した第1のステップは、時分割で実行するための2つのタスクについて、シーケンスの始まりの間の遅延に関わりなく、図3A又は図3Bの状況で解くことができる2つの連続シーケンスRSFa及びRSFbの構成を含む。この構成は静的である。つまり、プログラマによってオフラインで達成される。
第2のステップは、任意の2つのシーケンスが互換性があること、つまり任意の2つのシーケンスが、図3A及び図3Bにおいてのように、各演算をその制約の中で実行できるように解くことができることを検証することを含む。
この互換性の検証は、プログラマが試行錯誤でシーケンスを構成するために設計された開発ツールに実装されてよい。また、該互換性の検証は、好ましくは実行のために2つの反復シーケンスによって定められたシーケンス計画のロード時に、リアルタイムシステム自体で実施される。システムは、次いでシーケンスが互換性がないとして検出される場合に演算を拒絶するように構成されてよい。
第3のステップは、リアルタイムシステムで2つのシーケンスの演算をスケジューリングすることを含む。図が示すように、第1のシーケンスの演算を第2のシーケンスの演算と交互にする又は演算が実行のために準備が完了したときに演算を開始することは、正しい演算を達成するためには十分ではない。スケジューリングはそれぞれの重要な日付で評価される以下の場合に従って達成されてよい。重要な日付は2つのシーケンスのフレームの始まり、期日、及び演算終了として定められてよい。予備のタイムスロットR(図2)がゼロであるとき、提示されている例においてのように、期日はフレーム開始と一致する。シーケンスの内の第1のシーケンスと関連付けられた所与の重要な日付の場合、用語「同時並行フレーム」は、第2のシーケンスの現在のフレームを示す。
1)演算は開始できない。これは、演算が(図3Aの期日Eb1でのように)すでに進行中であるときに、又は図3Aの演算Dbに関して同時並行フレームの演算とその期日との間に実行する演算の最後で発生する。この場合、次の重要な日付が待たれる。
2)2つの演算が開始できる。これは通常、図3A及び図3Bの期日Eaでの場合のように演算が同時並行フレームで待機中にフレームを開始するときに起こる。最短の期日を有する演算が次いで実行される(図3A及び図3BのDa)。ケースは、2つの同時並行フレームが同時に開始するときにも発生する。
3)単一の演算が開始できる。これは通常、演算(Da1)の最後で、又は同時並行フレームの演算が終了した(Ea1、図3A)ときにフレームの始まりで起こる。演算は、その実行必要性が、この同時並行フレームと関連付けられた時間マージンが加えられた、次の同時並行フレームの開始まで残っている時間に満たないまたは同じである場合にだけ実行される。例えば、図3Aでは、演算Da2は期日Ea1で開始する準備が完了し、フレームFb2の始まり及びTb2=4まで3単位が残されている。演算Da2は、Da2=4<3+4であるため開始される。
それ以外の場合、次の重要な日付が状況を再評価するために待たれる。例えば、図3Aでは、演算Db2は演算Da2の最後で実行のために準備が完了している。しかしながら、フレームFa3の始まり及びTa3まで1単位が残されている。したがって、Db2=3>1+1である。
互換性基準は、ここでリアルタイムシステム用の順序付け計画で使用される任意の2つの反復シーケンスRSFa及びRSFbの間で定められる。
包括的な互換性チェックは、1クロックサイクルの粒度で演算のそのフレームにおける位置、及び互いに対するシーケンスのすべての考えられる位置のすべての考えられる組合せを調べて、同時並行演算を課されている制約に従って実行できるかどうかを評価することを含むだろう。
係る包括的な検証は、妥当な時間内に達成するのは困難だろう。タスクの実行可能コードに伴って順序付け計画をロードするときに、リアルタイムシステムでオンラインで評価できる簡略された基準が求められる。このために、3つの一般的な想定が、他のシーケンスの各フレームに関してシーケンスの内の1つの各フレームの位置決めに関して検討される。想定ごとに、所与のフレームFaの演算がフレームFaに重なる同時並行フレームFb、Fbj+1...によって残される使用可能なスロットの中で実行できることが検証される。2つのフレームFa及びFbは、検証が以下の3つの想定のそれぞれにて満たされるときに互換性があると見なされる。
・想定(A):所与のフレームFaは、第1の同時並行フレームFbの演算Dbが実行を完了すると、開始する。
・想定(B):第1の同時並行フレームの演算は実行中である。
・想定(C):同時並行フレームの演算は開始していない。
想定ごとに、フレームの相対位置とは無関係である基準が求められる。このために、一般的にはスロットを見つけて演算を実行するために使用される未知の時間間隔が過小評価され、期日とのコンプライアンスをチェックするために使用される未知の時間間隔は過大評価される。
図4Aから図4Cは、想定(A)に基づいて互換性基準を構成するために使用されてよい例示的なフレームを示す。所与のフレームFaは、同時並行フレームの演算Dbが完了すると、この同時並行フレームFbの間に開始する。フレームFaは次の同時並行フレームFbj+1に重なる。フレームFaの始まりについて知られていることすべては、それが演算Dbの最後に続く間隔qTbに位置し、0≦q≦1である点である。
図4Aでは、フレームFaはフレームFbj+1の前に終了する。演算Daは間隔qTb+Tbj+1で演算Dbの最後から起動できるだろう。ただし、qは未知且つ任意であるので、q=0で最悪の事態が検討され、それにより演算DaはフレームFbj+1の始まりで開始する。このようにして、演算Daは、
Da<Tbj+1 [A.1]
の場合に実行できる。
図4Bでは、演算Daは要件A.1を満たしていない。その結果、フレームFbj+1及びFbj+2にまたがって演算Daを実行することが試される。つまり、フレームFa
は3つのフレームFbからFbj+2に重なる。これは、間隔Tb+1及びTbj+2の合計が十分であることを保証するための条件と、期日Eaiが満たされることを保証するための条件の両方を満たすことを暗示する。
Da≦Tbj+1+Tbj+2
AND
qTb+Dbj+1+Da≦Da+Ta、したがってqTb+Dbj+1≦Ta
期日を尊重するための最悪の事態はq=1であり、不等式の左側の数を増加する。したがって、期日Eaiは、すべてのケースで、
Tb+Dbj+1≦Ta
の場合に満たされる。
ただし、同じ変数の2つの極値を使用し、同じコンテキストで最悪の事態の状況を検討することは現実的ではない。事実上、変数qの値の一定の範囲は、図4Aの状況でリアルシステムの動作を検討するときに排除できる。
図4Cは、図4Aの状況でのリアルシステムの動作を示す。いったん演算Dbが終了すると、フレームパラメータのオンライン知識を有するシステムが、
Da≦qTb+Tbj+1
である限り、つまり、スケジューリング方法の条件3)が満たされる場合、フレームFaの始まりで演算Daを起動する。
上記の不等式で等性を達成するためにqlをqの制限値とする。
Da=qlTb+Tbj+1、したがってql=(Da−Tbj+1)/Tb
q≧qlの場合、リアルシステムの実行が図4Cに従って起こること、及び図4Bの状況が除外されるべきであることは確かである。図4Bの最悪の事態は次いでq=qlであり、それによって
qlTb+Dbj+1≦Ta、したがってqlをその値で置換することによって、
Da−Tbj+1+Dbj+1≦Ta、又はDa+Dbj+1≦Ta+Tbj+1
値qlを計算するために使用される式はlに制限されない。qlが1を超える場合、それは実際的な意味を成さない。したがって、値qlは1で制限される。
図4Bの状況から生じる条件は、このようにして
Da≦Tbj+1+Tbj+2
AND [A.2]
qlTb+Dbj+1≦Ta
である。
条件A.1は、フレームFaが少なくとも2つの連続フレームFbに重なる状況で検証可能である。条件A.2は、フレームFaが少なくとも3つの連続フレームFbに重なる状況で検証可能である。同様に、条件A.3及び以下は、フレームFaが少なくとも4つ以上の連続フレームFbに重なる状況で検証可能であるが、係る条件を満たす尤度は急速に落ちることが分かってよい。条件A.1及びA.2(並びに適用可能な場合、A.3及び以下)は代替である。つまり、これらの条件のいずれか1つが他の想定のバリデーションにジャンプするために満たされることで十分である。
図5A及び図5Bは、想定(B)に基づいて互換性基準を構成するために使用されてよいフレームの例を示す。フレームFaは同時並行フレームFbの間に開始する。一方、このフレームの同時並行演算Dbは継続中である。図示される最悪の事態では、演算Dbがちょうど開始する。状況は、持続時間Dbが期日Eaiとのコンプライアンスを検証するために考慮される点を除き、図4A及び図4Bの状況に類似している。
図5Aによると、
Da≦Tbj+1であり、期日Eaを尊重するためには、Db+Da≦Da+Taであり、したがって、Db≦Taである。
図4bの状況から生じる条件は、このようにして
Da≦Tbj+1
AND [B.1]
Db≦Ta
である。
図5Bから、図4Bにおいてと同じ論拠に従って、
Da≦Tbj+1+Tbj+2
AND [B.2]
Db+qlTb+Dbj+1≦Ta
条件A.1に関して、条件B.1は、フレームFaが少なくとも2つの連続フレームFbに重なる状況で検証可能である。条件B.2は、フレームFaが少なくとも3つの連続フレームFbに重なる状況で検証可能である。同様に、条件B.3及び以下は、フレームFaが少なくとも4つ以上の連続フレームFbに重なる状況で検証可能であるが、係る条件を満たす尤度は急速に落ちることが分かってよい。条件B.1及びB.2(並びに適用可能な場合、A.3及び以下)は代替である。つまり、これらの条件のいずれか1つが他の想定のバリデーションにジャンプするために満たされることで十分である。
図6は、想定(C)に基づいた互換性基準の構成で使用できる例示的なフレームを示す。想定(C)との関連で、演算Dbがまだ実行されていないことが仮定される。フレームFaの期日がフレームFbの期日の後に達する場合、図5A及び図5Bの状況と同じ状況に遭遇され、演算Dbがちょうど開始する。したがって、想定(C)の下では、フレームFaの期日がフレームFbの期日の前に発生するケースだけが分析される。
演算Daと演算Dbの両方とも、フレームFaの始まりでの実行に準備が完了している。演算Dai−1がフレームFaの始まりでその期日で終了するときに、例えば図示されるように、スケジューリング条件3)は満たされていないため、演算Dbがそのフレームの始まりで開始されていなかったと想定されてよい。期日Eaiは最短であるので、演算Daは最初に起動される。演算Dbは、演算Daの最後に起動される。想定(C)の範囲内の最悪の事態では、フレームFa及びFbの期日は一致し、このことは
Db≦Ta[C.1]
を暗示する。
提供されているスケジューリングプロセスはこのように進行しないだろうが、この同じ不等式は、演算DbがフレームFaの始まりで開始すると想定して得られる。演算Daがその期日の前に終了するためには、不等式Db+Da≦Da+Taが検証される、つまり上記と同じ不等式である。
各フレームFaはこのようにして各フレームFbに比較され、フレームFbの期日が満たされていることを検証することはないが、フレームFaの期日が満たされていることを保証する。これが第1の検証合格を形成する。検証を完了するための第2の合格は、次いで各フレームFbを各フレームFaに比較し、それによってフレームFbの期日が満たされることを保証することによって上記演算を繰り返すことである。
それぞれNaフレーム及びNbフレームを有する2つの反復シーケンスRSFa及びRSfbの互換性の検証は、以下の疑似コードによって要約されてよい。この疑似コードでは、代替条件は不等式の左側で式min(x,y)に、及び不等式の右側でmax(x,y)に集約され、必要な条件は不等式の右側の式min(x,y)に及び不等式の左側のmax(x,y)に集約される。条件A.3及びB.3は、上述されたように、フレームFaが4つのフレームFbからFbj+3に重なるイベントを反映するために提供される。フレームシーケンスは無限に反復可能であるので、インデックスi及びjに対する演算は、インデックスの最大値(iの場合Na、及びjの場合Nb)を法として実行される。
0とNb−1の間のjごとに以下を行う。
0とNb−1の間のjごとに以下を行う。
[A.1]
Da≦Tbj+1の場合、その結果[B.1]で続行する。
[A.2]
ql:=(Da−Tbj+1)/Tb
ql>1又はTb=0の場合、その結果ql:=1である
Da≦Tbj+1+Tbj+2
及びqlTb+Dbj+1≦Taの場合、
その結果[B.1]で続行する
[A.3]
Da≦Tbj+2+Tbj+3
及びqlTb+Dbj+1+Dbj+2+min[Tbj+1、Da]≦Taの場合、
その結果[B.1]で続行し、
故障コードをもってループを終了する

[B.1]
Da≦Tbj+1
及びDb≦Taの場合、
その結果、[D]で続行する
[B.1.1]
ql:=(Da‐Tbj+1)/Tb
ql>1又はTb=0の場合、その結果ql:=1となり、[B.2]で続行する
Tl:Tai‐1‐(1−ql)Tb
Dbj−1≦ Tlの場合
その結果[C.1]で続行する
[B.2]
Da≦Tbj+1+Tbj+2
及びDb+qlTb+Dbj+1≦Taの場合、
その結果[C.1]で続行する
[B.3]
Da≦Tbj+2+Tbj+3
及びDb+qlTb+Dbj+1+min[Tbj+1,Da]+Dbj+2≦Taの場合、
その結果[C.1]で続行し、
故障コードをもってループを終了する

[C.1]
Db≦Taの場合、
その結果[D]で続行し、
故障コードをもってループを終了する
[D]次にj
次にi
検証を完了するために、上記に示されたように、このループは繰り返され、フレームFa及びFbを切り替えてよい。
このループでは、上述されたことに関して代替策に従って、条件B.2の評価を進める前に条件B.1.1が評価される。
図7は、条件B.1.1の確立を示すフレームの例示的な連続を示す。フレームFa及びFbは図4Aでのように同じ条件にあるが、フレームFbj+1の始まりで演算Daを開始する代わりに、演算Daは演算Dbの直後に開始してよく、q=qlでこれを可能にする一般的な条件は従前のフレームFai−1及びFbj−1で求められると仮定される。条件B.1.1は、条件B.1のように、フレームFaが3つのフレーム以上に重なる状況よりも発生する可能性が高い状況に対応して、フレームFaが2個のフレーム(Fb及びFbj+1)に重なるという仮定に基づいている。
上記に示されたように、フレームは非リアルタイムタスクを実行するためにシステムが要することがある予備時間Rを含んでよい。係る予備時間はリアルタイム演算を実行するために使用されてよい。それは他方のシーケンスの演算Dの実行を促進するために一方のシーケンスの時間マージンTを増加させるが、それは期日を満たすための条件を堅牢にすることがある。
非ゼロ予備時間Rは特に条件C.1を緩和してよい。
図8は、条件C.1が満たさないとき、つまりDb>Taのとき、緩和された制約を確立するための例示的なフレームの連続を示す。仮定Cの下で演算Dbは、フレームFaの始まりでまだ開始していないと想定される。最短の期日を有する演算DaはフレームFaiのまさに始まりで開始される。フレームFbはフレームFaの前に開始し、それはフレームFai−1の間隔Rai−1の間に想定される。フレームFbの始まりとフレームFaの始まりとの間の間隔はkRai−1と示され、0≦k≦1である。
演算DbがそのフレームFbの始まりで予定されていなかった場合、それは
Db>kRai−1+Ta
を意味する。
kの限度値はklと示され、したがってDb=klRai−1+Taであり、したがってkl=(Db−Ta)/Rai−lである。k>klの場合、演算DbをフレームFaの始まりの前にスケジューリングできることは確実である−このケースは想定Cに適合しないため、このケースは検討されるべきではない。0とklの間のkの値だけが検討される。
演算Daが実行可能となるためには、演算Daは条件Da≦Tb−kRai−lを満たす必要がある。最悪の事態はk=klであり、それによって
Da≦Tb−klRai−l、つまりklをその値で置換すると、
Da≦Tb−(Db−Ta)、又は
Db≦Ta+Tb−Da
係数klは最大限でも1に等しく、このことは以下によって表される。
Db−Ta≦Rai−1、又は
Db≦Ta+Rai−1
最後に、演算Da+1の実行を抑制しないために、演算DbはフレームFai+lに重なってはならない。これは、以下の場合に満たされる。
Db≦Ta+Ra
これは以下の条件、つまり条件C.1の代替策につながる。
Db≦Ta+Tb−Da
AND
Db≦Ta+Rai−1 [C.2]
AND
Db≦Ta+Ra
以下の疑似コードは、予備時間Rを考慮に入れる。
0とNb−1の間のiごとに以下を行う。
0とNb−1の間のjごとに以下を行う。
[A.1]
Da≦Tbj+1の場合、その結果[B.1]で続行する
[A.2]
ql:=(Da−Tbj+1)/(Tb+Rb
ql>1 又は Tb=0の場合、その結果ql:=1である
Da≦Tbj+1+Rbj+1+Tbj+2
及びql(Tb+Rb)+Dbj+1≦Taの場合、
その結果[B.1]で続行する
[A.3]
Da≦Tbj+2+Rbj+2+Tbj+3
及びDbj+1+ql(Tb+Rb
+Dbj+2+min[ Tbj+1+Rbj+1,Da]≦Taの場合、
その結果[B.1]で続行し、
故障コードをもってループを終了する

[B.1]
Da≦Rb+Tbj+1
及びDb≦Taの場合、
その結果、[C.2]で続行する
ql:=(Da‐Rb−Tbj+1)/Tb
ql>1 又は Tb=0の場合、その結果ql:=1となり、[B.2]で続行する
[B.1.1]
Tl:=Tai‐1‐(1−ql)Tb+Rai‐1
Dbj−1≦Tl+min[ Tbj−1+Dbj−1+Rbj−1−Tl−Dai−1,Rai−2]の場合
その結果[C.1]で続行する
[B.1.2]
Dbj−1+Rbj−1≦Tl
及びDai−1≦Tbj−2+Rbj−2+Tbj−1
及びTbj−2+Dbj−2+Rbj−2+Tbj−1+Dbj−1+Rbj−1≦Rai‐2+Tl+Dai‐1の場合、
その結果[C.1]で続行する
[B.2]
Da≦Tbj+1+Rbj+1+Tbj+2
及びDb+qlTb+Rb+Dbj+1≦Taの場合、
その結果[C.1]で続行する
[B.3]
Da≦Tbj+2+Rbj+2+Tbj+3
及びDb+qlTb+Rb
+Dbj+1+min[ Tbj+1+Rbj+1,Da]
+Dbj+2≦Taの場合、
その結果[C.1]で続行し、
故障コードをもってループを終了する

[C.1]
Db≦Taの場合、
その結果[D]で続行する
[C.2]
Db≦Ta+min[ Tb−Da,Ra,Rai‐1
その結果[D]で続行し、
故障コードでループを終了する
[D]次にj
次にi
この疑似コードに表示される条件B.1.2は、フレームFai−2及びFbj−2に対する検索を拡大する、条件B.1.1に関してと同じ方式を使用して決定される。
いままで、2つのタスクを計時するための時間基準は等時性であった、つまりシーケンスの一方の間隔の持続時間が他方のシーケンスの間隔に関して可変ではなかったと仮定されていた。実際には、可変速度で移動する要素の位置にインデックスが付けられたタスクのような相関関係のない時間基準を使用して2つのタスクを構成することが必要となることがある。
このケースを扱うために、変動性係数z>1が反復シーケンスごとに導入され、za及びzbはそれぞれシーケンスRSFa及びRSFbごとに導入される。係数za及びzbは固定され、2つのシーケンスの間隔T及びRの最大停止を表す。従前の関係性で使用された表記が間隔の最小値を表すと想定すると、値T及びRのそれぞれはこのようにして2つの値T又はzT及びR又はzRを推定してよい。実行必要性Dは、実行必要性Dがシステムクロックだけに依存するため一定のままである。
間隔が演算を実行するためのスロットを見つけるために使用される従前の関係性では、その過小評価された値T又はRが維持される。間隔が期日とのコンプライアンスをチェックするために使用されるとき、その過大評価された値zT又はzRが使用される。以下の疑似コードが次いで得られる。
0とNb−1の間のiごとに以下を行う。
0とNb−1の間のjごとに以下を行う。
[A.1]
Da≦Tbj+1の場合、その結果[B.1]で続行する
[A.2]
ql:=(Da−Tbj+1)/(Tb+Rb
ql>1又はTb+Rbj=0の場合、その結果ql:=1である
Da≦Tbj+1+Rbj+1+Tbj+2
及びmin[ql(zb・(Tb+Rb)+(zb−1)Db),Da]+Dbj+1≦Taの場合、
その結果[B.1]で続行する
[A.3]
Da≦Tbj+2+Rbj+2+Tbj+3
及びDbj+1+min[ ql(zb・(Tb+Rb)+(zb−1)Db),Da
+Dbj+2+min[ zb・(Tbj+1+Rbj+1)+(zb−1)Dbj+1,Da]≦Taの場合、
その結果[B.1]で続行し、
故障コードをもってループを終了する

[B.1]
Da≦Rb+Tbj+1
及びDb≦Taの場合、
その結果、[C.2]で続行する
[B.1.1]
ql:=(Da‐Rb−Tbj+1)/Tb
ql>1又はTb=0の場合、その結果ql:=1となり、[B.2]で続行する
Tl:=Tai‐1‐(1−ql)Tb+Rai‐1
Dbj−1≦Tl+min[ Tbj−1+Dbj−1+Rbj−1‐Tl−Dai−1,Rai−2]の場合
その結果[C.1]で続行する
[B.1.2]
Dbi−1+zb・Rbj−1≦Tl
及びDai−1≦Tbj−2+Rbj−2+Tbj−1
及びzb・(Tbj−2+Dbj−2+Rbj−2+Tbj−1+Dbj−1+Rbj−1)≦Rai‐2+Tl+Dai‐1の場合、
その結果[C.1]で続行する
[B.2]
Da≦Tbj+1+Rbj+1+Tbj+2
及びDb+min[ ql(zb・Tb+(zb−1)Db)+zb・Rb,Da
+Dbj+1≦Taの場合、
その結果[C.1]で続行する
[B.3]
Da≦Tbj+2+Rbj+2+Tbj+3
及びDb+min[ ql(zb・Tb+(zb−1)Db)+zb・Rb,Da
+Dbj+1+min[ zb・(Tbj+1+Rbj+1)+(zb−1)Dbj+1,Da]
+Dbj+2≦Taの場合、
その結果[C.1]で続行し、
故障コードをもってループを終了する

[C.1]
Db≦Taの場合、
その結果[D]で続行する
[C.2]
Db≦Ta+min[ Tb−Da,Ra,Rai‐1
その結果[D]で続行し、
故障コードでループを終了する
[D]次にj
次にi
上述されたスケジューリングプロセスのケース3)では、検討する時間のマージンは最低値、つまりTであり、zTではない。
上記に提示された原理は時分割で実行するための2つのタスクを用いて説明されてきたが、原理は任意の数のタスクに適用する。確かに、説明された方法は2つの互換性のあるタスクに単一の順序付け計画を構成することを実際的に可能にする。このようにして得られた順序付け計画は第3の互換性のあるタスク用の順序付け計画等を用いて、同じ技法を使用し、再び構成されてよい。

Claims (6)

  1. 時分割で2つのタスクを実行するための方法であって、
    ・連続フレームの反復シーケンス(RSF)の各タスクをオフラインで、前記タスクと関連付けられた時間基準で分解するステップであって、各フレーム(F)が実行必要性(D)を有する原子演算と関連付けられ、前記演算が開始してよい開始日及び前記演算が終了しなければならない期日(E)を定め、それによって各フレームが前記演算が開始してよい時間マージン(T)を定める、分解するステップと、
    ・前記演算の前記開始日及び前記期日を尊重しつつ、前記反復シーケンスの第1の反復シーケンス(RSFa)のフレーム(Fa)ごとに、前記対応する演算(Da)が、前記第1の反復シーケンスの前記フレーム(Fa)に重なる前記第2の反復シーケンス(RSFb)のフレームのグループ(Fb、Fbj+1)のグループのあらゆる2つの連続演算の間に実行できることを検証するステップと、
    ・前記検証が満たされる場合、前記2つのタスクの前記実行を許し、各重要な日付で評価された以下のケース、つまり
    ‐2つの演算(Da、Db)が開始できる場合、より短い期日を有する前記演算(Da)を実行すること、
    ‐単一の演算が開始できる場合、その実行必要性が、前記他方のシーケンスの前記次のフレームと関連付けられた前記時間のマージン(T)を加えた、前記他のシーケンスの前記次のフレームの前記開始日まで残っている前記時間に満たない場合にだけ単一の演算を実行すること
    に従って前記2つのタスクの前記演算をスケジューリングするステップであって、重要な日付が期日ごとに、開始日ごとに、及び演算の終了ごとに発生する、
    前記実行を許し、前記演算をスケジューリングするステップと
    を含む、方法。
  2. 各フレーム(F)が、前記フレームの前記期日(E)の後、又は前記フレームの前記開始日の前に位置する、ゼロであってよい予備時間間隔(R)をさらに備え、前記反復シーケンスの内の任意の反復シーケンスの前記予備時間間隔が前記他方の反復シーケンスの演算を実行するために使用されてよい、請求項1に記載の方法。
  3. 前記検証ステップが以下の
    ・前記第1の反復シーケンスのフレームFaごとに、前記第2の反復シーケンスのフレームFbごとに以下の条件を
    「A.1」Da≦Tbj+1
    [B.1]Da≦Rb+Tbj+1
    及びDb≦Ta、及び
    [C.1]Db≦Ta
    評価するステップであって、上式ではD、T、及びRが反復シーケンス識別子及び前記シーケンスの前記フレーム番号でインデックスを付けられた、前記実行必要性、前記時間マージン、及び予備時間である、評価するステップと、
    ・前記フレームFa及びFbが交換された状態で前記条件評価を反復するステップと、
    ・前記3つの条件「A.1]、[B.1]、及び[C.1]が任意の組(i、j)について満たされる場合に前記タスクの実行を許可するステップと
    を含む、請求項2に記載の方法。
  4. 前記検証ステップが、以下の
    ・前記条件[A.1]が偽である場合、以下の条件
    [A.2]Da≦Tbj+1+Rbj+1+Tbj+2
    及びDa+Dbj+1≦Ta+Tbj+1
    を評価するステップと、
    ・前記条件[B.1]が偽である場合、以下の条件
    [B.2]Da≦Tbj+1+Rbj+1+Tbj+2
    及びDb+Da+Dbj+1≦Ta+Tbj+1
    を評価するステップと、
    ・前記条件[C.1]が偽である場合、以下の条件
    [C.2]Db≦Ta+min[ Tb−Da,Ra,Rai−1
    を評価するステップと、
    ・前記条件「A.1」又は[A.2]及び[B.1]又は[B.2]及び[C.1]又は[C.2]が組(i、j)について満たされる場合、前記タスクの実行を許可するステップと
    を含む、請求項3に記載の方法。
  5. 前記フレームの前記持続時間を決定する前記時間基準が、前記時間マージンT及び前記予備時間Rが、前記フレームFaの場合zaに係数1分変化し、前記フレームFbの場合zbに係数1分変化するように可変であり、前記検証ステップが、
    ・前記条件[A.1]が偽である場合、以下の条件
    [A.2]Da≦Tbj+1+Rbj+1+Tbj+2
    及びmin[ ql(zb・(Tb+Rb)+(zb−1)Db),Da]+Dbj+1≦Ta
    この場合、ql=(Da‐Tbj+1)/(Tb+Rb
    を評価するステップと、
    ・前記条件[B.1]が偽である場合、以下の条件
    [B.2]Da≦Tbj+1+Rbj+1+Tbj+2
    及びDb+min[ ql(zb・Tb+(zb−1)Db)+zb・Rb,Da]+Dbj+1≦Ta
    この場合q1=(Da‐Rb‐Tbj+1)/Tb
    を評価するステップと、
    ・前記条件[C.1]が偽である場合、以下の条件
    [C.2]Db≦Ta+min[ Tb−Da,Ra,Rai−1
    を評価するステップと、
    ・前記条件[A.1]又は[A.2]及び[B.1]又は[B.2]及び[C.1]又は[C.2]が組(i、j)について満たされる場合に、前記タスクの実行を許可するステップと
    をさらに含む、請求項3に記載の方法。
  6. 前記検証ステップが以下の、
    ・前記条件[B.1]が偽である場合、前記条件[B.2]の前に以下の条件
    [B.1.1]Da≦Tb+Rb+Tbj+1
    及びDbj−1≦T1+min[ Tbj−1+Dbj−1+Rbj−1‐T1‐Dai−1,Rai−2
    を評価するステップであって、
    上式ではql=(Da‐Rb‐Tbj+1)/Tb及びT1=Tai−1−(1−ql)Tb+Rai−1
    であるステップと、
    ・前記条件[A.1]又は[A.2]及び[B.1]又は[B.2]及び[C.1]又は[C.2]が組(i、j)について満たされる場合に、前記タスクの実行を許可するステップと
    を含む、請求項5に記載の方法。
JP2016536657A 2013-12-18 2014-11-27 リアルタイムタスクシーケンス計画を構成し、実行するための方法 Active JP6441349B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1362893A FR3015067B1 (fr) 2013-12-18 2013-12-18 Procede de composition et d'execution d'un plan de sequencement de taches temps-reel
FR1362893 2013-12-18
PCT/FR2014/053055 WO2015092188A1 (fr) 2013-12-18 2014-11-27 Procede de composition et d'execution d'un plan de sequencement de taches temps-reel

Publications (2)

Publication Number Publication Date
JP2017503251A true JP2017503251A (ja) 2017-01-26
JP6441349B2 JP6441349B2 (ja) 2018-12-19

Family

ID=50543160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016536657A Active JP6441349B2 (ja) 2013-12-18 2014-11-27 リアルタイムタスクシーケンス計画を構成し、実行するための方法

Country Status (10)

Country Link
US (1) US10198290B2 (ja)
EP (1) EP3084602B1 (ja)
JP (1) JP6441349B2 (ja)
KR (1) KR102261021B1 (ja)
CN (1) CN105830030B (ja)
BR (1) BR112016013088B1 (ja)
CA (1) CA2932690C (ja)
FR (1) FR3015067B1 (ja)
RU (1) RU2678469C1 (ja)
WO (1) WO2015092188A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017003310A (ja) * 2015-06-05 2017-01-05 株式会社デンソー 自動走行制御装置、自動走行用車載装置、自動走行制御方法
KR20200068702A (ko) * 2017-10-10 2020-06-15 크로노-세이프 실시간 작업들 간에 저지연 통신을 보장하는 시퀀싱 계획들을 실행하는 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850551A (ja) * 1993-12-17 1996-02-20 Texas Instr Inc <Ti> リアルタイムアプリケーションタスクスケジューリング及び処理システム
JPH10171667A (ja) * 1996-12-13 1998-06-26 Chokosoku Network Computer Gijutsu Kenkyusho:Kk タスク管理方法
JP2006268754A (ja) * 2005-03-25 2006-10-05 Toshiba Corp スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
US20120079486A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Integration of dissimilar job types into an earliest deadline first (edf) schedule
US20120284728A1 (en) * 2009-09-08 2012-11-08 Thales Method for the Real-Time Ordering of a Set of Noncyclical Multi-Frame Tasks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234139B1 (en) * 2000-11-24 2007-06-19 Catharon Productions, Inc. Computer multi-tasking via virtual threading using an interpreter
KR20070074764A (ko) * 2006-01-10 2007-07-18 주식회사 팬택앤큐리텔 시분할 시스템에서 프로세스를 스케줄링하는 시스템 및 그방법
US8789059B2 (en) * 2007-11-02 2014-07-22 International Business Machines Corporation Dynamic scheduling feasibility analysis of event-driven applications based on reducing tasks of overlapping events
US8621475B2 (en) * 2007-12-06 2013-12-31 International Business Machines Corporation Responsive task scheduling in cooperative multi-tasking environments
CN101408850B (zh) * 2008-11-27 2011-11-23 中国人民解放军信息工程大学 一种在任务流方式下求解复杂问题的方法
CN103365711B (zh) * 2013-07-03 2017-06-30 南京邮电大学 应用于物联网业务平台的任务调度系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850551A (ja) * 1993-12-17 1996-02-20 Texas Instr Inc <Ti> リアルタイムアプリケーションタスクスケジューリング及び処理システム
JPH10171667A (ja) * 1996-12-13 1998-06-26 Chokosoku Network Computer Gijutsu Kenkyusho:Kk タスク管理方法
JP2006268754A (ja) * 2005-03-25 2006-10-05 Toshiba Corp スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
US20120284728A1 (en) * 2009-09-08 2012-11-08 Thales Method for the Real-Time Ordering of a Set of Noncyclical Multi-Frame Tasks
US20120079486A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Integration of dissimilar job types into an earliest deadline first (edf) schedule

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017003310A (ja) * 2015-06-05 2017-01-05 株式会社デンソー 自動走行制御装置、自動走行用車載装置、自動走行制御方法
KR20200068702A (ko) * 2017-10-10 2020-06-15 크로노-세이프 실시간 작업들 간에 저지연 통신을 보장하는 시퀀싱 계획들을 실행하는 방법
JP2020537269A (ja) * 2017-10-10 2020-12-17 クロノ−セーフ リアルタイムタスク間の低レイテンシ通信を保証する順序付け計画を実行するための方法
JP7266590B2 (ja) 2017-10-10 2023-04-28 クロノ-セーフ リアルタイムタスク間の低レイテンシ通信を保証する順序付け計画を実行するための方法
KR102602151B1 (ko) 2017-10-10 2023-11-15 크로노-세이프 실시간 작업들 간에 저지연 통신을 보장하는 시퀀싱 계획들을 실행하는 방법

Also Published As

Publication number Publication date
EP3084602A1 (fr) 2016-10-26
EP3084602B1 (fr) 2021-07-14
CA2932690C (fr) 2023-09-05
RU2678469C1 (ru) 2019-01-29
US20170004011A1 (en) 2017-01-05
CA2932690A1 (fr) 2015-06-25
WO2015092188A1 (fr) 2015-06-25
RU2016128917A (ru) 2018-01-23
KR20160100377A (ko) 2016-08-23
BR112016013088A2 (ja) 2017-08-08
CN105830030B (zh) 2019-07-12
CN105830030A (zh) 2016-08-03
FR3015067A1 (fr) 2015-06-19
US10198290B2 (en) 2019-02-05
FR3015067B1 (fr) 2017-03-17
JP6441349B2 (ja) 2018-12-19
BR112016013088B1 (pt) 2022-02-15
KR102261021B1 (ko) 2021-06-04

Similar Documents

Publication Publication Date Title
Jiang et al. Distributed dynamic scheduling for cyber-physical production systems based on a multi-agent system
Qi et al. Disruption management for machine scheduling: the case of SPT schedules
US20150347186A1 (en) Method and system for scheduling repetitive tasks in o(1)
WO2014190149A1 (en) Multiprocessor scheduling policy
US8863131B2 (en) Transaction load reduction for process completion
WO2013166001A2 (en) Uniprocessor schedulability testing for non-preemptive task sets
CN104636204A (zh) 一种任务调度方法与装置
Stigge et al. On the tractability of digraph-based task models
Rauchecker et al. Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm
Marchetti-Spaccamela et al. On the complexity of conditional DAG scheduling in multiprocessor systems
JP6441349B2 (ja) リアルタイムタスクシーケンス計画を構成し、実行するための方法
Devaraj et al. Real-time scheduling of non-preemptive sporadic tasks on uniprocessor systems using supervisory control of timed DES
Ueter et al. Parallel path progression DAG scheduling
Naija et al. New schedulability analysis for real-time systems based on MDE and petri nets model at early design stages
Naghibzadeh Modeling workflow of tasks and task interaction graphs to schedule on the cloud
Zhao et al. Uniform machine scheduling with predictions
Monot et al. PASA: Framework for partitioning and scheduling automation applications on multicore controllers
Bhaskar et al. Optimized memory model for hadoop map reduce framework
Ivutin et al. Optimization Strategies for Automated Parallelization for Multicore Architectures
JP2020191074A (ja) 動作のスケジューリング
Dinh et al. Analysis of global fixed-priority scheduling for generalized sporadic DAG tasks
Korbaa et al. Transient state study for cyclic schedules: bounds and optimization
Tugsinavisut et al. High-level synthesis for highly concurrent hardware systems
Wu et al. Algorithms for Scheduling Malleable Cloud Tasks
Macariu A Model Checking Approach for Multi-core Time Partitions Design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181121

R150 Certificate of patent or registration of utility model

Ref document number: 6441349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250