JPH0869383A - 遅延タイプの制約のみが課される連続タスクをスケジューリングする方法 - Google Patents

遅延タイプの制約のみが課される連続タスクをスケジューリングする方法

Info

Publication number
JPH0869383A
JPH0869383A JP7206069A JP20606995A JPH0869383A JP H0869383 A JPH0869383 A JP H0869383A JP 7206069 A JP7206069 A JP 7206069A JP 20606995 A JP20606995 A JP 20606995A JP H0869383 A JPH0869383 A JP H0869383A
Authority
JP
Japan
Prior art keywords
task
tasks
max
permutation
scheduling
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
JP7206069A
Other languages
English (en)
Inventor
Jozef Dworzecki
ジヨーゼフ・ドウオルゼキ
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.)
SEJIERETSUKU
Cegelec SA
Original Assignee
SEJIERETSUKU
Cegelec SA
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 SEJIERETSUKU, Cegelec SA filed Critical SEJIERETSUKU
Publication of JPH0869383A publication Critical patent/JPH0869383A/ja
Pending legal-status Critical Current

Links

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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • General Factory Administration (AREA)

Abstract

(57)【要約】 【課題】 スケジューリングすべきタスク数及びタスク
への制約の増加に伴うスケジュールの再決定を効果的で
実用的な方法を提供する。 【解決手段】 すべてのタスクを実行を開始すべき間隔
の限界(tmin ,tmax )の昇順にスケジュールした第
1数列(MIN−SUITE)及び第2数列(MAX−
SUITE)を構成し(E21)、これらの初期順列が
タスクの制約を満たすかどうかを検査して、制約が満た
されていない場合は初期順列の第1タスクの位置が正し
くないと判定し(E22)、第2数列から候補タスクを
決定し(E23、E24)、候補タスクを正しくない位
置にあるタスクの直後に移した際にタスクの制約がすべ
て満たされるかどうかを検査すること(E25、・・
・、E29、E22)から成る方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、連続するタスクの
実行順序と各タスクの実行開始の瞬間を、2つのタスク
が同時に実行されないように決定することにより、コン
ピュータを用いて連続タスクをスケジューリングする方
法に関する。このスケジューリングは、タスクが満たす
べき複数の制約に応じて実現される。この方法は詳しく
は、遅延の制約というただ1種の制約しか存在しないア
プリケーションに関する。すなわち、タスクの実行は、
絶対基準瞬間に対して決定された少なくとも1つの所定
の時間間隔に含まれるある瞬間に開始しなければならな
い。タスクの順序に直接課される制約はない。もちろ
ん、この方法は、すべての制約が絶対基準時間に対する
遅延タイプの制約と等価であると見なすことのできるア
プリケーションにも関する。
【0002】本発明による方法は特に、一度にただ1つ
のタスクしか実行できない1つの固有の手段によって実
行される、次々に実行しなければならない、複数のタス
クに適用可能である。例えば、工作機械、データバス、
または旅行者グループなどである。情報処理技術の分野
では、本発明による方法は、1つの同じプロセッサ中ま
たは1つの同じバス上で次々に実行すべき所定の複数の
タスクの管理に、適用することができる。工業的管理制
御の分野では、この方法は、所定のスケジューリングに
従って次々に情報を伝送するのに使用されるいわゆるエ
リア・バスの管理に特に適用可能である。
【0003】
【従来の技術】すでに、下記のような多くのスケジュー
リングの方法が周知である。
【0004】− いわゆる多項式法、またはクリティカ
ル・サーキット法、 − 線形計画法、特にPROLOG III言語の基礎
となるシンプレックス法、 − かなり小規模の問題にしか適用できない動的計画
法、および − 上記の方法のいくつかのアルゴリズムを使用する
が、さらにいくつかの制約を単純化して、検査すべき場
合の数を減らすことから成り、したがって得られる解は
最適ではない、ヒューリスティック法。
【0005】このような周知の方法には2つの不都合が
ある。すなわち、これらの方法は解を出す前に非常に多
くの順列を系統的に検査するので、長い計算時間を必要
とする。計算時間は一般にスケジューリングすべきタス
クの数の階乗に比例する。
【0006】反復的タスクをスケジューリングするため
に、これらの周知の方法は、タスクのすべての周期の最
小公倍数に等しいマクロサイクルの時間を決定し、タス
クのすべての周期の最大公約数に等しいマイクロサイク
ルの時間を決定し、それから、すべての制約が同時に満
足されるという条件を実証する順列が見つかるまで、可
能なすべての順列を試行し、マイクロサイクルごとに検
査を実施して、この条件を満たす1つのタスク順列を探
し出す。マイクロサイクル中に衝突があるときは、検査
中の順列は放棄され他の順列が試行される。先行マイク
ロサイクル中にこの順列の検査のために行われた作業
は、以前に満たされたすべての制約が再検討されるの
で、無駄になる。
【0007】したがって、既知の方法は、工業的適用分
野で実施するにはほとんど実用的ではない。
【0008】
【発明が解決しようとする課題】本発明の目的は、静的
スケジューリングの問題に対する解をより速く得るため
に、かつ動的スケジューリングの問題を処理できるよう
にするために、すなわちスケジューリングすべきタスク
の数の増加とこれらのタスクに課される制約の増加につ
れて、スケジュールを再決定するための、上記の不都合
のないスケジューリング方法を提唱することである。こ
のような動的スケジューリングは例えば、製造する製品
が非常に多様化されているときに、工作機械による機械
加工のスケジューリングを行うため、また空港の滑走路
における航空機の離着陸をスケジューリングするため、
また情報処理用のデータバスまたはプロセッサに対して
タスクをスケジューリングするために有用となりうる。
【0009】
【課題を解決するための手段】本発明の対象は、コンピ
ュータを用いて、制約を満たさなければならないタスク
も含めて連続するタスクをスケジューリングするための
方法であり、各制約は、実行開始の瞬間t K deb が少な
くとも、所定の絶対基準時間に対して所定の時間間隔
[t K min 、t K max ]に含まれなければならないこと
であり、 − タスクはすべて反復的であると見なし、スケジュー
リングを決定すべき時間間隔を、すべてのタスク反復周
期の最大公約数に等しい長さを有するマイクロサイクル
に短縮し、かつすべてのタスクが同じマイクロサイクル
中に実行される場合には、これらのタスクがすべての制
約を満たすスケジューリングを探すことにより、前記の
時間間隔を短縮すること − 各タスクについて、タスクを対象にするすべての制
約を満たすために、このタスクの実行を開始すべき間隔
の限界tmin とtmax を計算すること、 − すべてのタスクがtmin 値の昇順にスケジューリン
グされる、第1数列を構成すること、 − すべてのタスクがtmax 値の昇順にスケジューリン
グされる、第2数列を構成すること、 − タスクを第1数列の順にスケジューリングすること
により、いわゆる初期順列を構成すること、 − この初期順列がすべてのタスクに課される制約を満
たすかどうかを検査すること、 − すべての制約が満たされた場合に、スケジューリン
グは成功したと結論づけること、 − そうでない場合は、初期順列において、第1タスク
がいわゆる間違った位置に置かれており、制約が満たさ
れていないと判定すること、 − 第2数列において、間違った位置に置かれたタスク
の直前にあり、また現行順列において間違った位置に置
かれたタスクにも先行する、いわゆる候補タスクを決定
すること、 − 候補タスクが、間違った位置に置かれたタスクの直
後にくるように現行順列中で移された場合に、こうして
移されたタスクに課されるすべての制約が満たされるか
どうかを検査すること、 − 少なくとも1つの制約が満たされない場合に、候補
タスクが不適であると結論づけ、次いで第2数列におい
て他の候補タスクを決定し、前の検査を繰り返し、それ
が不可能な場合には、スケジューリングは失敗したと結
論づけること、 − すべての制約が満たされた場合に、スケジューリン
グは成功したと結論づけることから成る。
【0010】このような特徴を有する方法は、あるタス
クのスケジューリングが失敗した場合に、スケジューリ
ングが失敗したタスクに先行する1つまたは複数のタス
クを移すことから成り、すでに満たされたすべての制約
を系統的に再検討することはなく、したがって、先に実
行された作業全体を再検討することもないので、特に速
いという利点がある。この特徴により、スケジューリン
グのすべての可能性を系統的に探索することから成るす
べての方法に比べて、計算時間が著しく短縮される。
【0011】一方で、反復タスクの場合マイクロサイク
ルごとに順列を確認できるので、本方法は既知の方法よ
り速い。
【0012】最後に、この方法は、複数のタスクが有効
に並行して実施できるシステムを、その中でタスクがす
べて連続して実行される複数のサブシステムに分解し、
このようにして決定されたサブシステムの各々に本発明
による方法を適用することにより、前記のシステムのス
ケジューリングに適用可能である。
【0013】本発明の実施の形態に関する以下の説明と
図面によって、本発明による方法がさらによく理解さ
れ、その他の特徴が明らかになろう。
【0014】
【発明の実施の形態】本発明による方法は、静的スケジ
ューリングを決定するため、ならびに動的スケジューリ
ングを決定するために使用することができる。しかし、
この方法が得る計算時間の短縮は、この短縮によって制
約またはタスクの変更の実時間を考慮に入れることがで
きる以上、動的スケジューリングを決定するためには特
に有利である。
【0015】図1は、例えば工業生産タスクに動的スケ
ジューリングのための、本発明による方法を使用する装
置の一例を示す一覧概略図である。
【0016】この装置は、生産システムSYに結合され
たコンピュータORを有する。この生産システムSYは
コンピュータSYの入力部に、スケジューリングを決定
するために必要なパラメータ、すなわち各タスクの識別
名IDK 、各タスクの起こり得る周期TK 、および満た
すべき各制約の定義RL を供給する。これらのパラメー
タは、実行すべきタスクの性質または制約に変更が発生
する度に供給される。
【0017】したがってコンピュータは新しい順列PE
Rを決定し、続いて生産システムSYは、この新しい順
列に基づいてタスクを実行する。
【0018】タスクは一般に、システムSYが構成する
いろいろな装置によって実行される。コンピュータOR
は各装置に、その装置がタスクを実行することのできる
瞬間をその装置に示す情報を伝送するために、プロブラ
ムされなければならない。本発明による方法を使用する
ため、および各装置に情報を伝送するためのコンピュー
タORのプログラム作成は、この部門の専門家の範囲内
にあり、説明はこの方法自体のみに止めておくことにす
る。同じように、各種のタスクをそれぞれ実施するのに
適した各種の装置を含むシステムSYにコンピュータO
Rを結合するためのハードウェア手段も、この部門の専
門家の範囲内である。
【0019】本発明による方法は、スケジューリングが
静的であるアプリケーションに限定されるものではな
い。リアル・タイムで動的なスケジューリングにも本方
法は適用できる。
【0020】各制約は単に、任意の間隔[tmin ,t
max ]の中に含まれるべき実行が始まる瞬間のみを対象
にしている。伝送はある間隔の限界の先まで続くことが
でき、伝送は単に決まった持続時間に従うべきである。
複数の遅延タイプの制約が同じタスクに課せられる場
合、その間隔[tmin ,tmax ]が各制約に相当する間
隔の交差である唯一の制約にとってかわられる。
【0021】本発明による方法の事前ステップは、タス
ク反復周期すべての最大公約数であるマイクロサイクル
中にのみタスクのスケジューリングを検査して、検査す
べき順列の数を減らすことから成る。実際に、すべての
タスクが同じマイクロサイクル中に実行されて、これら
のタスクがすべての制約を満たす場合のように、順列を
見つけるに至った場合には、この順列は、すべてのタス
クの周期の倍数が一致するためにすべてのタスクが同じ
マイクロサイクルの中に入る場合が最悪の場合である以
上、マクロサイクルを構成するマイクロサイクルのいず
れにおいても、何ら衝突を引き起こさない。
【0022】図2と図3は、本発明による方法のこの事
前ステップを図示する。一つまたは複数のタスクが先験
的に反復的と考えられない場合には、任意であるが、マ
イクロサイクルの決定を容易にするように選択された共
通周期の値をタスクに割り当てることで十分であること
に、注目すべきである。したがって反復タスクの周期の
最大公約数の値を決定し、それから、すべての非反復タ
スクに共通の周期を設定するために、この値の倍数を選
択すること、で十分である。
【0023】図2と図3は、それぞれ10ms、20m
s、30ms、40ms、50ms、40msの周期を
有する6つの周期的タスクTA1、・・・TA6をスケ
ジューリングしなければならない例を示す。実行時間は
すべてのタスクについて一定であり、1msである。
【0024】図2は、これらのタスクの各々のための時
間間隔[tmin ,tmax ]を斜線で示す。
【0025】これらの時間間隔は次の通りである。
【0026】 TA1[tmin ,tmax ]=[0,4ms]単位(modulo) 10ms TA2 =[10,13ms]単位(modulo) 20ms TA3 =[20,23ms]単位(modulo) 30ms TA4 =[30,32ms]単位(modulo) 40ms TA5 =[40,41ms]単位(modulo) 50ms TA6 =[20,22ms]単位(modulo) 40ms これらのタスクは、これらの周期の最小公倍数すなわち
600msのマクロサイクルを有する。マクロサイクル
は10msの60個のマイクロサイクルに分割すること
ができる。2つの反復タスクが同じマイクロサイクル中
で実行されることになる場合には、これらの反復タスク
は衝突する可能性がある。例えば、タスクTA1、TA
3、TA6は同じマクロサイクル[20ms,30m
s]ついで[120ms,140ms]などにおいて実
行されるはずである。
【0027】最悪の場合に適するスケジューリングを決
定するためには、すべてのタスクが例外なく一度に実行
されるようにするマイクロサイクルを考えれば十分であ
る。実際には、タスクは同じマイクロサイクルにすべて
入ることはない。この事象が実現される架空の場合を考
える。
【0028】一時的な移転で各タスクの実行瞬間を同じ
マイクロサイクル[0,10ms]の間隔の中にもって
くることができる。これは下記の式で定義される。
【0029】t Kfictif deb =t K deb −k.PGCD ただし、t Kfictif deb はタスクKの架空の実行開始瞬
間であり、t K deb はタスクKの実際の実行開始瞬間で
あり、PGCDはマイクロサイクルの持続時間すなわち
周期の最大公約数であり、kは、タスクKの架空の実行
開始瞬間t Kfictif deb が選ばれたマイクロサイクル、
この場合は[0,10ms]に入れられるような整数で
ある。
【0030】したがって、タスクKに課されるすべての
制約によって定義された間隔[tK min ,t K max
は、それからさらに−k.PGCDだけ移動される。
【0031】それから、本発明による整理計画の方法
は、この間隔[0,10ms]に適用される。すべての
制約を満たす順列が決定したときに、実際の実行瞬間t
K de b は、下記の式によって、架空の実行開始瞬間から
推論される。
【0032】t K deb =t Kfictif deb +k.PGCD
単位(modulo) タスクKの周期 図3は、こうして得られたタスクのスケジュールを0〜
100msの間隔で示したもので、間隔100〜600
msは示されていないが、同じスケジュールを有する。
各実行間隔は黒色で示されている。例としてタスクTA
1、TA3、TA6の間には衝突があり得る、20〜3
0msの間隔を考えてみる。タスクTA1は間隔23〜
24ms中に実行される。タスクTA3は間隔22〜2
3ms中に実行される。タスクTA6は間隔21〜22
ms中に実行される。こうして、マクロサイクル[0,
600ms]を構成する60のマイクロサイクルの中で
は、考慮されるマイクロサイクルがどこであっても、T
A1とTA3またはTA6との同時実行は決して存在し
ない。
【0033】一方、1つのアプリケーションにおいてい
くつかのタスクが同時に実行される可能性がある場合に
は、この事前ステップはさらに、可能であれば複数の独
立サブアセンブリにタスクを集めることから成り、各サ
ブアセンブリは、制約によって互いに結合したタスクの
みを集める。複数のサブアセンブリを独立にスケジュー
ルすることは、より複雑な単一のアセンブリをスケジュ
ールするよりも速い。
【0034】図4と図7は、検査すべき順列の数を最少
にして、すべてのタスクをスケジューリングするため
の、本発明による基本原則を図示したものである。この
手順は、その層のタスクを対象にするすべての制約を満
たすスケジューリングを構成する順列を決定する場合に
は、成功裡に達成される。
【0035】図4は、本発明による方法の第1基本原則
を示すタイミング図である。この第1原則は、時間間隔
が最も早く始まる、すなわち最小値tmin で始まるタス
クを優先的に実行することを課する。実際には、タスク
の初期順列すなわち検査すべき第1順列は、MIN−S
UITEと呼ばれる数列によって構成され、この中でタ
スクはtmin の値の昇順に並べられる。
【0036】図4は、矩形IDAと矩形IDBによっ
て、タスクAの実行とタスクBの実行にそれぞれ割り当
てられる2つの時間間隔を示す。制約は、タスクAが間
隔[tA min ,t A max ]の内部または極端な場合には
瞬間t A max で実行開始すること、を課する。制約は、
タスクBが間隔[t B min ,t B max ]の内部または極
端な場合には瞬間t B max で実行開始すること、を課す
る。この例では、t A min はt B min より小さい。この
第1基本原則は、まずタスクAを、この実行が持続する
間隔を下限t A min からできるだけ近い所にずらして実
行し、それから間隔IDAに重なることなく、下限t B
min からできるだけ近い所で始まる間隔IDBの中でタ
スクBを実行することから成る。この例では、間隔ID
Aは、間隔[t B min ,t B max ]にあふれる持続時間
δAを有し、したがって間隔IDAと間隔IDBは、 t B deb =t A min +δA を選択して、最も接近する。
【0037】図5は、同じ例でこの基本原則を適用しな
い結果、すなわちタスクAの前にタスクBを実行させる
ことを示す。すると実行間隔IDBはできるだけ早く、
すなわち間隔[t B min ,t B max ]の下限で始まる。
実行間隔IDAは、間隔IDBと重ならないように、実
行間隔IDBの終端の後で始まらなければならないが、
この例では、実行間隔IDBの長さは、タスクAの実行
開始が許される間隔の上限を構成する瞬間t A max を越
えている。最もうまくいって、タスクAは瞬間t A deb
=t A max で始まることもできようが、それでは2つの
実行間隔IDB、IDAの重合がある。この重合域は図
5に斜線で示されている。
【0038】したがって、この例では、第1原則を守ら
ないことは一定の制約を満たさない可能性を大きくす
る。
【0039】図6は、本発明による方法の第2基本原則
を示すタイミング図である。この基本原則によって、同
じ値の下限tmin が与えられた複数のタスクの中から優
先的に実行すべきタスクはどれかを選択することができ
る。この第2原則は、この場合には、最も小さなtmax
を与えられたタスクを優先的に実行するよう課する。
【0040】図6に示す例では、2つのタスクA、B
が、実行を開始しなければならない時間間隔のために、
同じ下限t A min =t B min を有する。その上に、図示
されていない他の実行間隔の存在によって課される制約
は、t A min =t B min より後の瞬間t0 の前に、すな
わち斜線で示した時間間隔の中で、タスクAとタスクB
を実行することを禁ずる。したがって実行間隔IDB、
IDAは、この瞬間t0 からのみ開始することができ
る。タスクBについては、上限t B max はタスクAに該
当する上限t A max より大きい。第2基本原則によれ
ば、タスクAを優先的に実行しなければならない。次い
でタスクBが、 t B deb =t A min +δA から実行される。
【0041】こうして、2つの実行間隔IDB、IDA
は、上限t B max に起因する特定の問題なしに継続す
る。
【0042】図7は、同じ例について、第2基本原則が
守られなかった場合に発生する機会がより高い衝突を図
示する。タスクBがまず、斜線で示した禁止間隔の終端
0 と一致する瞬間t B deb から実行される。次いでタ
スクAが、間隔IDB、IDAの重合を避けるために、
瞬間t A deb =t B min +δA から実行されなければな
らないが、この瞬間t A deb は、この実行が開始しなけ
ればならない間隔の上限t A max の後に位置し、図上で
は斜線で示された禁止域にある。したがって、満たされ
ない制約が存在する。したがって、この例では、第2原
則を守らないことは一定の制約を満たさないという確率
を高めることになる。
【0043】図8は、本発明による好ましい実施例を示
す流れ図である。ステップE21はまず、下限tmin
昇順にスケジューリングされたすべてのタスクから構成
される数列MIN−SUITEを決定することである。
この数列は、先に述べた第1原則を適用するために使用
される。すべてのタスクにかかるすべての制約を満たす
順列を早く見つける出す確率を最高にするために、初期
順列はMIN−SUITEによって構成され、次いで検
査されることになる順列は、失敗の場合には、継続変更
によってMIN−SUITEから差し引かれる。
【0044】他方で、ステップE21は、上限tmax
昇順に配置されたすべてのタスクから構成される数列M
AX−SUITEを決定することである。この数列は、
初期順列を変更する必要があるときに、先に述べた第2
原則を適用するために使用される。
【0045】次いで、ステップE22は、現行順列を検
査すること、すなわち現行順列がすべてのタスクにかか
るすべての制約を満たすかどうかを検査することから成
る。初めに、現行順列は、ステップE21によって決定
された初期順列によって構成されるこの検査は、現行順
列の順に各タスクを次々にとり、それから、現行順列に
おいてこのタスクが占める位置によって課される実行間
隔[tdeb ,tfin ]が、このタスクにかかる制約によ
って課される時間間隔[tmin ,tmax ]と両立できる
こと、を検査することから成る。この検査が行われてい
るタスクを現行タスクと呼ぶ。この検査がタスクの各々
について確実である場合には、Sで示すように現行順列
は成功であることを意味する。
【0046】検査が遭遇した少なくとも1つのタスクの
順列における位置が、制約によって課される時間間隔
[tmin ,tmax ]の中にない瞬間tdeb に実行を始め
ることを課する位置である場合には、このタスクは、2
つの制約の間に衝突がある以上、位置が悪いと考えられ
る。ステップE22が、現行順列において間違った位置
に置かれた最初のタスクであるXで示すタスクを見付け
た場合には、このステップは、新しい順列を構成するた
めの移動の候補タスクを探す必要がある、というRで示
す結論を出す。それから、本方法は、数列MAX−SU
ITEにおいて現行タスクXに直に先行するタスクを探
すステップE23を実行する。このようなタスクが存在
しない場合には、ステップE23はFで示す失敗に終わ
る。
【0047】ステップE23が、数列MAX−SUIT
Eにおいて現行タスクXの直前に先行するタスクを見付
けた場合には、本方法は次にステップE24に移り、こ
のタスクQは先行するステップE21中に好都合に置か
れているとすでに考えられていることを検査する。好都
合に置かれていると考えられるすべてのタスクは、ステ
ップE22の検査が現行順列においてランクの昇順に行
われるので、現行タスクXのランクより下のランクを有
するタスクである。したがって、ステップE24は単
に、候補タスクQが現行順列において現行タスクXに先
行することを検査することである。ステップE24が、
タスクQが好都合に置かれていると考えられていない、
と判定した場合には、数列MAX−SUITEにおいて
タスクQの直前に先行する他の候補タスクを探すため
に、ステップE23が繰り返される。
【0048】これに対して、候補タスクQが好都合に置
かれていると考えられた場合には、本方法はステップE
25を実施するが、このステップでは、タスクQの実行
開始の瞬間t Q deb を現行タスクXに該当する時間間隔
の上限である瞬間t X max と比較する。
【0049】t Q deb ≧t X max の場合には、これはα
で示す場合である。それから次のステップはステップE
29であり、ここでは現行順列においてタスクQを移動
して、これを現行順列において現行タスクXとタスクX
に続くタスクとの間に挿入する。QとXとの間に置かれ
ていたタスク、およびタスクX自体は、下のランクに1
ランクだけずらされ、Qによって空白にされた場所を埋
める。したがって以後、タスクQがXの位置であった位
置を占める。次に本方法はステップE22を繰り返し
て、こうして得られた新たな現行順列がすべての制約を
満たしているかどうか、を検査する。タスクQとこれに
続く他のすべてのタスクが移動されたことに注目すべき
である。これらのタスクは、それぞれの新たな位置です
べての制約を必然的に満たさないので、もはや都合よく
置かれたと考えることはできない。Qより下のランクの
タスクは同じ位置を維持するので、これらのタスクがこ
れらにかかる制約のすべてを満たすことを検査する必要
はなく、したがって、これらの制約の検査作業は繰り返
されない。
【0050】t Q deb <t X max の場合には、これは
【0051】
【数1】
【0052】で示す場合であり、これについては後述す
る。次に本方法はステップE26を実行する。
【0053】図9は一例としてαの事例を示す。実行間
隔は、衝突が実行を妨げるときには点線で示され、これ
と逆の場合には実線で示される。
【0054】タスクXは現行順列の位置PSiにあり、
タスクQは都合よく置かれ、現行順列の位置PSjにあ
る、と考えることにする。位置PSiは、限界t X max
の先にある瞬間tdeb (PSi)でのタスクXの実行開
始を課する。位置PSjは、この例では瞬間t X max
先にある瞬間tdeb (PSj)でのタスクQの実行開始
を課する。瞬間t Q deb (PSj)は瞬間t X max の先
にあるので、限界tQ max はT X max よりなおさら大き
いか、またはこれと同じであり、tdeb (PSi)にさ
らに近くなる機会があり、したがって理想はtdeb (P
Si)がtQ max の手前に現れることである。
【0055】図10は、タスクQおよびXをそれぞれ位
置PSi-1 およびPSjに移動させて、瞬間tdeb (P
i-1 )が間隔[t X min ,t X max ]に現れる確率
が、瞬間tdeb (PSi)が持っていた同じ間隔に現れ
る確率よりも大きくなることを示す。理由は、tdeb
位置PSのランクと共に系統的に上がるからである。こ
の図は、タスクXに該当するセグメントの端部t X max
が実行間隔に近く、この間隔は瞬間t deb (PSi-1) で始
まり、したがってこのような間隔と交差する機会をより
多く持つことを示す。
【0056】他方、タスクQに該当するセグメントの端
部t Q max は、tdeb (PSi)で始まる実行間隔を表
す矩形と交差する機会は全くない。したがって、新しい
順列は前の順列よりもすべての制約を満たす機会を多く
有し、したがってこの新しい順列を試行することは役に
立つ。示された例では、tdeb (PSi-1 )はtma x
先に現れ、したがってタスクXについてはなお衝突が存
在する。だから、現行順列の別の変更をさらに1回また
は数回行う必要がある。
【0057】この例では、tdeb (PSi )はt Q max
の先に現れ、したがって移動の後にタスクQについては
なお衝突が存在する。しかし事例αに該当する他の例で
は、Xにかかる制約とQにかかる制約とが同時に満たさ
れることが可能である。したがって、事例αに該当する
新しい順列全体を検査することが役に立つ。
【0058】これに対して事例
【0059】
【数2】
【0060】では、タスクQが関心のある候補タスクで
あると結論づけることができる前に、他の検査が必要で
ある。そこで本方法はステップE26を実行する。この
ステップは、タスクQの実行終了瞬間t Q fin を、タス
クXの実行が始まるべき間隔の上限である瞬間t X max
と比較する。t Q fin ≧t X max の場合には、これはβ
で示す場合であり、次に本方法はタスクQを移動させる
ステップE30を実行し、これをタスクXの後に挿入す
る。逆の場合は
【0061】
【数3】
【0062】で示される。タスクQが関心のある候補タ
スクであると結論づけることができる前に、他の検査が
必要である。
【0063】図11および図12は事例βを図示する。
図11は、事例
【0064】
【数4】
【0065】と事例βが実現されるようような、位置P
SiにおけるタスクXと位置PSjにおけるタスクQを
示す。タスクQの実行終了瞬間t Q fin 、すなわち現行
順列におけるQの位置PSjによって課される瞬間t
fin (PSj)は、瞬間t X ma x の先に位置する。
【0066】図12は、タスクQおよびXをそれぞれ位
置PSi-1 およびPSjに移動させて、瞬間tdeb (P
i-1 )が間隔[t X min ,t X max ]に現れる確率
が、瞬間tdeb (PSi)が持っていた同じ間隔に現れ
る確率よりも大きくなることを示す。理由は、tdeb
位置PSのランクと共に系統的に上がるからである。そ
の上に、瞬間t Q fin =tfin (PSj)は端部t X
max の先にあり、衝突はない。このことは、t Q max
X max より大きいか、またはせいぜい間隔[t
deb (PSj),tfin (PSj)]と同じ距離にして
X max よりわずかに小さいことを意味する。したがっ
て、t Q max がt X max より大きいという機会があり、
したがってこの事例では、t Q max が移動の後にtdeb
(PSi)の先に現れる機会はいくらかある。したがっ
て事例βに該当する順列を試行することは有用であり、
これは当然時間の損失ではない。
【0067】図12に示した例では、QとXの移動は、
QとXにかかるすべての制約を満たすためには充分では
ない。現行順列をさらに少し変更する必要があろう。
【0068】事例βでは、ステップE27において、タ
スクQの実行が始まるべき時間間隔の上限である瞬間t
Q max を、タスクXの実行が始まるべき間隔の上限であ
る瞬間tXm axと比較する。t Q fin >t X max の場合に
は、この事例はηで示され、次いで本方法はステップE
28を実施する。逆の場合はηで示され、そこで本方法
は、候補タスクQが関心のあるタスクになる機会はない
のでステップE23を反復する。
【0069】図13と図14は、一例として事例
【0070】
【数5】
【0071】を示す。この例では、限界t Q max は厳密
に瞬間t X max より小さい。
【0072】図13は、位置PSi-1 と位置PSiにそれ
ぞれ移動されたタスクXとタスクQを示す。この図18
は、瞬間t Q max は瞬間t (PSj) deb からよりも瞬間t
( PSi) deb により近くなるが、タスクQは、t Q max
以前のt Q max よりt ( PSi) deb からさらに遠いので、
実行される機会は全くないことを示す。タスクQが間違
った位置に置かれる機会は100%あるので、現行順列
のこのような変更を試行することは無駄である。このよ
うなわけで、次のステップは移動のために他の候補タス
クを探すステップE23となる。
【0073】事例ηでは、ステップE28で、タスクQ
の実行が始まるべき時間間隔の下限である瞬間t Q min
を、タスクXの実行が始まるべき間隔の下限である瞬間
Xm inと比較する。
【0074】このステップE28の目的は、タスクQを
タスクXの後に移動することができるように、タスクQ
が数列MIN−SUITEの中で現行タスクXの前に置
かれていることを検査することである。これと逆の場合
【0075】
【数6】
【0076】で示され、次のステップはステップE23
であり、ここで移動のための他の候補タスクを探す。
【0077】事例χでは、次のステップはタスクQをタ
スクXの後に移動するステップE29であり、それか
ら、現行層のタスクにかかるすべての制約が満たされて
いるかどうかを検査するために、ステップE22を繰り
返す。
【0078】図15は、事例α、β、χ、ηが同時に実
施される例を示す。
【0079】図16は、位置PSi−1とPSiにそれ
ぞれ移動されたタスクXとQを示し、制約がこの移動の
後に有効に満たされるようになった例で、すなわちt
deb (PSi)は間隔[t Q min ,t Q max ]の中に現
れ、t deb (PSi-1) は間隔[tX min ,t X max ]の中
に現れる。
【0080】図17から図26までは、13のタスク
A、B、C、D、E、F、G、K、L、N、P、S、T
を含む層の例をスケジューリングするためのステップE
2の実施を図示する。
【0081】図17は、0〜14msの時間目盛りの上
に、位置PS1、・・・PS13にそれぞれ該当する実
行間隔の位置を示す。これらのタスクは位置PS1、・
・・PS13の順に実行され、各実行間隔は1msの持
続時間を持つ。
【0082】各タスクは、1つの制約または結果的に単
一の制約になる複数の制約を満たさなければならない。
すなわち、実行間隔の始まり(図17では斜線の矩形)
は所定の時間間隔(図18では黒の太い線)内に位置し
なければならない。極端な場合には、これは上限で開始
することができる。
【0083】ステップE21では、下限tmin の値の昇
順に整順された現行層のすべてのタスクから成る数列M
IN−SUITEを決定する。
【0084】すなわち、MIN−SUITE = N、
J、S、D、E、B、T、A、K、P、L、C、Gであ
る。
【0085】図18では、13のタスクが縦座標軸の方
向にMIN−SUITEの順序で示されている。考慮さ
れる層のタスクにかかるすべての制約を満たす順列を早
急に見付け出す確率を最高にするために、最初に検査さ
れるいわゆる初期順列はMIN−SUITEで構成され
る順列であり、次に検査される順列は、失敗の場合に
は、連続変更によってMIN−SUITEから差し引か
れる。
【0086】他方、ステップE23で、tmax の値の昇
順に配置された現行層のすべてのタスクから成る数列M
AX−SUITEを決定する。この数列は、初期順列を
変更しなければならないときに、先に述べた第2原則を
適用するために使用される。この例では、MAX−SU
ITE = N、S、J、T、G、C、L、B、P、
K、A、D、Eである。
【0087】それからステップE22で、現行順列を検
査する。すなわち、この順列が考慮される層のタスクに
かかるすべての制約を満たすかどうかを検査する。ステ
ップE2の冒頭で、現行順列は、ステップE21で決定
された初期順列によって構成される。
【0088】検査は各タスクについて、現行順列の順
序、すなわちN、J、S、D、E、・・・、Gの順序に
次々に実施される。あるタスクについて検査が確実であ
る場合には、このタスクは順列において都合よく置かれ
たと考えられるが、その位置決めは、他の制約を満たす
ために必要であれば、後で問題視することもできる。
【0089】図17と図18を比較して、図22に示さ
れる実行間隔中にタスクN、J、S、Dをそれぞれ実行
するためには問題はない、と結論づけることができる。
したがって、これらのタスクは都合よく置かれたと考え
られる。現行順列は、 E B T A K P L C G であり、都合よく置かれたと考えられるタスクには下線
が付いている。
【0090】図19に、初期順列の検査中に遭遇した第
1衝突を図示する。図19では、斜線の矩形は制約間に
衝突のない実行間隔を表し、点線の白い矩形は衝突の原
因である実行間隔を表す。これは、実際にタスクEによ
って占められた位置PS5に該当する。この実行間隔
は、タスクEの実行が始まるべき間隔と共通する点を持
たない。それからステップE23は、数列MAX−SU
ITEの中でタスクEに先行するタスクを、すなわち限
界tmax がより高い値を有するように探す。
【0091】MAX−SUITE = N、S、J、
T、G、C、L、B、P、K、A、D、E。
【0092】ステップE23はタスクDを見付ける。ス
テップE24は、そのタスクが現行順列の中で現行タス
クEのランクより低いランクを有することを検査して、
そのタスクが都合よく置かれたと考えられることを確か
める。それからステップE25は結論
【0093】
【数7】
【0094】を引き出す。次いでステップE26は結論
βを引き出す。それからステップE29はDを位置PO
S5に移動させ、Eは位置POS4に後退する。ステッ
プE22は、Eと続くタスクにかかる制約が満たされて
いることを検査するが、Dにかかる制約はもはや満たさ
れないことを確認する。試行された順列はふさわしくな
い。これは新しい現行順列としては採用されない。
【0095】図19に示すように、この変更は、Dに該
当する間隔がEに該当する間隔の上限より大きくない上
限を有するので、成功ではない。これらの間隔は厳密に
は同じである。新しい順列を無駄に検査することを避け
るために、ステップE21中のMAX−SUITEの構
成のときにあらかじめ備えることは可能である。すなわ
ち、同じ層の2つのタスクは制約のために同じ時間間隔
[tmin ,tmax ]を有するとき、これら2つのタスク
を、初期順列を構成する数列MIN−SUITEの中
と、数列MAX−SUITEの中それぞれの異なる2つ
の位置に入れることができる。図17から図26に示し
た例では、DとEを置換することができる以上、数列M
AX−SUITEを構成するための少なくとも2つの可
能性がある。すなわち、N、S、J、T、G、C、L、
B、P、K、A、E、D、またはN、S、J、T、G、
C、L、B、P、K、A、D、E である。
【0096】DとEが初期順列を構成するために採用さ
れるのは順序D,Eの中であるが、この順序とは逆順で
ある順序E、Dを選択するのが好ましいことであろう。
【0097】MIN−SUITE = N、J、S、
D、E、B、T、A、K、P、L、C、G。
【0098】それからステップE23は、候補タスクと
して次々にA、K、P、B、L、C、G、T、Jを見付
け、そしてステップE24はタスクJを採用する。
【0099】一般に、スケジューリングすべき層のタス
クが遅延型の制約のみを満たさなければならない場合、
同じ間隔[tmin ,tmax ]を有するすべてのタスク
を、その数がどうであろうと逆順、SUITEに置くこ
とが好ましいことが明示される。その代わりに、遅延型
の制約と順序型の制約が同時に存在する場合には、同じ
順序に置くことが好ましい。
【0100】MAX−SUITE、すなわち N、S、J、T、G、C、L、B、P、K、A、P の初期選択を維持して、この例の数列を考えることにす
る。
【0101】現行順列は、 D B T A K P L C G である。
【0102】この失敗に帰した順列変更の試みの後に、
ステップE23は候補タスクとして、ステップE24に
よって拒否されたA、K、P、B、L、C、G、Tを次
々に見付ける。それからステップE23はタスクJを見
付ける。
【0103】図20はこの新たな変更の試みを図示す
る。ステップE24は、タスクJが都合よく置かれたと
考えられることを確かめる。ステップE25は結論
【0104】
【数8】
【0105】に達する。ステップE26は結論βに達す
る。ステップE27とE28は結論ηとχに達する。し
たがってステップE29は、タスクJをEの代わりに位
置PS5に置く。タスクE、D、およびSは場所から後
退し、Sは位置PS2に、Dは位置PS3に、そしてE
は位置PS4に置かれる。
【0106】次にステップE22では、移動されたタス
クがこれらにかかるすべての制約を検査することを、移
動されたこれらのタスクの中で最も低いランクのタスク
から始めて、S、次にE、次にD、次にJを確かめる。
次にこのステップは、タスクB、T、A、Kについて、
制約の間に衝突がないことを次々に検査する。
【0107】図21は新たな現行順列を示す。タスクK
について、タスクKの実行が始まるべき間隔が終了する
正確な瞬間に実行間隔が始まること、に注目すべきであ
る。衝突はないが、制約は辛うじて満たされる。現行順
列の状態は、、P、L、C、G である。
【0108】図22は、タスクPについて衝突が現れて
いることを示す。それからステップE23は、数列MA
X−SUITEにおいて、この数列の中でタスクPに直
に先行するタスクを決定するために、繰り返される。こ
のステップはタスクBを見付ける。ステップE24は、
タスクBが都合よく置かれていると考えられるタスクの
一部をなしていること、を検査する。ステップE25と
E26は、結論
【0109】
【数9】
【0110】を引き出す。それからステップE27が実
施される。このステップは、t B ma x =t P max である
ことを確認し、したがってこれから結論
【0111】
【数10】
【0112】を引き出す。それからステップE23が、
数列MAX−SUITEにおいて他の候補タスクを探す
ために繰り返される。実際に、Bに該当する時間間隔を
表すセグメントは、タスクBが位置POS10に移され
た場合には、この位置に該当する実行間隔[9ms,1
0ms]との交差点をまったく持たない。したがって、
Bにかかる制約は満たされないことになる。
【0113】それからステップE23は、タスクL、
C、Gを次々に見付けるが、ステップE24は、これら
のタスクは順列の中で都合よく置かれているとは考えら
れないので、これらを拒絶する。最後にステップE23
ちE24はタスクTを見付ける。ステップE25からE
28までは、次々に結論
【0114】
【数11】
【0115】を引き出す。ステップE29はTを位置P
OS10に移す。タスクP、K、Aはそれぞれ位置PO
S9、POS8、POS7に後退する。
【0116】次にステップE22は、移動されたタスク
A、K、P、Tおよび後続のタスクにかかる制約が満た
されていること、を検査する。新たな現行順列は、、L、C、G である。
【0117】図23に示すように、ステップE22は次
に、タスクLにかかる制約は満たされていないことを確
認する。
【0118】次にステップE23はタスクTを見付け、
ステップE24は、このタスクが都合よく置かれたと考
えられることを検査する。したがってステップE25と
後続のステップを実行することができる。これらのステ
ップは結論
【0119】
【数12】
【0120】次にηとχを引き出す。それからステップ
E29を実行することができる。このステップはタスク
Tを、タスクLが占めていた位置PS11に置く。タス
クLは位置から後退する。ステップE22は、移動され
たタスクLとTにかかる制約が満たされていることを検
査する。したがって現行順列は、、C、G となる。
【0121】図24に示すように、タスクCにかかる制
約の間には衝突がある。ステップE23は、数列MAX
−SUITEにおけるタスクCに先立つタスクを決定す
る。このステップはタスクGを見付けるが、ステップE
24は、このタスクGが順列の中で都合よく置かれてい
るとは考えられないことを確認する。ステップE23は
繰り返され、このステップは、数列MAX−SUITE
におけるタスクCに先立つ他のタスクTを決定する。ス
テップE24は、タスクTが順列の中で都合よく置かれ
ていることを検査する。t T deb =t C max であるか
ら、ステップE25は結論αを引き出す。したがってス
テップE29が直ちに実施され、したがって順列の中で
タスクTをタスクCの後に置く。これはCの位置とTの
位置とを置換することになる。次いでステップE22
は、移動されたタスクC、Tにかかるすべての制約が満
たされることを検査する。新しい現行順列は、、G となる。
【0122】図25に示すように、ステップE22は、
タスクGにかかる制約の間には衝突があることを確認す
る。ステップE23は、数列MAX−SUITEにおけ
るタスクGに先立つタスクTを決定する。ステップE2
4は、タスクTが順列の中で都合よく置かれていると考
えられることを検査する。t T deb =t G max であるか
ら、ステップE25は結論αを引き出す。ステップE2
9は順列の中でタスクTをタスクGの後に置く。これは
Tの位置とGの位置とを置換することになる。次いでス
テップE22は、移動されたタスクG、Tにかかるすべ
ての制約が満たされることを検査する。新しい現行順列
は、 となる。
【0123】図26に示すように、すべての制約は満た
されているので、すべてのタスクは都合よく置かれてい
ると考えられ、したがってステップE2の実施はSで示
すように成功裡に終了する。より高いランクの他の層が
ある場合には、これらのスケジューリングは図7に示す
流れ図のステップE3に続く。
【図面の簡単な説明】
【図1】スケジューリングを動的に決定するために本発
明による方法を使用するシステムの概略図である。
【図2】いくつかのタスクの周期的特性を考慮するため
の、本発明による方法の一ステップを示す第1の図であ
る。
【図3】いくつかのタスクの周期的特性を考慮するため
の、本発明による方法の一ステップを示す第2の図であ
る。
【図4】本発明の方法による、基本原理を示す第1の図
である。
【図5】本発明の方法による、基本原理を示す第2の図
である。
【図6】本発明の方法による、基本原理を示す第3の図
である。
【図7】本発明の方法による、基本原理を示す第4の図
である。
【図8】本発明の方法による流れ図を示す図である。
【図9】図8に示す流れ図の実施を示す第1のタイミン
グ図である。
【図10】図8に示す流れ図の実施を示す第2のタイミ
ング図である。
【図11】図8に示す流れ図の実施を示す第3のタイミ
ング図である。
【図12】図8に示す流れ図の実施を示す第4のタイミ
ング図である。
【図13】図8に示す流れ図の実施を示す第5のタイミ
ング図である。
【図14】図8に示す流れ図の実施を示す第6のタイミ
ング図である。
【図15】図8に示す流れ図の実施を示す第7のタイミ
ング図である。
【図16】図8に示す流れ図の実施を示す第8のタイミ
ング図である。
【図17】タスクをスケジューリングするための、本発
明の方法の実施を示す第1の図である。
【図18】タスクをスケジューリングするための、本発
明の方法の実施を示す第2の図である。
【図19】タスクをスケジューリングするための、本発
明の方法の実施を示す第3の図である。
【図20】タスクをスケジューリングするための、本発
明の方法の実施を示す第4の図である。
【図21】タスクをスケジューリングするための、本発
明の方法の実施を示す第5の図である。
【図22】タスクをスケジューリングするための、本発
明の方法の実施を示す第6の図である。
【図23】タスクをスケジューリングするための、本発
明の方法の実施を示す第7の図である。
【図24】タスクをスケジューリングするための、本発
明の方法の実施を示す第8の図である。
【図25】タスクをスケジューリングするための、本発
明の方法の実施を示す第9の図である。
【図26】タスクをスケジューリングするための、本発
明の方法の実施を示す第10の図である。
【符号の説明】
A 駆動機構、ディスプレイ装置 C 回路、センサ E ステップ ID 識別 OR コンピュータ PS 位置 SY 生産システム T 周期

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ(OR)を用いて、制約を
    満たさなければならないタスクも含めて連続するタスク
    (ID1、・・・、ID20)をスケジューリングする
    ための方法であり、遅延タイプの制約のみが、実行開始
    の瞬間t K deb が少なくとも、所定の絶対基準時間(D
    M)に対して所定の時間間隔[tK min 、t K max ]に
    含まれなければならないことであり、 − 各タスクについて、このタスクの実行を開始すべき
    間隔の限界tmin とtmax を計算すること(E6)、 − すべてのタスクがtmin 値の昇順にスケジューリン
    グされる、第1数列(MIN−SUITE)を構成する
    こと(E21)、 − すべてのタスクがtmax 値の昇順にスケジューリン
    グされる、第2数列(MAX−SUITE)を構成する
    こと(E21)、 − すべてのタスクを第1数列(MIN−SUITE)
    の順にスケジューリングすることにより、いわゆる初期
    順列を構成すること(E21)、 − この初期順列がタスクに課される制約を満たすかど
    うかを検査すること(E22)、 − すべての制約が満たされた場合に、スケジューリン
    グが成功したと結論づけること(S)、 − そうでない場合は、初期順列において、第1タスク
    (X)を、いわゆる間違った位置に置かれており、制約
    が満たされていないと判定すること(E22)、 − 第2数列(MAX−SUITE)において、間違っ
    た位置に置かれたタスク(X)の直前にあり、また現行
    順列において間違った位置に置かれたタスク(X)にも
    先行する、いわゆる候補タスク(Q)を決定すること
    (E23、E24)、 − 候補タスク(Q)が、間違った位置に置かれたタス
    ク(X)の直後にくるように現行順列中で移された場合
    に、こうして移されたタスクに課されるすべての制約が
    満たされるかどうかを検査すること(E25、・・・、
    E29、E22)、 − 少なくとも1つの制約が満たされない場合に、候補
    タスクが不適であると結論づけ(R)、次いで第2数列
    (MAX−SUITE)において他の候補タスクを決定
    し(E23、E24)、前の検査を繰り返し(E25、
    ・・・、E29、E22)、それが不可能な場合には、
    スケジューリングが失敗したと結論づけること(F)、 − すべての制約が満たされた場合に、スケジューリン
    グが成功したと結論づけること(S)をこの順序で実施
    することから成ることを特徴とする方法。
JP7206069A 1994-08-11 1995-08-11 遅延タイプの制約のみが課される連続タスクをスケジューリングする方法 Pending JPH0869383A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9409952A FR2723653B1 (fr) 1994-08-11 1994-08-11 Procede pour ordonnancer des taches successives qui ne subissent que des contraintes du type delais
FR9409952 1994-08-11

Publications (1)

Publication Number Publication Date
JPH0869383A true JPH0869383A (ja) 1996-03-12

Family

ID=9466264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7206069A Pending JPH0869383A (ja) 1994-08-11 1995-08-11 遅延タイプの制約のみが課される連続タスクをスケジューリングする方法

Country Status (8)

Country Link
US (1) US5606695A (ja)
EP (1) EP0697657B1 (ja)
JP (1) JPH0869383A (ja)
AT (1) ATE188787T1 (ja)
DE (1) DE69514444T2 (ja)
DK (1) DK0697657T3 (ja)
ES (1) ES2141313T3 (ja)
FR (1) FR2723653B1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0954699A (ja) * 1995-08-11 1997-02-25 Fujitsu Ltd 計算機のプロセススケジューラ
DE19530483A1 (de) * 1995-08-18 1997-02-20 Siemens Ag Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
US5964829A (en) * 1996-03-27 1999-10-12 Lucent Technologies Inc. Method and apparatus for providing enhanced pay per view in a video server employing a coarse-grained striping scheme
US6012080A (en) * 1996-03-27 2000-01-04 Lucent Technologies Inc. Method and apparatus for providing enhanced pay per view in a video server
US5745113A (en) * 1996-04-03 1998-04-28 Institute For Research On Learning Representing work practices
US6317774B1 (en) 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
GB9710522D0 (en) * 1997-05-23 1997-07-16 Rolls Royce Plc Control system
CA2228574A1 (en) * 1997-06-05 1999-08-02 Attention Control Systems, Inc. An automatic planning and cueing system and method
US6035278A (en) * 1997-07-08 2000-03-07 Netscape Communications Corporation Method and system for schedule and task management
US6144942A (en) * 1998-04-28 2000-11-07 Micron Electronics, Inc. Method for notifying an individual of a previously scheduled event
US6092120A (en) * 1998-06-26 2000-07-18 Sun Microsystems, Inc. Method and apparatus for timely delivery of a byte code and serialized objects stream
DE60015211T2 (de) * 1999-03-15 2005-10-27 Océ-Technologies B.V. Zeitplanverfahren und Planer für eine modulare Maschine
JP3756344B2 (ja) 1999-05-11 2006-03-15 京セラ株式会社 マルチモード携帯電話装置
US8788308B1 (en) * 2004-03-29 2014-07-22 West Corporation Employee scheduling and schedule modification method and apparatus
US6738972B1 (en) * 1999-12-30 2004-05-18 Opentv, Inc. Method for flow scheduling
CN1316361C (zh) * 2000-06-27 2007-05-16 皇家菲利浦电子有限公司 确定一个进度表的方法、调度器和系统
DE10065498B4 (de) * 2000-12-28 2005-07-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms
US6918115B2 (en) * 2001-02-16 2005-07-12 Microsoft Corporation Method and apparatus for synchronization of periodic processes
US20020143600A1 (en) * 2001-03-08 2002-10-03 Dugan Valerie G. Internet-based appointment scheduling
US8170980B1 (en) 2002-10-11 2012-05-01 The United States Of America As Represented By The Secretary Of The Navy Universal software architecture for decision support
DE102005010580A1 (de) * 2005-03-04 2006-09-07 Inchron Gmbh Verfahren zur Echtzeitanalyse eines Systems
US20080216012A1 (en) * 2005-08-26 2008-09-04 United Space Alliance, Llc Instruction and training tool
US8103533B2 (en) 2005-08-26 2012-01-24 United Space Alliance, Llc Automated resource planning tool and user interface
US7315996B2 (en) * 2005-09-22 2008-01-01 International Business Machines Corporation Method and system for performing heuristic constraint simplification
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
SG136862A1 (en) * 2006-04-21 2007-11-29 Oce Tech Bv Variable speed printing
TWI324747B (en) * 2006-06-08 2010-05-11 Wistron Corp Method for preventing process collision of micro controller
US7610151B2 (en) 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US8793066B2 (en) 2006-06-27 2014-07-29 Microsoft Corporation Route monetization
US7617042B2 (en) * 2006-06-30 2009-11-10 Microsoft Corporation Computing and harnessing inferences about the timing, duration, and nature of motion and cessation of motion with applications to mobile computing and communications
US8126641B2 (en) * 2006-06-30 2012-02-28 Microsoft Corporation Route planning with contingencies
US7739040B2 (en) 2006-06-30 2010-06-15 Microsoft Corporation Computation of travel routes, durations, and plans over multiple contexts
US7706964B2 (en) * 2006-06-30 2010-04-27 Microsoft Corporation Inferring road speeds for context-sensitive routing
US8301473B2 (en) 2006-08-24 2012-10-30 United Space Alliance, Llc Stowage and center of gravity verification and assessment tool
US20090157498A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Generational intelligent navigation synchronization or update
US20090157540A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Destination auctioned through business of interest
US20090210142A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Safe route configuration
US20090210302A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Route reward augmentation
US20090210242A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Load balance payment
US9842317B2 (en) 2012-05-28 2017-12-12 Brandon Jordan Methods, systems, and apparatus for scheduling appointments
US9208591B2 (en) 2013-04-18 2015-12-08 International Business Machines Corporation Providing user controlled ability to determine data level of detail in a graph
US20150012323A1 (en) * 2013-07-02 2015-01-08 Oracle International Corporation Generating multiple optimal daily schedules for multiple time periods in a day and for multiple daily patterns
US10241654B2 (en) * 2013-12-20 2019-03-26 Dassault Systemes Americas Corp. Computer method and apparatus for automated scheduling
KR102325272B1 (ko) * 2019-04-24 2021-11-11 한국원자력연구원 수행시간 기반의 원전 운전원 신뢰도 평가 장치 및 그 방법
WO2021011001A1 (en) 2019-07-18 2021-01-21 Hewlett-Packard Development Company, L.P. Adaptive interpage delays

Also Published As

Publication number Publication date
FR2723653B1 (fr) 1996-09-13
DE69514444T2 (de) 2000-08-03
ES2141313T3 (es) 2000-03-16
EP0697657B1 (fr) 2000-01-12
DK0697657T3 (da) 2000-05-15
FR2723653A1 (fr) 1996-02-16
DE69514444D1 (de) 2000-02-17
ATE188787T1 (de) 2000-01-15
US5606695A (en) 1997-02-25
EP0697657A1 (fr) 1996-02-21

Similar Documents

Publication Publication Date Title
JPH0869383A (ja) 遅延タイプの制約のみが課される連続タスクをスケジューリングする方法
JPH0869384A (ja) 連続タスクをスケジューリングする方法
JP4571819B2 (ja) 異なったジョブ優先度のシステムおよび方法のための予測可能でプリエンプティブのプラニングおよびスケジューリング
CA2446796C (en) Planning and scheduling reconfigurable systems with alternative capabilities
US8315898B2 (en) Planning and scheduling reconfigurable systems around off-line resources
US7139629B2 (en) Planning and scheduling for failure recovery system and method
US5890134A (en) Scheduling optimizer
JPH05250377A (ja) スケジューリング方式
Gebraeel et al. Deadlock detection, prevention, and avoidance for automated tool sharing systems
JP2020537269A (ja) リアルタイムタスク間の低レイテンシ通信を保証する順序付け計画を実行するための方法
Chauvet et al. Optimization of cyclic production systems: a heuristic approach
CN107567617A (zh) 用于多级实时调度分析的系统及方法
KR102261021B1 (ko) 실시간 태스크 시퀀스 플랜을 구성하고 실행하는 방법
Wang et al. Job rescheduling by exploring the solution space of process planning for machine breakdown/arrival problems
JP5951025B2 (ja) 入出力応答制御設定装置
JP2008226044A (ja) オルタネートスキルスケジューリングシステム、スケジューリング方法およびプログラム
JP4027835B2 (ja) 部品作成装置、衛星運用計画立案装置およびプログラム
JP2005190062A (ja) 生産計画作成方法及びプログラム、並びに生産計画作成システム
JP3409830B2 (ja) 工程のスケジューリング方法
JP3114149B2 (ja) スケジュール自動作成処理方法
Korbaa et al. Transient state study for cyclic schedules: bounds and optimization
US20240118879A1 (en) Method for implementing a software module defined by a non-interleaved directed acyclic graph in a multicore environment
JP2008225809A (ja) 日程作成装置
JP2746351B2 (ja) ジョブ・リソース割当て最適化装置
EP1008044B1 (en) Information processing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050804

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060801