CN105830030A - 用于组成并执行实时任务的方法 - Google Patents

用于组成并执行实时任务的方法 Download PDF

Info

Publication number
CN105830030A
CN105830030A CN201480069234.XA CN201480069234A CN105830030A CN 105830030 A CN105830030 A CN 105830030A CN 201480069234 A CN201480069234 A CN 201480069234A CN 105830030 A CN105830030 A CN 105830030A
Authority
CN
China
Prior art keywords
frame
condition
deadline
sequence
repetitive sequence
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
CN201480069234.XA
Other languages
English (en)
Other versions
CN105830030B (zh
Inventor
V·大卫
A·巴尔博
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.)
KRONO SAFE
Original Assignee
KRONO SAFE
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 KRONO SAFE filed Critical KRONO SAFE
Publication of CN105830030A publication Critical patent/CN105830030A/zh
Application granted granted Critical
Publication of CN105830030B publication Critical patent/CN105830030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

提供了一种用于以分时共享执行两个任务的方法,包括步骤:以与任务相关联的时基对连续帧的重复序列中的每个任务进行离线分解,其中每个帧与具有执行需求的原子操作相关联,并且定义了该操作可以开始的开始日期以及该操作必须结束的截止期限,由此每个帧定义了该操作可以在其中开始的时间余裕;针对该重复序列中的第一个中的每个帧验证相对应的操作能够在第二重复序列中的帧群组的任意两次连续操作之间执行,将第一重复序列中的帧(Fai)进行交叠,同时遵守操作的开始日期和截止期限;并且如果该验证被满足,则允许两个任务执行。随后根据在每个关键日期所评估的以下情形对这两个任务的操作进行调度,其中关键日期在每个截止期限、每个开始日期以及每次操作结束时出现:如果两个操作能够开始,则执行具有较短截止日趋的操作;并且如果能够开始单个操作,则仅在其执行需求小于直到另一序列中的下一个帧的开始日期之前的剩余时间加上与另一序列的所述下一个帧相关联的时间余裕的情况下才执行它。

Description

用于组成并执行实时任务的方法
技术领域
本发明涉及多任务实时关键系统,诸如在运输(汽车、铁路、海运、航空)、工业自动化、能源领域中使用的控制和监视系统,以及如通信网络中针对其受控资源分配非常重要的其它系统。本发明涉及在分配至系统中的每个任务的硬件资源的使用方面针对其要求高级别实施性能的实时系统以及针对其要求高级别保证的关键系统。
背景技术
在关键实时系统——即不容许由于操作的延后执行而违反任何截止期限的系统——之中,任务经常通过静态调度方法来执行。因此针对执行资源的需求的静态时间分配被离线构造,这说明了任务在它们之间的资源尤其是处理器的使用方面的时间独立性。这种方法例如在文章[“Amethodandatechniquetomodelandensuretimelinessinsafetycriticalreal-timesystems”,C.Aussaguès,V.David,FourthIEEEInternationalConferenceonEngineeringofComplexComputerSystems,1998]以及专利申请WO2006-050967和US2010-0199280中有所描述。
然而,该方法要求仅针对所有活动考虑单个定序计划,因此在确定截止期限时仅考虑单个时基。这使得针对具有不相关时基的任务而言难以在单个处理器上实现无干扰的实施方式,上述任务诸如使用时钟来确定其截止期限的任务以及使用速度可变对象的位置来确定其截止期限的任务。这将隐含地构建以共用时基作为时钟的两个定序计划,使得它们能够在任务之间没有干扰的情况下被组合在单个定序计划之中。这实际上仅能够在资源明显过多从而考虑每种情形下的最差状况的情况下才能够实现。
在一些具有高性能级别的实时系统中——其之所以并未被定义为“关键”是因为它们能够容忍在某个余裕之内违反截止期限,以不同时基作为时钟的两个定序计划的组合通过动态调度算法来执行。这样的算法例如在[“Schedulingalgorithmsformultiprogramminginahardreal-timeenvironment”,C.Liu,J.Layland,JournaloftheACM,vol.20,no.1,pp.46-61]和[“FoundationsofReal-TimeComputing:SchedulingandResourceManagement”,由AndréM.VanTilborg,GaryM.Koob所编辑,1991,KluwerAcademicPublishers]以及还在[“Amethodandatechniquetomodelandensuretimelinessinsafetycriticalreal-timesystems”,C.Aussaguès,V.David,FourthIEEEInternationalConferenceonEngineeringofComplexComputerSystems,1998]中有所描述。
利用这些算法,抢占是不可避免的,即操作系统能够中断正在进行的操作以执行更为紧迫的操作。调度为动态的情况下,抢占的数量和持续时间是无法确定的,并且每次抢占都引入执行环境切换的开销。这导致任务之间的干扰,从而系统更加难以设置大小、不太能够预测并且无法在复杂的处理器架构上进行再现。这样的系统的设计人员还遇到了在具有两个不同时基的系统中适当设置任务优先级或截止日期的困难。诸如根据应用参数数值的执行需求变化之类的所选择的选项使得以这种方式所构建的系统非常复杂且无法控制。
发明内容
因此需要一种即使两个计划的时基有所不同也能够以分时共享(timesharing)的方式执行两个定序计划而没有干扰的技术。
这需求通过提供一种用于以分时共享执行两个任务的方法而被解决,该方法包括步骤:以与任务相关联的时基对连续帧的重复序列中的每个任务进行离线分解,其中每个帧与具有执行需求的原子操作相关联,并且定义了该操作可以开始的开始日期以及该操作必须结束的截止期限,由此每个帧定义了该操作可以在其中开始的时间余裕;针对该重复序列中的第一个中的每个帧验证相对应的操作能够在第二重复序列中的帧群组的任意两次连续操作之间执行,同时遵守操作的开始日期和截止期限,所述第二重复序列中的帧群组与第一重复序列中的帧交叠;并且如果该验证被满足,则允许两个任务执行。
随后根据在每个关键日期所评估的以下情形对这两个任务的操作进行调度,其中关键日期在每个截止期限、每个开始日期以及每次操作结束时出现:如果两个操作能够开始,则执行具有较短截止期限的操作;并且如果单个操作能够开始,则仅在其执行需求小于直到另一序列中的下一个帧的开始日期之前的剩余时间加上与另一序列的所述下一个帧相关联的时间余裕的情况下才执行它。
每个帧可以进一步包括位于该帧的截止期限之后或者该帧的开始日期之前的保留时间间隔,其可以为零,其中任意一个重复序列的保留时间间隔可以被用来执行另一重复序列的操作。
该验证步骤可以包括以下步骤:
·针对第一重复序列的每个帧Fai,评估第二重复序列的每个帧Fbj的以下条件:
[A.1]Dai≤Tbj+1
[B.1]Dai≤Rbj+Tbj+1
且Dbj≤Tai,和
[C.1]Dbj≤Tai,
其中D、T和R是执行需求、时间余裕和保留时间,它们以重复序列标识符以及序列中的帧编号进行索引;
·在将帧Fai和帧Fbj交换的情况下重复该条件评估;
·在三个条件[A.1]、[B.1]和[C.1]针对任一配对(i,j)都满足的情况下授权任务的执行。
该验证步骤可以包括以下额外步骤:
·如果条件[A.1]为假,则评估以下条件:
[A.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dai+Dbj+1≤Tai+Tbj+1
·如果条件[B.1]为假,则评估以下条件:
[B.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+Dai+Dbj+1≤Tai+Tbj+1
·如果条件[C.1]为假,则评估以下条件:
[C.2]Dbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
·如果条件[A.1]或[A.2]与[B.1]或[B.2]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
确定帧的持续时间的时基可以是可变的,使得时间余裕T和保留时间R针对帧Fa通过因子1至za发生变化并且针对帧Fb通过因子1至zb发生变化。该验证步骤随后可以进一步包括步骤:
·如果条件[A.1]为假,则评估以下条件:
[A.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且min[ql(zb·(Tbj+Rbj)+(zb–1)Dbj),Dai]+Dbj+1≤Tai
其中ql=(Dai–Tbj+1)/(Tbj+Rbj);
·如果条件[B.1]为假,则评估以下条件:
[B.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+min[ql(zb·Tbj+(zb–1)Dbj)+zb·Rbj,Dai]+Dbj+1≤Tai
其中ql=(Dai–Rbj–Tbj+1)/Tbj
·如果条件[C.1]为假,则评估以下条件:
[C.2]Dbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
·如果条件[A.1]或[A.2]与[B.1]或[B.2]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
该验证步骤可以包括以下步骤:
·如果条件[B.1]为假,则在条件[B.2]之前评估以下条件:
[B.1.1]Dai≤Tbj+Rbj+Tbj+1
且Dbj-1≤Tl+min[Tbj-1+Dbj-1+Rbj-1–Tl–Dai-1,Rai-2]
其中ql=(Dai–Rbj–Tbj+1)/TbjandTl=Tai-1–(1–ql)Tbj+Rai-1
·如果条件[A.1]或[A.2]与[B.1]或[B.1.1]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
附图说明
其它优势和特征将由于以下对本发明的特定实施例的描述而变得更加显而易见,上述实施例仅是出于示例性的目的被提供并且在附图中被加以表示,其中:
图1示出了用于针对任务组成定序计划的帧的重复序列的示例;
图2示出了重复序列中的帧的结构以及在帧中开始操作的不同概率;
图3A至3C图示了对两个帧的重复序列进行分时共享的不同概率,其中图3C图示了错误条件;
图4A至4C根据用于建立两个序列的组成的验证标准的第一假设图示了两个序列的分时共享情形;
图5A和5B根据用于建立两个序列的组成的验证标准的第二假设图示了两个序列的分时共享情形;
图6根据用于建立两个序列的组成的验证标准的第三假设图示了两个序列的分时共享情形;
图7图示了在图5A的情况下用于建立另一有效性条件的一系列帧的示例;和
图8根据被允许建立可替换的有效性条件的第三假设示出了两个序列另外的执行情形。
具体实施方式
实时任务可以被认为是要逐个执行的基本处理或操作的序列,其中每个操作依据与该任务相关联的时基具有截止期限。在关键实时系统中,截止期限是强制的,即超过其截止期限的操作例如将会导致错误条件和系统故障。以下所描述的技术能够应用于这样的系统以提高性能水平,其中多个任务即使具有非相关的时基也可以在该系统上以分时共享的方式执行。
图1图示了将任务分解为帧的重复序列RSF,其中每个帧被指定给该任务的一项顺序操作。该任务通过以循环方式执行重复序列RSF而被实施。
图2示出了帧F的时间结构。该帧的起始是操作可以开始的日期。该帧定义了操作应当完成的截止期限E。该操作被假设为是原子的,即该操作无法被挂起以便执行另一项操作。截止期限E可以通过可选的保留时隙R而处于帧的结尾之前,上述保留时隙R可以为零。时间间隔D是与该帧相关联的操作的执行需求。执行需求D例如对应于执行该操作所需的处理器时钟周期的数量——其因此可以根据目标系统的处理器的特性而被表达为固定时间。间隔T对应于帧的起始和截止期限E之间的用于执行该操作的时间余裕。
因此,如图2所示,操作可以在帧的起始(其中间隔T位于操作结束和截止期限之间)与该帧的起始之后的时间T(其中该操作恰好在截止期限E结束)之间的任何地方开始。针对中间情形,qT表示操作结束和截止期限之间的间隔,其中0≤q≤1,并且(1-q)T表示处于帧开始和操作开始之间的补充间隔。
保留间隔R的和例如是编程人员为系统所分配的进行诸如输入/生成之类的非实时操作的时间。
应当在关键实时系统上以分时共享的方式执行的两个任务因此被细分为帧的重复序列。对于在要在没有干扰的情况下能够执行的任务而言,即遵从操作的原子性,寻求对该序列进行组合而使得一个序列的每项操作能够在另一序列的两项连续操作之间的任意时间执行,同时遵守这两个序列中的帧的约束,也就是截止期限和帧起始。
图3A-3C示出了在展开两个序列RSFa和RSFb时可能遇到的各种情形。出于简明的目的而假设保留间隔R为零。
在图3A中,作为示例,序列RSFa包括相应参数(Da1=3,Ta1=6)、(Da2=4,Ta2=1)、(Da3=1,Ta3=1)的三个帧Fa1至Fa3,其中时间数值以规格化单位进行表达。序列RSFb在帧Fa1开始之后的3个单位开始,并且其包括相应参数(Db1=4,Tb1=5)和(Db2=3,Tb2=4)的两个帧Fb1和Fb2
操作Da1在相对应的帧开始之后的一个单位开始。在操作Da1结束时,操作Da2还无法开始,但是操作Db1可以开始。在操作Db1结束时,还没有操作准备好执行。等待帧Fa2的开始(这里为截止期限Ea1)以便开始操作Da2。在操作Da2结束时,操作Db2能够执行,但是其并不应当开始。实际上,如果操作Db2被立即启动,则其将刚好在截止期限Ea3结束,由此操作Da3无法在该截止期限之前运行。在这种情况下,等待帧Fa3的开始以启动操作Da3。最终,操作Db2能够在操作Da3结束时开始。
在图3B中,除了操作Da1在帧开始之后的三个单位开始之外,保留相同的参数。操作Db1和Da2关于图3A延迟两个单位,同时遵守相对应帧的约束。操作Da2刚好在其截止期限Ea2结束。
在图3C中,除了操作Da1现在在帧开始之后的四个单位开始之外,保留相同的参数。操作Db1和Da2关于图3A延迟三个单位。操作Db1仍然能够执行,同时遵守其截止期限Eb1,但是操作Da2则违反了其截止期限Ea2
这里所提到的技术所共用的第一步骤包括针对要以分时共享方式执行的两个任务组合两个重复序列RSFa和RSFb,它们无论序列开始之间的延迟如何都能够在图3A或3B的条件下进行拆解。该组合是静态的,也就是说由编程人员离线实现。
第二步骤包括验证任意两个序列相兼容,即它们能够被拆解而使得每个操作都能够在其约束内执行,诸如在图3A和图3B中。
该兼容性验证可以以为编程人员所设计以便通过反复实验对序列进行组合的开发工具来实施。在加载以便执行由两个重复序列所定义的定序计划时,其优选地还在该实时系统自身内执行。该系统因此可以被配置为在序列被检测为不兼容的情况下拒绝操作。
第三步骤包括在实时系统中对两个序列的操作进行调度。如图所示,将第一序列的操作与第二序列的操作对调或者在操作准备执行时使得其开始并不足以实现正确的操作。可以根据以下在每个关键日期进行评估的情形来实现调度。关键日期可以被定义为两个序列中的帧的开始、截止期限以及操作结束。当保留时隙R(图2)为零时,如在所给出的示例中,截止期限与帧的开始相一致。针对与第一序列相关联的给定关键日期,术语“同时的帧”表示第二序列中的当前帧。
1)没有操作能够开始。这在操作已经处于进行之中(如图3A的截止期限Eb1)的时候或者在同时的帧的操作与其截止期限之间运行的操作——如针对图3A的操作Db1——结束时发生。在这种情况下,等待下一个关键日期。
2)两个操作能够开始。这通常在操作在同时的帧中进行等待的同时开始帧的时候发生,如图3A和3B中的截止期限Ea2的情形。随后执行具有最短截止期限的操作(图3A和3B中的Da3)。该情形还在两个同时的帧同时开始时发生。
3)单个操作能够开始。这通常在操作(Da1)结束时或者在一个帧在同时的帧的操作已经结束(Ea1,图3A)时开始的情况下发生。操作仅在其执行需求小于或等于到下一个同时的帧开始之前的剩余时间加上与该同时的帧相关联的时间余裕的情况下才被执行。例如,在图3A中,操作Da2准备在截止期限Ea1开始,到帧Fb2开始之前还有3个单位并且Tb2=4。操作Da2由于Da2=4<3+4而被开始。
否则,就等待下一个关键日期以对情形进行重新评估。例如,在图3A中,操作Db2在操作Da2结束时准备执行。然而,到帧Fa3开始之前还剩一个单位并且Ta3=1,因此Db2=3>1+1。
现在将定义在实时系统的定序计划中所使用的任意两个重复序列RSFa和RSFb之间的兼容性标准。
穷举的兼容性检查将涉及到检查操作在它们的帧中的位置与序列相对于彼此的所有可能位置的所有可能组合,其中粒度为一个时钟周期,从而评估同时的操作是否能够根据所施加的约束而被执行。
这样的穷举验证将难以在合理时间内实现。寻求能够在加载伴随有用于任务的可执行代码的定序计划时在实时系统上在线评估的简化标准。出于该目的,关于序列之一中的每个帧相对于另一序列中的每个帧的定位考虑三种一般假设。对于每一个假设,证明了给定帧Fai的操作能够在与帧Fai交叠的同时的帧Fbj,Fbj+1...的所剩余的可用时隙内执行。两个帧Fai和Fbj在该验证针对三种假设中的每一种都满足时被认为是兼容的。
·假设(A):给定帧Fai在第一个同时的帧Fbj的操作Dbj已经完成执行时开始。
·假设(B):第一个同时帧的操作正在进行。
·假设(C):同时的帧的操作还没有开始。
针对每种假设,寻求独立于帧的相对位置的标准。出于该目的,通常,被用来找出执行操作的时隙的未知时间间隔是被低估的,并且被用来检查与截止期限的符合性的位置时间间隔是被高估的。
图4A至4C图示了可以被用来基于假设(A)开发兼容性标准的示例性的帧的示例。给定帧Fai在同时的帧Fbj的操作Dbj已经完成时在该同时的帧的期间开始。帧Fai与下一个同时的帧Fbj+1交叠。关于帧Fai的开始所有所知的是其位于操作Dbj结束之后的间隔qTbj之中,其中0≤q≤1。
在图4A中,帧在Fai在帧Fbj+1之前结束。操作Dai的能够从操作Dbj的结束而在间隔qTbj+Tbj+1中启动。但是q是未知且任意的,所以最差情形被认为是q=0情形,由此操作Dai在帧Fbj+1开始时开始。因此,操作Dai能够在以下情况下执行:
Dai<Tbj+1[A.1]
在图4B中,操作Dai并不满足要求A.1。因此尝试将操作Dai跨帧Fbj+1和Fbj+2来执行,这意味着帧Fai与三个帧Fbj至Fbj+2交叠。这隐含表示同时满足了用于确保间隔Tbj+1与Tbj+2之和是足够的条件以及用来确保截止期限Eai被满足的条件:
Dai≤Tbj+1+Tbj+2
并且
qTbj+Dbj+1+Dai≤Dai+Tai,因此qTbj+Dbj+1≤Tai
遵守该截止期限的最差情形为q=1,其增加了不等式的左侧成员。因此,截止期限Eai在以下情况下的所有情形都被满足:
Tbj+Dbj+1≤Tai
然而,在相同背景下的最差情形中考虑使用相同变量的两个极值是不现实的。实际上,变量q的某个数值范围能够在考虑实际系统在图4A的情形中的表现时被排除。
图4C示出了实际系统在图4A的情形中的表现。一旦操作Dbj结束,只要满足以下条件,具有帧参数的在线知识的系统就在帧Fai开始时启动操作Dai
Dai≤qTbj+Tbj+1
也就是说,如果满足调度方法的条件3)。
令ql作为用来在以上不等式中实现相等的极限数值:
Dai=qlTbj+Tbj+1,因此ql=(Dai–Tbj+1)/Tbj
如果q≥ql,则显然实际系统的执行根据图4C进行并且图4B的情形要被排除。针对图4B而言,最差情形因此是q=ql,由此
qlTbj+Dbj+1≤Tai,因此通过将ql替换为其数值,
Dai–Tbj+1+Dbj+1≤Tai,orDai+Dbj+1≤Tai+Tbj+1
用来计算数值ql的表达式并不局限于1。如果ql超过1,则其不具有实际意义。数值ql因此以1作为上限。
源自于图4B的情形的条件因此为:
Dai≤Tbj+1+Tbj+2
且[A.2]
qlTbj+Dbj+1≤Tai
条件A.1能够在帧Fai与至少两个连续的帧Fb交叠的情况下得到验证。条件A.2能够在帧Fai与至少三个连续的帧Fb交叠的情况下得到验证。以类似方式,可以发现能够在帧Fai与至少四个或更多连续的帧Fb交叠的情况下得到验证的条件A.3等,但是满足这样的条件的可能性快速地下降。条件A.1和A.2(以及在能够应用的情况下的A.3等)是可替换的,也就是说,这些条件中的任何一个被满足就足以跳转至其它假设的验证。
图5A和5B图示了可以被用来基于假设(B)开发兼容性标准的示例性的帧的示例。帧Fai在同时的帧Fbj的期间开始,同时该帧的同时操作Dbj正在进行。在最差情形中,如所示出的,操作Dbj刚刚开始。该情形与图4A和4B相类似,区别在于为了验证与截止期限Eai的相符性而考虑了Dbj的持续时间。
根据图5A:
Dai≤Tbj+1,并且为了遵守截止期限Eai,Dbj+Dai≤Dai+Tai,因此Dbj≤Tai
源自于图4B情形的条件因此为:
Dai≤Tbj+1
且[B.1]
Dbj≤Tai
根据图5B,遵循与图4B中相同的理由:
Dai≤Tbj+1+Tbj+2
且[B.2]
Dbj+qlTbj+Dbj+1≤Tai
如同条件A.1,条件B.1能够在帧Fai与至少两个连续的帧Fb交叠的情况下得到验证。条件B.2能够在帧Fai与至少三个连续的帧Fb交叠的情况下得到验证。以类似方式,可以发现能够在帧Fai与至少四个或更多连续的帧Fb交叠的情况下得到验证的条件B.3等,但是满足这样的条件的可能性快速地下降。条件B.1和B.2(以及在能够应用的情况下的B.3等)是可替换的,也就是说,这些条件中的任何一个被满足就足以跳转至其它假设的验证。
图6图示了能够被用来基于假设(C)开发兼容性标准的示例性的帧的示例。在假设(C)的背景下,假设操作Dbj还没有被执行。如果帧Fai的截止期限在帧Fbj的截止期限之后到达,则遇到与图5A和5B相同的情形,其中操作Dbj刚刚开始。因此,在假设(C)下,仅对帧Fai的截止期限在帧Fbj的截止期限之前发生的情形进行分析。
操作Dai和Dbj都准备在帧Fai开始时执行。可以假设的是,操作Dbj并未在其帧的开始时开始,原因在于调度条件3)还没有被满足,例如如所示出的,在操作Dai-1在帧Fai开始时在其截止期限结束。在截止期限Eai最短的情况下,操作Dai被首先启动。操作Dbj在操作Dai结束时启动。在假设(C)的限制之内的最差情形中,帧Fai和Fbj的截止期限一致,这意味着:
Dbj≤Tai[C.1]
虽然所提供的调度处理将不会以这种方式进行,但是在假设操作Dbj在帧Fai开始时开始的情况下获得该相同的不等式。为了操作Dai在其截止期限之前结束,对不等式Dbj+Dai≤Dai+Tai进行验证,即如以上相同的不等式。
每个帧Fai因此与每个帧Fbj进行比较,这确保满足了帧Fai的截止期限,然而这并未证实满足了帧Fbj的截止期限。这形成了第一验证通过(verificationpass)。随后通过将每个帧Fbj与每个帧Fai进行比较而重复上述操作以完成该验证的第二通过,由此确保满足帧Fbj的截止期限。
分别具有Na和Nb个帧的两个重复序列RSFa和RSFb的兼容性的验证可以通过以下伪代码进行概括。在该伪代码中,可替换条件以不等式左侧的表达式min(x,y)和不等式右侧的max(x,y)进行简单表示,而必要条件则以不等式右侧的表达式min(x,y)和不等式左侧的max(x,y)进行简单表示。如以上所提到的,条件A.3和B.3已经被提供以反映出帧Fai与四个帧Fbj至Fbj+3相交叠的情形。索引i和j上的操作以该索引的最大值(针对i为Na,而针对j为Nb)为模来执行,因为帧序列是能够无限重复的。
针对0和Na-1之间的每个i,do:
针对0和Nb-1之间的每个j,do:
[A.1]
ifDai≤Tbj+1then在[B.1]继续
[A.2]
ql:=(Dai–Tbj+1)/Tbj
ifql>1或Tbj=0thenql:=1
ifDai≤Tbj+1+Tbj+2
且qlTbj+Dbj+1≤Tai
then在[B.1]继续
[A.3]
ifDai≤Tbj+2+Tbj+3
且qlTbj+Dbj+1+Dbj+2+min[Tbj+1,Dai]≤Tai
then在[B.1]继续
以错误代码退出该循环
[B.1]
ifDai≤Tbj+1
且Dbj≤Tai
then在[D]继续
[B.1.1]
ql:=(Dai–Tbj+1)/Tbj
ifql>1或Tbj=0thenql:=1且在[B.2]继续
Tl:=Tai-1–(1–ql)Tbj
ifDbj-1≤Tl
then在[C.1]继续
[B.2]
ifDai≤Tbj+1+Tbj+2
且Dbj+qlTbj+Dbj+1≤Tai
then在[C.1]继续
[B.3]
ifDai≤Tbj+2+Tbj+3
且Dbj+qlTbj+Dbj+1+min[Tbj+1,Dai]+Dbj+2≤Tai
then在[C.1]继续
以错误代码退出该循环
[C.1]
ifDbj≤Tai
then在[D]继续
以错误代码退出该循环
[D]nextj
nexti
为了完成验证,如之前所指出的,可以将帧Fa和Fb交换而重复该循环。
在该循环中,根据关于上文已经描述过的替换形式,在继续进行条件B.2的评估之前,对条件B.1.1进行评估。
图7示出了示例性的帧系列,其图示了条件B.1.1的建立。帧Fai和Fbj处于与图4A相同的条件下,但是不同于在帧Fbj+1开始时开始操作Dai,假设其可以在操作Dbj之后立即开始,并且在q=ql的情况下允许这种处理的一般条件在之前的帧Fai-1和Fbj-1中进行寻找。由于条件B.1基于帧Fai和两个帧(Fbj和Fbj+1)交叠的假设,所以条件B.1.1对应于与帧Fai和三个或更多的帧交叠的情形相比更容易出现的情形。
如之前所指出的,该帧可以包括保留时间R,其可以被系统用来执行非实时任务。这样的保留时间可以被用来执行实时操作。其添加至一个序列的时间余裕T从而有助于另一序列的操作D的执行,但是其可以使得满足截止期限的条件更为严格。
非零的保留时间R尤其可以放松条件C.1。
图8示出了在条件C.1并未被满足时——也就是说如果Dbj>Tai——建立有所放松的约束的示例性的帧系列。在假设C下,假设操作Dbj在帧Fai开始时还没有开始。具有最短截止期限的操作Dai刚好在帧Fai开始时开始。帧Fbj在帧Fai之前开始,假设是在帧Fai-1的间隔Rai-1的期间开始。帧Fbj的开始与帧Fai的开始之间的间隔被表示为kRai-1,其中0≤k≤1。
如果操作Dbj在其帧Fbj开始时并未被调度,则意味着:
Dbj>kRai-1+Tai
k的极限数值被表示为kl,从而Dbj=klRai-1+Tai,因此kl=(Dbj-Tai)/Rai-1。如果k>kl,则显然操作Dbj能够在帧Fai开始之前被调度——这种情况并不应当被考虑,因为其并未适合假设C。仅考虑处于0和kl之间的k的数值。
为了操作Dai能够执行,应当满足条件Dai≤Tbj–kRai-1。最差情形是k=kl,由此:
Dai≤Tbj–klRai-1,即利用其数值替代kl:
Dai≤Tbj–(Dbj–Tai),或者
Dbj≤Tai+Tbj–Dai
系数kl最多等于1,其被表达为:
Dbj–Tai≤Rai-1,或者
Dbj≤Tai+Rai-1
最终,为了不对操作Dai+1的执行加以限制,操作Dbj并不应当与帧Fai+1交叠。这在以下情况下被满足:
Dbj≤Tai+Rai
这导致以下作为条件C.1的替代的条件:
Dbj≤Tai+Tbj–Dai
Dbj≤Tai+Rai-1[C.2]
Dbj≤Tai+Rai
以下伪代码考虑了保留时间R。
针对0和Na-1之间的每个i,do:
针对0和Nb-1之间的每个j,do:
[A.1]
ifDai≤Tbj+1then继续[B.1]
[A.2]
ql:=(Dai–Tbj+1)/(Tbj+Rbj)
ifql>1或Tbj+Rbj=0于是ql:=1
ifDai≤Tbj+1+Rbj+1+Tbj+2
且ql(Tbj+Rbj)+Dbj+1≤Tai
then在[B.1]继续
[A.3]
ifDai≤Tbj+2+Rbj+2+Tbj+3
且Dbj+1+ql(Tbj+Rbj)
+Dbj+2+min[Tbj+1+Rbj+1,Dai]≤Tai
then在[B.1]继续
以错误代码退出该循环
[B.1]
ifDai≤Rbj+Tbj+1
且Dbj≤Tai
then在[C.2]继续
ql:=(Dai–Rbj–Tbj+1)/Tbj
ifql>1或Tbj=0thenql:=1且在[B.2]继续
[B.1.1]
Tl:=Tai-1–(1–ql)Tbj+Rai-1
ifDbj-1≤Tl+min[Tbj-1+Dbj-1+Rbj-1–Tl–Dai-1,Rai-2]
then在[C.1]继续
[B.1.2]
ifDbj-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
then在[C.1]继续
[B.2]
ifDai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+qlTbj+Rbj+Dbj+1≤Tai
then在[C.1]继续
[B.3]
ifDai≤Tbj+2+Rbj+2+Tbj+3
且Dbj+qlTbj+Rbj
+Dbj+1+min[Tbj+1+Rbj+1,Dai]
+Dbj+2≤Tai
then在[C.1]继续
以错误代码退出该循环
[C.1]
ifDbj≤Tai
then在[D]继续
[C.2]
ifDbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
then在[D]继续
以错误代码退出该循环
[D]nextj
nexti
出现在该伪代码中的条件B.1.2在将搜索扩展至Fai-2和Fbj-2的情况下使用与条件B.1.1相同的方法进行确定。
截至目前,假设作为两个任务的时钟的时基是等步的,也就是说一个序列的间隔的持续时间相对于另一序列的间隔的持续时间是不变的。实际上,如同被索引至以可变速度进行移动的部件的位置的任务,可能有必要对使用非关联的时基的两个任务进行组合。
为了应对这种情形,针对每个重复序列引入可变性系数z≥1,对于序列RSFa和RSFb而言分别是za和zb。系数za和zb是固定的并且表示两个序列中的时间间隔T和R的最大减速(slowdown)。假设在之前关系中所使用的注释表示间隔的最小数值,则数值T和R中的每一个因此可以假设两个数值,T或zT以及R或zR。执行需要D保持恒定,因为它们仅取决于系统时钟。
在之前的关系中,在使用间隔找出用于执行操作的时隙的情况下,其被低估的数值T或R得以被保持。当该间隔被用来检查与截止期限的相符性时,则使用其被高估的数值zT或zR。因此得到以下伪代码。
针对0和Na-1之间的每个i,do:
针对0和Nb-1之间的每个j,do:
[A.1]
ifDai≤Tbj+1then在[B.1]继续
[A.2]
ql:=(Dai–Tbj+1)/(Tbj+Rbj)
ifql>1或Tbj+Rbj=0thenql:=1
ifDai≤Tbj+1+Rbj+1+Tbj+2
且min[ql(zb·(Tbj+Rbj)+(zb–1)Dbj),Dai]+Dbj+1≤Tai
then在[B.1]继续
[A.3]
ifDai≤Tbj+2+Rbj+2+Tbj+3
且Dbj+1+min[ql(zb·(Tbj+Rbj)+(zb–1)Dbj),Dai]
+Dbj+2+min[zb·(Tbj+1+Rbj+1)+(zb–1)Dbj+1,Dai]≤Tai
then在[B.1]继续
以错误代码退出该循环
[B.1]
ifDai≤Rbj+Tbj+1
且Dbj≤Tai
then在[C.2]继续
[B.1.1]
ql:=(Dai–Rbj–Tbj+1)/Tbj
ifql>1或Tbj=0thenql:=1且在[B.2]继续
Tl:=Tai-1–(1–ql)Tbj+Rai-1
ifDbj-1≤Tl+min[Tbj-1+Dbj-1+Rbj-1–Tl–Dai-1,Rai-2]
then在[C.1]继续
[B.1.2]
ifDbj-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
then在[C.1]继续
[B.2]
ifDai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+min[ql(zb·Tbj+(zb–1)Dbj)+zb·Rbj,Dai]
+Dbj+1≤Tai
then在[C.1]继续
[B.3]
ifDai≤Tbj+2+Rbj+2+Tbj+3
且Dbj+min[ql(zb·Tbj+(zb–1)Dbj)+zb·Rbj,Dai]
+Dbj+1+min[zb·(Tbj+1+Rbj+1)+(zb–1)Dbj+1,Dai]
+Dbj+2≤Tai
then在[C.1]继续
以错误代码退出该循环
[C.1]
ifDbj≤Tai
then在[D]继续
[C.2]
ifDbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
then在[D]继续
以错误代码退出该循环
[D]nextj
nexti
在以上所描述的调度处理的情形3)中,所考虑的时间余裕是最小值,即T而不是zT。
已经利用要以分时共享的方式执行的两个任务对以上所给出的原则进行了描述,但是它们应用于任意数量的任务。实际上,所描述的方法使得实际上可能针对两个兼容的任务组成单个定序计划。这样获得的定序计划可以使用相同的技术与第三兼容任务的定序计划再次组合,并以此类推。

Claims (6)

1.一种用于以分时共享执行两个任务的方法,包括步骤:
以与任务相关联的时基对连续帧的重复序列(RSF)中的每个任务进行离线分解,其中每个帧(F)与具有执行需求的原子操作相关联,并且定义了该操作可以开始的开始日期以及该操作必须结束的截止期限(E),由此每个帧定义了该操作可以在其中开始的时间余裕(T);
针对第一个重复序列(RSFa)中的每个帧(Fai)验证相对应的操作(Dai)能够在第二重复序列(RSFb)的帧群组(Fbj,Fbj+1)的任意两次连续操作之间执行,同时遵守操作的开始日期和截止期限,所述第二重复序列(RSFb)的帧群组(Fbj,Fbj+1)与第一重复序列中的帧交叠;并且
如果该验证被满足,则允许两个任务执行并且根据在每个关键日期所评估的以下情形对这两个任务的操作进行调度,其中关键日期在每个截止期限、每个开始日期以及每次操作结束时出现:
-如果两个操作(Da3,Db2)能够开始,则执行具有较短截止日期的操作(Da3);以及
-如果单个操作能够开始,则仅在其执行需求小于到另一序列中的下一个帧的开始日期之前的剩余时间加上与另一序列的所述下一个帧相关联的时间余裕(T)的情况下才执行它。
2.根据权利要求1所述的方法,其中每个帧(F)进一步包括位于该帧的截止期限(E)之后或者该帧的开始日期之前的保留时间间隔(R),其可以为零,其中任意一个重复序列的保留时间间隔可以被用来执行另一重复序列的操作。
3.根据权利要求2所述的方法,其中该验证步骤包括以下步骤:
·针对第一重复序列的每个帧Fai,评估第二重复序列的每个帧Fbj的以下条件:
[A.1]Dai≤Tbj+1
[B.1]Dai≤Rbj+Tbj+1
且Dbj≤Tai,和
[C.1]Dbj≤Tai
其中D、T和R是执行需求、时间余裕和保留时间,它们以重复序列标识符以及该序列中的帧编号进行索引;
·在将帧Fai和帧Fbj交换的情况下重复该条件评估;
·在三个条件[A.1]、[B.1]和[C.1]针对任一配对(i,j)都满足的情况下授权任务的执行。
4.根据权利要求3所述的方法,其中该验证步骤包括以下步骤:
·如果条件[A.1]为假,则评估以下条件:
[A.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dai+Dbj+1≤Tai+Tbj+1
·如果条件[B.1]为假,则评估以下条件:
[B.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+Dai+Dbj+1≤Tai+Tbj+1
·如果条件[C.1]为假,则评估以下条件:
[C.2]Dbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
·如果条件[A.1]或[A.2]与[B.1]或[B.2]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
5.根据权利要求3所述的方法,其中确定帧的持续时间的时基是可变的,使得时间余裕T和保留时间R针对帧Fa通过因子1至za发生变化并且针对帧Fb通过因子1至zb发生变化,该验证步骤进一步包括步骤:
·如果条件[A.1]为假,则评估以下条件:
[A.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且min[ql(zb·(Tbj+Rbj)+(zb–1)Dbj),Dai]+Dbj+1≤Tai
其中ql=(Dai–Tbj+1)/(Tbj+Rbj);
·如果条件[B.1]为假,则评估以下条件:
[B.2]Dai≤Tbj+1+Rbj+1+Tbj+2
且Dbj+min[ql(zb·Tbj+(zb–1)Dbj)+zb·Rbj,Dai]+Dbj+1≤Tai
其中ql=(Dai–Rbj–Tbj+1)/Tbj
·如果条件[C.1]为假,则评估以下条件:
[C.2]Dbj≤Tai+min[Tbj-Dai,Rai,Rai-1]
·如果条件[A.1]或[A.2]与[B.1]或[B.2]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
6.根据权利要求5所述的方法,其中该验证步骤包括以下步骤:
·如果条件[B.1]为假,则在条件[B.2]之前评估以下条件:
[B.1.1]Dai≤Tbj+Rbj+Tbj+1
且Dbj-1≤Tl+min[Tbj-1+Dbj-1+Rbj-1–Tl–Dai-1,Rai-2]
其中ql=(Dai–Rbj–Tbj+1)/Tbj且Tl=Tai-1–(1–ql)Tbj+Rai-1
·如果条件[A.1]或[A.2]与[B.1]或[B.1.1]与[C.1]或[C.2]针对每个配对(i,j)都满足,则授权任务的执行。
CN201480069234.XA 2013-12-18 2014-11-27 用于组成并执行实时任务的方法 Active CN105830030B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1362893 2013-12-18
FR1362893A FR3015067B1 (fr) 2013-12-18 2013-12-18 Procede de composition et d'execution d'un plan de sequencement de taches temps-reel
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
CN105830030A true CN105830030A (zh) 2016-08-03
CN105830030B CN105830030B (zh) 2019-07-12

Family

ID=50543160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480069234.XA Active CN105830030B (zh) 2013-12-18 2014-11-27 用于组成并执行实时任务的方法

Country Status (10)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6428493B2 (ja) * 2015-06-05 2018-11-28 株式会社デンソー 自動走行制御装置、自動走行用車載装置、自動走行制御方法
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408850A (zh) * 2008-11-27 2009-04-15 中国人民解放军信息工程大学 任务流计算模型
CN103365711A (zh) * 2013-07-03 2013-10-23 南京邮电大学 应用于物联网业务平台的任务调度机制和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2823520B2 (ja) * 1993-12-17 1998-11-11 テキサス インスツルメンツ インコーポレイテツド リアルタイムアプリケーションタスクスケジューリング及び処理システム
JPH10171667A (ja) * 1996-12-13 1998-06-26 Chokosoku Network Computer Gijutsu Kenkyusho:Kk タスク管理方法
US7234139B1 (en) * 2000-11-24 2007-06-19 Catharon Productions, Inc. Computer multi-tasking via virtual threading using an interpreter
JP4074296B2 (ja) * 2005-03-25 2008-04-09 株式会社東芝 スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
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
FR2949876B1 (fr) * 2009-09-08 2016-04-29 Thales Sa Procede d'ordonnancement temps reel d'un ensemble de taches multi-trames non cycliques
US20120079486A1 (en) * 2010-09-23 2012-03-29 International Business Machines Corporation Integration of dissimilar job types into an earliest deadline first (edf) schedule

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408850A (zh) * 2008-11-27 2009-04-15 中国人民解放军信息工程大学 任务流计算模型
CN103365711A (zh) * 2013-07-03 2013-10-23 南京邮电大学 应用于物联网业务平台的任务调度机制和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIA XU等: "Scheduling Processes with Release Times, Deadlines,Precedence, and Exclusion Relations", 《IEEE TRANSACTIONS ON SOFTWARE ENGINEERING》 *

Also Published As

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

Similar Documents

Publication Publication Date Title
AU769245B2 (en) Task scheduling and message passing
Wu et al. Multiagent scheduling method with earliness and tardiness objectives in flexible job shops
Abdelmaguid A neighborhood search function for flexible job shop scheduling with separable sequence-dependent setup times
EP1480144A1 (en) Planning and scheduling for failure recovery system and method
EP1600837A2 (en) System and method utilizing temporal constraints to coordinate multiple planning sessions
JP2004326788A (ja) 異なったジョブ優先度のシステムおよび方法のための予測可能でプリエンプティブのプラニングおよびスケジューリング
CN104166903B (zh) 基于工序划分的任务规划方法及系统
Schneider et al. Multi-layered scheduling of mixed-criticality cyber-physical systems
WO2014068950A1 (ja) データ処理システム、データ処理方法およびプログラム
Hu et al. Supervisor synthesis and performance improvement for automated manufacturing systems by using Petri nets
Zeller et al. Modeling and efficient solving of extra-functional properties for adaptation in networked embedded real-time systems
US10452425B2 (en) Apparatus and method for processing a plurality of tasks
CN105830030A (zh) 用于组成并执行实时任务的方法
Kobetski et al. Time-optimal coordination of flexible manufacturing systems using deterministic finite automata and mixed integer linear programming
US7451132B2 (en) System and method for production planning utilizing on-line state-space planning
Chen et al. A software product line process simulator
Artigues et al. A Petri net model and a general method for on and off-line multi-resource shop floor scheduling with setup times
US20110185365A1 (en) Data processing system, method for processing data and computer program product
Giebels et al. Building holarchies for concurrent manufacturing planning and control in EtoPlan
Nasri et al. Use of (max,+) algebra for scheduling and optimization of HVLV systems subject to preventive maintenance
Zhibin et al. A framework for adaptive control of virtual production systems
Khenfri et al. A novel heuristic algorithm for mapping autosar runnables to tasks
Proth et al. Production management in a Petri net environment
Schulz et al. Minimizing the expected waiting time of emergency jobs
Ruml et al. On-line planning and scheduling in a high-speed manufacturing domain

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: France Massey

Patentee after: KRONO-SAFE

Address before: Orsay

Patentee before: KRONO-SAFE