Aadl模型的一种调度分析方法

文档序号:6483173阅读:284来源:国知局

专利名称::Aadl模型的一种调度分析方法
技术领域
:本发明涉及调度分析
技术领域
,具体来讲,涉及一种在由AADL模型所描述的嵌入式系统中,分析线程集合是否能在规定时限内正常执行完毕的方法。
背景技术
:AADL是一种用来设计和分析性能关键实时系统的字符化和图形化的模型语言。它能够用来描述组件之间的功能接口,也能描述组件的时间需求。它也能够描述组件之间的交互关系,如数据输入输出、软件组件和硬件组件之间的绑定关系等。因此设计者可能从各个方面对模型进行分析和评估。下面简要介绍AADL模型元素组件是AADL的主要建模单位,组件包括有线程组件、处理器组件等。每个线程组件可以处于停止、睡眠或活跃状态。一个活跃的线程可以等待分派、执行或由于临界资源访问而阻塞。线程的属性可以有最坏执行时间、截止时间、分派协议、最小到达间隔时间等参数。根据线程的分派协议和对外部事件的响应,其类型可以分为周期线程、非周期线程、零星线程和后台线程。线程组件的调度协议定义在处理器组件的参数上。调度分析领域自二十世纪六七十年代提出以来已经是一个研究相对成熟的领域,已发表了大量的论文。但是对于有不确定到达时间的非周期线程的系统,仍然缺乏精确分析的方法。传统上处理不确定到达时间的非周期线程的系统采用近似的悲观方法,即考虑最坏情况下非周期线程到达的最大频率,因此该种方法为其预留的处理器资源过多,无法精确计算是否可以调度。目前已有一些支持AADL模型元素调度分析的工具,主要是Furness工具集和Cheddar工具。但是Furness工具集不能分析由外部环境驱动的嵌入式系统的调度性分析,而Cheddar工具本不是针对AADL模型元素开发,需要进行语义转换,且使用悲观的最坏情况分析,其调度分析结果不精确。上述工具和方法由于语义不同或分析范围的局限性,均不能有效的精确分析AADL的调度性,从而不能反馈给AADL建模人员准确的信息。目前AADL模型方法正在尝试使用在国内某航天飞行器的设计过程中,因此设计一种能够有效的精确分析AADL的调度性方式是十分必要的。
发明内容本发明的目的在于克服现有调度分析方法的不足,提供AADL模型的一种能准确分析非周期性线程的调度分析方法。为实现上述目的,本发明的AADL模型的一种调度分析方法,包括以下步骤(1)、对每个线程实例设计一个语义图'l.l)、在语义图中,每个线程实例可以处于如下位置等待分派、就绪、执行和错误;对每个线程实例7V使用两个计时器^和^来分别计时其执行时间和截止时间,其中下标/表示第/个线程,下标y表示第y'个实例,在任何位置上计时器^/单位时间增长率都一直为1,计时器^.只在running位置上单位时间增长率为l,其余位置上为0;等待分派位置为每个线程实例7V的初始位置;对每个计时器^和^都分别存在一个最大正整数值^和A,一旦某个线程实例&的计时器e々计时超过W或计时器%计时超过A,则该两个计时器%和^的值都同时置为0;1.2)、函数v表示计时器的值,在每个线程实例7V的就绪,执行位置上都存在如下的限制V(W^A,执行位置上还存在限制V(^)^W;1.3)、每个线程实例7V的位置之间的迁移条件的限制是如下的形式V:=VAV|V()~C|vfe)-v(U)~C,其中~6{<,>^,^,=},C是整数。^是线程实例rw的计时其执行时间的计时器,^和f目是线程实例7\,和r目的计时其截止时间的计时器,将具体的调度策略编码成位置之间迁移条件限制;1.4)、对非周期线程,将其就绪和执行位置分别细分《个,表示为readypready2...ready/c禾口running!,running2...runnings,{吏用{立置的个数来i己录目前分派缓冲队列中的事件个数,尺对每个线程是常数;1.5)、线程之间的分派关系由迁移之间的同步事件表示,具有相同同步事件的迁移才能同时发生;线程实例7^执行完后激活非周期线程实例4表示在线程实例&的执行位置到等待分派位置的迁移上标记同步事件且在线程实例rM的等待分派位置到就绪位置readyi的迁移上、readyi到ready2的迁移上、...read化i到ready《的迁移上都标记相同的同步事件;(2)、用同步时间来描述每个线程到达时间行为在每个线程到达时间行为图中,存在与语义图中定义相同的位置、计时器和迁移条件,只是在到达时间行为图中,计时器的增长率任何时间都为1且名字不同于任何已用的计时器;(3)、为了分析某个任务实例的error位置是否可以到达,在DBM矩阵现有操作技术的基础上进行了操作修改有A:个计时器:x!,x2,…^,DBM是一个A+l维矩阵,对任意/,AG=(A:,0)表示计时器A的严格上界值A:,即v(x,)〈A:,或A。=(&l)表示计时器A的非严格上界值A:,即vCx,)《A;A),表示计时器A的严格或非严格下界值;对任意的/和乂,A表示H《>v(J9)的严格或非严格上界值,其中下标/表示DBM的第/行,y'表示DBM的第y'列;为了使一个DBM和一个时钟时间域——对应,因此必须将DBM化为标准形式,即VO《/J,/《A^丄Z^《i^.+i^。为了求后继时间区域,定义如下几个DBM操作行为*交(A):对两个标准的DBM"和Z),,定义交集D",其ZV,-聰'"(A/,ZV)。交操作完成后,首先检查所得到的""所表示的时间区域是否为空,若不为空,则化为标准形式;*时间流逝(t):使用Dt表示DBMZ)的时间流逝操作。在此过程中,任意计时器x,满足i,l,其A),值保持不变,Ao值变为^;任意计时器力满足i广O,其A),.值保持不变,Z),.o值保持不变;任意计时器斗和^满足、=1且<=1,其A^和D柳值保持不变;任意计时器X,和X,满足i,0且;^0,其A,和A,值保持不变;任意计时器x,和jc/满足;t,l且i广0,其Z^值变为w,Z)力值保持不变;然后在对所得到的Z)标准化;*重置(1:=0):假设需要重置的计时器集合为X。给定DBMD,对所有计时器^EX,把所有的A),和A()的值置为(O,1);任意计时器4和^满vS^et且;^EX,to柳和D鹏值置为(O,1);任意时钟x,和;9满^^ex且jc,人,to"置为Ay的值,把D力置为D,。的值;(4)、调度前所有线程都被初始化,在各自的语义图上他们都在等待分派位置上,在到达时间图上他们都被初始化在初始位置上,一开始的DBM的所有计时器的值被初始化0;(5)、进入调度分析的时候,先让DBM按上述时间流逝的方法进行流逝在每个线程的每个位置事实上可以定义时间约束,把这些时间约束转换成一个整体的DBM,接着把该DBM和时间流逝后的DBM求交运算,求出一个新的DBM;但当前位置集合中包含某些就绪位置或执行位置,则对这些位置先不进行时间流逝,而直接进行求交运算;(6)、每个线程实例的语义图的每个位置都有自己的后继边,把后继边上的时间约束用DBM的形式表示,用步骤(5)求出的DBM跟每条后继边时间约束的DBM求交,如果求交后的DBM不为空,即说明这条后继边可走,就发生位置转移;如果语义图的当前位置是执行位置,若到等待分派位置的后继边可走,就会迁移到等待分派位置,如果该后继边有同步事件产生,即该线程运行完会触发别的线程实例的分派;在实现这个步骤的时候,判断该线程运行状态到分派状态的边上所同步关联的线程实例有哪些,选择一个仍然处于等待分派位置的实例来使用,即触发该线程实例的分派;同样该线程的到达时间图的当前位置的后继边也做以上的同样处理,看是否发生状态转移;(7)、如果某个线程实例进入错误位置,则分析过程中止,提示"不可调度,,;(8)、否则,判断当前所有线程的位置集合是否跟以前某一时期的位置集合相同,如果是,再判断当前的DBM是否包含于那一时期的DBM,两个条件都符合就说明整个系统可成功调度;否则回到步骤(5)。本发明通过为每个线程设计语义图和到达时间行为图,使得AADL模型的执行语义可抽象为一个语义图,并将每个线程的到达时间约束用到达时间行为图表示,并扩展了时钟限制数据结构的操作算法,从而达到分析其调度性的目的。图l是单个周期、零星线程组件实例的语义图;图2是非周期线程组件的语义图;图3是线程组件的到达时间图4是线程Tl和T2的到达时间图;图5是线程T1和T2的语义具体实施例方式下面对本发明的具体实施方式进行描述,以便更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当采用已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这儿将被忽略。图1是单个周期、零星线程组件实例的语义图图中,Dispatch、ready、running和error是其位置集合,分别表示等待分派、就绪、执行和错误。为了便于表示迁移关系,增加了computation位置。从computation位置出发的迁移事实上是computation位置内所有位置都有该迁移。且迁移边上标记同步事件^",和迁移条件。e和f是前面定义的计时器,『和D是该线程组件属性里定义的最坏执行时间和截止时间。由于图1是对周期线程进行建模,如果其在截止时间内正常执行完毕,则它不会进入error位置,即该线程组不可调度;否则它不会进入error位置。对线程组的调度策略在ready位置和rmming位置之间的两个迁移的条件处体现,并定义在处理器组件的属性里。例如,如果调度策略是RMS时,对线程组件实例7T^从ready位置到running位置的迁移条件为V7%w#7\,W.A《A;从running位置到ready位置的迁移条件为377/^#7\,"A》A,即线程组件进入running位置后,后继位置只能是error或dispatch;如果调度策略是EDF时,对线程组件772々.从ready位置到running位置的迁移条件为V7%^7\,&/.A-A《A-4;从running位置到ready位置的迁移条件为3rU7\,"AOA_^。图2是非周期线程组件的语义中,位置dispatch、computation、ready、running、error、同步事件,,、时钟条件、时钟e和r『、Z)均和图1中的定义一致。在AADL中,由于非周期线程的存在,图1的模型无法进行建模。因此采用图2所示的到达时间行为图来对非周期线程建模。在图2中,^y",是同步事件,由于自动机中无法记录同步事件的个数,因此本发明采用同步事件触发位置迁移。每个对应的ready,位置和running,位置之间的迁移条件和图1相同。图3是线程组件的到达时间图如图所示,AADL中每个由外部直接触发的线程组件实例都会定义线程组件的到达时间图和语义图。语义图描述线程的内部行为,到达时间图描述线程的到达时间行为。他们之间的通信靠同步事件来实现。图3的左图可以用于描述周期线程的到达时间,右图可以用于描述非周期线程的到达时间。图4是线程K和r2的到达时间图对周期线程和零星线程r,可能同时存在多个线程实例,其个数的上界值为「AW1,其中A是其截止时间,尸,是其到达间隔时间。举两个线程加以说明,如表1所示。<table>tableseeoriginaldocumentpage10</column></row><table>表l则线程K和r2的最大实例数是1。『产3,A=5,『2=3,Z)2=5。处理器组件上定义的调度策略是优先级调度。7\的优先级高于『2。图5线程7\和72的语义图在语义图中,为了方便描述,我们采用目录结构,如K的ready位置可表示为7Vcomputation/ready。下面根据
发明内容叙述分析过程1.到达时间图和语义图的初始位置为〈m,",7Vdispatch,7Vdispatch>,计时器x,j;,。,&e2,2的初始值全为0,此时DBM矩阵为(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)2.初始时刻,K和T2均有同步事件,因此位置集合变为<附,",7Vcomputation/ready,7Vcomputation/ready>,DBM保持不变。3.由于K优先级高于r2,位置集合变为〈m,",7Vcomputation/running,7Vcomputation/ready>。由于从7Vcomputation/ready至U7Vcomputation/runmng的迁移条件是比较优先级,没有时间限制,因此DBM继续保持不变。4.在l立置集合〈w,w,7Vcomputation/running,7Vcomputation/ready〉中按4立置中的计时器增长率进行时间流逝,得到的DBM为(0,1)(0,1)(0,1)(0,1)(0,1)(~,1)(0,1)(0,1)(~,1)(0,1)(~,1)(0,1)(0,1)(,l)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(~,1)(0,1)(0,1)(~,1)(0,1)该DBM和=3av(O^5的DBM求交后重置并标准化后的DBM为(0,1)(0,1)(0,1)(0,1)(-3,1)(0,1)(0,1)(0,1)(0,1)(-3,1)(0,1)(0,1)(0,1)(0,1)(-3,1)(0,1)(0,1)(0,1)(0,1)(-3J)(3,1)(3,1)(3,1)(3,1)(0,1)不为空集。而和v(e》〈3Av(/,)-5的DBM求交后并标准化后的DBM为空集。5.因此r!位置变为7Vdispatch,位置集合变为<附,",7Vdispatch,7Vcomputation/running>。由于从7Vcomputation/ready至lj7Vcomputation/running的迁移条件是比较优先级,没有时间限制,因此DBM继续保持不变。6.在位置集合<附,",7Vdispatch,7V0011^1^11011/11111111吗〉中按位置中的计时器增长率进行时间流逝,得到的DBM为(0,1)(CM)(0,1)(0,1)(-3,1)(0,1)(0,1)(0,1)(0,1)(-3,1)(0,1)(0,1)(0』(0,1)(-3^1)(~,1)((0,1)(-3,1)(~,1)(~,1)(~,1)(3,1)(0,1)该DBM和v(e2)=3aH"《5的DBM求交后重置并标准化后的DBM为(-1,1)(-1,1)(-1,1)(-4,1)(-7,1)(-1,1)(-1,1)(-1,1)(-4,1)(-7,1)(-1,1)(-l,l)(-1,1)(-4,1)(-7,1)(2,1)(2,1)(2^1)(-1,1)(-4,1)(4,1)(4,1)(4,1)(1,1)(-2,1)此为空集。说明r2不能进入7Vdispatch。该DBM和v(e2)〈3/vv("-5的DBM求交后并标准化后的DBM为不为空(o,1)(o,1)(o,1)(-2,1)(-5,1)(o,1)(o,1)(o,1)(-2,1)(-5,1)(o,1)(o,1)(o,1)(-2,1)(-5,1)(2,1)(2,1)(2,1)(0,1)(-3,1)(5,1)(5,1)(5,1)(3,1)(0,1)。说明r2进入7Verror位置,由此说明该线程组不可调度,因为线程7^不能在其截止时间内执行完毕。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。权利要求1、一种AADL模型的一种调度分析方法,包括以下步骤(1)、对每个线程实例设计一个语义图1.1)、在语义图中,每个线程实例可以处于如下位置等待分派、就绪、执行和错误;对每个线程实例Tij使用两个计时器eij和tij来分别计时其执行时间和截止时间,其中下标i表示第i个线程,下标j表示第j个实例,在任何位置上计时器tij单位时间增长率都一直为1,计时器eij只在running位置上单位时间增长率为1,其余位置上为0;等待分派位置为每个线程实例Tij的初始位置;对每个计时器eij和tij都分别存在一个最大正整数值Wi和Di,一旦某个线程实例Tij的计时器eij计时超过Wi或计时器tij计时超过Di,则该两个计时器eij和tij的值都同时置为0;1.2)、函数v表示计时器的值,在每个线程实例Tij的就绪,执行位置上都存在如下的限制v(tij)≤Di,执行位置上还存在限制v(eij)≤Wi;1.3)、每个线程实例Tij的位置之间的迁移条件的限制是如下的形式V:=V∧V|v(ekl)~C|v(tkl)-v(tmn)~C,其中~∈{<,>,≤,≥,=},C是整数。ekl是线程实例Tkl的计时其执行时间的计时器,tkl和tmn是线程实例Tkl和Tmn的计时其截止时间的计时器,将具体的调度策略编码成位置之间迁移条件限制;1.4)、对非周期线程,将其就绪和执行位置分别细分K个,表示为ready1,ready2...readyK和running1,running2...runningK,使用位置的个数来记录目前分派缓冲队列中的事件个数,K对每个线程是常数;1.5)、线程之间的分派关系由迁移之间的同步事件表示,具有相同同步事件的迁移才能同时发生;线程实例Tij执行完后激活非周期线程实例Tmn表示在线程实例Tij的执行位置到等待分派位置的迁移上标记同步事件且在线程实例Tmn的等待分派位置到就绪位置ready1的迁移上、ready1到ready2的迁移上、...readyK-1到readyK的迁移上都标记相同的同步事件;(2)、用同步时间来描述每个线程到达时间行为在每个线程到达时间行为图中,存在与语义图中定义相同的位置、计时器和迁移条件,只是在到达时间行为图中,计时器的增长率任何时间都为1且名字不同于任何已用的计时器;(3)、为了分析某个任务实例的error位置是否可以到达,在DBM矩阵现有操作技术的基础上进行了操作修改有k个计时器x1,x2,...xk,DBM是一个k+1维矩阵,对任意i,Di0=(k,0)表示计时器xi的严格上界值k,即v(xi)<k,或Di0=(k,1)表示计时器xi的非严格上界值k,即v(xi)≤k;D0i表示计时器xi的严格或非严格下界值;对任意的i和j,Dij表示v(xi)-v(xj)的严格或非严格上界值,其中下标i表示DBM的第i行,j表示DBM的第j列;为了使一个DBM和一个时间域一一对应,因此必须将DBM化为标准形式,即<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mo>&ForAll;</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>&le;</mo><mi>k</mi><mo>,</mo><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><msub><mi>D</mi><mi>ij</mi></msub><mo>&le;</mo><msub><mi>D</mi><mi>ij</mi></msub><mo>+</mo><msub><mi>D</mi><mi>jl</mi></msub><mo>.</mo></mrow>]]></math>id="icf0001"file="A2009100603400003C1.tif"wi="63"he="5"top="99"left="58"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>为了求后继时间区域,定义如下几个DBM操作行为●交(∧)对两个标准的DBMD和D’,定义交集D”,其Dij”=min(Dij,Dij’)。交操作完成后,首先检查所得到的D”所表示的时间区域是否为空,若不为空,则化为标准形式;●时间流逝(↑)使用D↑表示DBMD的时间流逝操作。在此过程中,任意计时器xi满足<mathsid="math0002"num="0002"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>,</mo></mrow>]]></math>id="icf0002"file="A2009100603400003C2.tif"wi="10"he="4"top="152"left="49"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其D0i值保持不变,Di0值变为∞;任意计时器xj满足<mathsid="math0003"num="0003"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math>id="icf0003"file="A2009100603400003C3.tif"wi="10"he="4"top="151"left="176"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其D0j值保持不变,Dj0值保持不变;任意计时器xm和xn满足<mathsid="math0004"num="0004"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>m</mi></msub><mo>=</mo><mn>1</mn></mrow>]]></math>id="icf0004"file="A2009100603400003C4.tif"wi="9"he="4"top="160"left="154"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>且<mathsid="math0005"num="0005"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>n</mi></msub><mo>=</mo><mn>1</mn><mo>,</mo></mrow>]]></math>id="icf0005"file="A2009100603400003C5.tif"wi="11"he="4"top="160"left="170"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其Dmn和Dnm值保持不变;任意计时器xs和xt满足<mathsid="math0006"num="0006"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>s</mi></msub><mo>=</mo><mn>0</mn></mrow>]]></math>id="icf0006"file="A2009100603400003C6.tif"wi="9"he="4"top="169"left="123"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>且<mathsid="math0007"num="0007"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>t</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math>id="icf0007"file="A2009100603400003C7.tif"wi="10"he="4"top="169"left="139"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其Dst和Dts值保持不变;任意计时器xi和xj满足<mathsid="math0008"num="0008"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>=</mo><mn>1</mn></mrow>]]></math>id="icf0008"file="A2009100603400003C8.tif"wi="8"he="4"top="178"left="86"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>且<mathsid="math0009"num="0009"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math>id="icf0009"file="A2009100603400003C9.tif"wi="10"he="4"top="178"left="101"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其Dij值变为∞,Dji值保持不变;然后在对所得到的D标准化;●重置(λ:=0)假设需要重置的计时器集合为λ。给定DBMD,对所有计时器xi∈λ,把所有的D0i和Di0的值置为(0,1);任意计时器xm和xn满足xm∈λ且xn∈λ,把Dmn和Dnm值置为(0,1);任意计时器xi和xj满足xi∈λ且<mathsid="math0010"num="0010"><math><![CDATA[<mrow><msub><mi>x</mi><mi>j</mi></msub><mo>&NotElement;</mo><mi>&lambda;</mi><mo>,</mo></mrow>]]></math>id="icf0010"file="A2009100603400003C10.tif"wi="11"he="5"top="213"left="144"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>把Dij置为D0j的值,把Dji置为Dj0的值;(4)、调度前所有线程都被初始化,在各自的语义图上他们都在等待分派位置上,在到达时间图上他们都被初始化在初始位置上,一开始的DBM的所有计时器的值被初始化0;(5)、进入调度分析的时候,先让DBM按上述时间流逝的方法进行流逝在每个线程的每个位置上可以定义时间约束,把这些时间约束转换成一个整体的DBM,接着把该DBM和时间流逝后的DBM求交运算,求出一个新的DBM;但当前位置集合中包含某些就绪位置或执行位置,则对这些位置先不进行时间流逝,而直接进行求交运算;(6)、每个线程实例的语义图的每个位置都有自己的后继边,把后继边上的时间约束用DBM的形式表示,用步骤(5)求出的DBM跟每条后继边时间约束的DBM求交,如果求交后的DBM不为空,即说明这条后继边可走,就发生位置转移;如果语义图的当前位置是执行位置,若到等待分派位置的后继边可走,就会迁移到等待分派位置,如果该后继边有同步事件产生,即该线程运行完会触发别的线程实例的分派;在实现这个步骤的时候,判断该线程运行状态到分派状态的边上所同步关联的线程实例有哪些,选择一个仍然处于等待分派位置的实例来使用,即触发该线程实例的分派;同样该线程的到达时间图的当前位置的后继边也做以上的同样处理,看是否发生状态转移;(7)、如果某个线程实例进入错误位置,则分析过程中止,提示“不可调度”;(8)、否则,判断当前所有线程的位置集合是否跟以前某一时期的位置集合相同,如果是,再判断当前的DBM是否包含于那一时期的DBM,两个条件都符合就说明整个系统可成功调度;否则回到步骤(5)。全文摘要本发明公开了AADL模型的一种调度分析方法,包括线程的语义图和到达时间行为图,使得AADL模型的执行语义可抽象为一个语义图,并将每个线程的到达行为约束用到达时间行为图表示,还扩展了时钟限制数据结构的操作算法,从而达到分析其调度性的目的。文档编号G06F9/44GK101615120SQ200910060340公开日2009年12月30日申请日期2009年8月13日优先权日2009年8月13日发明者桂盛霖,蕾罗申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1