JP2002542536A - 匿名のスケジューラ設計パターンを有するオブジェクト指向システム - Google Patents

匿名のスケジューラ設計パターンを有するオブジェクト指向システム

Info

Publication number
JP2002542536A
JP2002542536A JP2000612825A JP2000612825A JP2002542536A JP 2002542536 A JP2002542536 A JP 2002542536A JP 2000612825 A JP2000612825 A JP 2000612825A JP 2000612825 A JP2000612825 A JP 2000612825A JP 2002542536 A JP2002542536 A JP 2002542536A
Authority
JP
Japan
Prior art keywords
event
events
time
deadline
service
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
JP2000612825A
Other languages
English (en)
Inventor
イシャム,カール
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2002542536A publication Critical patent/JP2002542536A/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
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Abstract

(57)【要約】 匿名のイベントを通して、埋め込まれた実時間システム内の制御入力をスケジューリングをするための方法と装置が開示される。抽象化されたインターフェースを使用して全てのイベントを匿名で扱うオブジェクト指向設計パターンが提供される。各イベントの細部は無関係であるので、イベントは匿名である。即ち、イベントの資源使用のみが特徴とされ且つ公表される。期限と優先順位は各イベントに対して、サービスの要求された品質に適切なように割り当てられる(即ち、緊急イベント、ルーチンイベント又は、付託イベント)。各イベントの応答時間は、イベントに関連するサービスの品質に適切である。時間が重要なイベントに対する保証された応答時間決定論が、ビデオ供給では、フレームを画するビデオ同期信号のような、周期的な時間指示にイベントを再クロクッキングすることにより実行される。イベントが実行されるときに十分な資源が存在することを保証するために、イベントは、イベントがシステムに提出された時間に、システム資源に対して有効とされ、十分な資源があるときには、確約が提供される。

Description

【発明の詳細な説明】
【0001】 発明の分野 本出願は、1999年4月15日に出願された米国特許仮出願番号60/12
9,300の利益を主張する。
【0002】 本発明は、オブジェクト指向プログラミング技術に関し、特に、匿名イベント
を使用して埋め込まれた実時間システムの制御入力をスケジューリングする方法
及び装置に関する。
【0003】 発明の背景 オブジェクト指向設計は、互いに独立するモジュールを簡単に生成するツール
を提供することにより、良いソフトウェア設計を推進する設計規律である。モジ
ュール間の依存は、特定の実行に依存しないインターフェースの形成を通して最
小化される。オブジェクト指向システム内の各オブジェクトは、インターフェー
スと実行により定義される。ソフトウェアクライアントの外部からオブジェクト
へは、オブジェクトインターフェースに完全に依存し、オブジェクト実行の細部
には依存しない。オブジェクトの実行は、オブジェクトの動作を実行するのに必
要な機構と細部を含む。
【0004】 オブジェクト指向プログラムはこれらの、抽象化されたインターフェースを通
して互いに関連するオブジェクトの集合である。オブジェクト指向設計の更に詳
細な説明は、例えば、Booch,GradyのObject−Oriente
d Analysis and Design with Applicati
on(アプリケーションのオブジェクト指向分析及び設計)、(Benjami
n Cummings,1994年);Martin、Robert C.のD
esigning Object−Oriented C++ Applica
tions Using the Booch Method(Booch法を
使用したオブジェクト指向C++アプリケーションの設計)、(Prentic
e Hall、1995年);Jacobson,IvarのObject−O
riented Software Engineering(オブジェクト指
向ソフトウェアエンジニアリング)、(Addison Wesley,199
2年)又は、Rumbaugh,他のObject−Oriented Mod
eling and Design(オブジェクト指向モデル化と設計)、(P
rentice Hall、1991年)に記載されており、参照によりここに
組み込まれる。
【0005】 オブジェクトの集合はそれ自身が、定義されたインターフェースを有し且つ全
体のシステムの動作のある特徴を実現するモジュールへの組織化の対象である。
これらのオブジェクト集合の有益な組織化パターンは、オブジェクト指向設計内
の特定の問題への再利用可能な解決方法として出現した。オブジェクト間のこれ
らの一般的な共同を認識することは、小さく,単純で更に理解しやすいシステム
構造を開発することとなる。これらの設計パターンは特定の設計状況で繰返し発
生する解決方法の構造を捕捉する。
【0006】 本発明に関連するオブジェクト指向パターンは、(i)Gamma他のDes
ign Patterns Elements of Reusable Ob
ject−Oriented Software(再利用可能なオブジェクト指
向パターン要素の設計)、(Addison Wesley,1994年)に記
載の命令パターン;(ii)Copline & Schmidt編のPatt
ern Language of Program Design 1(プログ
ラム設計のパターン言語1),(Addison Wesley,1995年)
に記載されたペデスタルとリアクタパターン;(iii)Vissides&C
opline&Kerth編のPattern Language of Pr
ogram Design 2(プログラム設計のパターン言語2),(Add
ison Wesley,1996年)に記載された命令プロセッサとハーフシ
ンク/ハーフシンクパターン及び、(iv)Martin&Rieble&Bu
shman編のPattern Language of Program D
esign 3(プログラム設計のパターン言語3),(Addison We
sley,1998年)に記載された再帰的制御パターンを含む。これらのオブ
ジェクト指向パターンの各々は、参照によりここに組み込まれる。
【0007】 オブジェクト指向設計と設計パターンは実時間埋め込みシステムに適用可能で
ある。埋め込みシステムは、通常は、電子機器又は、装置の制御機構として、特
定の現実のアプリケーションのために開発された計算的解決方法である。用語”
実時間”はこれらのシステムが時間的要求を有することを暗示する。そのような
システムは、以下の3つの主な基準、保証された時間期限、予測可能な応答時間
及び、オーバーロード時の安定性、を満たすように開発される。実時間システム
は、イベントを制御する応答時間を保証できる場合には決定論的である。更に詳
細な実時間問題の議論は、例えば、Klein他のA Ptractition
er’s Handbook for Real−Time Analysis
(実務者のための実時間分析ハンドブック);Guide to Rate M
onotonic Analysis for Real−Time Syst
ems(実時間システムのための単調なレート分析ガイド)、(Kluwer
Academic Publishing、1993年)に記載されており、参
照によりここに組み込まれる。
【0008】 上述のオブジェクト指向設計及び設計パターンにより認められた可能性内でさ
え、各々の要求の新たな組に対してオブジェクトモデルを特別に設計することが
まだ、埋め込まれた実時間システム内で通常の習慣である。明らかな優位性にも
関わらず、オブジェクトコンポーネントの再利用は最小である。これは、一部に
は、各設計を唯一に扱う設計者の誘惑による。最も基本的なレベルで、多くの埋
め込み実時間設計は要求のかなり共通な組を共有する。特に、システムは制御入
力を受け、ある確立された基準(又は、制御方針)に従って制御入力を処理し、
そして、(ハードウェアアクセスレイヤ又は、ドライバを通して)関連するハー
ドウェアへ命令の組を発行する。システムの制御方針とそのハードウェアアクセ
スレイヤが、唯一である間は、制御入力は要しない。
【0009】 多くの多目的埋め込み実時間システムで要求されるサービスの3つの特徴的な
品質(QoS)がある。サービスの品質はイベントの応答時間を分類することを
意味する。システムの自動化は通常は、外部コンピュータへの制御インターフェ
ースを含む。必要により、このインターフェースは、一貫性と性能の予測可能な
レベルを保証しなければならず、且つ、機械−機械インターフェースに与えられ
る期待に合うために高速応答時間を提供する必要がある。即時自動命令に密に関
連するものは、将来の特定の時間での実行のためにイベントをスケジュールする
要求である。例えば、イベントが、正確な時間に向けられているか、又は、設備
全体に広がったイベントを実行するために、イベントを同期して実行する必要が
ある多システムコンポーネントのいずれかである場合には、そのような能力は望
ましい。
【0010】 これらの付託されたイベント(即ち、特定の将来の時間に実行することがスケ
ジュールされたイベント)は、自動的なインターフェースを通して発行されるが
しかし、特定の実行時間が付される埋め込みシステムを制御するための自動化の
使用が増加しているが、直接のマニュアル制御は常に必要とされる。しかし、ヒ
ューマンインターフェースのサービス要求の品質は、自動インターフェースの期
待からかなり異なる。機械から最高速の応答を期待することが合理的なところで
は、人間はそのような瞬時の必要を有しない。代わりに、応答時間は人間の操作
者に、人間の知覚できる期限に合わせることによりシステムとの接触の知覚を与
えれば十分である。
【0011】 現在のシステムは、稀にイベントに対してサービスの品質の異なるレベルに基
づき区別をし、同様に全てのイベントを扱う単純さの代わりに選択する。これは
、幾つかの問題を導く。高い優先順位の自動化イベントが遅らせられるときには
、低い優先順位のマニュアルイベントの後ろにあるシステム資源を待ち、優先順
位の逆転が発生する。付託されたイベントは、完全にサポートされているときに
は、通常は、その実行時が来るまではコンテナ(又は、キュー)内に保持され、
そして、そのときに資源のために他のイベントと競合しなければならない。所定
のイベントに対して実行時にシステム資源が十分である保証は無いので、有効化
の遅延が発生する。有効化の遅延は、システムが後の時間での処理のためにイベ
ントを受け付けたときに発生するが、しかし、イベントはスケジュールされた実
行時間で存在する条件により失敗する。
【0012】 更に、自動化インターフェースの要求には重要な、決定論的な(保証され且つ
予測可能な)応答時間は、通常はできるだけ速くイベントを処理することにより
扱われる。最悪ケースの性能は測定され、そして、自動化イベントは遅延時間で
規定される。ソフトウェアの各新たな修正は測定されねばならずそして、遅延時
間はエンドユーザと再び協定されねばならない。
【0013】 現在、現在の埋め込みシステム設計の制御入力処理を適切に扱う設計パターン
は無い。制御入力処理問題は通常は制御方針の唯一の設計と硬く結びついており
、再利用を実行できず、且つ性能を発揮させることが必須である。このように、
アプリケーションの制御方針は、実時間設計の目的を維持する責任が負わされて
いる。
【0014】 従って、埋め込み実時間システムの現在の設計の上述の欠点と取り組むオブジ
ェクト指向設計パターンが必要である。更に、匿名イベントを使用する埋め込み
実時間システムの制御入力スケジューリングを抽象化するオブジェクト指向クラ
スパターンも必要である。
【0015】 発明の概要 一般的には、匿名のイベントを通して、埋め込まれた実時間システム内の制御
入力をスケジューリングをするための方法と装置が開示される。抽象化されたイ
ンターフェースを使用して全てのイベントを匿名で扱うオブジェクト指向設計パ
ターンが提供される。ここで使用するように、各イベントの細部は無関係である
ので、イベントは匿名である。即ち、イベントの資源使用のみが特徴とされ且つ
公表される。
【0016】 期限と優先順位は各イベントに対して、サービスの要求された品質に適切なよ
うに割り当てられる。実施例では、以下の(i)(自動的イベントに関して)緊
急、(ii)(マニュアルイベントに関して)ルーチン又は、(iii)(時間
に特定のイベントに関して)付託の、サービスレベルの3つの品質が各イベント
に割り当てられ得る。各イベントの応答時間は、イベントに関連するサービスの
品質に適切である。
【0017】 本発明の1つの特徴に従って、決定論的な処理は、ビデオ供給では、フレーム
を画するビデオ同期信号(ビデオSYNC)のような、周期的な時間指示にイベ
ントを再クロクッキングすることにより実行される。この方法では、保証された
応答時間決定論が、共通の時間指示へイベントを同期することにより達成される
。本発明の他の特徴は、イベントが実行される後のときに十分な資源が存在する
ことを保証するために、イベントは、イベントがシステムに提出された時間に、
システム資源に対して有効とされる。その後、本発明のこの確認に基づき確約を
提供する。
【0018】 本発明の更なる特徴と優位点と、更なる完全な理解は、以下の詳細な説明と図
を参照することにより得られる。
【0019】 図1は、本発明の設計パターンの構造を示す単一化モデル化言語(UML)シ
ーケンスを示す図である。本発明は、埋め込み実時間システムの現在の設計内の
前述の欠点と取り組むオブジェクト指向設計パターンを提供する。特に、匿名イ
ベントを介して埋め込み実時間システム内で制御入力スケジューリングを抽象化
するオブジェクト指向クラスパターンが提供される。このように、本発明は、全
てのイベントを抽象化されたインターフェースを介して匿名で扱う。ここで使用
するように、各イベントの細部は無関係であるので、イベントは匿名である。即
ち、イベントの資源使用のみが特徴とされ且つ公表される。
【0020】 更に本発明は、期限と優先順位を、各イベントに対して、制御資源により要求
された、サービスレベルの関連する品質に適切なように割り当てる。実施例では
、以下の(i)(自動的イベントに関して)緊急、(ii)(マニュアルイベン
トに関して)ルーチン又は、(iii)(時間に特定のイベントに関して)付託
の、サービスレベルの3つの品質が各イベントに割り当てられ得る。ルーチンイ
ベントは、確かな期限に合致すると予想される。これらは典型的には、マニュア
ル制御入力の応答で行われるイベントである。緊急イベントは、時間が重要であ
り且つ決定論的であり、応答は典型的には、自動化制御命令に与えられる。付託
イベントは、特定の時間と日付で実行するためのタイムスタンプが付される。各
イベントの応答時間はイベントに関連するサービスの品質に適切である。埋め込
み実時間システム内で見つかるサービスの品質の全ての3つのレベルは、設計に
より取り組まれ、優先順位反転問題が除去される。
【0021】 本発明の他の特徴に従って、図2と関連して以下を説明する。決定論的な処理
は周期的な時間指示へイベントを再クロックすることにより実行される。この方
法では、保証された応答時間の決定論が共通の時間指示へイベントを同期させる
(時間周期に対するバッファイベント、そして、適切な時間に実行するためのバ
ッファされたイベントの開放)ことにより達成される。
【0022】 本発明の他の特徴によれば、イベントが実行される後のときに十分な資源が存
在することを保証するために、イベントは、イベントがシステムに提出された時
間に、システム資源に対して有効とされる。このように、システム資源の有効性
は、イベントがシステムに提出された時間に、システム資源に対して有効とされ
るので、本発明は、この有効に基づく確約で、共に従来の受信−受取通知プロト
コルを置換する。イベントが非常に後に発生する場合でさえも、この確約は各イ
ベントのシステム資源の有効に基づいている。
【0023】 一般的には、本発明の設計パターンは、オブジェクト指向設計の”オープン−
クローズ”原理に結びついている。言い換えると、設計パターンの構造は追加に
関してオープンである(新たなイベントを付加できる)が、しかし、変更に関し
ては閉じている(設計パターンのプログラムエレメントは変更する必要が無い)
【0024】 図1は、単一化されたモデル化言語(UML)シーケンス図を提供する。シー
ケンス図は、典型的な埋め込み実時間システムは本発明の設計パターンを採用す
るかを示す構造を示す。ここで使用されるUML表記の議論に関しては、例えば
、UML表記ガイド、バージョン1.1(1997年9月1日)の、http:
//www.omg.org./docs/ad/97−08−05.pdfか
らダウンロードでき、参照によりここに組み込まれる。図1に示すように、制御
境界モジュール110は、例えば、人間の外部制御機構105から命令104を
受信する。
【0025】 図3と共に更に以下に説明する。制御境界110は、命令140をデコードし
、且つ要求された動作を実行るためにイベント142を形成する。制御命令の性
質により要求される、更なる制御パラメータがイベント142に付けられること
に注意する。イベント142は、サービスの品質と関連し、付託イベントの場合
には特定の実行時間が含まれうる。再び、イベント142は有効にされる。匿名
スケジューラ100により、イベントが実行される後のときに十分な資源が存在
することを保証するために、イベントは、イベントがシステムに提出された時間
に、システム資源に対して有効とされる。この有効に続き、匿名スケジューラ1
00は、確約又は、拒絶144を発生する。
【0026】 前に示したように、設計パターンの重要な要素は、重要なイベントに対して決
定論的な応答時間を達成する能力であり、これは、外部時間基準に入力するイベ
ントを再クロック化することにより達成される。重要なイベントは、サービスの
緊急の品質を有するとして分類される。できるだけ速くイベントを実行する代わ
りに、イベントは次のタイミングの期間(チック)まで遅延される。図2は、イ
ベント間のタイミング関係を示す。個々のタイミング期間(チック)Nの継続時
間は、所定のシステムの必要に依存するが、しかし、多くはシステムで使用され
且つ有効な時間の特定の単位である。例えば、ビデオシステムの状況のチックは
、ビデオフレームである。図2に示すようにそして、以下で後に説明するように
、イベントは最初に時間期間Nで、蓄積されるか又は、バッファされ、そして、
対応する期限の前の期間N+1のような、その後の適切な後続の時間期間で実行
のために開放される。
【0027】 図2に示す再クロック化技術は、時間基準に関して測定されたイベントは常に
期間N+1内で実行し、期間N内の受諾が続くので、厳しく固定された時間応答
に亘って、決定論的な応答を提供する。イベントは常に時間基準に関して非同期
に加算されるので、厳しく固定された時間の応答は、期間N又は、N+1内のい
ずれかで実行し得る。固定の時間応答は、典型的には、期間前に加算されたなら
ば、期間Nで実行し又は、期間の最後でに加算されたならば、N+1内で実行す
る。
【0028】 図1に戻ると、イベントは、対応する適切な実行時間まで、イベント未決定状
態146である。そのような待ちは緊急イベントにより負わされ、次の期間まで
バッファされ又は、そのスケジュールされた実行時間前に付託イベントにより負
わされる。一旦適切な実行時間が起こると、イベントは実行のために開放され、
そして、実行イベントメッセージ148が、基礎となる方針に従って、所定の方
法でイベントを扱う、制御方針120へ供給される。そして、書きこみ制御メッ
セージ150は、システムハードウェア130へ供給され、結果152を発生す
る。制御方針120は制御境界110へ結果の指示154を供給する。そして次
に応答156を制御機構105へ戻す。
【0029】 図3は、本発明の匿名スケジューラ100のためのUMLクラス図を示す。図
3に示すように、本発明の匿名スケジューラ100は、(i)システムの入力制
御モジュール110に対するインターフェースを提供し、(ii)十分な実行予
算とハードウェア能力が存在することを保証するイベントを有効にし、(iii
)関連するサービスの品質に基づき実行のためのイベントを割り当て、(iv)
有項に際し制御機構105へ確約を提供し、そして、(v)付託イベントの期限
を管理するスケジューラパーティシパント310を有する。図3に示す様に、ス
ケジューラパーティシパント310は、2つのプライベートデータメンバ(即時
アジェンダと付託された期限)を有する。更に、スケジューラパーティシパント
310は、パブリック(目に見える)メソッド(Add)とプライベートメソッ
ド(SchedulerRunLoop)を提供する。
【0030】 更に、本発明の匿名スケジューラ100は、得られる具体的なイベントに対す
るインターフェースを規定しそして、個々の制御動作を行う抽象化手段を供給す
る、イベントパーティシパント360を含む。具体的なイベントは制御方針内の
特定の動作、要求されるサービスの品質及び、システム資源への影響で定義され
る。図3に示すように、イベントパーティシパント360は、4つのパブックメ
ソッド(Action,ExecutionCost,PortImpact及
び、QoS)を提供する。イベント360から得られた各々の具体的なイベント
は、実行コストとポート影響の、2つのキー指示で規定され、各々はイベント3
60に関連する動作を実行するのに必要な計算資源を定義する。実行コストは、
動作の最悪ケースの実行時間である。ポート影響は、動作が、ハードウェアによ
りなされる制御限界を消費する程度である。制御限界は通常は時間単位当りで規
定され、そして、結果の命令に反応するハードウェアの能力を超えることを防ぐ
ために必要である。例えば、通信媒体は、メッセージのスループットに関して定
義される又は、画像プロセッサは各ビデオフレームに1回動作を行うことができ
るだけである。
【0031】 アジェンダパーティシパント320は、特定の時間で実行しなければならない
全てのイベントの容器である。アジェンダパーティシパント320は、時間の特
定の瞬間の全資源利用を含む。図3に示すように、アジェンダパーティシパント
320は、4つのプライベートメソッド(deferredTime,exec
utionBudjget、portBudjget、及び、eventQue
ue)を提供する。アジェンダパーティシパント320の集合は、データ容器優
先順位キューパーティシパント340内で維持される。このように優先順位キュ
ーパーティシパント340は、実行時間順に配置された付託アジェンダ320の
集合である。
【0032】 更に、ディレクターパーティシパント330は、イベント360の集合が特定
のサービスの品質(QoS)で実行されるように、実行する。このようにディレ
クターパーティシパント330は、緊急イベント、ルーチンイベント及び、付託
イベントについて設けられ得る。実施例では、緊急ディレクターパーティシパン
ト330は、(適切な時間に)緊急と付託イベントの両方を扱う。ディレクター
パーティシパント330は、2つのパブリックメソッド(AddとCurren
tBudget)を及び、プライベートメソッド(DirectorRunLo
op)を提供する。ディレクターパーティシパント330は、実行する予算、C
urrentBudget、をイベント360を残すために維持する。キューパ
ーティシパント350は、先入先出し順に配置されたイベント360の集合であ
る。
【0033】 図4は、本発明の匿名スケジューラに関する緊急及び、付託要求を示す共同図
である。図4に示すように、制御境界モジュール110は外部制御機構105か
ら命令を受信する。制御境界モジュール110は命令をデコードし、そして、要
求された動作を実行するためにイベント360−nを生成する。制御命令の性質
により要求されて、更なる制御パラメータはイベント360−nに付されている
。イベント360−nは、特定のサービスの品質(QoS)へ設定され、それは
、付託イベントの場合には特定の実行時間を含み得る。サービスの品質はしばし
ば、制御機構そのものに関連する。イベント360は、スケジューラ310へ提
出される。
【0034】 具体的なイベントは、特定の動作を実行するシステム制御方針内で定義される
。各イベント360は、サービスの品質(QoS)に従って分類され、システム
が適切な優先順位でイベント360を実行することを可能とする。このように、
低優先順位のイベントが時間が重要なイベントを遅延させるの優先順位の反転は
、避けられる。
【0035】 以後説明される、図4は、4つの異なる処理スレッドを示す。第1の処理スレ
ッド(1)は、付託された品質のサービスを有する新たなイベントの追加の処理
を追跡する。第2の処理スレッド(2)は、緊急の品質のサービスを有する新た
なイベントの追加の処理を追跡する。第3の処理スレッド(3)は、所定の期間
に開始される。第4の処理スレッド(4)は、所定のトリガで開始される。
【0036】 第1と第2の処理スレッド(1と2)は、付託された又は、緊急の品質のサー
ビスを有する新たなイベントの追加の処理を追跡する。以前に示したように、イ
ベント360は、スケジューラ310へ提出され、イベント360の実行時とポ
ート影響は所定のサービスの品質に、動作を達成するために十分な予算があるこ
とを保証するために有効にされる。図4に示すように、イベントを追加する試み
は最初に、スケジューラ310により処理される。特定の付託された時間インデ
ックスに対する全実行コスト(executionBudget)は、アジェン
ダ320内に維持される。即時アジェンダ320−1は実行されるべき緊急動作
の次の(最も即時の)組に対してイベント360を整合させるために存在する。
【0037】 イベント360は、イベント360を加算するために十分な能力が残っている
ならば有効である。(厳しい期限に合わせることは予想されていない)ルーチン
イベントは、完了するために、多くの個々の時間単位を取りうる。それにより、
新たなイベント360は、ルーチンディレクター330内の全体の残りのアイテ
ムに対して直接的にに比較される。各360に対して、スケジューラ310は、
イベントに関連するサービスの品質に基づきイベントを扱うディレクタ330を
識別し、そして、それに従って実行予算を有効にする。予算を超えたイベント3
60は、後の実行時に付託され又は、(局部方針によって)拒絶される。
【0038】 テスト1.1は十分な実行予算が利用できると決定すると仮定し、付託された
イベントは、イベント360のスケジュールされた実行時間に従って、適切なア
ジェンダ320−nへ蓄積される。同様に、テスト2.1は十分な実行予算が利
用できると決定すると仮定し、所定の時間期間にわたってスケジューラ310へ
追加された緊急イベントは、次の実行期間が来るまで、即時アジェンダ320−
1へ蓄積される。メッセージは、スケジュールへのイベントの追加の成功を示す
ために、制御境界410へ戻される。
【0039】 第3の処理スレッド(3)は、所定の期間に開始される。この期間は図2に示
す周期的時間指示と同期されている。各期間の先頭で、スレッド3.1でイベン
トを得るために全ての蓄積されたイベント360−nに対してループが開始され
(3.1.1)、キューからイベントを削除し(3.1.1.1)そして、イベ
ントを優先順位で実行するために緊急ディレクタ330へイベントを追加する(
3.1.2)。スケジューラ310は、スレッド3.2で緊急ディレクタ330
の処理をトリガする。
【0040】 スケジューラ310は付託されたアジェンダ320期限を管理する。スケジュ
ーラ310が、現在の期間で全てのイベントと共に緊急ディレクタ330をロー
ドした後に、スケジューラ310はスレッド3.3で、次の付託された実行時間
についてチェックを行う。時間が、次の緊急期間による期限内にある場合には、
それは期限から削除され、そして、即時アジェンダ320−1を置換する(スレ
ッド3.3.1)。このように、付託されたイベントに関する予算は保証され、
そして、入力してくる緊急イベントはこの予め割り当てられた予算に対して有効
にされる。更に、これらの付託されたイベントは、正確な時間がスケジュールさ
れている重要な時間要求と共に実行される。
【0041】 各ディレクタ330インスタンスは特定のサービス品質に関連し、ここで緊急
−付託されたイベントは高優先順位で緊急サービス品質で上述のように実行され
、そして、ルーチンイベントは、低優先順位でサービスのルーチン品質で実行さ
れる。図4に示すように、ディレクタ330は次の実行時のトリガを検出するた
めに、スレッド4でテストを実行する。トリガの検出に際し、ループはイベント
を実行するために各町イベントに対してスレッド4.1で開始される。このよう
に、イベント360は、スレッド4.1.1中にキューから削除され、そして、
スレッド4.1.2で適切な動作が行われる。
【0042】 図5は緊急及び、ルーチンの散発的なサーバ状態図500−Uと500−Rを
それぞれ示す。図5に示すように、ディレクタ330はキューからイベント36
0を得てそして、そのAction()を呼出す。各ディレクタ330は、3状
態、待ち、サービス及び、完成を有する。イベントが待っていなければ、ディレ
クタ330は、所定のイベント(緊急ディレクタに対するトリガ又は、ルーチン
ディレクタの場合にイベント)が発生するまで待ち状態510へ入る。緊急ディ
レクタ330−uについては、緊急イベントは1期間中に蓄積され、そして、待
ち状態510−uに対する”イベント/キュー イベント”遷移表記により示さ
れているように、次の期間に実行のために開放されることに注意する。更に、図
5の”イベント/キュー イベント”遷移は図4のスレッド2.1に対応し、そ
して、図5の待ち状態510−uからのトリガ遷移は図4の”3.2トリガ”メ
ッセージに対応する。
【0043】 一旦所定のイベントが発生すると、又は、イベントが待ちであると、適切な優
先順位レベルでイベントを実行するために、ディレクタ330はサービス状態5
20へ入る。一旦イベントがサービスされると、ディレクタ330は完了状態5
30へ入り、そして、再び所定の期間のスリープとなる。
【0044】 各実行期間でキューから出てきたアクターの数は、サーバの実行予算により決
定される。これらのサービスの各々は、重要な時間期限に合致することを保証す
るように、レート単調分析(RMA)によりなされる要求に合うように設計され
る。
【0045】 ここで示された実施例及び変形は、単に本発明の原理を示すものであり、当業
者には種々の変形例も本発明の範囲を超えること無く実行され得ると理解される
【図面の簡単な説明】
【図1】 本発明の設計パターンの構造を示す単一化モデル化言語(UML)シーケンス
を示す図である。
【図2】 周期的時間指示に対して再クロックされたイベントのタイミング関係を示す図
である。
【図3】 本発明の匿名スケジューラのUMLクラス図である。
【図4】 本発明の匿名スケジューラに対する緊急及び付託要求を示す共同図である。
【図5】 図3の緊急及びルーチンダイレクタに関する、緊急及びルーチンの散発的なサ
ーバ状態図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),JP Fターム(参考) 5B076 DB01 DD03 DF01 5B098 GA04 GA05 GA08 GB13 GC03

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの制御入力を有するシステムにインターフェ
    ースする方法であって、 −前記制御入力に関連する少なくとも1つのイベントを決定するステップと、 −前記イベントの各々に対する資源使用を定義するステップと、 −オブジェクト指向クラスパターンを使用して、前記資源使用とサービスの要求
    された品質に基づき、前記イベントの動作をスケジューリングするステップとを
    有する方法。
  2. 【請求項2】 スケジュールされた実行時に十分な資源が存在することを保
    証するために、前記イベントを有効にするステップを更に有する請求項1記載の
    方法。
  3. 【請求項3】 前記期限前に前記イベントを行うために十分な資源が存在す
    る場合には、前記イベントを行う確約を提供するステップを更に有する請求項1
    記載の方法。
  4. 【請求項4】 付託されたイベントの時間スケジュールを管理するステップ
    を更に有する請求項1記載の方法。
  5. 【請求項5】 前記イベントの各々に対する資源使用を定義するステップは
    、前記イベントの各々に対して期限と優先順位を確立するステップを有する請求
    項1記載の方法。
  6. 【請求項6】 制御入力をスケジューリングする方法であって、 −前記制御入力に関連する1つ又はそれ以上の非同期で時間が重大なイベントを
    決定するステップと、 −前記1つ又はそれ以上のイベントを所定の期間を有する共通の時間基準に同期
    させるステップと、 −前記共通の時間基準に関して決定論的である、前記イベントの各々に対する期
    限を確立するステップとを有する方法。
  7. 【請求項7】 各イベントは前記時間基準の期間の開始まで遅延される請求
    項6記載の方法。
  8. 【請求項8】 少なくとも次の期間が開始するまでに、前記時間基準の所定
    の期間内に受信されたイベントを蓄積するステップを更に有する請求項6記載の
    方法。
  9. 【請求項9】 前記対応する期限の前に、前記時間基準の指示された期間で
    、実行のために蓄積されたイベントを開放するステップを更に有する請求項6記
    載の方法。
  10. 【請求項10】 制御入力をスケジューリングする方法であって、 −前記制御入力に関連する少なくとも1つのイベントを決定するステップと、 −サービスの要求された品質に基づき、前記イベントの各々に対して期限を確立
    するステップと −前記期限前に前記イベントを行うために十分な資源が存在するかどうかを決定
    するステップと、 −前記期限前に前記イベントを行うために十分な資源が存在する場合には、前記
    イベントを行う確約を提供するステップを有する方法。
  11. 【請求項11】 付託されたイベントの時間スケジュールを管理するステッ
    プを更に有する請求項10記載の方法。
  12. 【請求項12】 前記十分な資源が存在するかどうかを決定するステップは
    、実行予算とハードウェア能力を評価するステップを更に有する請求項10記載
    の方法。
  13. 【請求項13】 前記十分な資源が存在するかどうかを決定するステップは
    、与えられたサービスの関連する品質に関して、前記期限前に前記イベントを行
    うための能力を確認する請求項10記載の方法。
  14. 【請求項14】 少なくとも1つの制御入力を有するシステムにインターフ
    ェースするためのシステムであって、 −コンピュータ読出し可能なコードを蓄積するメモリと、 −前記メモリに機能的に結合されたプロセッサとを有し、前記プロセッサは、 −前記制御入力に関連する少なくとも1つのイベントを決定し、 −前記イベントの各々に対する資源使用を定義し、 −オブジェクト指向クラスパターンを使用して、前記資源使用とサービスの要求
    された品質に基づき、前記イベントの動作をスケジューリングするようになされ
    たシステム。
  15. 【請求項15】 制御入力をスケジューリングするシステムであって、 −コンピュータ読出し可能なコードを蓄積するメモリと、 −前記メモリに機能的に結合されたプロセッサとを有し、前記プロセッサは、 −前記制御入力に関連する1つ又はそれ以上の非同期で時間が重大なイベントを
    決定し、 −前記1つ又はそれ以上のイベントを所定の期間を有する共通の時間基準に同期
    させ、 −前記共通の時間基準に関して決定論的である、前記イベントの各々に対する期
    限を確立するようになされたシステム。
  16. 【請求項16】 制御入力をスケジューリングするシステムであって、 −コンピュータ読出し可能なコードを蓄積するメモリと、 −前記メモリに機能的に結合されたプロセッサとを有し、前記プロセッサは、 −前記制御入力に関連する少なくとも1つのイベントを決定し、 −サービスの要求された品質に基づき、前記イベントの各々に対して期限を確立
    し、 −前記期限前に前記イベントを行うために十分な資源が存在するかどうかを決定
    し、 −前記期限前に前記イベントを行うために十分な資源が存在する場合には、前記
    イベントを行う確約を提供するようになされたシステム。
JP2000612825A 1999-04-15 2000-04-05 匿名のスケジューラ設計パターンを有するオブジェクト指向システム Pending JP2002542536A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12930099P 1999-04-15 1999-04-15
US09/481,772 2000-01-11
US09/481,772 US6766508B1 (en) 1999-04-15 2000-01-11 Object-oriented system having anonymous scheduler design pattern
US60/129,300 2000-01-11
PCT/EP2000/003043 WO2000063776A2 (en) 1999-04-15 2000-04-05 Object-oriented system having anonymous scheduler design pattern

Publications (1)

Publication Number Publication Date
JP2002542536A true JP2002542536A (ja) 2002-12-10

Family

ID=26827452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000612825A Pending JP2002542536A (ja) 1999-04-15 2000-04-05 匿名のスケジューラ設計パターンを有するオブジェクト指向システム

Country Status (4)

Country Link
US (1) US6766508B1 (ja)
EP (1) EP1088269A2 (ja)
JP (1) JP2002542536A (ja)
WO (1) WO2000063776A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519061A (ja) * 2003-12-26 2007-07-12 松下電器産業株式会社 タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099393B2 (en) * 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
CA2453728A1 (en) * 2003-12-17 2005-06-17 Ibm Canada Limited-Ibm Canada Limitee A method and system for presenting event flows using sequence diagrams
US8707317B2 (en) * 2004-04-30 2014-04-22 Microsoft Corporation Reserving a fixed amount of hardware resources of a multimedia console for system application and controlling the unreserved resources by the multimedia application
JP5229232B2 (ja) * 2007-12-04 2013-07-03 富士通株式会社 リソース貸出制御装置、リソース貸出方法およびリソース貸出プログラム
US8983632B2 (en) * 2011-03-29 2015-03-17 Honeywell International Inc. Function block execution framework
CN102508711A (zh) * 2011-09-29 2012-06-20 中国科学技术大学苏州研究院 面向服务的可重构片上多核计算平台及其重构方法
US10146598B1 (en) 2014-08-13 2018-12-04 Google Llc Reactor pattern in the cloud

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323966A (en) * 1980-02-05 1982-04-06 The Bendix Corporation Operations controller for a fault-tolerant multiple computer system
EP0553285B1 (en) * 1990-10-16 2000-03-01 Consilium, Inc. Object-oriented architecture for factory floor management
US5511185A (en) * 1990-11-27 1996-04-23 Mercury Interactive Corporation System for automatic testing of computer software having output synchronization and capable of responding to asynchronous events
US5535322A (en) * 1992-10-27 1996-07-09 International Business Machines Corporation Data processing system with improved work flow system and method
US5640546A (en) * 1993-02-23 1997-06-17 Network Programs, Inc. Composition of systems of objects by interlocking coordination, projection, and distribution
US6397262B1 (en) * 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
US5828866A (en) * 1996-07-08 1998-10-27 Hewlett-Packard Company Real-time synchronization of concurrent views among a plurality of existing applications
US6131131A (en) * 1998-01-22 2000-10-10 Dell U.S.A., L.P. Computer system including an enhanced communication interface for an ACPI-compliant controller
US6449618B1 (en) * 1999-03-25 2002-09-10 Lucent Technologies Inc. Real-time event processing system with subscription model

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519061A (ja) * 2003-12-26 2007-07-12 松下電器産業株式会社 タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体
JP4675891B2 (ja) * 2003-12-26 2011-04-27 パナソニック株式会社 タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体

Also Published As

Publication number Publication date
EP1088269A2 (en) 2001-04-04
WO2000063776A2 (en) 2000-10-26
WO2000063776A3 (en) 2001-01-18
US6766508B1 (en) 2004-07-20

Similar Documents

Publication Publication Date Title
Rajkumar et al. Resource kernels: A resource-centric approach to real-time and multimedia systems
US5812844A (en) Method and system for scheduling the execution of threads using optional time-specific scheduling constraints
US8713571B2 (en) Asynchronous task execution
Schmidt et al. Software architectures for reducing priority inversion and non-determinism in real-time object request brokers
CN104199730B (zh) 一种基于同步i/o复用机制的单线程多任务处理方法
Li et al. Dynamic checking of temporal constraints for concurrent workflows
US8522250B2 (en) Managing access to a shared resource in a data processing system
TWI460659B (zh) 用於降低競爭之鎖定窗
JP2002542536A (ja) 匿名のスケジューラ設計パターンを有するオブジェクト指向システム
Jaghoori et al. Schedulability of asynchronous real-time concurrent objects
Gill et al. Applying adaptive real-time middleware to address grand challenges of COTS-based mission-critical real-time systems
Etsion et al. Process prioritization using output production: scheduling for multimedia
DiPippo et al. Scheduling and priority mapping for static real-time middleware
CN116302519A (zh) 一种基于容器云平台的微服务工作流弹性调度方法、系统及设备
Mercer Operating system resource reservation for real-time and multimedia applications
JP5480322B2 (ja) 性能制御方法、そのシステムおよびプログラム
Álvarez et al. Integrating schedulability analysis and sdl in an object-oriented methodology for embedded real-time systems
de Boer et al. Modeling and analysis of thread-pools in an industrial communication platform
Valiente et al. UML 2.0 Notation for Modeling Real Time Task Scheduling.
Álvarez et al. An analyzable execution model for SDL for embedded real-time systems
Etsion et al. Human-centered scheduling of interactive and multimedia applications on a loaded desktop
Micucci et al. Time sensitive architectures: a reflective approach
JPH11327928A (ja) リアルタイムアプリケーション支援プログラムを記録したコンピュータ読み取り可能な記録媒体およびコンピュータシステム
US20230251900A1 (en) Method and apparatus for real-time task scheduling for non-preemptive system
Furr What is real time and why do i need it?