基于资源竞争模型的AADL模型可调度性验证方法技术

技术编号:11414362 阅读:107 留言:0更新日期:2015-05-06 13:57
本发明专利技术公开了一种基于资源竞争模型的AADL模型可调度性验证方法,用于解决现有AADL模型的可调度性分析方法耗时长的技术问题。技术方案是通过分析AADL架构模型中构件间的交互关系得到线程执行顺序关系,并根据这些连接关系生成进程的并发体集合、线程的干扰集。从而建立系统的可调度性分析模型—资源竞争模型。将线程构件的执行时间属性以及利用资源竞争模型计算得到的响应时间相加,并与线程构件的截止时间属性相比较从而得到系统中各个构件的可调度性,进而分析整个系统的可调度性。避免了利用自动机模型时遇到复杂系统会造成状态过多难以计算的问题,对于结构复杂的AADL模型可以在短时间内计算出系统的可调度性分析结果。

【技术实现步骤摘要】
基于资源竞争模型的AADL模型可调度性验证方法
本专利技术涉及一种AADL模型可调度性验证方法,特别涉及一种基于资源竞争模型的AADL模型可调度性验证方法。
技术介绍
文献“基于UPPAAL的AADL模型可调度性验证.计算机应用,2009,(7)”公开了一种针对AADL模型的可调度性分析方法。该方法将AADL模型之中的各个构建的时间属性与状态转换利用时间自动机来描述。通过制定转换规则,将AADL模型转换为时间自动机模型,并使用时间自动机分析工具UPPAAL来进行计算,从而得到AADL模型的可调度性分析结果。文献方法通过计算转化的时间自动机的错误状态的可达性来判断AADL模型的可调度性,但是当AADL模型较为复杂时,转化为时间自动机的状态很庞大,可能造成无法计算或者计算起来十分耗时。因此该方法当需要分析的AADL模型较为复杂时会存在一定的缺陷,计算将十分耗时甚至无法得到结果。
技术实现思路
为了克服现有AADL模型的可调度性分析方法耗时长的不足,本专利技术提供一种基于资源竞争模型的AADL模型可调度性验证方法。该方法对AADL模型进行测试,验证模型的相关时间属性满足可调度性要求。通过分析AADL架构模型中构件间的交互关系得到线程执行顺序关系,即同步关系或并发关系,并根据这些连接关系生成进程的并发体集合、线程的干扰集。从而建立系统的可调度性分析模型—资源竞争模型。在此基础上,将线程构件的执行时间属性以及利用资源竞争模型计算得到的响应时间相加,并与线程构件的截止时间属性相比较从而得到系统中各个构件的可调度性,进而分析整个系统的可调度性。避免了利用自动机模型时遇到复杂系统会造成状态过多难以计算的问题,对于结构复杂的AADL模型可以在短时间内计算出系统的可调度性分析结果。本专利技术解决其技术问题所采用的技术方案:一种基于资源竞争模型的AADL模型可调度性验证方法,其特点是包括以下步骤:步骤一、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统中各个进程的并发体的集合,系统的并发体集合用CS表示。步骤二、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统的线程干扰集集合,用InterS表示。为每个进程建立完并发体集合后,针对进程Pi中的任意一个线程Tij,建立其干扰集Interij:1)分析与线程Tij在同一个进程中的线程:如果线程Tiv和线程Tij是并发关系,即TivCTij,并且线程Tiv的优先级不低于线程Tij,那么Tiv属于Tij的并发集,即通过分析进程Pi中的每个线程,建立线程Tij的并发集2)分析与线程Tij在不同进程中的线程:对于与线程Tij不在同一个进程中的线程,即Pl中的线程,其中l≠i,选择进程Pl中线程执行时间之和最大的并发体,把这个并发体中的线程加入线程Tij的干扰集Interij中,作为进程Pl(l≠i)中的线程的代表。在计算各个并发体中线程执行时间之和之前,需要针对下面两种情况对并发体进行裁剪:i.并发体中有线程通过进程连接而与线程Tij形成连接关系;ii.并发体中有线程的优先级低于线程Tij。完成从并发体中裁剪掉这些线程之后,计算各个并发体中剩余的线程的执行时间之和,然后找出与线程Tij所在的进程不同的各个进程中的并发体,并选择线程的执行时间之和最大的并发体,将该并发体中裁剪完剩余的线程加入到线程Tij的干扰集Interij中;将计算得到的线程Tij的并发集中的线程加入到干扰集Interij中,完成线程Tij的干扰集Interij的建立。步骤三、由步骤一、二的结果得到系统的资源竞争模型,所述资源竞争模型由一个四元组描述,即RCM=(PS,TS,CS,InterS),其中,PS是系统的进程集合,由系统中全部N个进程组成,而Pi表示系统中的任意一个进程,所以PS={P1,…,Pi,…,PN};TS是系统中全部线程组成的集合,TSi表示系统中某个进程Pi中所有线程组成的集合。如果系统由进程P1,…,Pi,…,PN这些进程构成,那么每个进程都对应一个线程集合,即TS1,…,TSi,…,TSN,那么整个系统的线程集合TS=TS1∪…∪TSi…∪TSN。另外,如果进程Pi中有Mi个线程,那么TSi是其对应的线程集合,则CS是系统的并发体集合,由所有进程中的并发体组成,而CSi表示进程Pi中的所有并发体构成的集合,是CS的一个子集,所以CS=CS1∪…∪CSi…∪CSN。另外,如果进程Pi中有Si个并发体,那么是其对应的并发体,则InterS是系统的线程干扰集集合,与线程集合TS一一对应,TS中的每个线程对应InterS中的一个干扰集,即Interij是线程Tij对应的干扰集,所以InterS是一个由集合组成的集合,是线程Tij对应的并发集,而且是Interij的真子集,也就是步骤四、基于系统的资源竞争模型中各个线程的干扰集来计算该线程的响应时间;线程Tij需要等待其干扰集中所有线程执行完成并释放处理器资源才能开始执行,所以其响应时间R(Tij)就是其干扰集Interij中所有线程的执行时间之和,如公式(1)所示。其中Txy是线程Tij的干扰集Interij中的一个线程,而E(Txy)是线程Txy的执行时间。步骤五、将每个线程的响应时间和执行时间之和与其截止期限属性进行比较,获得每个线程的可调度性;计算出各个线程的响应时间后,从系统的AADL模型中的构件属性中直接获得各个线程的执行时间和截止期限属性,对各个线程构件的可调度性和整个系统的可调度性进行判断。整个系统的可调度性进行判断根据下面两条规则:规则1:在一个给定处理器资源的系统中,Tij是其中的一个线程,R(Tij)是该线程的响应时间,E(Tij)是该线程的执行时间,而是该线程的截止期限(Deadline)属性值,如果满足完成线程Tij调度。规则2:在一个给定处理器资源的系统中,如果任意一个线程Tij都能够被成功调度,那么该系统就能够被成功调度。根据上面介绍的可调度性分析方法和两条判断规则,根据系统的AADL模型静态计算分析出其可调度性。本专利技术的有益效果是:该方法对AADL模型进行测试,验证模型的相关时间属性满足可调度性要求。通过分析AADL架构模型中构件间的交互关系得到线程执行顺序关系,即同步关系或并发关系,并根据这些连接关系生成进程的并发体集合、线程的干扰集。从而建立系统的可调度性分析模型—资源竞争模型。在此基础上,将线程构件的执行时间属性以及利用资源竞争模型计算得到的响应时间相加,并与线程构件的截止时间属性相比较从而得到系统中各个构件的可调度性,进而分析整个系统的可调度性。避免了利用自动机模型时遇到复杂系统会造成状态过多难以计算的问题,对于结构复杂的AADL模型可以在短时间内计算出系统的可调度性分析结果。下面结合附图和具体实施方式对本专利技术作详细说明。附图说明图1是本专利技术基于资源竞争模型的AADL模型可调度性验证方法的流程图。图2是本专利技术方法实施例的系统结构图。具体实施方式参照图1-2。本专利技术基于资源竞争模型的AADL模型可调度性验证方法具体步骤如下:步骤一:通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统中各个进程的并发体的集合,系统的并发体集合用CS表示本文档来自技高网...
基于资源竞争模型的AADL模型可调度性验证方法

【技术保护点】
一种基于资源竞争模型的AADL模型可调度性验证方法,其特征在于包括以下步骤:步骤一、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统中各个进程的并发体的集合,系统的并发体集合用CS表示;步骤二、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统的线程干扰集集合,用InterS表示;为每个进程建立完并发体集合后,针对进程Pi中的任意一个线程建立其干扰集1)分析与线程在同一个进程中的线程:如果线程和线程是并发关系,即并且线程的优先级不低于线程那么属于的并发集,即通过分析进程Pi中的每个线程,建立线程的并发集2)分析与线程在不同进程中的线程:对于与线程不在同一个进程Pl(l≠i)中的线程,选择进程Pl中线程执行时间之和最大的并发体,把这个并发体中的线程加入线程的干扰集中,作为进程Pl(l≠i)中的线程的代表;在计算各个并发体中线程执行时间之和之前,需要针对下面两种情况对并发体进行裁剪:i.并发体中有线程通过进程连接而与线程形成连接关系;ii.并发体中有线程的优先级低于线程完成从并发体中裁剪掉这些线程之后,计算各个并发体中剩余的线程的执行时间之和,然后找出与线程所在的进程不同的各个进程中的并发体,并选择线程的执行时间之和最大的并发体,将该并发体中裁剪完剩余的线程加入到线程的干扰集中;将计算得到的线程的并发集中的线程加入到干扰集中,完成线程的干扰集的建立;步骤三、由步骤一、二的结果得到系统的资源竞争模型,所述资源竞争模型由一个四元组描述,即RCM=(PS,TS,CS,InterS),其中,PS是系统的进程集合,由系统中全部N个进程组成,而Pi表示系统中的任意一个线程,所以PS={P1,…,Pi,…,PN};TS是系统中全部线程组成的集合,TSi表示系统中某个进程Pi中所有线程组成的集合;如果系统由进程P1,…,Pi,…,PN这些进程构成,那么每个进程都对应一个线程集合,即TS1,…,TSi,…,TSN,那么整个系统的线程集合TS=TS1∩…∩TSi…∩TSN;另外,如果进程Pi中有Mi个线程,那么TSi是其对应的线程集合,则CS是系统的并发体集合,由所有进程中的并发体组成,而CSi表示进程Pi中的所有并发构成的集合,是CS的一个子集,所以CS=CS1∩…∩CSi…∩CSN;另外,如果进程Pi中有Si个并发体,那么是其对应的并发体集合,则InterS是系统的线程干扰集集合,与线程集合TS一一对应,TS中的每个线程对应InterS中的一个干扰集,即是线程对应的干扰集,所以InterS是一个由集合组成的集合,InterS={Inter11,...,Inter1M1,...,Interij,...,InterNMN};]]>是线程对应的并发集,而且是的真子集,也就是步骤四、基于系统的资源竞争模型中各个线程的干扰集来计算该线程的响应时间;线程需要等待其干扰集中所有线程执行完成并释放处理器资源才能开始执行,所以其响应时间就是其干扰集中所有线程的执行时间之和,如公式(1)所示;R(Tij)=ΣTxy∈InterijE(Txy)---(1)]]>其中是线程的干扰集中的一个线程,而是线程的执行时间;步骤五、将每个线程的响应时间和执行时间之和与其截止期限属性进行比较,获得每个线程的可调度性;计算出各个线程的响应时间后,从系统的AADL模型中的构件属性中直接获得各个线程的执行时间和截止期限属性,对各个线程构件的可调度性和整个系统的可调度性进行判断;整个系统的可调度性进行判断根据下面两条规则:规则1:在一个给定处理器资源的系统中,是其中的一个线程,是该线程的响应时间,是该线程的执行时间,而是该线程的截止期限(Deadline)属性值,如果满足完成线程调度;规则2:在一个给定处理器资源的系统中,如果任意一个线程都能够被成功调度,那么该系统就能够被成功调度;根据上面介绍的可调度性分析方法和两条判断规则,根据系统的AADL模型静态计算分析出其可调度性。...

【技术特征摘要】
1.一种基于资源竞争模型的AADL模型可调度性验证方法,其特征在于包括以下步骤:步骤一、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统中各个进程的并发体的集合,系统的并发体集合用CS表示;步骤二、通过分析AADL模型的架构,提取构件与时间相关的属性以及构件连接关系,找到系统的线程干扰集集合,用InterS表示;为每个进程建立完并发体集合后,针对进程Pi中的任意一个线程建立其干扰集1)分析与线程在同一个进程中的线程:如果线程和线程是并发关系,即并且线程的优先级不低于线程那么属于的并发集,即通过分析进程Pi中的每个线程,建立线程的并发集2)分析与线程在不同进程中的线程:对于与线程不在同一个进程中的线程,即Pl中的线程,其中l≠i,选择进程Pl中线程执行时间之和最大的并发体,作为进程Pl(l≠i)中的线程的代表;在计算各个并发体中线程执行时间之和之前,需要针对下面两种情况对并发体进行裁剪:i.并发体中有线程通过进程连接而与线程形成连接关系;ii.并发体中有线程的优先级低于线程完成从并发体中裁剪掉这些线程之后,计算各个并发体中剩余的线程的执行时间之和,然后找出与线程所在的进程不同的各个进程中的并发体,并选择线程的执行时间之和最大的并发体,将该并发体中裁剪完剩余的线程加入到线程的干扰集中;将计算得到的线程的并发集中的线程加入到干扰集中,完成线程的干扰集的建立;步骤三、由步骤一、二的结果得到系统的资源竞争模型RCM,所述资源竞争模型由一个四元组描述,即RCM=(PS,TS,CS,InterS),其中,PS是系统的进程集合,由系统中全部N个进程组成,而Pi表示系统中的任意一个进程,所以PS={P1,…,Pi,…,PN};TS是系统中全部线程组成的集合,TSi表示系统中某个进程Pi中所有线程组成的集合;如果系统由进程P1,…,Pi,…,PN这些进程构成,那么每个进程都对应一个线程集合,即...

【专利技术属性】
技术研发人员:董云卫隗立超童安乐
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

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

1