[发明专利]时间多栈下推网络的静态转换方法有效
申请号: | 201510581206.2 | 申请日: | 2015-09-14 |
公开(公告)号: | CN105260295B | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 钱俊彦;甘鹏程;郭云川;赵岭忠;古天龙 | 申请(专利权)人: | 桂林电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 桂林市持衡专利商标事务所有限公司 45107 | 代理人: | 陈跃琳 |
地址: | 541004 广*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种时间多栈下推网络的静态转换方法,首先,为了描述实时系统中并发递归机制,以及线程之间的交互,在MPDN的基础上引入时钟,提出TMPDN模型,并给出其语法及操作语义。其次,利用时钟域等价的优化技术,通过静态转换方法,将连续时间的TMPDN模型转换成离散的MPDN模型。本发明能够实现同时实现实时并发系统的实时性和并发性的描述,并能为实时并发程序的形式化验证提供保证。 | ||
搜索关键词: | 静态转换 并发 形式化验证 语义 并发系统 模型转换 实时系统 并发性 时钟域 实时性 递归 线程 等价 语法 网络 引入 优化 保证 | ||
【主权项】:
1.一种时间多栈下推网络的静态转换方法,其特征是,包括如下步骤:步骤(1)将含有时间行为的并发递归程序转换为一个等价的可模拟程序执行的时间多栈下推网络,该时间多栈下推网络的执行对应于程序包含的所有动作或行为;步骤(1.1)构造实时并发递归程序的抽象模型即时间多栈下推网络;所构造的时间多栈下推网络是一个六元组MT=(n,Q,q0,Γ,T,Δ),其中MT表示时间多栈下推网络,n表示系统中栈的个数;Q表示有限状态集;q0表示初始状态;Γ表示有限栈符集;T=TG∪TL表示有限时钟集,其中TG表示全局时钟,用于标识实时并发系统中全局变量或事务的时间,TL表示栈内局部时钟,用于标识系统中局部变量或子事务的时间;迁移关系
为描述系统格局的迁移;所构造的时间多栈下推网络的格局C=<Work[n],q,{wi}i∈[n],v>,其中q∈Q,
为[n]子集,表示当前工作栈集,wi为栈i的字,表示栈i的内容,描述为
v表示时钟当前取值;步骤(1.2)将所构造的时间多栈下推网络用操作语义进行描述;其中时间多栈下推网络作为实时并发程序的模型,用于描述多个栈同时产生迁移,其迁移关系Δ分为栈内迁移Δin、栈间切换Δinter和并发执行Δ||;步骤(1.2.1)对于一个栈i内迁移的执行,用形式![]()
![]()
表示,其中q和q′均表示状态,wi和wi′均表示栈i的字,v和v′均表示时钟当前取值,a表示变量,opin为栈内迁移时的动作集,包括空操作nop、时间约束判断t∈I?、时钟重置t←I、时间流逝Time←c、压栈操作push(a,I)和出栈操作pop(a,I),其中I表示时钟取值范围,t∈T,Time为具体时间值;故栈内迁移关系Δin表示为Δnop∪Δ?∪Δ=∪Δ├∪Δpush∪Δpop,其中Δnop、Δ?、Δ=、Δ├、Δpush和Δpop分别表示上述操作的迁移;根据不同的栈内迁移动作opin给出其执行含义如下:1)Δin=Δnop:opin=nop,wi′=wi,v′=v;表示格局内元素未发生变化;2)Δin=Δ?:opin=t∈I?,wi′=wi,v′=v,v(t)∈I;表示当t的时钟值在I范围内时,执行该操作,格局内元素未发生变化;3)Δin=Δ=:opin=t←I,wi′=wi,v′=v[t←c],c∈I;表示给时钟t指定I范围内的任意值c,其它格局内元素未发生变化;v(t)表示时钟值;4)Δin=Δ├:opin=Time←c,wi′=wi+c,假设wi=…,那么wi+c=…,v′=v+c;表示格局内所有时钟增加c,格局内非时钟内容未发生变化;wi+c表示wi的时钟增加c,a1,a2,…,an表示变量,v1,v2,…,vn表示对应于变量a1,a2,…,an的当前时钟取值;5)Δin=Δpush:opin=push(a,I),wi′=wi·,c∈I,v′=v;表示将变量a压入栈顶,并设定相应时钟为t,其时钟值为I范围内的任意值;6)Δin=Δpop:opin=pop(a,I),wi=wi′·<a,c>,c∈I,v′=v;表示将栈顶内时钟值为I范围的变量a弹出;步骤(1.2.2)描述栈间切换Δinter;假设栈间切换操作
表示栈i切换到栈j,用形式
表示,其中q,q′∈Q;v′=v;wi,wj分别为栈i,j的字,i,j∈[n]且i≠j;上下文切换时,将栈j从等待栈切换到工作栈,同时将栈i从工作栈切换到等待栈,则切换后的工作栈Work[n]′=Work[n]\{i}∪{j};步骤(1.2.3)描述并发操作Δ||;假设op=opin∪opinter为栈迁移动作集,并发执行用形式![]()
表示,Work[n]为当前工作栈集,如果不发生栈间切换,则Work[n]′=Work[n],如果发生栈间切换
则Work[n]′=Work[n]\{i}∪{j};步骤(2)将步骤(1)所给定的一个时间多栈下推网络MT=([n],Q,q0,Γ,T,Δ),通过下述静态转换过程获得多栈下推网络MM=([n]M,QM,q0M,ΓM,ΔM);1)栈个数[n]M的转换:[n]M=[n],即MM的栈数量与MT的栈数量相等;2)状态QM的转换:QM=Q,即MT的状态集与MM的状态集相同;3)初始状态q0M的转换:q0M=q0,即MM的初始状态与MT的初始状态相同;4)栈字符ΓM的转换:ΓM=2Z×key,其中Z为普通项集Y,即Z:=Y,key为时钟关键点集;5)迁移关系Δ到ΔM的转换规则:MT的格局迁移为![]()
为栈i的字,设di为栈i的栈深度,用wij表示栈i内第j层的子字,j∈[di],wij|Γ表示wij投影在Γ的栈字符,v(wij|Γ)表示投影与栈字符Γ相关联的时钟值,
表示投影与栈字符Γ相关联的时钟值在时钟域等价后的关键点,TG为全局时钟,
表示全局时钟的时钟值在时钟域等价后的关键点,栈i内容
其中i∈[n],j∈[di],下面具体描述不同op的构造:5.1)Δ=Δnop时,op=nop,如果![]()
那么在MM中有![]()
与之对应,即两者nop操作相同;5.2)Δ=Δ?时,op=t∈I?,在MM中有迁移关系ΔM?与Δ?相对应,此时MM的格局迁移为
其中{Ri}i∈[n]表示MM域R中任意个子域,迁移关系ΔM?表示在{Ri}上进行判断操作;5.3)Δ=Δ=时,op=t←I,在MM中有迁移关系ΔM=与Δ=相对应,此时MM的格局迁移为
其中迁移关系ΔM=表示在对{Ri}进行
赋值操作,v(t)∈I为MT赋值时钟值,
为赋值时钟值在时间域等价后的关键点,t∈Z为项内字符,
表示将关键点
赋值给字符t;5.4)Δ=Δ├时,op=Time←c,在MM中有迁移关系ΔM├与Δ├相对应,此时MM的格局迁移为
其中迁移关系ΔM├表示在对{Ri}中所有字符的时钟值增加c后取关键点,对任意i∈[n],
栈i内容R′i=R′i1…R′ij…R′id,v(wij|Γ)+c表示投影出的栈字符Γ的时钟值增加c,v(TG)+c表示全局时钟的时钟值增加c;5.5)Δ=Δpop时,op=pop(a,I),在MM中有迁移关系ΔMpop与Δpop相对应,此时MM的格局迁移为
其中迁移关系ΔMpop表示关键点等于
的字符a∈Γ出栈,
R′i=R′i1…R′ij…R′id,((wij|Γ)‑a)表示在投影出的栈字符Γ内删除字符a;5.6)Δ=Δpush时,op=push(a,I),在MM中有迁移关系ΔMpush与Δpush相对应,此时MM的格局迁移为![]()
其中迁移关系ΔMpop表示关键点等于
的字符a∈(Γ∪T)入栈,![]()
![]()
R′i=R′i1…R′ij…R′id,((wij|Γ)+a)表示在投影出的栈字符Γ内增加字符a,(TG+a)表示在全局时钟内增加字符a;5.7)Δ=Δinter时,在MM中有迁移关系ΔMinter与Δinter相对应,此时MM的格局迁移为
其中{Ri},{Rj}分别为栈i,j的域,i,j∈[n]且i≠j;上下文切换时,将栈j从等待栈切换到工作栈,同时将栈i从工作栈切换到等待栈;5.8)Δ=Δ||时,在MM中有迁移关系ΔM||与Δ||相对应,此时MM的格局迁移为
工作栈集Work[n]内的每个栈,调用相应的栈内迁移转换,转换后格局为<Work[n]′,q′,{Rj}j∈[n]>。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510581206.2/,转载请声明来源钻瓜专利网。