JP6524064B2 - クリティカル・リアルタイム・システムにおいてタスクを実行する方法 - Google Patents
クリティカル・リアルタイム・システムにおいてタスクを実行する方法 Download PDFInfo
- Publication number
- JP6524064B2 JP6524064B2 JP2016507024A JP2016507024A JP6524064B2 JP 6524064 B2 JP6524064 B2 JP 6524064B2 JP 2016507024 A JP2016507024 A JP 2016507024A JP 2016507024 A JP2016507024 A JP 2016507024A JP 6524064 B2 JP6524064 B2 JP 6524064B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- time
- node
- selectable
- processes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 256
- 230000008569 process Effects 0.000 claims description 223
- 230000002123 temporal effect Effects 0.000 claims description 44
- 230000007704 transition Effects 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 8
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000000737 periodic effect Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Description
a)ハードウェア・リソース要求および時間的制約を各プロセスに割り当てるステップと、
b)プロセスの時間的制約に対応する期間を有する時間スロットを各プロセスに割り当てるステップと、
c)2つの選択可能プロセスのうちの一方または他方の実行が決定される分岐点を特定するステップと、
d)共通の時間スロットを2つの選択可能プロセスに割り当てるステップと、
e)2つの選択可能プロセスのリソース要求のうちの大きい方に等しいリソース要求を共通の時間スロットに割り当てるステップと、
f)各分岐点に対してステップc)以降を反復するステップと、
g)結果的に生成された時間スロットをタスクに関連付けられた実行テンプレートにおいて組織化するステップと、
h)実行テンプレートの時間スロットに割り当てられたリソース要求にしたがってタスクの実行を制約するよう、リアルタイム・マルチタスキング・システムを構成するステップと、
を含む。
Claims (7)
- リアルタイム・マルチタスキング・システムのためにフレキシブル・モデルに合致するタスクのプロセスをオフライン・スケジューリングすることをコンピュータに行わせるための方法であって、前記コンピュータは、前記タスクを定めるソースコードをコンパイルするためのツール群により指令され、前記方法は、
a)前記コンピュータにより、ハードウェア・リソース要求および時間的制約を各プロセスに割り当てるステップと、
b)前記コンピュータにより、前記プロセスの時間的制約に対応する期間を有する時間スロットを各プロセスに割り当てるステップと、
c)前記コンピュータにより、2つの選択可能プロセス(a,c)のうちの一方または他方の実行が決定される分岐点を特定するステップと、
d)前記コンピュータにより、共通の時間スロット(+2)を前記2つの選択可能プロセスに割り当てるステップと、
e)前記コンピュータにより、前記2つの選択可能プロセスのリソース要求のうちの大きい方に等しいリソース要求(max(a,b))を前記共通の時間スロットに割り当てるステップと、
f)前記コンピュータにより、各分岐点に対してステップc)以降を反復するステップと、
g)前記コンピュータにより、前記結果的に生成された時間スロットを前記タスクに関連付けられた実行テンプレートにおいて組織化するステップであって、結果的に生成されたテンプレートは、少なくとも1つのプロセスおよびリソース要求にそれぞれ関連付けられた一連の連続する時間スロットにより定められるステップと、
h)前記コンピュータにより、前記リアルタイム・マルチタスキング・システムのための静的なスケジューリング・パラメータを、前記実行テンプレートから生成するステップであって、前記時間スロットは、対応するプロセスを実行するために使用される、前記リアルタイム・マルチタスキング・システムの同期点を構成し、各時間スロットに関連付けられたリソース要求は、前記対応するプロセスが時間内に実行に移されることをチェックするために使用される、前記リアルタイム・マルチタスキング・システムのウォッチドッグを構成するステップと、
を含む、方法。 - 前記ソースコードは、前記タスクを表現するグラフの遷移ノードにより接続された1組のプロセスを定め、各遷移ノードはマルチタスキング・システム上で前記タスクを実行するときにタイムベースにしたがって同期点を定め、前記方法は、
・前記コンピュータにより、各プロセスに割り当てられた前記時間スロットの範囲を、前記プロセスのソース遷移ノードおよび宛先遷移ノードから定めるステップと、
・前記コンピュータにより、共通のソース・ノード(1)および2つのそれぞれのターゲット・ノード(2、3)を有する2つの選択可能プロセスに対して、前記2つのターゲット・ノードをマージされたターゲット・ノード(2_3)へとマージするステップと、
・前記コンピュータにより、両方の選択可能プロセスに共通する前記時間スロットを、前記共通のソース・ノードおよび前記マージされたターゲット・ノード(2_3)から定めるステップと、
を含む、請求項1に記載の方法。 - ステップc)において異なる時間的制約を有する2つの選択可能プロセス(b+1、c+4)に対して、
・前記コンピュータにより、前記2つの選択可能プロセス(c+4)のうちの最長の時間的制約を有する第1選択可能プロセス(c)において中間遷移ノード(3b)を作り、それにより前記ソース・ノードと前記中間遷移ノードとの間に第1部分的選択可能プロセス(c1)、および前記中間遷移ノードと前記第1選択可能プロセスのターゲット・ノードとの間に第2部分的プロセス(c2)、が形成されるステップと、
・前記コンピュータにより、前記第1部分的選択可能プロセスに対して、第1リソース要求(c1)および前記第2選択可能プロセスの時間的制約に等しい時間的制約(1)を割り当てるステップと、
・前記コンピュータにより、前記第2部分的プロセスに対して、第2リソース要求(c2)であって、前記第1リソース要求および前記第2リソース要求の合計が前記第1選択可能プロセスのリソース要求に等しくなるような第2リソース要求(c2)、および、前記2つの選択可能プロセスの時間的制約の差異に等しい時間的制約(c2)、を割り当てるステップと、
・前記コンピュータにより、ステップd)にしたがって、前記第1部分的選択可能プロセス(c1+1)および前記第2選択可能プロセス(b+1)を続行するステップと、
を含む、請求項2に記載の方法。 - 前記マルチタスキング・システムにおいて実行される、
・前記コンピュータにより、それぞれの時間スロットにおいて、進行中のプロセスの実行が前記時間スロットに割り当てられた前記リソース要求に適合することを前記ウォッチドッグを使用してチェックするステップと、
・前記コンピュータにより、前記進行中のプロセスの実行が前記リソース要求を超過し、前記進行中のプロセスが前記第1部分的選択可能プロセス(c1)である場合、障害についての通知を省略するように前記ウォッチドッグを構成するステップと、
を含む、請求項3に記載の方法。 - ・前記コンピュータにより、前記第1部分的選択可能プロセス(c1)の実行時に状態変数を設定(B=1)するステップと、
・前記コンピュータにより、前記進行中のプロセスの実行が前記リソース要求を超過し、前記状態変数が設定されている場合、障害についての通知を省略するように前記ウォッチドッグを構成するステップと、
・前記コンピュータにより、マージされたターゲット・ノード(2_3)に対応する同期点において前記状態変数をクリアするステップと、
を含む、請求項4に記載の方法。 - 各時間的制約は時間単位を定める整数であり、前記方法は、前記グラフの環状部分に対する、
・前記コンピュータにより、より長い時間的制約を有する各プロセス(c2|d)を、前記環状部分における前記時間的制約の最大公約数である、より短い時間的制約を有する1組の部分的プロセスに分割し、それにより前記グラフの環状部分は、全部が同一の正規化された時間的制約を有する、一連の全体的グラフまたは部分的グラフを画成する正規化された部分グラフへと変形される、ステップと、
・前記コンピュータにより、より長い時間的制約を有する各プロセスのリソース要求を、前記対応する部分的プロセス間に分配し、それにより前記部分的プロセスのリソース要求の合計は前記より長い時間的制約を有する前記プロセスのリソース要求に等しい、ステップと、
を含む、請求項3に記載の方法。 - ・前記コンピュータにより、前記部分グラフの第1部分の終端の遷移ノード(1、2、3_3b)が前記部分グラフの第2部分の始端のそれぞれのノード(4a、4b、4)とマージされ、それにより、2つの連続するマージされたノードが、その2つのマージされたノードのうちの第1のものの2つのノードをそれぞれの起点として有する前記プロセスに共通な時間スロットを画成するよう、前記部分グラフの第1部分の終端を前記部分グラフの第2部分の始端上に重ね合わせるステップと、
・前記コンピュータにより、このように定められた前記共通の時間スロットに対して、前記2つのマージされたノードのうちの第1のものに関連付けられた前記プロセスのリソース要求のうちの最大のものに等しいリソース要求と、前記正規化された時間的制約に等しい時間的制約と、を割り当てるステップと、
を含む、請求項6に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1353203A FR3004274A1 (fr) | 2013-04-09 | 2013-04-09 | Procede d'execution de taches dans un systeme temps-reel critique |
FR1353203 | 2013-04-09 | ||
PCT/FR2014/050612 WO2014167197A1 (fr) | 2013-04-09 | 2014-03-17 | Procédé d'exécution de taches dans un system temps-réel critique |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016519821A JP2016519821A (ja) | 2016-07-07 |
JP6524064B2 true JP6524064B2 (ja) | 2019-06-05 |
Family
ID=48906285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016507024A Active JP6524064B2 (ja) | 2013-04-09 | 2014-03-17 | クリティカル・リアルタイム・システムにおいてタスクを実行する方法 |
Country Status (11)
Country | Link |
---|---|
US (1) | US9946575B2 (ja) |
EP (1) | EP2984565B1 (ja) |
JP (1) | JP6524064B2 (ja) |
KR (1) | KR102178574B1 (ja) |
CN (1) | CN105144104B (ja) |
AU (1) | AU2014252942A1 (ja) |
BR (1) | BR112015025326B1 (ja) |
CA (1) | CA2907808C (ja) |
FR (1) | FR3004274A1 (ja) |
RU (1) | RU2660614C2 (ja) |
WO (1) | WO2014167197A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9740529B1 (en) * | 2013-12-05 | 2017-08-22 | The Mathworks, Inc. | High throughput synchronous resource-constrained scheduling for model-based design |
CN105912390A (zh) * | 2016-04-07 | 2016-08-31 | 四川大学 | 云计算环境下基于模板的任务调度策略 |
US11243949B2 (en) | 2017-04-21 | 2022-02-08 | Microsoft Technology Licensing, Llc | Query execution across multiple graphs |
FR3072197B1 (fr) * | 2017-10-10 | 2019-10-11 | Krono-Safe | Procede d'execution de plans de sequencement assurant une communication a faible latence entre taches temps-reel |
FR3084187B1 (fr) * | 2018-07-18 | 2021-01-01 | Commissariat Energie Atomique | Procede d'acceleration de l'execution d'un programme a chemin unique par execution en parallele de sequences conditionnellement concurrentes |
CN109460277B (zh) * | 2018-10-30 | 2022-08-05 | 北京小米移动软件有限公司 | 商品抢购流程的展示方法及装置 |
US11244106B2 (en) * | 2019-07-03 | 2022-02-08 | Microsoft Technology Licensing, Llc | Task templates and social task discovery |
RU2751441C1 (ru) * | 2020-09-11 | 2021-07-13 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени М.В.Ломоносова» (МГУ) | Способ формирования вычислительного комплекса |
US11726817B2 (en) | 2020-09-25 | 2023-08-15 | Red Hat, Inc. | Scheduling multiple processes with varying delay sensitivity |
DE102020214144A1 (de) | 2020-11-11 | 2022-05-12 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Überwachen zyklischer Aufgaben in Maschinensteuerung |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2816730B1 (fr) | 2000-11-13 | 2004-10-15 | Commissariat Energie Atomique | Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle- commande avec confinement d'erreur |
RU2239228C2 (ru) * | 2001-07-05 | 2004-10-27 | Всероссийский научно-исследовательский институт автоматики | Способ распределения времени центрального процессора между задачами в автоматизированных системах управления технологическими процессами |
US7614037B2 (en) * | 2004-05-21 | 2009-11-03 | Microsoft Corporation | Method and system for graph analysis and synchronization |
KR20070031307A (ko) * | 2004-05-27 | 2007-03-19 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 신호 스트림 처리 작업의 조합을 실행하기 위한 방법, 장치및 시스템, 실행 파라미터를 계산하는 방법 및 장치,컴퓨터 프로그램 제품 |
FR2873830B1 (fr) * | 2004-07-30 | 2008-02-22 | Commissariat Energie Atomique | Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede |
GB0513045D0 (en) * | 2005-06-27 | 2005-08-03 | Vidus Ltd | Resource scheduling method and system |
FR2893156B1 (fr) * | 2005-11-04 | 2008-02-15 | Commissariat Energie Atomique | Procede et systeme de calcul intensif multitache et multiflot en temps reel. |
CN100580632C (zh) * | 2008-02-22 | 2010-01-13 | 浙江大学 | 嵌入式系统rm低功耗调度中松弛时间在线重分配方法 |
US8214245B2 (en) * | 2009-05-04 | 2012-07-03 | International Business Machines Corporation | Method and system for synchronizing inclusive decision branches |
US8606377B2 (en) | 2009-07-23 | 2013-12-10 | Biosense Webster, Inc. | Preventing disruptive computer events during medical procedures |
JP5069325B2 (ja) | 2010-03-11 | 2012-11-07 | 株式会社豊田中央研究所 | タスク実行制御装置及びプログラム |
EP2568346B1 (en) * | 2011-09-06 | 2015-12-30 | Airbus Operations | Robust system control method with short execution deadlines |
-
2013
- 2013-04-09 FR FR1353203A patent/FR3004274A1/fr not_active Withdrawn
-
2014
- 2014-03-17 CA CA2907808A patent/CA2907808C/fr active Active
- 2014-03-17 AU AU2014252942A patent/AU2014252942A1/en not_active Abandoned
- 2014-03-17 BR BR112015025326-1A patent/BR112015025326B1/pt active IP Right Grant
- 2014-03-17 KR KR1020157030996A patent/KR102178574B1/ko active IP Right Grant
- 2014-03-17 RU RU2015147897A patent/RU2660614C2/ru active
- 2014-03-17 JP JP2016507024A patent/JP6524064B2/ja active Active
- 2014-03-17 US US14/783,246 patent/US9946575B2/en active Active
- 2014-03-17 WO PCT/FR2014/050612 patent/WO2014167197A1/fr active Application Filing
- 2014-03-17 EP EP14715372.0A patent/EP2984565B1/fr active Active
- 2014-03-17 CN CN201480019979.5A patent/CN105144104B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
AU2014252942A1 (en) | 2015-11-19 |
RU2015147897A (ru) | 2017-05-16 |
US20160070600A1 (en) | 2016-03-10 |
US9946575B2 (en) | 2018-04-17 |
CN105144104B (zh) | 2020-03-17 |
BR112015025326A2 (pt) | 2017-07-18 |
WO2014167197A1 (fr) | 2014-10-16 |
KR20150140708A (ko) | 2015-12-16 |
CA2907808A1 (fr) | 2014-10-16 |
WO2014167197A9 (fr) | 2015-01-08 |
RU2660614C2 (ru) | 2018-07-06 |
EP2984565A1 (fr) | 2016-02-17 |
KR102178574B1 (ko) | 2020-11-13 |
EP2984565B1 (fr) | 2019-08-21 |
CA2907808C (fr) | 2021-06-08 |
BR112015025326B1 (pt) | 2022-05-03 |
CN105144104A (zh) | 2015-12-09 |
FR3004274A1 (fr) | 2014-10-10 |
JP2016519821A (ja) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6524064B2 (ja) | クリティカル・リアルタイム・システムにおいてタスクを実行する方法 | |
Perez-Gonzalez et al. | Single machine scheduling with periodic machine availability | |
WO2011052030A1 (ja) | 事前条件生成装置 | |
Balashov et al. | A technology for scheduling of data exchange over bus with centralized control in onboard avionics systems | |
Naumoski | A discrete-event simulator for systems engineering. | |
Amin et al. | Time-triggered scheduling of query executions for active diagnosis in distributed real-time systems | |
Neukirchner et al. | A lazy algorithm for distributed priority assignment in real-time systems | |
Salmon et al. | Scheduling real-time systems with periodic tasks using a model-checking approach | |
McElvany | Guaranteeing deadlines in MAFT | |
RU2678469C1 (ru) | Способ составления и исполнения плана задания последовательности реально-временных задач | |
Terzimehić | Optimization and reconfiguration of iec 61499-based software architectures | |
Liao et al. | Modeling and solving scheduling in overloaded situations with weighted partial MaxSAT | |
Khalgui et al. | An IEC61499-based development approach for distributed industrial control applications | |
Yang | Customer order scheduling in a two machine flowshop | |
AnousouyaDevi et al. | Temporal planning with reference event based temporal relations | |
Lewis et al. | Reengineering real-time embedded software onto a parallel processing platform | |
Batista et al. | Scheduling grid tasks under uncertain demands | |
Saksena et al. | Temporal analysis for hard real-time scheduling | |
Rostami et al. | New benchmark results for the stochastic resource-constrained project scheduling problem | |
Rihm et al. | A mip-based decomposition heuristic for resource-constrained project scheduling | |
Yépez et al. | Ciclic: A tool to generate feasible cyclic schedules | |
Lowinski et al. | Partitioning Embedded Real-Time Control Software based on Communication Dependencies. | |
Lu et al. | Construction a Real-Time Component for Developing Embedded Real-Time Systems | |
Zhong et al. | Proactive Scheduling Procedures for RCPSP with Beta Distributed Durations and Exponential Distributed Resources | |
Yellanki | Simulated Annealing Approach To Flow Shop Scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160411 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190116 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190313 |
|
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: 20190409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6524064 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 |