專利名稱:Pptl符號(hào)模型檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于可信計(jì)算領(lǐng)域,主要涉及系統(tǒng)形式化建模與驗(yàn)證技術(shù)領(lǐng)域,尤其涉及命題投影時(shí)序邏輯(PPTL)和符號(hào)模型檢測(cè)方法(SMC),具體是一種PPTL符號(hào)模型檢測(cè)方法??蓱?yīng)用于工業(yè)、農(nóng)業(yè)、軍事、科研等領(lǐng)域硬件系統(tǒng)設(shè)計(jì)缺陷的檢測(cè),軟件系統(tǒng)控制邏輯錯(cuò)誤的檢查以及通信協(xié)議正確性的形式化驗(yàn)證。
背景技術(shù):
近幾年來(lái),隨著各種計(jì)算機(jī)應(yīng)用軟件,硬件電路、嵌入式系統(tǒng)和網(wǎng)絡(luò)通信協(xié)議等在工業(yè)、農(nóng)業(yè)、軍事、科研等領(lǐng)域的廣泛應(yīng)用,這些系統(tǒng)及協(xié)議的復(fù)雜度日益增加俱增,對(duì)于可靠性的需求不斷提高。形式化驗(yàn)證技術(shù)的發(fā)展和不斷成熟使得我們可以利用計(jì)算機(jī)來(lái)解決上述問(wèn)題。形式化驗(yàn)證技術(shù)起源于20世紀(jì)60年代的軟件危機(jī)。當(dāng)前,較為流行的形式化驗(yàn)證方法分為三類,分別是定理證明、等價(jià)性驗(yàn)證和模型檢測(cè)。定理證明可以應(yīng)用于有窮和 無(wú)窮系統(tǒng)的驗(yàn)證,但是其自動(dòng)化程度不高,證明過(guò)程耗時(shí)且容易出錯(cuò),并且不能在證明失敗時(shí)給出反例;等價(jià)性驗(yàn)證技術(shù)可用于驗(yàn)證不同抽象層次系統(tǒng)模型的等價(jià)性,但是它只能發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤,不能發(fā)現(xiàn)其中的缺陷;模型檢測(cè)技術(shù)是一種自動(dòng)化的形式化驗(yàn)證方法,它通過(guò)窮舉搜索狀態(tài)空間的方式?jīng)Q定待驗(yàn)證系統(tǒng)模型是否滿足期望的性質(zhì),并且在不滿足期望性質(zhì)時(shí)給出反例。在模型檢測(cè)中,通常將驗(yàn)證系統(tǒng)期望的性質(zhì)用時(shí)序邏輯(TL)公式描述,將待驗(yàn)證系統(tǒng)建模為有限狀態(tài)機(jī),如Kripke結(jié)構(gòu)、遷移系統(tǒng)或者自動(dòng)機(jī)。然后,遍歷待驗(yàn)證系統(tǒng)模型的狀態(tài)空間以檢查待驗(yàn)證系統(tǒng)是否滿足期望性質(zhì),并在期望性質(zhì)不滿足時(shí)提供反例,以定位設(shè)計(jì)錯(cuò)誤和缺陷。傳統(tǒng)的模型檢測(cè)方法大多基于顯式狀態(tài)空間描述,當(dāng)驗(yàn)證問(wèn)題規(guī)模過(guò)大時(shí),系統(tǒng)狀態(tài)數(shù)目會(huì)隨著系統(tǒng)并發(fā)執(zhí)行部件數(shù)目的上升呈現(xiàn)指數(shù)級(jí)增長(zhǎng),從而引發(fā)狀態(tài)空間爆炸問(wèn)題。在本領(lǐng)域內(nèi)提出了許多壓縮狀態(tài)空間的方法。常用的方法有抽象模型檢測(cè)(AMC),限界模型檢測(cè)(BMC),組合模型檢測(cè)(CMC)和符號(hào)模型檢測(cè)(SMC)等方法。符號(hào)模型檢測(cè)方法由McMillan于1992年提出,其主要思想是將待驗(yàn)證系統(tǒng)模型的狀態(tài)空間編碼為布爾公式,然后使用歸約有序二叉決策圖(ROBDD)的壓縮存儲(chǔ)機(jī)制,降低存儲(chǔ)和搜索狀態(tài)空間所需的內(nèi)存空間,從而緩解狀態(tài)空間爆炸問(wèn)題。雖然,近幾年來(lái)學(xué)術(shù)界提出了很多用于驗(yàn)證并發(fā)系統(tǒng)性質(zhì)的時(shí)序邏輯,如計(jì)算樹(shù)邏輯(CTL)和線性時(shí)序邏輯(LTL)等,但是這些時(shí)序邏輯的描述能力有限,至少有兩種類型的性質(zhì)是CTL和LTL都無(wú)法描述的(I)狀態(tài)敏感性質(zhì),例如,性質(zhì)Q在第X個(gè)狀態(tài)成立或者Q在第X個(gè)狀態(tài)和第y個(gè)狀態(tài)之間成立;(2)順序性質(zhì)和閉包性質(zhì),例如,性質(zhì)Q在性質(zhì)P成立之后成立,或者性質(zhì)Q周期性的成立。進(jìn)而導(dǎo)致使用模型檢測(cè)對(duì)系統(tǒng)正則性質(zhì)進(jìn)行驗(yàn)證比較困難。命題投影時(shí)序邏輯(PPTL)引入了順序(Chop)和投影(Projection)時(shí)序算子,其表達(dá)能力達(dá)到完全正則。使用PPTL可以方便地描述CTL和LTL無(wú)法描述的狀態(tài)敏感、順序和閉包性質(zhì)。因此,如何應(yīng)對(duì)狀態(tài)空間爆炸問(wèn)題并擴(kuò)展期望性質(zhì)的描述能力成為模型檢測(cè)技術(shù)領(lǐng)域研究和亟待解決的關(guān)鍵問(wèn)題之一。
發(fā)明內(nèi)容
本發(fā)明主要針對(duì)現(xiàn)有模型檢測(cè)方法中,被驗(yàn)證系統(tǒng)模型存在過(guò)多并發(fā)執(zhí)行部件引發(fā)的狀態(tài)空間爆炸以及現(xiàn)有時(shí)序邏輯語(yǔ)言描述能力不足問(wèn)題,提出一種高效、簡(jiǎn)潔的、狀態(tài)空間緊湊、期望性質(zhì)描述能力更強(qiáng)的PPTL符號(hào)模型檢測(cè)方法。下面對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明本發(fā)明是一種PPTL符號(hào)模型檢測(cè)方法,本發(fā)明使用具有完全正則表達(dá)能力的規(guī)范語(yǔ)言PPTL描述待驗(yàn)證系統(tǒng)的期望性質(zhì);使用Kripke結(jié)構(gòu)M = (S,R,L)描述待驗(yàn)證系統(tǒng)模型,進(jìn)而將編碼得到的布爾公式使用ROBDD表示,借助于ROBDD的壓縮存儲(chǔ)和有效地布爾公式操作機(jī)制高效地對(duì)被驗(yàn)證系統(tǒng)模型M進(jìn)行搜索。PPTL符號(hào)模型檢測(cè)的具體步驟包括 步驟I :首先對(duì)待驗(yàn)證系統(tǒng)建模,采用Kripke結(jié)構(gòu)描述模型M = (S, R,U,并將模型M中的狀態(tài)集合S和遷移關(guān)系R分別編碼為形如X1*\和
(X1-X2.... *xn) * (x/ .x2, . . . -x/ )的布爾公式,其中“ ”為邏輯與操作符,布爾公式的邏輯操作使用ROBDD實(shí)現(xiàn),并將標(biāo)記函數(shù)L定義為AP — 2s,其中AP為原子命題的集合,2s為狀態(tài)集合S的冪集;標(biāo)記函數(shù)L將每個(gè)原子命題% G AP映射到滿足%的狀態(tài)集合;步驟2 :使用PPTL描述待驗(yàn)證系統(tǒng)的期望性質(zhì),得到期望性質(zhì)公式Q ;本發(fā)明的步驟I是對(duì)待驗(yàn)證系統(tǒng)建模并將模型M中的狀態(tài)集合S和遷移關(guān)系R用布爾公式表示,步驟2是將待驗(yàn)證系統(tǒng)的期望性質(zhì)使用規(guī)范語(yǔ)言PPTL進(jìn)行描述,步驟I和步驟2可同時(shí)進(jìn)行,也可先進(jìn)行步驟I再進(jìn)行步驟2。將步驟I和步驟2的結(jié)果相結(jié)合用于計(jì)算滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼。步驟3 :計(jì)算滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq ;步驟4 :如果BQ# 0,那么待驗(yàn)證系統(tǒng)的模型M滿足期望性質(zhì)公式Q,模型檢測(cè)結(jié)果顯示待驗(yàn)證系統(tǒng)滿足期望的性質(zhì);如果Bq = 0,那么待驗(yàn)證系統(tǒng)的模型M不滿足期望性質(zhì)公式Q,模型檢測(cè)結(jié)果顯示待驗(yàn)證系統(tǒng)不滿足期望的性質(zhì);步驟5 :待驗(yàn)證系統(tǒng)的PPTL符號(hào)模型檢測(cè)結(jié)束。本發(fā)明通過(guò)將待驗(yàn)證系統(tǒng)的狀態(tài)空間和遷移關(guān)系使用布爾公式符號(hào)化表示,并借助ROBDD對(duì)狀態(tài)空間進(jìn)行高效、簡(jiǎn)潔的操作,降低了存儲(chǔ)和操作狀態(tài)空間所需要的內(nèi)存空間,提升了模型檢測(cè)處理問(wèn)題的規(guī)模,并且緩解了狀態(tài)空間爆炸問(wèn)題;本發(fā)明還通過(guò)使用PPTL描述待驗(yàn)證系統(tǒng)性質(zhì),實(shí)現(xiàn)了對(duì)于CTL和LTL等現(xiàn)有的時(shí)序邏輯無(wú)法描述的狀態(tài)敏感、順序和閉包性質(zhì)的描述,將待驗(yàn)證系統(tǒng)期望性質(zhì)的描述能力擴(kuò)展到完全正則型。本發(fā)明的實(shí)現(xiàn)還在于對(duì)于任何以PPTL描述的期望性質(zhì)公式Q,可以將Q改寫(xiě)為其正則形,記為NFq,并構(gòu)建Q的完全正則圖Gq,步驟3中計(jì)算滿足以PPTL描述的期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq的具體步驟包括步驟3. I :定義期望性質(zhì)公式Q的正則形,對(duì)于任何以PPTL描述的期望性質(zhì)公式 Q, Q的正則形定義為 ▽"二必入empty)VJQci a〇Q/),其中Qp為Q中出現(xiàn)的原子命題的集合,=八:扣,I為Qp中原子命題的數(shù)量,I = |Qpl,n為Q的正則形中描述當(dāng)前性質(zhì)的析取項(xiàng)Qejj A empty的數(shù)量,Iitl為Q的正則形中描述未來(lái)性質(zhì)的析取項(xiàng)Qcd八OQi'的數(shù)量,I彡Ii(Iici)彡31,!!!為狀態(tài)公式Qej中原子命題的數(shù)目,Hitl為狀態(tài)公式Qci中原子命題的數(shù)目,I < m(m0) ( I ;狀態(tài)子公式Qjk和qih屬于QP,對(duì)于任意公式r G QP,/=表示r或者,rjQ/是一個(gè)PPTL時(shí)序公式;步驟3. 2 :根據(jù)步驟3. I所述的正則形定義將期望性質(zhì)公式Q改寫(xiě)為其正則形,記為NFq = V f2 V ... V fn,其中包含n個(gè)用析取操作符“ V ”連接的期望性質(zhì)子公式f\,...,fn,用這些期望性質(zhì)子公式組成期望性質(zhì)子公式集合Nq = {f:, ... , fj ;步驟3. 3 :定義期望性質(zhì)公式Q的標(biāo)記正則圖,對(duì)于任何以PPTL描述的期望性質(zhì)公式Q,將Q的標(biāo)記正則圖(LNFG)定義為有向圖G= (V(Q),E(Q),V0,L = H1,L2,…Lj),其中V(Q)是結(jié)點(diǎn)集合,每個(gè)結(jié)點(diǎn)對(duì)應(yīng)一個(gè)PPTL公式;E (Q)是有向邊的集合,每條邊記為(vQ,Qe, vF),即從結(jié)點(diǎn)vQ到結(jié)點(diǎn)vF有一條用狀態(tài)公式Qe標(biāo)記的有向邊是初始結(jié)點(diǎn)的集合;標(biāo)記集合L中的每個(gè)子集合Lk(l < k < m)為帶標(biāo)簽Ik 的結(jié)點(diǎn)集合,k為標(biāo)簽的計(jì)數(shù)變量;步驟3. 4 :根據(jù)步驟3. 3所述的標(biāo)記正則圖定義,構(gòu)造期望性質(zhì)公式Q的標(biāo)記正則圖,記為Gq,如果Gq中不包含%_結(jié)點(diǎn),并且對(duì)于Gq中的任意無(wú)限路徑j(luò)i,中出現(xiàn)無(wú)限多次的結(jié)點(diǎn)的集合記為Inf(Ji),存在一個(gè)標(biāo)記結(jié)點(diǎn)集合1^,使得Inf(Ji)是1^的子集,那么滿足Q的狀態(tài)集合的布爾編碼Bq = 0,轉(zhuǎn)到步驟3. 8,反之轉(zhuǎn)到步驟3. 5 ;步驟3. 5 :從期望性質(zhì)子公式集合Nq中任選一個(gè)期望性質(zhì)子公式fp使用以布爾公式符號(hào)化表示的狀態(tài)集合S和遷移關(guān)系R計(jì)算出滿足期望性質(zhì)子公式A的狀態(tài)集合的布爾編碼Bfi,如果&中包含狀態(tài)公式,那么滿足該狀態(tài)公式的狀態(tài)集合的布爾編碼不經(jīng)過(guò)形式判定,直接由符號(hào)化的狀態(tài)集合S和標(biāo)記函數(shù)L求得;步驟3. 6 :從期望性質(zhì)子公式集合Nq中刪除fp如果Nq不為空則轉(zhuǎn)到步驟3. 5,反之轉(zhuǎn)到步驟3. 7 ;步驟3. 7 :滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq = Bfl+. . . +Bfn ;步驟3. 8 :計(jì)算滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq的過(guò)程結(jié)束。本發(fā)明以布爾公式符號(hào)化表示待驗(yàn)證系統(tǒng)模型M的狀態(tài)集合S和遷移關(guān)系R,使用期望性質(zhì)公式Q的正則形NFq和標(biāo)記正則圖Gq,并借助ROBDD對(duì)狀態(tài)空間進(jìn)行高效、簡(jiǎn)潔的搜索,獲得滿足以PPTL描述的期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼,降低了搜索狀態(tài)空間所需要的空間和時(shí)間復(fù)雜度,提升了模型檢測(cè)的效率。本發(fā)明的實(shí)現(xiàn)還在于對(duì)于任何期望性質(zhì)公式Q,根據(jù)其正則形NFq都可以構(gòu)造其標(biāo)記正則圖Gq,步驟3. 4中構(gòu)建期望性質(zhì)公式Q的標(biāo)記正則圖Gq的具體步驟如下步驟3. 4. I :如果期望性質(zhì)公式Q的形式為P1 V P2 V . . . VPn,則為每個(gè)期望性質(zhì)子公式Pi (I彡i彡n)構(gòu)造一個(gè)與Pi對(duì)應(yīng)的結(jié)點(diǎn)vPi,Vpi G V(Q)且Vpi G V0 ;否則,僅為期望性質(zhì)公式Q構(gòu)造一個(gè)與Q對(duì)應(yīng)的結(jié)點(diǎn)vQ,vQ g V(Q)且vQ G V。;步驟3. 4. 2 :將計(jì)數(shù)變量k的初值置為I ;步驟3. 4. 3 :從可達(dá)結(jié)點(diǎn)集合V(Q)\{v_y}中任選一個(gè)結(jié)點(diǎn),記為vQ1,如果vQ1對(duì)應(yīng)的PPTL公式Q1形式為Qi ;Q」,將Q1改寫(xiě)為Qi A fin (Ik) ;Q」,vQ1加入計(jì)數(shù)變量為k的標(biāo)記結(jié)點(diǎn)集合Lk ;步驟3. 4. 4 :將Q1展開(kāi)為其正則形
權(quán)利要求
1.一種PPTL符號(hào)模型檢測(cè)方法,其特征在于使用具有完全正則表達(dá)能力的規(guī)范語(yǔ)言PPTL描述待驗(yàn)證系統(tǒng)的期望性質(zhì);使用Kripke結(jié)構(gòu)M = (S,R,L)描述待驗(yàn)證系統(tǒng)模型,并將模型M的狀態(tài)集合S和遷移關(guān)系R使用布爾變量進(jìn)行編碼,進(jìn)而將編碼得到的布爾公式使用歸約有序二叉決策圖表示,借助于歸約有序二叉決策圖的布爾公式操作機(jī)制對(duì)被驗(yàn)證系統(tǒng)模型M進(jìn)行搜索, 模型檢測(cè)步驟包括 步驟I :首先對(duì)待驗(yàn)證系統(tǒng)建模,采用Kripke結(jié)構(gòu)描述模型M = (S,R,L),并將模型M中的狀態(tài)集合S和遷移關(guān)系R分別編碼為形如X1 · X2 ·.. . · Xn和(X1-X2.... ·χη) * (χ/ ·χ2, '...Xn')的布爾公式,其中“ ”為邏輯與操作符,并將標(biāo)記函數(shù)L定義為AP — 2s,其中AP為原子命題的集合,2s為狀態(tài)集合S的冪集;標(biāo)記函數(shù)L將每個(gè)原子命題% e AP映射到滿足%的狀態(tài)集合; 步驟2 :使用PPTL描述待驗(yàn)證系統(tǒng)的期望性質(zhì),得到期望性質(zhì)公式Q ; 步驟3 :計(jì)算滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq ; 步驟4 :如果Bq古O,那么待驗(yàn)證系統(tǒng)的模型M滿足期望性質(zhì)公式Q,模型檢測(cè)結(jié)果顯示待驗(yàn)證系統(tǒng)滿足期望的性質(zhì);如果Bq = O,那么待驗(yàn)證系統(tǒng)的模型M不滿足期望性質(zhì)公式Q,模型檢測(cè)結(jié)果顯示待驗(yàn)證系統(tǒng)不滿足期望的性質(zhì); 步驟5 :待驗(yàn)證系統(tǒng)的PPTL符號(hào)模型檢測(cè)結(jié)束。
2.根據(jù)權(quán)利要求I所述的PPTL符號(hào)模型檢測(cè)方法,其特征在于對(duì)于任何以PPTL描述的期望性質(zhì)公式Q,將Q改寫(xiě)為其正則形,記為NFq,并構(gòu)建Q的完全正則圖Gq,步驟3中計(jì)算滿足以PPTL描述的期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq的具體步驟包括 步驟3. 1 :定義期望性質(zhì)公式Q的正則形,對(duì)于任何以PPTL描述的期望性質(zhì)公式Q,Q的正則形定義為V;11(&a^PO0vV^(2 a〇2/),其中Qp為Q中出現(xiàn)的原子命題的集合,Qej =八二如,Qc ^八二扣,I為Qp中原子命題的數(shù)量,I = I Qp I,η為Q的正則形中描述當(dāng)前性質(zhì)的析取項(xiàng)Qej Λ empty的數(shù)量,Iici為Q的正則形中描述未來(lái)性質(zhì)的析取項(xiàng)Qei AOQ/的數(shù)量,I ( η (n0) ( 31,m為狀態(tài)公式中原子命題的數(shù)目,Hitl為狀態(tài)公式Qcd中原子命題的數(shù)目,I < m(m0) ( I ;狀態(tài)子公式qjk和qih屬于QP,對(duì)于任意公式r e Qp,/=表不r或者Qi'是一個(gè)用時(shí)序操作符“〇”修飾的PPTL時(shí)序公式; 步驟3. 2 :根據(jù)步驟3. I所述的正則形定義將期望性質(zhì)公式Q改寫(xiě)為其正則形,記為NFq=f! V f2 V ... V fn,其中包含η個(gè)用析取操作符“V”連接的期望性質(zhì)子公式f1;...,fn,用這些期望性質(zhì)子公式組成期望性質(zhì)子公式集合Nq = {f1; ...,fn}; 步驟3. 3 :定義期望性質(zhì)公式Q的標(biāo)記正則圖,對(duì)于任何以PPTL描述的期望性質(zhì)公式Q,將Q的標(biāo)記正則圖(LNFG)定義為有向圖G= (V(Q), E(Q), V0, L = IL1, L2,... Lj),其中V(Q)是結(jié)點(diǎn)集合,每個(gè)結(jié)點(diǎn)對(duì)應(yīng)一個(gè)PPTL公式;E(Q)是有向邊的集合,每條邊記為(vQ,Qe,VF),即從結(jié)點(diǎn)Vq到結(jié)點(diǎn)Vf有一條用狀態(tài)公式Qe標(biāo)記的有向邊Λ是初始結(jié)點(diǎn)的集合;標(biāo)記集合L中的每個(gè)子集合Lk(l < k < m)為帶標(biāo)簽Ik 的結(jié)點(diǎn)集合,k為標(biāo)簽的計(jì)數(shù)變量; 步驟3. 4 :根據(jù)步驟3. 3所述的標(biāo)記正則圖定義,構(gòu)造期望性質(zhì)公式Q的標(biāo)記正則圖,記為Gq,如果Gq中不包含^^肖結(jié)點(diǎn),并且對(duì)于Gq中的任意無(wú)限路徑π,π中出現(xiàn)無(wú)限多次的結(jié)點(diǎn)的集合記為Inf(Ji),存在一個(gè)標(biāo)記結(jié)點(diǎn)集合Li,使得Inf(Ji)是Li的子集,那么滿足Q的狀態(tài)集合的布爾編碼Bq = O,轉(zhuǎn)到步驟3. 8,反之轉(zhuǎn)到步驟3. 5 ; 步驟3. 5 :從期望性質(zhì)子公式集合Nq中任選一個(gè)期望性質(zhì)子公式fi;使用以布爾公式符號(hào)化表示的狀態(tài)集合S和遷移關(guān)系R計(jì)算出滿足期望性質(zhì)子公式A的狀態(tài)集合的布爾編碼Bfi,如果&中包含狀態(tài)公式,那么滿足該狀態(tài)公式的狀態(tài)集合的布爾編碼不經(jīng)過(guò)形式判定,直接由符號(hào)化的狀態(tài)集合S和標(biāo)記函數(shù)L求得; 步驟3. 6 :從期望性質(zhì)子公式集合Nq中刪除fi;如果Nq不為空則轉(zhuǎn)到步驟3. 5,反之轉(zhuǎn)到步驟3. 7 ; 步驟3. 7 :滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq = Bfl+. . . +Bfn ; 步驟3. 8 :計(jì)算滿足期望性質(zhì)公式Q的狀態(tài)集合的布爾編碼Bq的過(guò)程結(jié)束。
3.根據(jù)權(quán)利要求I所述的PPTL符號(hào)模型檢測(cè)方法,其特征在于對(duì)于任何期望性質(zhì)公式Q,根據(jù)其正則形NFq都可以構(gòu)造其標(biāo)記正則圖Gq,步驟3. 4中構(gòu)建期望性質(zhì)公式Q的標(biāo)記正則圖Gq的具體步驟如下 步驟3. 4. I :如果期望性質(zhì)公式Q的形式為P1 V P2 V ... V Pn,則為每個(gè)期望性質(zhì)子公式Pi (I彡i彡η)構(gòu)造一個(gè)與Pi對(duì)應(yīng)的結(jié)點(diǎn)vPi,Vpi e V(Q)且Vpi e V0;否則,僅為期望性質(zhì)公式Q構(gòu)造一個(gè)與Q對(duì)應(yīng)的結(jié)點(diǎn)vQ,vQ e V(Q)且vQ e V。; 步驟3. 4. 2 :將計(jì)數(shù)變量k的初值置為I ; 步驟3. 4. 3 :從可達(dá)結(jié)點(diǎn)集合V(Q)\{vempty}中任選一個(gè)結(jié)點(diǎn),記為vQ1,如果vQ1對(duì)應(yīng)的PPTL公式Q1形式為Qi ;Q」,將Q1改寫(xiě)為Qi Λ fin (Ik) ;Q」,Vqi加入計(jì)數(shù)變量為k的標(biāo)記結(jié)點(diǎn)集合Lk; 步驟3. 4. 4 :將Q1展開(kāi)為其正則形
4.根據(jù)權(quán)利要求I所述的PPTL符號(hào)模型檢測(cè)方法,其特征在于期望性質(zhì)子公式&的形式僅為Qe Λ empty和Qie Λ〇Q' i兩種形式,步驟3. 5中,計(jì)算滿足期望性質(zhì)子公式A的狀態(tài)集合的布爾編碼Bfi的具體步驟包括 步驟3. 5. 1:如果期望性質(zhì)子公式A的形式為Qe Λ empty,那么Bfi = BQe,其中BQe為待驗(yàn)證系統(tǒng)模型M中滿足狀態(tài)公式Qe的狀態(tài)集合的布爾編碼,轉(zhuǎn)步驟3. 5. 4,否則轉(zhuǎn)到步驟3.5. 2 ; 步驟3. 5. 2:如果期望性質(zhì)子公式f 形式為Qie Λi,且PPTL時(shí)序公式Q'前未被標(biāo)記過(guò),那么,首先使用步驟3計(jì)算滿足PPTL時(shí)序公式Q' i的狀態(tài)集合的布爾編碼Bq, i,然后,使用邏輯與操作符“· ”連接滿足狀態(tài)公式Qie的狀態(tài)集合的布爾編碼Beie與Bq, i在遷移關(guān)系R作用下的原象IT1 (Bq, J得到Bfi,即Bfi = Bei^IT1 (Bq, ^,然后標(biāo)記Q' ”轉(zhuǎn)步驟3. 5. 4,否則轉(zhuǎn)到步驟3. 5. 3 ; 步驟3. 5. 3:如果期望性質(zhì)子公式仁的形式為Qie Λi,且PPTL時(shí)序公式Q',之前被標(biāo)記過(guò),那么,首先使用步驟3和不動(dòng)點(diǎn)理論計(jì)算滿足PPTL時(shí)序公式Q' i的狀態(tài)集合的布爾編碼fixpointh (Bq, J),然后使用邏輯與操作符“ · ”連接滿足狀態(tài)公式Qie的狀態(tài)集合的布爾編碼Beie與fixpoint(T (Bq, i))在遷移關(guān)系R作用下的原象ITHfixpointO (Bq, J))得到 Bfi,即 Bfi = BQie · IT1 (fixpoint ( τ (BQ,))); 步驟3. 5. 4 :計(jì)算滿足期望性質(zhì)子公式A的狀態(tài)集合的布爾編碼Bfi過(guò)程結(jié)束; 子過(guò)程步驟3. 5. 2和步驟3. 5. 3計(jì)算滿足時(shí)序公式Q' i的狀態(tài)集合的布爾編碼Bq,,時(shí)直接遞歸調(diào)用了步驟3本身。
5.根據(jù)權(quán)利要求I所述的PPTL符號(hào)模型檢測(cè)方法,其特征在于計(jì)算滿足時(shí)序公式Q1 i的狀態(tài)集合的布爾編碼Bq, 過(guò)程中,如果出現(xiàn)已標(biāo)記過(guò)的時(shí)序公式,那么需要借助不動(dòng)點(diǎn)理論刻畫(huà)Bq, i; Bq, i的布爾方程形如τ⑶=Bgie · IT1 (Bgie · IT1 (Btjke · IT1(B))),步驟3. 5. 3中,計(jì)算滿足時(shí)序公式Q' i的狀態(tài)集合的布爾編碼Bq, i的具體步驟如下 步驟3. 5. 3. I :將布爾方程τ⑶=Bgie · IT1 (Bgie · IT1 (Bgke · IT1 (B)))中的自變量B的初值置為BQie,即B = Bgie,同時(shí)將τ (B)的值賦給布爾變量B'; 步驟3. 5. 3. 2 :如果自變量B的值等于布爾變量K的值,則轉(zhuǎn)到步驟3. 5. 3. 4,否則轉(zhuǎn)到步驟3. 5. 3. 3 ; 步驟3. 5. 3. 3 :將布爾變量B'的值賦給自變量B,將B更新之后的值代入布爾方程τ (B),并將τ (B)的值賦給布爾變量B',轉(zhuǎn)到步驟3. 5. 3. 2 ; 步驟3. 5. 3. 4 Bq, i的值為B的值,滿足時(shí)序公式j(luò)的狀態(tài)集合的布爾編碼Bq, i的計(jì)算過(guò)程結(jié)束。
全文摘要
本發(fā)明是一種PPTL符號(hào)模型檢測(cè)方法,屬可信計(jì)算領(lǐng)域,本發(fā)明使用具有完全正則表達(dá)能力的規(guī)范語(yǔ)言PPTL描述待驗(yàn)證系統(tǒng)期望性質(zhì);使用Kripke結(jié)構(gòu)M=(S,R,L)描述系統(tǒng)模型,借助ROBDD對(duì)符號(hào)化系統(tǒng)模型M進(jìn)行搜索,通過(guò)構(gòu)建標(biāo)記正則圖檢查期望性質(zhì)公式是否可滿足,節(jié)省后續(xù)操作時(shí)間,提高檢測(cè)效率。本發(fā)明僅需基于時(shí)序操作符“○”的檢測(cè)過(guò)程,降低了檢測(cè)復(fù)雜度。本發(fā)明提升了模型檢測(cè)可處理問(wèn)題的規(guī)模,有效緩解狀態(tài)空間爆炸問(wèn)題,同時(shí)具有描述狀態(tài)敏感、順序和閉包性質(zhì)的能力,可以應(yīng)用于工業(yè)、農(nóng)業(yè)、軍事、科研等領(lǐng)域硬件系統(tǒng)設(shè)計(jì)缺陷的檢測(cè),軟件系統(tǒng)控制邏輯錯(cuò)誤的檢查以及通信協(xié)議正確性的形式化驗(yàn)證。
文檔編號(hào)G06F17/50GK102663190SQ20121010206
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年4月9日 優(yōu)先權(quán)日2012年4月9日
發(fā)明者段振華, 王小兵, 田聰, 逄濤 申請(qǐng)人:西安電子科技大學(xué)