專利名稱:一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明屬于隨機(jī)系統(tǒng)性能分析技術(shù)領(lǐng)域,涉及以概率模型檢測(cè)工具PRISM為分析工具,面向以局部空間為搜索對(duì)象的限界檢測(cè)技術(shù)的隨機(jī)系統(tǒng)建模方法。
背景技術(shù):
模型檢測(cè)是一種自動(dòng)化程度非常高的有限狀態(tài)系統(tǒng)驗(yàn)證技術(shù),目前已經(jīng)在計(jì)算機(jī)硬件、通信協(xié)議、安全協(xié)議的驗(yàn)證方面獲得了較大的成功。傳統(tǒng)的模型檢測(cè)技術(shù)關(guān)注的是系統(tǒng)行為的絕對(duì)正確性,如系統(tǒng)不能進(jìn)入死鎖狀態(tài)。然而在實(shí)際的系統(tǒng)中存在很多隨機(jī)現(xiàn)象,例如不可靠信道上的消息丟失,對(duì)這一類現(xiàn)象往往關(guān)心某種概率度量,如消息傳送失敗的概率不高于1%等等。傳統(tǒng)模型檢測(cè)中使用的邏輯系統(tǒng),如計(jì)算樹和線性時(shí)態(tài)邏輯,無法刻畫這類屬性,因此研究人員在計(jì)算樹和線性時(shí)態(tài)邏輯的基礎(chǔ)上引入了概率算子,得到了概率計(jì)算樹邏輯PCTL等邏輯系統(tǒng),并提出了馬爾科夫鏈,隨機(jī)Petri網(wǎng)等不同隨機(jī)模型上的概率模型檢測(cè)方法。PRISM是由牛津大學(xué)的Marta Kwiatkowska教授主導(dǎo)開發(fā),一款面向?qū)W術(shù)界可免費(fèi)使用的概率模型檢測(cè)工具,主要用來對(duì)隨機(jī)系統(tǒng)的行為進(jìn)行建模與分析。目前PRISM已經(jīng)成功應(yīng)用于通信與多媒體協(xié)議,隨機(jī)分布式算法,安全協(xié)議,以及生物系統(tǒng)等領(lǐng)域的分析當(dāng)中。使用PRISM進(jìn)行性能與可靠性自動(dòng)化分析的過程可以概括為1)利用PRISM自定義的系統(tǒng)建模語言為隨機(jī)系統(tǒng)建立模型;2)利用概率邏輯PCTL或者CSL描述待分析的屬性;3)調(diào)用全局模型檢測(cè)算法自動(dòng)完成分析過程。與傳統(tǒng)模型檢測(cè)一樣,狀態(tài)空間爆炸問題是PRISM進(jìn)一步走向?qū)嵱没闹饕款i,這里狀態(tài)空間爆炸是指系統(tǒng)狀態(tài)空間的大小隨著進(jìn)程數(shù)量的增加呈指數(shù)級(jí)增長(zhǎng)。為緩解該問題,傳統(tǒng)模型檢測(cè)中的空間約簡(jiǎn)技術(shù),如謂詞抽象、偏序歸約、對(duì)稱歸約、組合推理等均可被應(yīng)用到PRISM上。目前PRISM只支持精確模型上的計(jì)算,因此實(shí)施這些約簡(jiǎn)技術(shù)需要修改PRISM的源代碼,增加相應(yīng)的處理模塊。源代碼的修改使得這些約簡(jiǎn)技術(shù)在實(shí)施上可操作性較差,工作量巨大。限界檢測(cè)是新近出現(xiàn)的一種空間約簡(jiǎn)技術(shù),其基本思想是在有限的局部空間中逐步搜索屬性成立的證據(jù)或者失效的反例,從而達(dá)到約簡(jiǎn)狀態(tài)空間的目的。限界檢測(cè)的實(shí)現(xiàn)過程主要包括兩個(gè)部分1)在局部空間上定義概率邏輯的限界語義;2)設(shè)計(jì)局部空間上限界語義的可滿足性判定算法。只遍歷分析屬性所需的局部空間是限界檢測(cè)能夠有效克服狀態(tài)空間爆炸的主要原因。PRISM目前具有一定的逐步計(jì)算局部空間的功能,只支持隨機(jī)系統(tǒng)模型上無界語義的滿足性判定算法,但是由于對(duì)狀態(tài)轉(zhuǎn)換關(guān)系采取了近似表示,如在可達(dá)深度為2時(shí),利用路徑Stl — S1 — S0替代循環(huán)結(jié)構(gòu)Stl — S1 — Stl — S1 — L L,無法直接實(shí)現(xiàn)限界檢測(cè)。限界檢測(cè)采用的是邏輯系統(tǒng)的限界語義,這與全局檢測(cè)采用的無界語義存在很大的不同。因此與謂詞抽象、偏序歸約等約簡(jiǎn)技術(shù)一樣,在PRISM中為實(shí)現(xiàn)限界檢測(cè)算法必須大量修改PRISM的源代碼,并重新編譯以實(shí)現(xiàn)步長(zhǎng)限制下各種概率度量的近似計(jì)算。PRISM的源程序目前包含20個(gè)文件夾,平均每個(gè)文件夾包含20個(gè)文件,要具備修改PRISM源代碼的能力必須熟悉這400個(gè)左右的文件,而且掌握近1000個(gè)函數(shù)之間的相互調(diào)用關(guān)系,因此修改PRISM源代碼是非常困難的,這使得在PRISM上執(zhí)行限界檢測(cè)算法的可操作性很差,而
且工作量巨大。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,以提高在PRISM上執(zhí)行限界檢測(cè)技術(shù)的可操作性,降低工作量,同時(shí)保證利用限界檢測(cè)技術(shù)約簡(jiǎn)狀態(tài)空間的效果。為了解決以上技術(shù)問題,本發(fā)明的采用的技術(shù)方案如下。一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,其特征在于包括以下步驟步驟一,設(shè)整數(shù)k為所需構(gòu)造的局部空間的深度,在建模語言的全局變量聲明處引入一個(gè)新的全局變量newv,并設(shè)置成整數(shù)型,初始值為O,即添加語句newv: [O. . k]initO ;步驟二,對(duì)語言中的每一條命令,依據(jù)符號(hào)“ + ”表示的概率分布進(jìn)行分解,具體分解規(guī)則如下 原始命令
權(quán)利要求
1.一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,其特征在于包括以下步驟步驟一,設(shè)整數(shù)k為所需構(gòu)造的局部空間的深度,在建模語言的全局變量聲明處引入一個(gè)新的全局變量newv,并設(shè)置成整數(shù)型,初始值為0,即添加語句newv :
init 0 ;步驟二,對(duì)語言中的每一條命令,依據(jù)符號(hào)“ + ”表示的概率分布進(jìn)行分解,具體分解規(guī)則如下原始命令[]guard_l -> prob_l : update_l + . . . + prob_n : update_n 分解后的命令[]guard_l -> prob_l : update_l ;[]guard_l -> prob_2 : update_2 ;......[]guard_l -> prob_n : update_n ;步驟三,對(duì)每一個(gè)模塊,依據(jù)各命令中值為真的謂詞的數(shù)量以及謂詞之間組合的不同重新構(gòu)造模型;步驟四,為了防止出現(xiàn)死循環(huán),在每一個(gè)模塊的末尾添加如下命令newV=k-> newv, =newv ;步驟五,將所有模塊重新組合在一起構(gòu)成新的建模語言。
2.如權(quán)利要求1所述的一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,其特征在于,所述步驟三進(jìn)一步具體為不失一般性,每一個(gè)模塊當(dāng)中的建模語言抽象如下 module M[]guard_l -> prob_l : update_l ;[]guard_2 -> prob_2 : update_2 ;......[]guard_m -> prob_m : update_m ;Endmodule按下述方法重新構(gòu)造模型步驟(一),對(duì)每一個(gè)update_i (1≤ i≤m),標(biāo)識(shí)出其中被賦值的變量集合V_i,記為V_ i={v_{i, 1}, ···, v_{i, j}},對(duì)每個(gè)變量 v_{i,h} (I ≤ h ≤ j),引入記號(hào) f (v_{i,h})表示 update」中對(duì)v_{i, h}的賦值操作;步驟(二),依據(jù)謂詞guard_l,……,guarcLm中值為真的謂詞的數(shù)量以及謂詞之間組合的不同分別添加命令,新命令中謂詞是三個(gè)部分的合取1)值為真的謂詞保持不變;2) 值為假的謂詞取其否定;3)對(duì)于任意謂詞值為真的兩條命令,令第一條命令對(duì)變量的賦值等于第二條命令對(duì)變量的賦值來構(gòu)建新謂詞;轉(zhuǎn)換概率是所有謂詞值為真的命令中轉(zhuǎn)換概率之和;新命令中變量賦值部分從謂詞為真的命令中隨機(jī)選擇;步驟(三),刪除模塊中所有的原始命令。
3.如權(quán)利要求2所述的一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,其特征在于所述步驟(二)進(jìn)一步具體為步驟(I ),只有一個(gè)謂詞為真,添加如下命令
全文摘要
本發(fā)明涉及一種面向限界檢測(cè)技術(shù)的系統(tǒng)模型構(gòu)造方法,是基于概率模型檢測(cè)工具PRISM。包括以下步驟對(duì)于局部空間搜索深度k,在建模語言的全局變量聲明處引入新的整數(shù)型變量newv,初始值為0;對(duì)語言中的每一條命令,依據(jù)符號(hào)“+”表示的概率分布將其分解成若干只包含一條賦值語句的命令;依據(jù)各命令中值為真的謂詞數(shù)量以及謂詞之間組合的不同分別添加新命令。新命令中謂詞是三個(gè)部分的合取值為真的謂詞保持不變;值為假的謂詞取其否定;對(duì)于任意謂詞值為真的兩條命令,令第一條命令對(duì)變量的賦值等于第二條命令對(duì)變量的賦值來構(gòu)建新謂詞。本發(fā)明可實(shí)施性強(qiáng),工作量小,且保證了利用限界檢測(cè)技術(shù)約簡(jiǎn)狀態(tài)空間的效果,可應(yīng)用于隨機(jī)系統(tǒng)建模。
文檔編號(hào)G06F9/44GK103049277SQ20131003473
公開日2013年4月17日 申請(qǐng)日期2013年1月29日 優(yōu)先權(quán)日2013年1月29日
發(fā)明者周從華 申請(qǐng)人:江蘇大學(xué)