[發明專利]時間多棧下推網絡的靜態轉換方法有效
| 申請號: | 201510581206.2 | 申請日: | 2015-09-14 |
| 公開(公告)號: | CN105260295B | 公開(公告)日: | 2018-09-25 |
| 發明(設計)人: | 錢俊彥;甘鵬程;郭云川;趙嶺忠;古天龍 | 申請(專利權)人: | 桂林電子科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F21/57 |
| 代理公司: | 桂林市持衡專利商標事務所有限公司 45107 | 代理人: | 陳躍琳 |
| 地址: | 541004 廣*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 靜態轉換 并發 形式化驗證 語義 并發系統 模型轉換 實時系統 并發性 時鐘域 實時性 遞歸 線程 等價 語法 網絡 引入 優化 保證 | ||
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=<a1,v1><a2,v2>…<an,vn>,那么wi+c=<a1,v1+c><a2,v2+c>…<an,vn+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·<a,c>,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]>。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于桂林電子科技大學,未經桂林電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510581206.2/1.html,轉載請聲明來源鉆瓜專利網。





