基于制造技术

技术编号:39841610 阅读:9 留言:0更新日期:2023-12-29 16:29
本发明专利技术公开了一种基于

【技术实现步骤摘要】
基于Event

B形式化的实时调度算法可调度性建模和验证方法、系统及应用


[0001]本专利技术属于调度算法验证
,涉及一种用
Event

B
方法建模实时调度算法的可调度性并结合模型检测对可调度性性质进行验证的方法

系统及应用


技术介绍

[0002]实时操作系统是一种特殊的操作系统,其被设计来运行一些具有严格时间限制的实时应用

如果不能满足实时应用的严格时间限制往往会导致系统出错以及故障,实时系统经常被应用在航空领域

医疗器械以及交通运输等时间关键性领域

[0003]实时调度算法要求满足周期性任务的可调度性,并提高非周期性任务的响应时间,实时调度的可调度性是实时系统的基础,可以通过模型检测的方法对给定的系统环境设定和调度算法检测所建模型的特殊的不可调度状态的可达性来反映系统的可调度性,现有的方法往往针对特定的调度模块和算法,建模难度较大,缺乏由简单到具体的渐进建模的过程

[0004]Event

B
作为一种建模和验证的形式化方法,具有严格而精确的数学逻辑和语义
。Rodin
平台作为
Event

B
的建模环境,集成了多种模型检测和自动化验证的工具,可以从多个调度观察模型的行为轨迹,基于
Event

B
的精化思想,对实时调度算法进行建模,并通过精化路线的方法可以在抽象模型的基础上,逐渐增加模型的细节以及需要覆盖验证的需求

在对时间属性性质建模方面,
Event

B
缺乏对建模时间的显式支持,但可以通过经典的
trigger

response
模式对时钟进行模拟,并对与时间有关的约束和性质进行形式化定义,并且还可以通过
Rodin
平台内置的模型检测器可以通过模型检测的方法来结合模型验证可调度性性质


技术实现思路

[0005]为了解决现有技术存在的不足,本专利技术的目的是提供一种基于
Event

B
形式化方法的实时调度算法可调度性建模和验证方法

系统及应用

[0006]调度算法的可调度性指的是一个任务集合是否可以被给定的调度算法在给定的系统资源约束下进行有效调度的属性

可调度性常应用在实时系统和并行计算等领域中

[0007]可调度性的主要目标是确保任务集合中的每个任务都能按照其截止时间要求在系统中得到调度和执行

如果一个任务集合是可调度的,那么可以找到一个调度方案,使得所有任务能够满足其截止时间,并且系统资源被充分利用

[0008]可调度性的评估依赖于任务的执行时间

截止时间以及系统资源的约束条件

常见的可调度性分析方法包括周期性任务模型和抢占式调度算法的分析

通过这些方法,可以判断任务集合是否满足调度算法的约束条件,从而确定可调度性

[0009]对于实时系统来说,可调度性是至关重要的,因为它涉及任务的及时响应和满足实时性要求

如果任务集合不可调度,可能会导致任务错失截止时间,引发系统不可预测的
行为和性能下降

[0010]总而言之,调度算法的可调度性是指一个任务集合是否可以在给定的系统资源约束下满足任务的截止时间要求,并通过有效的调度方法进行执行

[0011]本专利技术的创新点在于通过
Event

B
形式化语言对实时调度算法进行形式化的建模,步骤1和步骤2所构建的模型能够满足实时调度算法的环境以及功能需求,并且还体现在将实时调度算法所关心的可调度性性质的验证放在统一的形式化模型中进行验证,在后续的步骤
3、4、5
中本专利技术提供了一种验证方法,将复杂的可调度性问题转化为模型死锁问题,并通过已有的自动化模型检测工具对模型的死锁性进行检测

[0012]本专利技术利用
Event

B
建模平台
Rodin
完成对实时调度算法的多层精化建模,总结提取实时调度算法所需满足需求,将需求按照环境需求和功能需求进行分类,并根据所分需求的实现相关性和复杂程度将需求分层进行精化,对实时调度算法最关心的周期性时间的严格约束,建立不变式表示实时调度算法满足的可调度性性质,将可调度性性质的验证转化为模型的死锁性的验证,并利用模型检测的方法检测形式化模型的死锁性,根据死锁性的检测结果验证系统的可调度性

[0013]本专利技术中将可调度性性质的验证转化为模型的死锁性的验证是指通过验证模型是否会进入死锁状态来判断系统的可调度性

[0014]在本专利技术中,通过建立
Event

B
模型来表示实时调度算法的可调度性要求,并定义了不变式来描述该性质

然而,仅仅定义不变式并不能完全保证模型的可调度性,因为在特定的参数集下,模型可能会出现死锁情况,即系统无法按照调度流程继续执行,导致任务无法完成

[0015]因此,为了进一步验证模型的可调度性,本专利技术引入了
ProB
模型检查器来检测模型是否会进入死锁状态

通过对模型的状态空间进行有限化,即限制模型的变量和事件的取值范围,然后使用模型检测技术来分析模型的行为

如果模型在任何一条事件执行轨迹下无法继续推进,即出现死锁状态,那么可以得出结论该模型不满足可调度性要求

[0016]因此,将可调度性性质的验证转化为模型的死锁性的验证是一种转换思路,通过检测模型是否会进入死锁状态,间接判断系统是否满足可调度性

这种转化可以简化可调度性的验证过程,并利用模型检测技术提供更全面的分析和评估,以确保系统在给定的任务集下能够满足调度要求

[0017]具体地,本专利技术提出的基于
Event

B
形式化方法的实时调度算法可调度性建模和验证方法包括如下步骤:
[0018]步骤1:使用
Event

B
建模运行调度算法的操作系统环境模型,用常量和公理来对环境满足的静态设定和需求进行构建,用事件来模拟操作系统任务状态之间的切换以及调度选择的动作;
[0019]步骤2:在
Event

B
模型中,建模实时调度算法的可调度性需求,即对给定系统中的任意一个周期性任务,都要确保其严格的时间约束性质,在创建后的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
Event

B
形式化的实时调度算法可调度性建模和验证方法,其特征在于,包括如下步骤:步骤1:建立运行调度算法的操作系统环境模型,并模拟任务状态切换和调度选择动作;步骤2:在
Event

B
模型中建模实时调度算法的可调度性需求;步骤3:通过实例化模型中的任务集,对可调度性进行验证;步骤4:检测模型是否会达到死锁状态,确定模型是否满足可调度性要求;步骤5:设置机制缩减模型的状态空间为有限个,检测模型死锁性,根据检测结果反应模型是否具有可调度性
。2.
如权利要求1所述的基于
Event

B
形式化的实时调度算法可调度性建模和验证方法,其特征在于,步骤1中,使用
Event

B
建模运行调度算法的操作系统环境模型,用常量和公理来对环境满足的静态设定和需求进行构建,用事件来模拟操作系统任务状态之间的切换以及调度选择的动作;步骤2中,对给定系统中的任意一个周期性任务,在创建后的每个周期内保证其完成时间早于其规定的截止日期;用
Event

B
语言中的不变式形式化定义可调度性,通过证明可调度性性质的不变式产生的证明义务,确保模型任意事件对系统变量的更改都不会导致模型违背可调度性
。3.
如权利要求2所述的基于
Event

B
形式化的实时调度算法可调度性建模和验证方法,其特征在于,所述步骤1包括以下步骤:步骤
11
:在
Event

B

Context
中声明自定义任务类型集合和自定义任务状态类型集合,根据实时调度算法的需求将任务的类型根据是否为周期性任务的要求进行分类;步骤
12
:在
Event

B

Machine
中用变量声明系统任务的就绪

阻塞以及运行集合,并增加辅助的变量用以控制调度流程,建模事件对应任务的状态转换以及调度选择的动作,并根据任务的类型对不同类型任务的同一动作进行精化区分
。4.
如权利要求2所述的基于
Event

B
形式化的实时调度算法可调度性建模和验证方法,其特征在于,所述步骤2包括以下步骤:步骤
21
:在
Event

B

Context
中,声明常量表示任务的执行时间;步骤
22
:在
Event

B

Machine
中,定义实时调度算法的可调度性,增加变量分别表示周期性任务的创建时间戳和结束时间戳,建立可调度性性质的不变式,用不变式形式化周期性任务在每个周期内都保证其完成时间早于其规定的截止日期的可调度性性质
。5.
如权利要求1所述的基于
Event

B
形式化的实时调度算法可调度性建模和验证方法,其特征在于,所述步骤3包括:将步骤2得...

【专利技术属性】
技术研发人员:李钦全嘉乐
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1