CN116186959A - 一种支持多种时序约束的嵌入式系统仿真方法与装置 - Google Patents

一种支持多种时序约束的嵌入式系统仿真方法与装置 Download PDF

Info

Publication number
CN116186959A
CN116186959A CN202210882889.5A CN202210882889A CN116186959A CN 116186959 A CN116186959 A CN 116186959A CN 202210882889 A CN202210882889 A CN 202210882889A CN 116186959 A CN116186959 A CN 116186959A
Authority
CN
China
Prior art keywords
task
simulation
model
resource
defining
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
CN202210882889.5A
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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202210882889.5A priority Critical patent/CN116186959A/zh
Publication of CN116186959A publication Critical patent/CN116186959A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明实施例公开了一种支持多种时序约束的嵌入式系统仿真方法与装置。该方法包括:建立嵌入式系统的任务模型;定义任务触发关系;定义任务间通信模型;定义系统资源模型;定义任务资源访问控制模型;定义数据访问控制模型;设置仿真参数;根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理。通过本发明,解决了传统仿真方法不能描述复杂嵌入式系统任务间关系的技术问题,达到了提高仿真结果的可靠性,同时具备方法简单、描述能力强以及容易实施的技术效果。

Description

一种支持多种时序约束的嵌入式系统仿真方法与装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种支持多种时序约束的嵌入式系统仿真方法与装置。
背景技术
嵌入式系统广泛应用于人类生活的各个方面。在航空控制、汽车电子、高精度工业控制、医疗设备等安全关键嵌入式系统中,系统中各项任务的执行具有严格时间约束,时序异常会对系统造成破坏性影响,导致严重的生命财产损失,安全关键嵌入式系统需要充分论证时序正确性。当前各类嵌入式系统时序仿真工具往往只将系统抽象为相互独立的周期任务,在指定的调度算法下仿真,判断任务是否执行超时,这种分析方法在面对复杂的嵌入式系统时,通常面临模型描述能力不足的问题,不能准确刻画复杂嵌入式系统中任务间的依赖关系。此外实际嵌入式系统中除周期产生的任务外还包括随机任务和偶发任务,周期任务的产生会受到系统实际运行情况的影响,并非严格地周期性产生,传统仿真方法不能描述随机任务和偶发任务,不能刻画系统执行过程中的抖动。传统仿真方法存在的以上问题会导致仿真结果可靠性不足,通过仿真进行时序分析的应用场景受限。
针对上述的问题,尚未提出有效地解决方案。
发明内容
本发明实施例提供了一种支持多种时序约束的嵌入式系统仿真方法与装置,以至少解决传统仿真方法不能描述复杂嵌入式系统任务间关系的技术问题。
根据本发明实施例的一个方面,提供了一种支持多种时序约束的嵌入式系统仿真方法,包括:建立嵌入式系统的任务模型,其中,所述任务模型包括周期任务、偶发任务、随机任务和事件触发任务;定义任务触发关系;定义任务间通信模型;定义系统资源模型;定义任务资源访问控制模型;定义数据访问控制模型;设置仿真参数;根据所述任务模型、所述任务触发关系、所述任务间通信模型、所述系统资源模型、所述任务资源访问控制模型、所述数据访问控制模型和所述仿真参数对所述嵌入式系统进行仿真处理;其中,所述仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,所述仿真次数是根据所述仿真参数中的仿真总时长和仿真步长确定;若所述当前仿真步数小于等于所述仿真次数,则进行所述仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若所述当前仿真步数大于所述仿真次数,则仿真结束。
可选地,建立嵌入式系统的任务模型,包括:根据所述嵌入式系统抽象出所述任务模型,其中,所述任务模型的表达式如下:
Figure BDA0003764884900000021
其中,C表示任务的最坏情况执行时间;D表示任务时限;T表示所述周期任务的周期或所述偶发任务的最小到达间隔;P表示任务优先级;SYNC表示任务的同步类型;et表示任务执行时间抖动;srt表示任务第一次释放作业的时间;Θ表示随机任务释放时间集合,Θ={rt1,...,rtn};rj表示任务释放作业时间抖动;type表示任务类型;PT表示所述周期任务;ST表示所述偶发任务;AT表示所述随机任务;ET表示所述事件触发任务。
可选地,定义任务触发关系,包括:任务释放的作业在执行完成后触发另一个任务释放作业,其中,所述任务触发关系定义为:
Figure BDA0003764884900000022
其中,τk、τj表示τi的作业触发的任务;atk表示τi的作业执行atk时长后触发任务τk;atj表示τi的作业执行atj时长后触发任务τj;Ci表示任务τi的最坏情况执行时间。
可选地,定义任务间通信模型,包括:任务在执行的过程中产生对消息的依赖,所述消息由其它任务产生,当所述任务依赖的消息存在时,所述任务继续执行,否则将被阻塞直至所述消息到达;其中,在所述任务的同步类型为true时,所述任务释放的作业产生消息后会被阻塞,直至所述任务产生的消息被其它作业使用;在所述任务的同步类型为false时,所述任务释放的作业产生消息后无需等待回令继续执行;
其中,任务τi产生消息的表达式如下:
Figure BDA0003764884900000023
其中,mn表示作业产生消息的名称;mt表示作业产生消息的时间;Ci表示任务τi的最坏情况执行时间;
作业在执行过程中依赖多个消息,任务τi在执行过程中依赖消息的表达式如下:
Figure BDA0003764884900000031
其中,dmn表示作业依赖消息的名称;dmt表示作业依赖消息的时间;Ci表示任务τi的最坏情况执行时间。
可选地,所述系统资源模型的表达式如下:
ω={name,num}
其中,ω表示被申请的资源;name表示申请资源的名称;num表示申请资源的数量。
可选地,所述任务资源访问控制模型的表达式如下:
Figure BDA0003764884900000032
其中,ωi′表示任务申请得到的资源;τi表示申请资源的任务;ω表示被申请的资源;num表示申请资源的数量。
可选地,定义数据访问控制模型,包括:任务τi申请得到的资源ωi′成为数据,在τi执行完成后,ωi′被当作其它任务τj、τk的资源resi使用;其中,当τj读resi时,resi同时被τk读取;当τj写resi时,对resi加锁,加锁成功继续执行,若在resi被加锁期间τk需要使用resi,τk将会被阻塞,写操作完成后τj释放resi,则resi被τk使用;当所有使用resi的任务执行完成后释放resi,则回收任务τi申请到的资源;
其中,任务τk读取数据的模型的表达式如下:
Figure BDA0003764884900000033
其中,ωi′表示任务τi申请得到的资源;rst表示任务τk开始读取资源的时间;ret表示任务τk结束读取资源的时间;
任务τk写数据的模型的表达式如下:
Figure BDA0003764884900000034
其中,ωi′表示任务τi申请得到的资源;wst表示任务τk开始写资源的时间;wet表示任务τk完成写资源的时间。
可选地,所述仿真参数包括仿真总时长、仿真步长及任务调度算法。
可选地,所述仿真次数的计算表达式如下:
sc=T/S
其中,sc表示所述仿真次数;T表示所述仿真总时长;S表示所述仿真步长。
根据本发明实施例的另一个方面,还提供了一种支持多种时序约束的嵌入式系统仿真装置,包括:建立模块,用于建立嵌入式系统的任务模型,其中,所述任务模型包括周期任务、偶发任务、随机任务和事件触发任务;第一定义模块,用于定义任务触发关系;第二定义模块,用于定义任务间通信模型;第三定义模块,用于定义系统资源模型;第四定义模块,用于定义任务资源访问控制模型;第五定义模块,用于定义数据访问控制模型;设置模块,用于设置仿真参数;仿真处理模块,用于根据所述任务模型、所述任务触发关系、所述任务间通信模型、所述系统资源模型、所述任务资源访问控制模型、所述数据访问控制模型和所述仿真参数对所述嵌入式系统进行仿真处理;其中,所述仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,所述仿真次数是根据所述仿真参数中的仿真总时长和仿真步长确定;若所述当前仿真步数小于等于所述仿真次数,则进行所述仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若所述当前仿真步数大于所述仿真次数,则仿真结束。
在本发明实施例中,采用建立嵌入式系统的任务模型,其中,任务模型包括周期任务、偶发任务、随机任务和事件触发任务;定义任务触发关系;定义任务间通信模型;定义系统资源模型;定义任务资源访问控制模型;定义数据访问控制模型;设置仿真参数;根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理;其中,仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,仿真次数是根据仿真参数中的仿真总时长和仿真步长确定;若当前仿真步数小于等于仿真次数,则进行仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若当前仿真步数大于仿真次数,则仿真结束。也就是说,本发明实施例可以支持多种时序约束的嵌入式系统仿真,能够对复杂嵌入式系统进行建模仿真,支持仿真嵌入式系统任务的释放抖动、执行抖动、优先次序关系、AND约束、OR约束、Fork/Join并发执行过程、任务截至时间、任务触发关系等,进而解决了传统仿真方法不能描述复杂嵌入式系统任务间关系的技术问题,达到了提高仿真结果的可靠性,同时具备方法简单、描述能力强以及容易实施的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的支持多种时序约束的嵌入式系统仿真方法的流程图;
图2为本发明实施例提供的任务τ1Fork/Join并行执行过程的流程图;
图3为本发明实施例提供的单个仿真步内的仿真流程图;
图4为本发明实施例提供的支持多种时序约束的嵌入式系统仿真装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
根据本发明实施例的一个方面,提供了一种支持多种时序约束的嵌入式系统仿真方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例提供的支持多种时序约束的嵌入式系统仿真方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,建立嵌入式系统的任务模型,其中,该任务模型包括周期任务、偶发任务、随机任务和事件触发任务;
步骤S104,定义任务触发关系;
上述任务触发关系可以表示任务间的前驱约束关系。
步骤S106,定义任务间通信模型;
步骤S108,定义系统资源模型;
步骤S110,定义任务资源访问控制模型;
步骤S112,定义数据访问控制模型;上述数据访问控制模型可以表示任务间的AND约束和/或任务间的OR约束。
步骤S114,设置仿真参数;该仿真参数包括但不限于仿真总时长、仿真步长及任务调度算法。
步骤S116,根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理;其中,仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,仿真次数是根据仿真参数中的仿真总时长和仿真步长确定;若当前仿真步数小于等于仿真次数,则进行仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若当前仿真步数大于仿真次数,则仿真结束。
在一种可选的实施方式中,上述仿真次数的计算表达式如下:
sc=T/S
其中,sc表示仿真次数;T表示仿真总时长;S表示仿真步长。
在本发明实施例中,采用建立嵌入式系统的任务模型,其中,任务模型包括周期任务、偶发任务、随机任务和事件触发任务;定义任务触发关系;定义任务间通信模型;定义系统资源模型;定义任务资源访问控制模型;定义数据访问控制模型;设置仿真参数;根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理;其中,仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,仿真次数是根据仿真参数中的仿真总时长和仿真步长确定;若当前仿真步数小于等于仿真次数,则进行仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若当前仿真步数大于仿真次数,则仿真结束。也就是说,本发明实施例可以支持多种时序约束的嵌入式系统仿真,能够对复杂嵌入式系统进行建模仿真,支持仿真嵌入式系统任务的释放抖动、执行抖动、优先次序关系、AND约束、OR约束、Fork/Join并发执行过程、任务截至时间、任务触发关系等,进而解决了传统仿真方法不能描述复杂嵌入式系统任务间关系的技术问题,达到了提高仿真结果的可靠性,同时具备方法简单、描述能力强以及容易实施的技术效果。
在一种可选的实施方式中,建立嵌入式系统的任务模型,包括:根据嵌入式系统抽象出任务模型,其中,任务模型的表达式如下:
Figure BDA0003764884900000061
其中,C表示任务的最坏情况执行时间;D表示任务时限;T表示周期任务的周期或偶发任务的最小到达间隔;P表示任务优先级;SYNC表示任务的同步类型;et表示任务执行时间抖动;srt表示任务第一次释放作业的时间;Θ表示随机任务释放时间集合,Θ={rt1,...,rtn};rj表示任务释放作业时间抖动;type表示任务类型;PT表示周期任务;ST表示偶发任务;AT表示随机任务;ET表示事件触发任务。
在一种可选的实施方式中,定义任务触发关系,包括:任务释放的作业在执行完成后触发另一个任务释放作业,其中,任务触发关系定义为:
Figure BDA0003764884900000071
其中,τk、τj表示τi的作业触发的任务;atk表示τi的作业执行atk时长后触发任务τk;atj表示τi的作业执行atj时长后触发任务τj;Ci表示任务τi的最坏情况执行时间。
在一种可选的实施方式中,定义任务间通信模型,包括:任务在执行的过程中产生对消息的依赖,消息由其它任务产生,当任务依赖的消息存在时,任务继续执行,否则将被阻塞直至消息到达;其中,在任务的同步类型为true时,任务释放的作业产生消息后会被阻塞,直至任务产生的消息被其它作业使用;在任务的同步类型为false时,任务释放的作业产生消息后无需等待回令继续执行;
其中,任务τi产生消息的表达式如下:
Figure BDA0003764884900000072
其中,mn表示作业产生消息的名称;mt表示作业产生消息的时间;Ci表示任务τi的最坏情况执行时间;
作业在执行过程中依赖多个消息,任务τi在执行过程中依赖消息的表达式如下:
Figure BDA0003764884900000073
其中,dmn表示作业依赖消息的名称;dmt表示作业依赖消息的时间;Ci表示任务τi的最坏情况执行时间。
需要说明的是,消息的依赖时间可以不同也可以相同,作业依赖消息的时间不能大于作业的最坏情况执行时间。
此外,消息任务触发机制和消息机制同时使用,可以描述复杂的任务执行流程,例如,以Fork/Join方式执行的任务。需要说明的是,Fork/Join采用分而治之的思想:基于一个任务,不断分解任务,直到子任务达到某个条件(如小于某个值)即可执行子任务;子任务处理完毕,再把子任务合并。
图2为本发明实施例提供的任务τ1Fork/Join并行执行过程的流程图,如图2所示,任务τ1使用Fork/Join并行框架,在执行中会将大任务拆分为两个子任务τ2、τ3并发执行,其中,τ3又被拆分为τ4、τ5两个子任务,τ3处理τ4、τ5计算结果,当τ2、τ3都执行完成后,τ1进行一步处理τ2、τ3的计算结果,然后τ1执行结束。使用本文模型对τ1的执行过程进行建模的结果如下所示:
Figure BDA0003764884900000081
Figure BDA0003764884900000082
Figure BDA0003764884900000083
Figure BDA0003764884900000084
任务τ1在t1时刻触发任务τ2和τ3,并且因依赖消息m2和m3而阻塞;τ2和τ3开始执行,τ2执行结束产生消息m2;τ3在t3时刻触发任务τ4和τ5,并因依赖消息m4和m5而阻塞;τ4和τ5开始执行,执行结束后分别产生消息m4和m5;τ3获取依赖的消息继续执行,执行结束后产生消息m3;τ1获取依赖的消息m2和m3继续执行,直至执行结束。
在一种可选的实施方式中,系统资源模型的表达式如下:
ω={name,num}
其中,ω表示被申请的资源;name表示申请资源的名称;num表示申请资源的数量。
在一种可选的实施方式中,任务需要获取全部资源才能开始执行,否则将会被阻塞,直至获取全部资源,任务资源访问控制模型的表达式如下:
Figure BDA0003764884900000085
其中,ωi′表示任务申请得到的资源;τi表示申请资源的任务;ω表示被申请的资源;num表示申请资源的数量。
在一种可选的实施方式中,定义数据访问控制模型,包括:任务τi申请得到的资源ωi′成为数据,在τi执行完成后,ωi′被当作其它任务τj、τk的资源resi使用,即τi执行完成后,τj、τk才能执行。τj使用resi的方式有读、写两种方式,当τj读resi时,resi同时被τk读取;当τj写resi时,对resi加锁,加锁成功继续执行,若在resi被加锁期间τk需要使用resi,τk将会被阻塞,写操作完成后τj释放resi,则resi被τk使用;当所有使用resi的任务执行完成后释放resi,此时系统回收任务τi申请到的资源;
其中,任务τk读取数据的模型的表达式如下:
Figure BDA0003764884900000086
其中,ωi′表示任务τi申请得到的资源;rst表示任务τk开始读取资源的时间;ret表示任务τk结束读取资源的时间;
任务τk写数据的模型的表达式如下:
Figure BDA0003764884900000091
其中,ωi′表示任务τi申请得到的资源;wst表示任务τk开始写资源的时间;wet表示任务τk完成写资源的时间。
进一步地,上述数据访问控制模型可以表示任务间的AND约束,如τk必须在τi和τj执行结束后才能执行,模型表示如下:
Figure BDA0003764884900000092
Figure BDA0003764884900000093
Figure BDA0003764884900000094
Figure BDA0003764884900000095
上述数据访问控制模型可以表示任务间的OR约束,如τk在τi或τj执行结束后才能执行,模型表示如下:
Figure BDA0003764884900000096
Figure BDA0003764884900000097
Figure BDA0003764884900000098
图3为本发明实施例提供的单个仿真步内的仿真流程图,如图3所示,仿真步的仿真包括如下实施步骤:读取系统模型;计算全局虚拟时钟频率;根据全局虚拟时钟计算仿真总周期;确定作业和中断产生的周期;判断是否到达作业产生周期;若是则任务释放作业,然后再判断是否到达中断产生周期,若否则直接判断是否到达中断产生周期;判断是否到达中断产生周期,若是则中断产生,然后根据调度算法将中断和作业分配到内核,若否则直接根据调度算法将中断和作业分配到内核;在根据调度算法将中断和作业分配到内核之后,同步内核执行,此时两个内核执行过程相同,直至两个内核执行结束,例如,判断局部虚拟时钟是否跳变,若是则局部虚拟时钟加一,然后内核执行中断和作业,最后记录内核执行过程,若否则直接记录内核执行过程;在内核执行结束后,全局虚拟时钟周期加一,然后判断全局虚拟时钟周期是否大于仿真总周期,若是则得到分析仿真结果,若否则继续执行判断是否到达作业产生周期及该判断以后的相关步骤。
根据本发明实施例的另一个方面,还提供了一种支持多种时序约束的嵌入式系统仿真装置。图4为本发明实施例提供的支持多种时序约束的嵌入式系统仿真装置的示意图,如图4所示,该支持多种时序约束的嵌入式系统仿真装置包括:建立模块402、第一定义模块404、第二定义模块406、第三定义模块408、第四定义模块410、第五定义模块412、设置模块414和仿真处理模块416。下面对该支持多种时序约束的嵌入式系统仿真装置进行详细说明。
建立模块402,用于建立嵌入式系统的任务模型,其中,任务模型包括周期任务、偶发任务、随机任务和事件触发任务;
第一定义模块404,连接至上述建立模块402,用于定义任务触发关系;
第二定义模块406,连接至上述第一定义模块404,用于定义任务间通信模型;
第三定义模块408,连接至上述第二定义模块406,用于定义系统资源模型;
第四定义模块410,连接至上述第三定义模块408,用于定义任务资源访问控制模型;
第五定义模块412,连接至上述第四定义模块410,用于定义数据访问控制模型;
设置模块414,连接至上述第五定义模块412,用于设置仿真参数;
仿真处理模块416,连接至上述设置模块414,用于根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理;其中,仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,仿真次数是根据仿真参数中的仿真总时长和仿真步长确定;若当前仿真步数小于等于仿真次数,则进行仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若当前仿真步数大于仿真次数,则仿真结束。
此处需要说明的是,上述建立模块402、第一定义模块404、第二定义模块406、第三定义模块408、第四定义模块410、第五定义模块412、设置模块414和仿真处理模块416对应于方法实施例中的步骤S102至S116,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述方法实施例所公开的内容。
在本发明实施例中,该支持多种时序约束的嵌入式系统仿真装置采用建立嵌入式系统的任务模型,其中,任务模型包括周期任务、偶发任务、随机任务和事件触发任务;定义任务触发关系;定义任务间通信模型;定义系统资源模型;定义任务资源访问控制模型;定义数据访问控制模型;设置仿真参数;根据任务模型、任务触发关系、任务间通信模型、系统资源模型、任务资源访问控制模型、数据访问控制模型和仿真参数对嵌入式系统进行仿真处理;其中,仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,仿真次数是根据仿真参数中的仿真总时长和仿真步长确定;若当前仿真步数小于等于仿真次数,则进行仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若当前仿真步数大于仿真次数,则仿真结束。也就是说,本发明实施例可以支持多种时序约束的嵌入式系统仿真,能够对复杂嵌入式系统进行建模仿真,支持仿真嵌入式系统任务的释放抖动、执行抖动、优先次序关系、AND约束、OR约束、Fork/Join并发执行过程、任务截至时间、任务触发关系等,进而解决了传统仿真方法不能描述复杂嵌入式系统任务间关系的技术问题,达到了提高仿真结果的可靠性,同时具备方法简单、描述能力强以及容易实施的技术效果。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行上述中任一项的方法步骤。
根据本发明实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述中任一项的方法步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种支持多种时序约束的嵌入式系统仿真方法,其特征在于,包括:
建立嵌入式系统的任务模型,其中,所述任务模型包括周期任务、偶发任务、随机任务和事件触发任务;
定义任务触发关系;
定义任务间通信模型;
定义系统资源模型;
定义任务资源访问控制模型;
定义数据访问控制模型;
设置仿真参数;
根据所述任务模型、所述任务触发关系、所述任务间通信模型、所述系统资源模型、所述任务资源访问控制模型、所述数据访问控制模型和所述仿真参数对所述嵌入式系统进行仿真处理;其中,所述仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,所述仿真次数是根据所述仿真参数中的仿真总时长和仿真步长确定;若所述当前仿真步数小于等于所述仿真次数,则进行所述仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若所述当前仿真步数大于所述仿真次数,则仿真结束。
2.根据权利要求1所述的方法,其特征在于,建立嵌入式系统的任务模型,包括:
根据所述嵌入式系统抽象出所述任务模型,其中,所述任务模型的表达式如下:
Figure FDA0003764884890000011
其中,C表示任务的最坏情况执行时间;D表示任务时限;T表示所述周期任务的周期或所述偶发任务的最小到达间隔;P表示任务优先级;SYNC表示任务的同步类型;et表示任务执行时间抖动;srt表示任务第一次释放作业的时间;Θ表示随机任务释放时间集合,Θ={rt1,...,rtn};rj表示任务释放作业时间抖动;type表示任务类型;PT表示所述周期任务;ST表示所述偶发任务;AT表示所述随机任务;ET表示所述事件触发任务。
3.根据权利要求1所述的方法,其特征在于,定义任务触发关系,包括:
任务释放的作业在执行完成后触发另一个任务释放作业,其中,所述任务触发关系定义为:
Figure FDA0003764884890000021
其中,τk、τj表示τi的作业触发的任务;atk表示τi的作业执行atk时长后触发任务τk;atj表示τi的作业执行atj时长后触发任务τj;Ci表示任务τi的最坏情况执行时间。
4.根据权利要求1所述的方法,其特征在于,定义任务间通信模型,包括:
任务在执行的过程中产生对消息的依赖,所述消息由其它任务产生,当所述任务依赖的消息存在时,所述任务继续执行,否则将被阻塞直至所述消息到达;其中,在所述任务的同步类型为true时,所述任务释放的作业产生消息后会被阻塞,直至所述任务产生的消息被其它作业使用;在所述任务的同步类型为false时,所述任务释放的作业产生消息后无需等待回令继续执行;
其中,任务τi产生消息的表达式如下:
Figure FDA0003764884890000022
其中,mn表示作业产生消息的名称;mt表示作业产生消息的时间;Ci表示任务τi的最坏情况执行时间;
作业在执行过程中依赖多个消息,任务τi在执行过程中依赖消息的表达式如下:
Figure FDA0003764884890000023
其中,dmn表示作业依赖消息的名称;dmt表示作业依赖消息的时间;Ci表示任务τi的最坏情况执行时间。
5.根据权利要求1所述的方法,其特征在于,所述系统资源模型的表达式如下:
ω={name,num}
其中,ω表示被申请的资源;name表示申请资源的名称;num表示申请资源的数量。
6.根据权利要求1所述的方法,其特征在于,所述任务资源访问控制模型的表达式如下:
Figure FDA0003764884890000024
其中,ωi′表示任务申请得到的资源;τi表示申请资源的任务;ω表示被申请的资源;num表示申请资源的数量。
7.根据权利要求1所述的方法,其特征在于,定义数据访问控制模型,包括:
任务τi申请得到的资源ωi′成为数据,在τi执行完成后,ωi′被当作其它任务τj、τk的资源resi使用;其中,当τj读resi时,resi同时被τk读取;当τj写resi时,对resi加锁,加锁成功继续执行,若在resi被加锁期间τk需要使用resi,τk将会被阻塞,写操作完成后τj释放resi,则resi被τk使用;当所有使用resi的任务执行完成后释放resi,则回收任务τi申请到的资源;
其中,任务τk读取数据的模型的表达式如下:
Figure FDA0003764884890000031
其中,ωi′表示任务τi申请得到的资源;rst表示任务τk开始读取资源的时间;ret表示任务τk结束读取资源的时间;
任务τk写数据的模型的表达式如下:
Figure FDA0003764884890000032
其中,ωi′表示任务τi申请得到的资源;wst表示任务τk开始写资源的时间;wet表示任务τk完成写资源的时间。
8.根据权利要求1所述的方法,其特征在于,所述仿真参数包括仿真总时长、仿真步长及任务调度算法。
9.根据权利要求1至8中任意一项所述的方法,其特征在于,所述仿真次数的计算表达式如下:
sc=T/S
其中,sc表示所述仿真次数;T表示所述仿真总时长;S表示所述仿真步长。
10.一种支持多种时序约束的嵌入式系统仿真装置,其特征在于,包括:
建立模块,用于建立嵌入式系统的任务模型,其中,所述任务模型包括周期任务、偶发任务、随机任务和事件触发任务;
第一定义模块,用于定义任务触发关系;
第二定义模块,用于定义任务间通信模型;
第三定义模块,用于定义系统资源模型;
第四定义模块,用于定义任务资源访问控制模型;
第五定义模块,用于定义数据访问控制模型;
设置模块,用于设置仿真参数;
仿真处理模块,用于根据所述任务模型、所述任务触发关系、所述任务间通信模型、所述系统资源模型、所述任务资源访问控制模型、所述数据访问控制模型和所述仿真参数对所述嵌入式系统进行仿真处理;其中,所述仿真处理包括:在每个仿真步开始时,判断当前仿真步数是否小于等于仿真次数,其中,所述仿真次数是根据所述仿真参数中的仿真总时长和仿真步长确定;若所述当前仿真步数小于等于所述仿真次数,则进行所述仿真步的仿真,依次执行任务释放作业、作业调度、资源分配、数据分配、作业产生消息、作业依赖消息、作业产生数据、作业依赖数据以及资源回收操作;若所述当前仿真步数大于所述仿真次数,则仿真结束。
CN202210882889.5A 2022-07-26 2022-07-26 一种支持多种时序约束的嵌入式系统仿真方法与装置 Pending CN116186959A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210882889.5A CN116186959A (zh) 2022-07-26 2022-07-26 一种支持多种时序约束的嵌入式系统仿真方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210882889.5A CN116186959A (zh) 2022-07-26 2022-07-26 一种支持多种时序约束的嵌入式系统仿真方法与装置

Publications (1)

Publication Number Publication Date
CN116186959A true CN116186959A (zh) 2023-05-30

Family

ID=86433245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210882889.5A Pending CN116186959A (zh) 2022-07-26 2022-07-26 一种支持多种时序约束的嵌入式系统仿真方法与装置

Country Status (1)

Country Link
CN (1) CN116186959A (zh)

Similar Documents

Publication Publication Date Title
EP2264595A1 (en) Workflow-definition alteration program, workflow-definition alteration method, and workflow-definition alteration device
Cordovilla et al. Developing critical embedded systems on multicore architectures: the Prelude-SchedMCore toolset
CN108717380B (zh) 消息处理方法和装置
CN111711623A (zh) 一种数据校验的方法及装置
CN111641678A (zh) 任务调度方法、装置、电子设备及介质
Bate et al. An integrated approach to scheduling in safety-critical embedded control systems
CN112631744A (zh) 进程处理方法、装置、电子设备及计算机可读存储介质
CN106775620B (zh) 一种定时方法及装置
CN103677749B (zh) 用于控制处理器指令执行的系统和方法
Clarke et al. Testing real-time constraints in a process algebraic setting
Thilakasiri et al. An exact schedulability analysis for global fixed-priority scheduling of the aer task model
CN116186959A (zh) 一种支持多种时序约束的嵌入式系统仿真方法与装置
David et al. Schedulability of Herschel revisited using statistical model checking
CN111381937A (zh) 一种基于时间基线的实验场景快照生成系统及方法
CN110162569A (zh) 基于gg同步进程的数据处理方法、装置及计算机设备
CN115269730A (zh) 宽表同步方法及装置
de la Cámara et al. Model extraction for arinc 653 based avionics software
CN115496016A (zh) 一种双时钟多核嵌入式并发时序仿真方法及装置
CN112162845B (zh) 一种业务进程同步的方法及装置
CN115269136A (zh) 一种异构多核平台分区操作系统安全调度方法及系统
CN113094260A (zh) 一种分布式系统时序关系建模与仿真分析方法
Belarbi et al. Temporal verification of real-time multitasking application properties based on communicating timed automata
JPWO2008152910A1 (ja) ワークフロー定義変更プログラムおよびワークフロー定義変更方法
CN117082307B (zh) 基于流畅度提升的三维场景流数据播放控制方法和设备
CN111124697A (zh) 面向分布式平台的任务同步和执行方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination