專利名稱:模型檢測(cè)中的模型抽象方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及形式化驗(yàn)證,尤其涉及模型檢測(cè)中的模型抽象方法及其系統(tǒng)。
背景技術(shù):
模型檢測(cè)是一種自動(dòng)化程度很高的形式化驗(yàn)證方法,在模型檢測(cè)中被驗(yàn)證 的系統(tǒng)用一個(gè)狀態(tài)轉(zhuǎn)換圖表示,通過(guò)遍歷這個(gè)圖可以確定該系統(tǒng)是否滿足某個(gè) 屬性。然而,隨著系統(tǒng)規(guī)模的不斷增長(zhǎng),模型檢測(cè)面臨著越來(lái)越嚴(yán)重的狀態(tài)爆 炸問(wèn)題,模型檢測(cè)的實(shí)用性也因此受到了制約。
使用模型檢測(cè)對(duì)電路進(jìn)行形式化驗(yàn)證,首先需要將實(shí)際電路轉(zhuǎn)化為一個(gè)為 自動(dòng)機(jī),并將電路的功能描述成一個(gè)屬性,然后通過(guò)在自動(dòng)機(jī)上檢査屬性是否 為真,來(lái)判斷電路是否實(shí)現(xiàn)了所需的功能。當(dāng)屬性在自動(dòng)機(jī)上為假時(shí),模型檢 測(cè)工具可以生成一個(gè)反例,也就是一條違反屬性的路徑,供分析。
一個(gè)電路包括輸入、內(nèi)部寄存器和輸出。例如在圖1中的電路包括輸入
101,寄存器102,輸出103。在電路的每個(gè)時(shí)鐘周期,輸入101的值和寄存器 102的值通過(guò)或門(mén)104進(jìn)行運(yùn)算,在輸出103上輸出結(jié)果,同時(shí)此結(jié)果在進(jìn)入 下一個(gè)時(shí)鐘周期時(shí)會(huì)用于刷新寄存器102的值。自動(dòng)機(jī)是一個(gè)狀態(tài)轉(zhuǎn)換圖,如 圖2所示,每個(gè)節(jié)點(diǎn)表示一個(gè)狀態(tài),雙邊的節(jié)點(diǎn)為初始狀態(tài),節(jié)點(diǎn)間的有向邊 表示狀態(tài)的遷移,每個(gè)狀態(tài)上標(biāo)記有原子謂詞。電路的輸入101和寄存器102 的4種取值為,輸入101為0且寄存器102為0,輸入101為1且寄存器102 為0,輸入101為0且寄存器102為1,輸入101為1且寄存器102為1,形 成了自動(dòng)機(jī)的4個(gè)狀態(tài),狀態(tài)201、狀態(tài)202、狀態(tài)203和狀態(tài)204。輸入101、 輸出103和寄存器102的值形成原子謂詞。例如寄存器102的值對(duì)應(yīng)于原子 謂詞r和-。當(dāng)寄存器102的值在一個(gè)狀態(tài)上為1時(shí),在該塊態(tài)上標(biāo)記。否 則標(biāo)記-"假設(shè)電路啟動(dòng)時(shí)寄存器102的值被置為0,則狀態(tài)201和狀態(tài)202 成為初始狀態(tài)。
自動(dòng)機(jī)中的有向邊對(duì)應(yīng)于電路相鄰時(shí)鐘周期間的狀態(tài)轉(zhuǎn)換。自動(dòng)機(jī)中同驗(yàn)證有關(guān)的路徑,稱為擴(kuò)展公平路徑。公平性約束則被用于排除自動(dòng)機(jī)中的一些
無(wú)關(guān)路徑。公平性約束由一對(duì)原子謂詞組成,例如(a,b),其中a為一個(gè)原子 謂詞,b為一個(gè)原子謂詞。 一條路徑滿足公平性約束(a, b),當(dāng)且僅當(dāng)在該 路徑上,如果有無(wú)限個(gè)狀態(tài)上標(biāo)記了原子謂詞a,則有無(wú)限個(gè)狀態(tài)上標(biāo)記了原 子謂詞b。 一條路徑是擴(kuò)展公平路徑,當(dāng)且僅當(dāng),該路徑是無(wú)限路徑且滿足所 有公平性約束,或者該路徑為有限路徑且該路徑最后一個(gè)狀態(tài)為終結(jié)狀態(tài),也 就是沒(méi)有邊從該狀態(tài)出發(fā)。
屬性是一個(gè)時(shí)序邏輯公式,使用符號(hào)-、 p或^表示。最簡(jiǎn)單的屬性就是 一個(gè)原子謂詞,例如- = a, 一個(gè)狀態(tài)滿足原子謂詞a,當(dāng)且僅當(dāng)該狀態(tài)上標(biāo)
記了"。
A和V分別為邏輯與和邏輯或,例如 一個(gè)狀態(tài)滿足爐A^,當(dāng)且僅當(dāng)
該狀態(tài)滿足^且滿足^ °
^是路徑量詞,表示從一個(gè)狀態(tài)出發(fā)的所有擴(kuò)展公平路徑。
x、 [/、 g和^是時(shí)序操作符,用來(lái)描述路徑。jt(^表示路徑包含至少兩 個(gè)狀態(tài),且路徑的第二個(gè)狀態(tài)滿足屬性^ [^V]表示路徑上有一個(gè)狀態(tài)滿足 屬性^,且該狀態(tài)之前的所有狀態(tài)都滿足屬性p; G&)表示路徑是無(wú)限的,也 就是路徑上有無(wú)限個(gè)狀態(tài),且路徑上的所有狀態(tài)都滿足屬性^ [p^^表示路
徑滿足[^y^]或滿足。
路徑量詞和時(shí)序操作符總是成對(duì)使用,例如 一個(gè)狀態(tài)滿足v^(W,當(dāng)且 僅當(dāng)對(duì)于從該狀態(tài)出發(fā)的所有擴(kuò)展公平路徑都包含至少兩個(gè)狀態(tài),且這些擴(kuò)展 公平路徑的第二個(gè)狀態(tài)都滿足屬性p 。
一個(gè)屬性在自動(dòng)機(jī)上為真,當(dāng)且僅當(dāng)自動(dòng)機(jī)的所有初始狀態(tài)都滿足該屬 性。例如,圖1中電路的一個(gè)功能是, 一旦輸入101輸入1,則此后輸出103 永遠(yuǎn)輸出1。該功能可以用屬性^W^v^GW)描述,其意義為,對(duì)于每個(gè)從 初始狀態(tài)可達(dá)的狀態(tài),^G,在該狀態(tài)上輸入101不為1, -a,或者在該狀態(tài) 及其后續(xù)狀態(tài)上輸出103的輸出都為1, ^G^。因此在自動(dòng)機(jī)上檢査一個(gè)屬 性的滿足性包括兩步,首先找出自動(dòng)機(jī)中所有滿足該屬性的狀態(tài),稱為該屬性 在自動(dòng)機(jī)中的語(yǔ)義,然后檢査所述狀態(tài)是否包含自動(dòng)機(jī)的所有初始狀態(tài)。
求解語(yǔ)義是一個(gè)遞歸的過(guò)程,如圖3所示,屬性ZG(-av^G(州可以被視 為一棵樹(shù),語(yǔ)義的求解從葉子開(kāi)始,首先求解-。的語(yǔ)義301, C,,也就是所有 標(biāo)記了-。的狀態(tài),求解6的語(yǔ)義302, C2;接著求解^G(C》的語(yǔ)義303, C..,,也就是所有滿足如下條件的狀態(tài)對(duì)于每個(gè)從該狀態(tài)出發(fā)的擴(kuò)展公平路徑,該
擴(kuò)展公平路徑為無(wú)限,且路徑上的所有狀態(tài)都在c,中;接著求解c,vc;的語(yǔ)義
304, C4,也就是所有在q中或在q中的狀態(tài);最后求解K (C,)的語(yǔ)義305, 語(yǔ)義305也就是TC (-"v^G(州的語(yǔ)義。因此,求解嵌套公式的語(yǔ)義是求解一
系列非嵌套公式的語(yǔ)義,非嵌套公式稱為基本公式。
模型檢測(cè)是通過(guò)遍歷自動(dòng)機(jī)的狀態(tài)來(lái)檢査屬性的滿足性。由于自動(dòng)機(jī)的狀 態(tài)數(shù)隨電路中輸入和寄存器的個(gè)數(shù)成指數(shù)級(jí)增長(zhǎng),因此當(dāng)電路規(guī)模變大時(shí),就 會(huì)出現(xiàn)狀態(tài)爆炸問(wèn)題,即自動(dòng)機(jī)的狀態(tài)太多,使計(jì)算所需的空間和時(shí)間都無(wú)法 令人接受。緩和狀態(tài)爆炸的一種方法是使用模型抽象。
模型抽象認(rèn)識(shí)到大規(guī)模的待驗(yàn)證系統(tǒng)通常是由多個(gè)子模塊組合而成,因而 可以先將各個(gè)子模塊抽象成較小的抽象模塊,再將這些抽象模塊組合起來(lái)形成 一個(gè)待驗(yàn)證系統(tǒng)的抽象模型。由于子模塊規(guī)模較小,因此在抽象的過(guò)程中不會(huì) 出現(xiàn)狀態(tài)爆炸。同樣最終得到的抽象模型也比原始系統(tǒng)小,因而在其上進(jìn)行屬 性驗(yàn)證不會(huì)出現(xiàn)狀態(tài)爆炸。
如圖4所示, 一個(gè)大的電路401由2個(gè)子模塊403和子模塊404組成,直 接處理電路401會(huì)產(chǎn)生狀態(tài)爆炸。為了避免狀態(tài)爆炸,可以先將子模塊403 和子模塊404抽象成較小的模型抽象子模塊405和抽象子模塊406,再將抽象 子模塊405和抽象子模塊406組合起來(lái)生成電路401的抽象模型402,最后用 抽象模型402代替電路401來(lái)檢査屬性的滿足性。
模型抽象的基本原理是將原始模型的狀態(tài)空間劃分為若干個(gè)分塊,然后將 每個(gè)分塊抽象為一個(gè)抽象狀態(tài)從而形成一個(gè)比原始模型小的抽象模型。模型抽 象中的一個(gè)關(guān)鍵問(wèn)題是如何劃分原始模型的狀態(tài)空間。劃分的分塊越多,抽象 模型所保留的信息越多,在抽象模型上能夠驗(yàn)證的屬性也越多,但相應(yīng)的抽象 模型的規(guī)模會(huì)增大。因此驗(yàn)證者必須選擇適當(dāng)?shù)膭澐郑缘玫揭?guī)??山邮艿某?象模型,同時(shí)保證給定的屬性能夠在該抽象模型上進(jìn)行驗(yàn)證。通常驗(yàn)證者會(huì)先 使用原始模型的接口謂詞生成一個(gè)初始的劃分,然后對(duì)該劃分進(jìn)行進(jìn)一步分割 以使其保留足夠多的信息。
如圖5所示,左側(cè)原始模型的狀態(tài)空間被劃分為3個(gè)分塊,每個(gè)分塊對(duì)應(yīng) 于右邊抽象模型中的一個(gè)抽象狀態(tài)。抽象模型中的邊的生成規(guī)則為,如果在原始模型中,有一條邊從一個(gè)分塊中的狀態(tài)到另一個(gè)分塊中的狀態(tài),該兩個(gè)分塊 為相同或不同分塊,則在抽象模型中,有一條邊從一個(gè)分塊所對(duì)應(yīng)的抽象狀態(tài) 到另一個(gè)分塊所對(duì)應(yīng)的抽象狀態(tài)??梢宰C明如果一個(gè)屬性在抽象模型中為真,
則該屬性在原始模型中也為真z但是當(dāng)一個(gè)屬性在抽象模型中為假時(shí),該屬性
在原始模型中不一定為假,也就是說(shuō)在抽象模型中生成的反例不一定能對(duì)應(yīng)到
原始模型中的一條路徑,此時(shí)稱該反例為偽反例。例如,圖5中由抽象狀態(tài) 503、抽象狀態(tài)502和抽象狀態(tài)501組成的抽象路徑并不能對(duì)應(yīng)到原始模型中 的一條路徑。為了避免偽反例,可以對(duì)原始模型的狀態(tài)劃分施加更強(qiáng)的條件, 例如可以要求對(duì)于任意的分塊1和分塊2,要么分塊1中的所有狀態(tài)都存在一 條邊到分塊2中的狀態(tài),要么分塊1中沒(méi)有狀態(tài)存在一條邊到分塊2中的狀態(tài)。 在這一條件下,可以證明一個(gè)屬性在抽象模型中為真,當(dāng)且僅當(dāng)該屬性在原始 模型中為真。但此條件在很多時(shí)候會(huì)導(dǎo)致劃分中的分塊過(guò)多,從而無(wú)法生成規(guī) ??山邮艿某橄笞詣?dòng)機(jī)。
分割劃分工作是一項(xiàng)復(fù)雜的工作,現(xiàn)有的自動(dòng)化方法通常無(wú)法得到令人滿 意的結(jié)果,因此當(dāng)前這項(xiàng)工作大量依賴于驗(yàn)證者的手工勞動(dòng),并且這種手工分 割工作對(duì)驗(yàn)證者的要求也較高,需要驗(yàn)證者對(duì)原始模型的結(jié)構(gòu)有足夠的了解。 這在很大程度上限制了模型抽象的應(yīng)用。
發(fā)明內(nèi)容
為解決上述問(wèn)題,本發(fā)明提供了模型檢測(cè)中的模型抽象方法及其系統(tǒng),能 夠在只提供指導(dǎo)屬性的前提下,根據(jù)該指導(dǎo)屬性自動(dòng)地完成分割工作,同時(shí)使 分割后的劃分能夠保留與指導(dǎo)屬性相關(guān)的信息。
本發(fā)明公開(kāi)了模型檢測(cè)中的模型抽象方法,包括
步驟l,輸入原始模型和指導(dǎo)屬性;
步驟2,為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在所述原始模型中的超語(yǔ)義, 根據(jù)所述超語(yǔ)義為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列; 步驟3,對(duì)所述原始模型的狀態(tài)空間建立劃分;
步驟4,應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的 基本序列分割所述劃分;
步驟5,為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型,應(yīng)用所述證明
21模型進(jìn)一步分割所述步驟4分割后的劃分;
步驟6,由進(jìn)一步分割后的所述劃分生成所述原始模型對(duì)應(yīng)的抽象模型。
所述步驟2進(jìn)一步為,
從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在所述 原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指 導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。
所述步驟2中從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié) 點(diǎn)求解在所述原始模型中的超語(yǔ)義進(jìn)一步為
步驟31,為所述指導(dǎo)屬性的葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述 節(jié)點(diǎn),按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義;
步驟32,為所述指導(dǎo)屬性的非葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所 述節(jié)點(diǎn)及所述節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中所述子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替 換;按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義。
所述步驟2中根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo) 屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列進(jìn)一步為,
步驟41,為所述指導(dǎo)屬性的根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述 節(jié)點(diǎn)對(duì)應(yīng)的超語(yǔ)義,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所 述節(jié)點(diǎn)的基本序列;
步驟42,為所述指導(dǎo)屬性的非根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所 述節(jié)點(diǎn)在其父節(jié)點(diǎn)的基本序列中對(duì)應(yīng)的狀態(tài)集合的并集,根據(jù)所述基本狀態(tài)集 合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列。
所述步驟3進(jìn)一步為,
步驟51,將所述原始模型的狀態(tài)空間建立為具有一個(gè)分塊的劃分; 步驟52,確定用于分割所述劃分的分割狀態(tài)集合;
步驟53,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。。
所述步驟52進(jìn)一步為,
步驟61,確定所述原始模型中標(biāo)記了接口原子謂詞的狀態(tài)的集合為一個(gè) 所述分割狀態(tài)集合。所述步驟52進(jìn)一步為,
步驟71,確定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的 第一原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合;確定所述原始模型中標(biāo) 記了組成所述原始模型公平約束條件的第二原子謂詞的狀態(tài)的集合為一個(gè)所 述分割狀態(tài)集合。
所述步驟52進(jìn)一步為,
步驟81,確定所述原始模型中終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。 所述步驟4進(jìn)一步為,
步驟91,應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)所述非葉子 節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合;
步驟92,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。
所述步驟91進(jìn)一步為,
步驟101,確定所述原始模型中標(biāo)記了所述指導(dǎo)屬性的原子謂詞的狀態(tài)的 集合為 一個(gè)所述分割狀態(tài)集合;
步驟102,確定所述指導(dǎo)屬性每個(gè)節(jié)點(diǎn)的超語(yǔ)義為一個(gè)所述分割狀態(tài)集合.
步驟103,確定所述指導(dǎo)屬性每個(gè)非葉子節(jié)點(diǎn)的基本序列中的每個(gè)狀態(tài)集 合為一個(gè)所述分割狀態(tài)集合。 所述步驟92后還包括
步驟lll,在所述原始模型中添加公平約束(True, p),其中,True為 用于在任意狀態(tài)上標(biāo)記的原子謂詞,P為用于在原始模型中在^除去C,,的差集 之外的狀態(tài)上標(biāo)記的原子謂詞,其中,石,為所述指導(dǎo)屬性中形如^^的節(jié)點(diǎn)的 第一個(gè)子節(jié)點(diǎn)的超語(yǔ)義,0,,為所述節(jié)點(diǎn)的超語(yǔ)義。
所述步驟5中為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型進(jìn)一步為,
步驟121,為所述節(jié)點(diǎn)建立包含同所述節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān) 的邊的集合,所述集合為基本邊集合;
步驟122,將所述原始模型中不包含在所述基本邊集合中的邊刪除,從而 生成所述節(jié)點(diǎn)對(duì)應(yīng)的證明模型。所述步驟5中應(yīng)用所述證明模型對(duì)所述步驟4分割后的劃分進(jìn)行分割進(jìn)一 步為,
步驟131,根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述證明模型 確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合;
步驟132,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。
所述步驟131進(jìn)一步為,
步驟141,確定所述指導(dǎo)屬性中形如fC/或^^的節(jié)點(diǎn)的證明模型中的終 結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述步驟5中應(yīng)用所述證明模型進(jìn)一步分割所述步驟4分割后的劃分進(jìn)一
步為,
步驟151,重復(fù)執(zhí)行步驟152和步驟153直到執(zhí)行所述步驟153時(shí)中沒(méi)有 分塊被分割;
步驟152,根據(jù)所述節(jié)點(diǎn)的路徑量詞、時(shí)序操作符、所述證明模型和所述 劃分中的分塊確定用于分割所述劃分的分割狀態(tài)集合;
步驟153,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。
所述步驟152進(jìn)一步為,
步驟161,對(duì)于每個(gè)形如^Z的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所 述節(jié)點(diǎn)的證明模型中存在到所述分塊中狀態(tài)的邊的狀態(tài)的集合為一個(gè)所述分 割狀態(tài)集合。
所述步驟152進(jìn)一步為,
步驟171,對(duì)于每個(gè)形如,t/或^y的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊, 確定所述節(jié)點(diǎn)的證明模型中作為無(wú)限的擴(kuò)展公平路徑的起點(diǎn),并且所述擴(kuò)展公 平路徑的所有狀態(tài)都在所述分塊中的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述步驟152進(jìn)一步為,
步驟181,對(duì)于每個(gè)形如^"或^^的節(jié)點(diǎn),以及所述劃分的每?jī)蓚€(gè)不同 分塊,確定所述節(jié)點(diǎn)的證明模型中作為有限的路徑的起點(diǎn),并且所述路徑的最
24后一個(gè)狀態(tài)在所述一個(gè)分塊中,所述路徑的其他狀態(tài)在另一個(gè)分塊中的狀態(tài)的 集合為一個(gè)分割狀態(tài)集合。
所述應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè) 分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為 空進(jìn)一步為,
步驟191,對(duì)于所述劃分中的每個(gè)分塊,如果所述分塊同所述分割狀態(tài)集 合的交集不為空并且除去所述分割狀態(tài)集合的差集不為空,則將所述分塊分割 為所述交集和所述差集。
所述步驟153后還包括,
步驟201,對(duì)于所述指導(dǎo)屬性中形如^t/或^^的節(jié)點(diǎn),如果所述節(jié)點(diǎn)的 證明模型中存在一條邊,所述邊的起點(diǎn)和終點(diǎn)對(duì)應(yīng)的狀態(tài)位于所述劃分的一個(gè) 分塊中,并且所述證明模型中不存在一條無(wú)限路徑,所述路徑的所有狀態(tài)都在 所述分塊中,則執(zhí)行步驟222;
歩驟202,在所述原始模型中添加公平約束(True, p),其中,True為 用于在任意狀態(tài)上標(biāo)記的原子謂詞,P為用于在原始模型中所述分塊之外的狀 態(tài)上標(biāo)記的原子謂詞。
所述步驟6進(jìn)一步為,
步驟211,將所述劃分中的每個(gè)分塊抽象成抽象模型中的一個(gè)抽象狀態(tài);
步驟212,所述劃分中包含所述原始模型的初始狀態(tài)的分塊在所述抽象模 型中對(duì)應(yīng)的抽象狀態(tài)為所述抽象模型的初始狀態(tài);
步驟213,對(duì)于所述劃分中兩個(gè)分塊,兩個(gè)分塊為相同或不同分塊,如果 所述原始模型中存在從一個(gè)所述分塊中狀態(tài)到另一個(gè)所述分塊中狀態(tài)的邊,則 在所述抽象模型中對(duì)應(yīng)有從一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)到另一個(gè)所述分塊 對(duì)應(yīng)的抽象狀態(tài)的邊;
步驟214,對(duì)于所述原始模型中的一個(gè)原子謂詞,如果所述劃分中每個(gè)分 塊同原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的交集為空或除去原始模 型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的差集為空,則所述原子謂詞為所述抽 象模型的原子謂詞,在所述原始模型中標(biāo)記了所述原子謂詞的狀態(tài)所在的分塊 的對(duì)應(yīng)抽象狀態(tài)上標(biāo)記所述原子謂詞;
步驟215,所述抽象模型繼承所述原始模型的所有公平性約束。所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為一個(gè)原子謂詞,表示為^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述
原始模型中標(biāo)記了 P的狀態(tài)的集合。
所述歩驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為AA^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^n^,其中5,n^表
示A和A的交集,其中,^和5,分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為Av^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^uA,其中^uA表
示A和A的并集,其中,A和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為T(mén)X(A)時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足
條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條邊從所述狀態(tài)到^
中的狀態(tài),其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為^[^,C^]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足
條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的
路徑,所述路徑的第y個(gè)狀態(tài)在A中,并且所述路徑的前/-1個(gè)狀態(tài)在^中,
其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等于i的整數(shù)。 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為#[^^52]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿
足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)
的路徑,所述路徑的第7個(gè)狀態(tài)在A中,并且所述路徑的前y —i個(gè)狀態(tài)在^中,
或者在所述原始模型中存在一條從所述狀態(tài)出發(fā)的無(wú)限的擴(kuò)展公平路徑,并且
所述無(wú)限的擴(kuò)展公平路徑上的所有狀態(tài)都在5,中,其中,^和^分別為所述節(jié)
點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等于1的整數(shù)。
所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基
本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一歩為,
當(dāng)所述基本公式為S,AA時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,所述兩
個(gè)集合都分別為所述基本狀態(tài)集合,其中,^和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的
超語(yǔ)義。所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基 本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,
當(dāng)所述基本公式為^v^時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,第一個(gè) 集合為^n^,第二個(gè)集合為Z)。nA,其中,A和B/分別為所述節(jié)點(diǎn)的子節(jié) 點(diǎn)的超語(yǔ)義,Z)"為所述基本狀態(tài)集合。
所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基 本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,
當(dāng)所述基本公式為,Z(A)時(shí),所述節(jié)點(diǎn)的基本序列包含一個(gè)集合,為所 述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在^中,并且在所 述原始模型中存在一條邊從所述基本狀態(tài)集合中的狀態(tài)到所述狀態(tài),其中,A 為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基 本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,
當(dāng)所述基本公式為#[^^2]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合;
第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀 態(tài)在一條所述原始模型中的路徑上,所述路徑從/),,05,中的狀態(tài)出發(fā),并且所 述路徑上的所有狀態(tài)都在G aA中;
第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件是所述狀 態(tài)在G^'中,其中^^'表示G和A的差集,并且在所述原始模型中存在一條
邊從所述第一集合中的狀態(tài)到所述狀態(tài),或者所述狀態(tài)在(A^,)u^mn^)
中;
其中,5,和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,G為所述節(jié)點(diǎn)的超語(yǔ)
義,A,為所述基本狀態(tài)集合,r"[l]為所述第一個(gè)集合。
所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基 本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,
當(dāng)所述基本公式為^[S^^]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合;
第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述4件為所述狀 態(tài)在所述原始模型中存在一條路徑,所述路徑從""n^中的狀態(tài)出發(fā),并且所 述路徑上的所有狀態(tài)都在e"n A中;
第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為該狀態(tài)在"^中,其中"^表示"和"i的差集,并且在所述原始模型中存在一條邊 從所述第一個(gè)集合中的狀態(tài)到所述狀態(tài);或者所述狀態(tài)在(""W)u(K[1]^^2)
中;
其中,A和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,^為所述節(jié)點(diǎn)的超語(yǔ) 義,^為所述基本狀態(tài)集合,K[l]為所述第一個(gè)集合。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為一個(gè)原子謂詞時(shí),所述 基本邊集合是空集。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為",^時(shí),所述基本邊 集合是空集,其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為^v^時(shí),所述基本邊 集合是空集,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為H(^)時(shí),所述基本 邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本狀態(tài)集合中狀態(tài)出發(fā)的邊的集合, 其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為^W"A]時(shí),所述基 本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā) 的邊的集合,其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為^W2A]時(shí),所述基 本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā) 的邊的集合,其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
本發(fā)明還公開(kāi)了模型檢測(cè)中的模型抽象系統(tǒng),包括輸入模塊、求解模塊、 劃分模塊、細(xì)化模塊、抽象模塊,所述細(xì)化模塊包括第一細(xì)化模塊和第二細(xì)化 模塊,
所述輸入模塊,用于輸入原始模型和指導(dǎo)屬性;
所述求解模塊,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在所述原始模型中 的超語(yǔ)義,根據(jù)所述超語(yǔ)義為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本 序列;
所述劃分模塊,用于對(duì)所述原始模型的狀態(tài)空間建立劃分; 所述第一細(xì)化模塊,應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非 葉子節(jié)點(diǎn)的基本序列分割所述劃分;
28所述第二細(xì)化模塊,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模
型,應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃分進(jìn)一步分割;
所述抽象模塊,用于由進(jìn)一步分割后的所述劃分生成所述原始模型對(duì)應(yīng)的 抽象模型。
所述求解模塊進(jìn)一步用于從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬 性的每個(gè)節(jié)點(diǎn)求解在所述原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬 性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。
所述求解模塊在從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè) 節(jié)點(diǎn)求解在所述原始模型中的超語(yǔ)義時(shí)進(jìn)一步用于為所述指導(dǎo)屬性的葉子節(jié) 點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述節(jié)點(diǎn),按所述基本公式求解所述節(jié)點(diǎn)的超 語(yǔ)義;為所述指導(dǎo)屬性的非葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述節(jié)點(diǎn)及 所述節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中所述子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替換;按所述 基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指 導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列時(shí)進(jìn)一步用于為所述指導(dǎo)屬性 的根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)對(duì)應(yīng)的超語(yǔ)義,根據(jù)所述基 本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列;為所述指導(dǎo) 屬性的非根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)在其父節(jié)點(diǎn)的基本 序列中對(duì)應(yīng)的狀態(tài)集合的并集,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本 公式求解所述節(jié)點(diǎn)的基本序列。
所述劃分模塊進(jìn)一步用于將所述原始模型的狀態(tài)空間建立為具有一個(gè)分 塊的劃分;確定用于分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分 割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交 集為空或除去所述分割狀態(tài)集合的差集為空。
所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確 定所述原始模型中標(biāo)記了接口原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集 備。
所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確 定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的第一原子謂詞的 狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合;確定所述原始模型中標(biāo)記了組成所述原始豐莫型公平約束條件的第二原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。 所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確
定所述原始模型中終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述第一細(xì)化模塊進(jìn)一步用于應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義
和每個(gè)所述非葉子節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合;應(yīng) 用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè) 所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
所述第一細(xì)化模塊在應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)所 述非葉子節(jié)點(diǎn)的基本序列確定所述分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述原始 模型中標(biāo)記了所述指導(dǎo)屬性的原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集 合;確定所述指導(dǎo)屬性每個(gè)節(jié)點(diǎn)的超語(yǔ)義為一個(gè)所述分割狀態(tài)集合;確定所述 指導(dǎo)屬性每個(gè)非葉子節(jié)點(diǎn)的基本序列中的每個(gè)狀態(tài)集合為一個(gè)所述分割狀態(tài)
隹A
朱n o
所述第一細(xì)化模塊還用于在分割后在所述原始模型中添加公平約束
(True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為用于在 原始模型中在5,除去C,,的差集之外的狀態(tài)上標(biāo)記的原子謂詞,其中,^為所 述指導(dǎo)屬性中形如T^的節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)的超語(yǔ)義,C,,為所述節(jié)點(diǎn)的超語(yǔ) 義。
所述第二細(xì)化模塊在為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型時(shí) 進(jìn)一步用于為所述節(jié)點(diǎn)建立包含同所述節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān)的 邊的集合,所述集合為基本邊集合;將所述原始模型中不包含在所述基本邊集 合中的邊刪除,從而生成所述節(jié)點(diǎn)對(duì)應(yīng)的證明模型。
所述第二細(xì)化模塊在應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃 分進(jìn)行分割時(shí)進(jìn)一步用于根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述 證明模型確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集 合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合 的交集為空或除去所述分害纟狀態(tài)集合的差集為空。
所述第二細(xì)化模塊在根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述 證明模型確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定所 述指導(dǎo)屬性中形如(t/或^^的節(jié)點(diǎn)的證明模型中的終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述第二細(xì)化模塊在應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃 分進(jìn)一步分割時(shí)進(jìn)一步用于重復(fù)確定分割狀態(tài)集合過(guò)程和分割過(guò)程直到進(jìn)行 分割過(guò)程時(shí)沒(méi)有分塊被分割;所述確定分割狀態(tài)集合過(guò)程為根據(jù)所述節(jié)點(diǎn)的路 徑量詞、時(shí)序操作符、所述證明模型和所述劃分中的分塊確定用于分割所述劃 分的分割狀態(tài)集合;所述分割過(guò)程為應(yīng)用所述分割狀態(tài)集合分割所述劃分中的 分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所 述分割狀態(tài)集合的差集為空。
所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如#義 的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié)點(diǎn)的證明模型中存在到所述分 塊中狀態(tài)的邊的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如T"
或^^的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié)點(diǎn)的證明模型中作為無(wú)
限的擴(kuò)展公平路徑的起點(diǎn),并且所述擴(kuò)展公平路徑的所有狀態(tài)都在所述分塊中
的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如^t/
或^^的節(jié)點(diǎn),以及所述劃分的每?jī)蓚€(gè)不同分塊,確定所述節(jié)點(diǎn)的證明模型中
作為有限的路徑的起點(diǎn),并且所述路徑的最后一個(gè)狀態(tài)在所述一個(gè)分塊中,所
述路徑的其他狀態(tài)在另一個(gè)分塊中的狀態(tài)的集合為一個(gè)分割狀態(tài)集合。
所述劃分模塊、所述第一細(xì)化模塊或所述第二細(xì)化模塊在應(yīng)用所述分割狀 態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài) 集合的交集為空或除去所述分割狀態(tài)集合的差集為空時(shí)進(jìn)一步用于對(duì)于所述 劃分中的每個(gè)分塊,如果所述分塊同所述分割狀態(tài)集合的交集不為空并且除去 所述分割狀態(tài)集合的差集不為空,則將所述分塊分割為所述交集和所述差集。
所述第二細(xì)化模型進(jìn)行進(jìn)一步分割后還用于對(duì)于所述指導(dǎo)屬性中形如 ^"或T^的節(jié)點(diǎn),如果所述節(jié)點(diǎn)的證明模型中存在一條邊,所述邊的起點(diǎn)和 終點(diǎn)對(duì)應(yīng)的狀態(tài)位于所述劃分的一個(gè)分塊中,并且所述'證明模型中不存在一條 無(wú)限路徑,所述路徑的所有狀態(tài)都在所述分塊中,則在所述原始模型中添加公 平約束(True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為 用于在原始模型中所述分塊之外的狀態(tài)上標(biāo)記的原子謂詞。所述抽象模塊進(jìn)一步用于將所述劃分中的每個(gè)分塊抽象成抽象模型中的
一個(gè)抽象狀態(tài);所述劃分中包含所述原始模型的初始狀態(tài)的分塊在所述抽象模
型中對(duì)應(yīng)的抽象狀態(tài)為所述抽象模型的初始狀態(tài);對(duì)于所述劃分中兩個(gè)分塊,
兩個(gè)分塊為相同或不同分塊,如果所述原始模型中存在從一個(gè)所述分塊中狀態(tài)
到另一個(gè)所述分塊中狀態(tài)的邊,則在所述抽象模型中對(duì)應(yīng)有從一個(gè)所述分塊對(duì)
應(yīng)的抽象狀態(tài)到另一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)的邊;對(duì)于所述原始模型中的
一個(gè)原子謂詞,如果所述劃分中每個(gè)分塊同原始模型中標(biāo)記了所述原子謂詞的
狀態(tài)的集合的交集為空或除去原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合
的差集為空,則所述原子謂詞為所述抽象模型的原子謂詞,在所述原始模型中
標(biāo)記了所述原子謂詞的狀態(tài)所在的分塊的對(duì)應(yīng)抽象狀態(tài)上標(biāo)記所述原子謂詞;
所述抽象模型繼承所述原始模型的所有公平性約束。
所述求解模塊在按所述基本公式性求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于 當(dāng)所述基本公式為一個(gè)原子謂詞,表示為^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始 模型中標(biāo)記了P的狀態(tài)的集合。
所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng) 所述基本公式為5,AA時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^nA,其中^n^表示A和 A的交集,其中,S,和5,分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng) 所述基本公式為5,vA時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^u^,其中^uA表示^和 A的并集,其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng) 所述基本公式為^義(A)時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的
狀態(tài)的集合,所述條件為在所述原始模型中存在一條邊從所述狀態(tài)到&中的狀 態(tài),其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng) 所述基本公式為#[5"52]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的 狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的路徑, 所述路徑的第7個(gè)狀態(tài)在A中,并且所述路徑的前y-l個(gè)狀態(tài)在5,中,其中,A 和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等于1的整數(shù)。
所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)
32所述基本公式為^^;^]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件
的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的路 徑,所述路徑的第7個(gè)狀態(tài)在52中,并且所述路徑的前J'-i個(gè)狀態(tài)在A中,或 者在所述原始模型中存在一條從所述狀態(tài)出發(fā)的無(wú)限的擴(kuò)展公平路徑,并且所 述無(wú)限的擴(kuò)展公平路徑上的所有狀態(tài)都在5,中,其中,^和A分別為所述節(jié)點(diǎn) 的子節(jié)點(diǎn)的超語(yǔ)義,y為大于等于l的整數(shù)。
所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解 所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為^ A乜時(shí),所述節(jié)點(diǎn)的基 本序列包含兩個(gè)集合,所述兩個(gè)集合都分別為所述基本狀態(tài)集合,其中,5,和 52分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解 所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為^ v^時(shí),所述節(jié)點(diǎn)的基 本序列包含兩個(gè)集合,第一個(gè)集合為A,n^,第二個(gè)集合為其中,5, 和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,A,為所述基本狀態(tài)集合。
所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解 所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為d(5,)時(shí),所述節(jié)點(diǎn)的 基本序列包含一個(gè)集合,為所述原始模型中滿足條件的狀態(tài)的集合,所述條件 為所述狀態(tài)在^中,并且在所述原始模型中存在一條邊從所述基本狀態(tài)集合中 的狀態(tài)到所述狀態(tài),其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解 所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為([5,t^]時(shí),所述節(jié)點(diǎn)的 基本序列包含兩個(gè)集合;
第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀 態(tài)在一條所述原始模型中的路徑上,所述路徑從A,n^中的狀態(tài)出發(fā),并且所 述路徑上的所有狀態(tài)都在^ ^A中;
第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件是所述狀 態(tài)在Q^'中,其中G^'表示q和A的差集,并且在所述原始模型中存在一條
邊從所述第一集合中的狀態(tài)到所述狀態(tài),或者所述狀態(tài)在(A^')uK[1]^^) 中;
其中,^和52分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,Q為所述節(jié)點(diǎn)的超語(yǔ)義,A為所述基本狀態(tài)集合,K[l]為所述第一個(gè)集合。
所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解
所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為^r[5^^]時(shí),所述節(jié)點(diǎn)
的基本序列包含兩個(gè)集合;
第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀
態(tài)在所述原始模型中存在一條路徑,所述路徑從A。A中的狀態(tài)出發(fā),并且所 述路徑上的所有狀態(tài)都在G。A中;
第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為該狀態(tài)
在^"\^中,其中e,A表示c;和A的差集,并且在所述原始模型中存在一條邊
從所述第一個(gè)集合中的狀態(tài)到所述狀態(tài);或者所述狀態(tài)在(A^i)u(W"n" 中;
其中,A和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,G為所述節(jié)點(diǎn)的超語(yǔ)
義,Z),,為所述基本狀態(tài)集合,K,[l]為所述第一個(gè)集合。
所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為一個(gè)原子謂詞時(shí),所述基本邊集合是空集。
所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為S'AA時(shí),所述基本邊集合是空集,其中,A和^分別為所述 節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
.所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為A'vA時(shí),所述基本邊集合是空集,其中,^和^分別為所述 節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為j^^)時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的 基本狀態(tài)集合中狀態(tài)出發(fā)的邊的集合,其中,5,為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為#[^"^]時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn) 的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,A和^分別為所述節(jié) 點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié) 點(diǎn)的基本公式為#[5' ^&]時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,^和A分別為所述節(jié) 點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
本發(fā)明的有益效果在于,僅需輸入原始模型和指導(dǎo)屬性,便可根據(jù)該指導(dǎo)
屬性完成劃分的細(xì)化;所生成的抽象模型包含且僅包含與指導(dǎo)屬性相關(guān)的信 息,因而具有適當(dāng)?shù)某橄蟪潭龋徊⑶夷軌蛲ㄟ^(guò)使用不同的指導(dǎo)屬性調(diào)節(jié)細(xì)化的 程度,指導(dǎo)屬性越簡(jiǎn)單,細(xì)化程度越低,生成的抽象模型的抽象程度也就越高。
圖l是電路的示意圖2是圖1中電路轉(zhuǎn)化的自動(dòng)機(jī)的示意圖3是屬性語(yǔ)義求解過(guò)程的示意圖4是使用模型抽象緩解狀態(tài)爆炸的示意圖5是模型抽象實(shí)施方法的示意圖6是本發(fā)明模型檢測(cè)中的模型抽象方法的流程圖7是超語(yǔ)義的作用的示意圖8是基本序列和證明模型的作用的舉例示意圖9是節(jié)點(diǎn)存在多個(gè)父節(jié)點(diǎn)的舉例示意圖10是公平性約束的作用的舉例示意圖11是使用證明模型分割劃分的舉例示意圖12是本發(fā)明模型檢測(cè)中的模型抽象系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施例方式
下面結(jié)合附圖,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
本發(fā)明所提供的方法能夠以一個(gè)屬性為指導(dǎo),為原始模型生成抽象程度適 當(dāng)?shù)某橄竽P?。原始模型為?duì)應(yīng)于一個(gè)子模塊的模型或電路的模型。該抽象模 型擁有可接受的規(guī)模,同時(shí)能夠保留與指導(dǎo)屬性相關(guān)的信息以防止偽反例的產(chǎn) 生。指導(dǎo)屬性可通過(guò)如下方法獲得。在驗(yàn)ffi圖4中電路401的某個(gè)功能時(shí),該 功能必定是基于子模塊403和子模塊404的某些子功能,所以只要將描述這些 子功能的屬性作為抽象子模塊403和子模塊404的指導(dǎo)屬性。
一種以一個(gè)原始模型,表示為M,和一個(gè)指導(dǎo)屬性,表示為「為輸入,
3建立一個(gè)抽象模型,表示為^",的方法如圖6所示。
步驟S600,輸入原始模型和指導(dǎo)屬性。
步驟S601,對(duì)于指導(dǎo)屬性中的每個(gè)節(jié)點(diǎn),表示為《,求解該節(jié)點(diǎn)在原始模型中的超語(yǔ)義,表示為C。。
節(jié)點(diǎn)的超語(yǔ)義是原始模型中由該節(jié)點(diǎn)的子節(jié)點(diǎn)確定的與該節(jié)點(diǎn)相關(guān)狀態(tài)的集合。
步驟S601的具體實(shí)現(xiàn)過(guò)程如下。
從指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在原始模型中的超語(yǔ)義。
首先,為指導(dǎo)屬性的葉子節(jié)點(diǎn)求解節(jié)點(diǎn)的基本公式為該節(jié)點(diǎn),按該基本公式求解該節(jié)點(diǎn)的超語(yǔ)義。
然后,按從葉子節(jié)點(diǎn)至根節(jié)點(diǎn)的順序,為指導(dǎo)屬性的非葉子節(jié)點(diǎn),求解該節(jié)點(diǎn)的基本公式為該節(jié)點(diǎn)及該節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替換;按該基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義。
求解超語(yǔ)義的計(jì)算方法如下。節(jié)點(diǎn),",的基本公式表示為A。
當(dāng)A為一個(gè)原子謂詞,表示為^時(shí),C"是M中標(biāo)記了P的狀態(tài)的集合。
當(dāng)^,為^AA時(shí),C,,是An^,其中5,052表示5,和52的交集,也就是在5,中并且在A中的狀態(tài)的集合,其中,5,和52分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^,為5,vA時(shí),C,,是AuA,其中5,uA表示^和A的并集,也就是在5,中或在52中的狀態(tài)的集合,其中,^和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為T(mén)X(A)時(shí),C,,是M中滿足條件的狀態(tài)的集合,所述條件為在M中
存在一條邊從該狀態(tài)到^中的狀態(tài),其中,^為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為f[5,t/^]時(shí),^是^^中滿足條件的狀態(tài)的集合,所述條件為在^中
存在一條從該狀態(tài)出發(fā)的路徑,表示為","的第y個(gè)狀態(tài)在A中,并且"的前_/-1個(gè)狀態(tài)在5,中,其中,S,和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義,J'為大于等于1的整數(shù)。 '
當(dāng)A為^[5^^]時(shí),C,,是M中滿足條件的狀態(tài)的集合,所述條件為在M
中存在一條從該狀態(tài)出發(fā)的路徑,表示為","的第7個(gè)狀態(tài)在52中,并且"的前7一個(gè)狀態(tài)在5,中,或者在M中存在一條從該狀態(tài)出發(fā)的擴(kuò)展公平路徑",
36"是無(wú)限的,并且"上的所有狀態(tài)都在5,中,其中,5,和52分別為"的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等于1的整數(shù)。
由于tg(5,)等價(jià)于^w^0:i,符號(hào)0表示空集,因而此處忽略^為
^g(5,)的情況。
計(jì)算超語(yǔ)義的目的在于排除m中一些對(duì)于-來(lái)說(shuō)可以忽略的狀態(tài)。如果一個(gè)屬性在抽象模型中為真,則該屬性在原始模型也為真。因此如果一個(gè)屬性在原始模型中為假,那么該屬性在抽象模型中也為假。也就是說(shuō),抽象模型可以自然地保持屬性的不滿足性。如圖7所示,電路701的具有子模塊711,子模塊711對(duì)應(yīng)于原始模型,m,電路701的抽象自動(dòng)機(jī)702具有m的抽象模型。m的節(jié)點(diǎn)的超語(yǔ)義,^,能夠保證m中^之外的狀態(tài)一定不在電路701中生成滿足^的狀態(tài)。由于屬性在電路701中的不滿足性可以被抽象模型保持,因此可以忽略m中g(shù)之外的狀態(tài)。
步驟s602,根據(jù)指導(dǎo)屬性的節(jié)點(diǎn)的超語(yǔ)義為指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列,基本序列表示為^。
節(jié)點(diǎn)的基本序列是在原始模型中由該節(jié)點(diǎn)的父節(jié)點(diǎn)確定的同該節(jié)點(diǎn)相關(guān)的狀態(tài)按與該節(jié)點(diǎn)的各個(gè)子節(jié)點(diǎn)的關(guān)聯(lián)組合并排序的狀態(tài)集合的序列。
根據(jù)節(jié)點(diǎn)的超語(yǔ)義從指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。
首先,為指導(dǎo)屬性的根節(jié)點(diǎn)求解該節(jié)點(diǎn)的基本狀態(tài)集合為該節(jié)點(diǎn)的超語(yǔ)義,根據(jù)該基本狀態(tài)集合及該節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列。
然后,從指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始,為指導(dǎo)屬性的非根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為該節(jié)點(diǎn)在其父節(jié)點(diǎn)的基本序列中對(duì)應(yīng)的狀態(tài)集合的并集,根據(jù)該基本狀態(tài)集合及該節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解該節(jié)點(diǎn)的基本序列。
當(dāng)"為-中的非根節(jié)點(diǎn)時(shí),"有a個(gè)父節(jié)點(diǎn),對(duì)于每個(gè)父節(jié)點(diǎn)表示為/ ;(b^","是^的第G個(gè)子節(jié)點(diǎn)。子節(jié)點(diǎn)順序按公式書(shū)寫(xiě)形式從左到右排序,例如在^^^中,伊的根節(jié)點(diǎn)為A的第一個(gè)子節(jié)點(diǎn),^的根節(jié)點(diǎn)為A的第二
個(gè)子節(jié)點(diǎn)。"的基本集合表示為A,, A,為U^ 其中,U (^[y)表
示所有滿足"的狀態(tài)集合 [/j的并集。已是一個(gè)m上&的關(guān)于z),,的基本序列,K,中的第z'個(gè)集合表示為己[O。求解基本序列的計(jì)算方法如下。
當(dāng)^為5,A^時(shí),^包含兩個(gè)集合,K[1]為D",已[2]為/) ,其中,^和52分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為^v^時(shí),^包含兩個(gè)集合,^[1]為Z)"n5,, ^[2]為D"nA,其中,5,和&分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為H(^)時(shí),^包含一個(gè)集合,K[1]為M中滿足條件的狀態(tài)的集合,
所述條件為該狀態(tài)在A中,并且在M中存在一條邊從D,,中的狀態(tài)到該狀態(tài),
其中,^為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為T(mén)[^[^]時(shí),p;包含兩個(gè)集合,K[1]是M中滿足條件的狀態(tài)的集合,
所述條件為該狀態(tài)在一條M中的路徑,",上,"從A,n^中的狀態(tài)出發(fā),并且"上的所有狀態(tài)都在Qn^中。K[2]是M中滿足條件的狀態(tài)的集合,所述條件是該狀態(tài)在G^'中,此處G^'表示G除去A的差集,也就是在^中但不在^中的狀態(tài)的集合,并且在M中存在一條邊從W"中的狀態(tài)到該狀態(tài),或者該狀態(tài)在(^^)u(「"[^A)中。其中,^和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為#[^^2]時(shí),p;包含兩個(gè)集合。^[1]是^中滿足條件的狀態(tài)的集
合,所述條件為該狀態(tài)在一條M中的路徑,",上,"從""05'中的狀態(tài)出發(fā),并且"上的所有狀態(tài)都在e"A^中。^P]是M中滿足條件的狀態(tài)的集合,所述條件為該狀態(tài)在G^i中,并且在^中存在一條邊從^1]中的狀態(tài)到該狀態(tài);或者該狀態(tài)在) u n^)中。
計(jì)算基本序列的目的在于對(duì)超語(yǔ)義進(jìn)行進(jìn)一步的限制。如圖8所示,當(dāng)判斷一個(gè)狀態(tài)802是否滿足^^W)時(shí),對(duì)于從狀態(tài)802出發(fā)的一條擴(kuò)展公平路徑801來(lái)而言,擴(kuò)展公平路徑801是否滿足Z&)僅取決于擴(kuò)展公平路徑801的第二個(gè)狀態(tài)804是否滿足^ ,而不用考慮擴(kuò)展公平路徑801上的其他狀態(tài)是否滿足^?;拘蛄兄械募蠟榕袛鄷r(shí)需要考慮的狀態(tài)的集合。^的第z'個(gè)集合對(duì)應(yīng)于"的第z'個(gè)子節(jié)點(diǎn),用于在該子節(jié)點(diǎn)的超語(yǔ)義中進(jìn)一步排除可忽略狀態(tài)。指導(dǎo)屬性中的一個(gè)節(jié)點(diǎn)可能存在多個(gè)父節(jié)點(diǎn)。例如H(")v^G(^^))對(duì)應(yīng)的樹(shù)如圖9所示,其中節(jié)點(diǎn)^X具有多個(gè)父節(jié)點(diǎn)。
步驟S603,對(duì)原始模型的狀態(tài)空間建立劃分,劃分表示為P,原始模型的狀態(tài)空間表示為S。具體步驟如下。
步驟631,將S建立為具有一個(gè)分塊的劃分。步驟632,確定用于分割^的分割狀態(tài)集合。
步驟633,應(yīng)用所述分割狀態(tài)集合分割P,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。應(yīng)用分割狀態(tài)集合分割P的具體過(guò)程如下。
對(duì)于P中的每個(gè)分塊,表示為^,分割狀態(tài)集合表示為C,如果^nC-0且^C-0,則將5分裂為兩個(gè)分塊BnC和WC。如果對(duì)于P中的每個(gè)分塊5,滿足finC-0,或者貝C-0,則稱C不能分割尸,此時(shí),C對(duì)尸的分割結(jié)束。
對(duì)于M中的每個(gè)接口原子謂詞,表示為P,確定M中標(biāo)記了^的狀態(tài)的集合為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集合分割P。其中,接口原子謂詞為由
電路的輸入和輸出所生成的原子謂詞。
對(duì)于M中的每個(gè)公平性約束,(A9),其中^和《分別為原子謂詞,確定M
中標(biāo)記了^的狀態(tài)的集合為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集合分割P;確定M中標(biāo)記了 ?的狀態(tài)為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集合分割/5 。
確定M中終結(jié)狀態(tài)的集合為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集合分割P。
步驟S603對(duì)M的狀態(tài)空間建立了一個(gè)最基本的劃分。該劃分中的分塊過(guò)少,容易導(dǎo)致偽反例的產(chǎn)生。因而需要對(duì)劃分進(jìn)行進(jìn)一步分割。下面我們將對(duì)該劃分進(jìn)行進(jìn)一步的分割。
步驟S604,應(yīng)用指導(dǎo)屬性、每個(gè)節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的基本序列分割劃分。
所述步驟S604還包括向原始模型中添加公平性約束。
進(jìn)行進(jìn)一步分割的具體步驟如下。
步驟641,應(yīng)用所述指導(dǎo)屬性、每個(gè)節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的基本序列確定分割狀態(tài)集合;
步驟642,應(yīng)用所述分割狀^集合分割當(dāng)前的劃分,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
具體應(yīng)用分割狀態(tài)集合分割劃分的具體方法同步驟S603中所述分割方法相同。對(duì)于-中的每個(gè)原子謂詞,^, M中標(biāo)記了P的狀態(tài)的集合為一個(gè)分割狀 態(tài)集合,用該分割狀態(tài)集合分割劃分。對(duì)于-中的每個(gè)節(jié)點(diǎn),",^為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集^^分 割劃分。對(duì)于-中的每個(gè)非葉子節(jié)點(diǎn),",^中的每個(gè)集合為一個(gè)分割狀態(tài)集合,用該分割狀態(tài)集合分割劃分。添加公平性約束具體為,對(duì)于-中的每個(gè)形如J^的節(jié)點(diǎn),",^為 Z[^^A],在M中添加一個(gè)的公平性約束("^,力,其中7V"e為一個(gè)特殊的原子謂詞,該原子謂詞在任意的狀態(tài)上標(biāo)記;^在M中A^"之外的狀態(tài)上標(biāo)記, 其中,^和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。步驟S604利用指導(dǎo)屬性所提供的信息分割P。該信息包括-中的原子謂 詞;Q,用于區(qū)分可能有滿足性和一定沒(méi)有滿足性的狀態(tài);以及^,用于區(qū)分 我們不用關(guān)心滿足性和我們必須關(guān)心滿足性的狀態(tài)。步驟S604中添加的公平 性約束可以使抽象更加準(zhǔn)確,步驟S608中添加的公平性約束具有相同作用。 如圖10所示,M中的一個(gè)分塊1001對(duì)應(yīng)于抽象狀態(tài)1002。由于在M中存在 一條邊從分塊1001中的狀態(tài)到分塊1001中的狀態(tài),因此在^中存在一條邊 從抽象狀態(tài)1002到抽象狀態(tài)1002。從而在Ma中存在一條無(wú)限路徑,","上 的所有狀態(tài)都為抽象狀態(tài)1002。然而"并不能對(duì)應(yīng)于M中的一條路徑。因此,通過(guò)添加一個(gè)公平性約束^^,w使"成為一條非擴(kuò)展公平路徑,如圖10中^標(biāo)記空心的狀態(tài),從而將"排除掉。步驟S605,為指導(dǎo)屬性的每個(gè)節(jié)點(diǎn),",建立對(duì)應(yīng)的證明模型,證明模型 表示為^。節(jié)點(diǎn)的證明模型為將原始模型中同該節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān) 的邊保留,其余的邊刪除之后的模型。具體步驟如下。 '步驟651,為節(jié)點(diǎn),",建立包含同該節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān) 的邊的集合,所述集合為基本邊集合,表示為A'。步驟652,將原始模型中不包含在基本邊集合中的邊刪除,從而生成該節(jié)點(diǎn)對(duì)應(yīng)的證明模型。
當(dāng)^為一個(gè)原子謂詞時(shí),a'是0。
當(dāng)A為AA^時(shí),凡'是0。其中,a和a分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為^vA時(shí),^"'是0。其中,A和^分別為"的子節(jié)點(diǎn)的超語(yǔ)義。當(dāng)爐"為H(A)時(shí),凡'是M中從化中狀態(tài)出發(fā)的邊的集合。其中,5,為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為^^f/^時(shí),a'是M中從「"m中狀態(tài)出發(fā)的邊的集合。其中,a
和^分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為1[A^^]時(shí),^'是M中從「"[1]中狀態(tài)出發(fā)的邊的集合。其中,5l
和&分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
步驟S606,應(yīng)用證明模型對(duì)劃分進(jìn)行分割。
對(duì)于-中的每個(gè)形如^t/或^^的節(jié)點(diǎn),",M"中終結(jié)狀態(tài)的集合為一個(gè)
分割狀態(tài)集合,用該分割狀態(tài)集合分割劃分,使得所述劃分的每個(gè)分塊同所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。具體應(yīng)用分割狀態(tài)集合分割劃分的具體方法同步驟S603中所述分割方法相同。
步驟S607,應(yīng)用證明模型對(duì)劃分進(jìn)行進(jìn)一步分割。具體如下所述。
步驟671,重復(fù)執(zhí)行步驟672和步驟673直到執(zhí)行所述步驟673時(shí)中沒(méi)有分塊被分割。
步驟672,根據(jù)所述節(jié)點(diǎn)的路徑量詞、時(shí)序操作符、所述證明模型和所述劃分中的分塊確定用于分割所述劃分的分割狀態(tài)集合。
步驟673,應(yīng)用所述分割狀態(tài)集合分割所述劃分,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。具體應(yīng)用分割狀態(tài)集合分割劃分的具體方法同步驟S603中所述分割方法相同。
對(duì)于0中每個(gè)形如力7的節(jié)點(diǎn),",對(duì)于尸中的每個(gè)分塊,S,確定似"中滿足條件的狀態(tài)的集合為一個(gè)分割狀態(tài)集合,所述條件為在M,,中存在一條邊從該狀態(tài)到^中的狀態(tài);用該分割狀態(tài)集合分割劃分。
41對(duì)于-中每個(gè)形如^/或^冗的節(jié)點(diǎn),",對(duì)于尸中的每個(gè)分塊,S, A中
滿足條件的狀態(tài)的集合為一個(gè)分割狀態(tài)集合,所述條件為在Mn中存在一條從
該狀態(tài)出發(fā)的擴(kuò)展公平路徑,","是無(wú)限的,并且"上的所有狀態(tài)都在^中;
用該分割狀態(tài)集合分割劃分。
對(duì)于^中每個(gè)形如^t/或^^的節(jié)點(diǎn),",對(duì)于P中的每?jī)蓚€(gè)不同的分塊,
A和A, M"中滿足條件的狀態(tài)的集合為一個(gè)分割狀態(tài)集合,所述條件為在^^ 中存在一條從該狀態(tài)出發(fā)的路徑,",,"的第y個(gè)狀態(tài)在^中,并且"的前卜1 個(gè)狀態(tài)在^中,y為大于等于l的整數(shù);用該分割狀態(tài)集合分割劃分。
步驟S608,向原始模型中添加公平性約束。
對(duì)于尸中的每個(gè)分塊,S,如果在-中存在一個(gè)形如^U或^^的節(jié)點(diǎn),", 在M"中存在一條邊從^中的狀態(tài)到^中的狀態(tài),但是在7^中不存在一條路徑, ",^是無(wú)限的,并且"上的所有狀態(tài)都在5中,則在M中添加一個(gè)新的公平 性約束^"e,W, P標(biāo)記M中S之外的狀態(tài)。
步驟S605、 S606、 S607和S608專門(mén)針對(duì)化中的狀態(tài),也就是必須考慮 滿足性的狀態(tài)。以圖8為例,檢査狀態(tài)802對(duì)于^AW的滿足性,當(dāng)判斷從狀 態(tài)802出發(fā)的擴(kuò)展公平路徑801是否滿足7(W時(shí),只需要考慮擴(kuò)展公平路徑 801的第一條邊803來(lái)指出狀態(tài)802的下一個(gè)狀態(tài)是誰(shuí),而擴(kuò)展公平路徑801 上的其他邊并沒(méi)有用處。步驟S605的作用就是在M中刪除無(wú)用的邊從而生成 M",此處無(wú)用的邊僅針對(duì)^中的狀態(tài)而言。
接下來(lái)步驟S606和S607利用M"對(duì)尸進(jìn)行分割,同時(shí)使用一些強(qiáng)化的條 件。例如步驟S607中的對(duì)于^中每個(gè)形如^X的節(jié)點(diǎn)選擇分割狀態(tài)集合的條
件,對(duì)應(yīng)于條件,對(duì)于任意的分塊1和分塊2,分塊1中的所有狀態(tài)都存在一 條邊到分塊2中的狀態(tài),或者分塊1中沒(méi)有狀態(tài)存在一條邊到分塊2中的狀態(tài)。 使用這些強(qiáng)化條件能夠確保用于分析A中狀態(tài)滿足性的信息不會(huì)被丟失,從 而防止偽反例的產(chǎn)生。另一方面,由于M"僅保留了M中的一部分邊,如圖ll 中的實(shí)線邊,因此使用強(qiáng)化條件的分割僅局限于狀態(tài)空間中的一部分,如圖 11圓圈中的部分,從而保證了劃分中不會(huì)有過(guò)多的分塊,也就是說(shuō)抽象自動(dòng) 機(jī)的規(guī)模不會(huì)過(guò)大。最后步驟S608利用M"在M中添加一些公平性約束以使抽 象更加準(zhǔn)確。
42步驟S609,由分割后的劃分生成原始模型對(duì)應(yīng)的抽象模型。
步驟691,將^中的每個(gè)分塊抽象成^^中的一個(gè)抽象狀態(tài)。
步驟692,對(duì)尸中的每個(gè)分塊,5,如果5包含了M中的初始狀態(tài),則5所
對(duì)應(yīng)的抽象狀態(tài)是7^中的一個(gè)初始狀態(tài)。
步驟693,對(duì)尸中的每?jī)蓚€(gè)分塊,A和A, A和^是相同或不同的分塊, 如果在M中,有一條邊從^中的狀態(tài)到A中的狀態(tài),則在^中,有一條邊從^
所對(duì)應(yīng)的抽象狀態(tài)到&所對(duì)應(yīng)的抽象狀態(tài)。
步驟694,對(duì)于M中的一個(gè)原子謂詞P,如果M中標(biāo)記了P的狀態(tài)的集合 不能分割尸,則P是Ma中的一個(gè)原子謂詞,并且在似a中^標(biāo)記一個(gè)抽象狀態(tài), 當(dāng)且僅當(dāng)在M中^標(biāo)記了對(duì)應(yīng)于該抽象狀態(tài)的分塊中的狀態(tài)。
步驟695, ^^繼承M的所有公平性約束。
一種模型檢測(cè)中的模型抽象系統(tǒng)包括輸入模塊1201、求解模塊1202、 劃分模塊1203、細(xì)化模塊1204、抽象模塊1205,細(xì)化模塊1204包括第一細(xì) 化模塊1241和第二細(xì)化模塊1242。輸入模塊1201,用于輸入原始模型和指導(dǎo)屬性。
求解模塊1202,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在所述原始模型 中的超語(yǔ)義,根據(jù)所述超語(yǔ)義為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基 本序列。
劃分模塊1203,用于對(duì)所述原始模型的狀態(tài)空間建立劃分。
第一細(xì)化模塊1241,用于應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和 每個(gè)非葉子節(jié)點(diǎn)的基本序列分割所述劃分。
第二細(xì)化模塊1242,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模 型,應(yīng)用所述證明模型對(duì)第一細(xì)化模塊1241分割后的劃分進(jìn)行進(jìn)一步分割。
抽象模塊1205,用于由進(jìn)一步分割后的所述劃分生成所述原始模型對(duì)應(yīng) 的抽象模型。
求解模塊1202從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié) 點(diǎn)求解在所述原始模型中的超語(yǔ)義。為所述指導(dǎo)屬性的葉子節(jié)點(diǎn),求解所述節(jié) 點(diǎn)的基本公式為所述節(jié)點(diǎn),按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義;為所述指 導(dǎo)屬性的非葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述節(jié)點(diǎn)及所述節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中所述子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替換;按所述基本公式求解所 述節(jié)點(diǎn)的超語(yǔ)義。
具體求解超語(yǔ)義的計(jì)算方法如下。節(jié)點(diǎn),",的基本公式表示為^, ^為
原始模型,C"為節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為一個(gè)原子謂詞,表示為^時(shí),Cn是M中標(biāo)記了P的狀態(tài)的集合。 當(dāng)^為^,52時(shí),C;是5,nA,其中5,nA表示5,和^的交集,也就是在
^中并且在A中的狀態(tài)的集合,其中,^和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為5,VA時(shí),C"是5,UA,其中5,U^表示5,和^的并集,也就是在
A中或在A中的狀態(tài)的集合,其中,A和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為Uir(i5,)時(shí),C"是M中滿足條件的狀態(tài)的集合,所述條件為在M中 存在一條邊從該狀態(tài)到5,中的狀態(tài),其中,^為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)為f[At/A]時(shí),C,,是M中滿足條件的狀態(tài)的集合,所述條件為在M中 存在一條從該狀態(tài)出發(fā)的路徑,表示為","的第J.個(gè)狀態(tài)在A中,并且"的
前y-i個(gè)狀態(tài)在A中,其中,A和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等
于1的整數(shù)。
當(dāng)A為,[5,^^]時(shí),07,,是^中滿足條件的狀態(tài)的集合,所述條件為在M 中存在一條從該狀態(tài)出發(fā)的路徑,表示為","的第7'個(gè)狀態(tài)在52中,并且"的 前y一i個(gè)狀態(tài)在5,中,或者在M中存在一條從該狀態(tài)出發(fā)的廣義擴(kuò)展公平路徑
","是無(wú)限的,并且"上的所有狀態(tài)都在S,中,其中,^和A分別為"的子 節(jié)點(diǎn)的超語(yǔ)義,y為大于等于l的整數(shù)。
由于^GW)等價(jià)于^W^03,符號(hào)0表示空集,因而此處忽略^為 ^G(^)的情況。
求解模塊1202根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo) 屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。為所述指導(dǎo)屬性的根節(jié)點(diǎn)求解所 述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)對(duì)應(yīng)的超語(yǔ)義,根據(jù)所述基本狀態(tài)集合及所 述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列;為所述指導(dǎo)屬性的非根節(jié)點(diǎn) 求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)在其'父節(jié)點(diǎn)的基本序列中對(duì)應(yīng)的狀 態(tài)集合的并集,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié) 點(diǎn)的基本序列。
具體求解基本序列的計(jì)算方法如下。G為節(jié)點(diǎn)的超語(yǔ)義,A,為節(jié)點(diǎn)的基本狀態(tài)集合,rjl]為節(jié)點(diǎn)的基本序列的第一個(gè)集合,rj2]為節(jié)點(diǎn)的基本序列的 第二個(gè)集合,^為節(jié)點(diǎn)的基本公式。
當(dāng)^為^AA時(shí),^包含兩個(gè)集合,p;[i]為z)" K[2]為zv其中,^和A 分別為"的子節(jié)點(diǎn)的超語(yǔ)義。z
當(dāng)^為^v52時(shí),f;包含兩個(gè)集合,P;[l]為i^n5,, K[2]為化nA,其中, A和52分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為^義(5,)時(shí),K包含一個(gè)集合,K[1]為M中滿足條件的狀態(tài)的集合, 所述條件為該狀態(tài)在5,中,并且在M中存在一條邊從£> 中的狀態(tài)到該狀態(tài), 其中,A為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)伊 為#[5,[/52]時(shí),K包含兩個(gè)集合,K[1]是M中滿足條件的狀態(tài)的集合, 所述條件為該狀態(tài)在一條M中的路徑,",上,"從Z^nA中的狀態(tài)出發(fā),并 且"上的所有狀態(tài)都在G。A中。已[2]是M中滿足條件的狀態(tài)的集合,所述條
件是該狀態(tài)在G^'中,此處G^i表示G和A的差集,也就是在^中但不在"'
中的狀態(tài)的集合,并且在M中存在一條邊從y"m中的狀態(tài)到該狀態(tài),或者該狀
態(tài)在(D"^)u(^[l]n^)中。其中,5,和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為#[^^52]時(shí),K,包含兩個(gè)集合。^"是M中滿足條件的狀態(tài)的集 合,所述條件為該狀態(tài)在一條M中的路徑,冗,上,"從化05'中的狀態(tài)出發(fā), 并且"上的所有狀態(tài)都在Gn^'中。"2]是^中滿足條件的狀態(tài)的集合,所述 條件為該狀態(tài)在e" \ A中,并且在M中存在一條邊從^1]中的狀態(tài)到該狀態(tài); 或者該狀態(tài)在(化^'M「"[^A)中。
劃分模塊1203將所述原始模型的狀態(tài)空間建立為具有一個(gè)分塊的劃分; 確定用于分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分割所述劃 分,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述 分割狀態(tài)集合的差集為空。
劃分模塊1203在確定分割狀態(tài)集合時(shí),確定所述原始模型中標(biāo)記了接口 原子謂詞的狀態(tài)的集合為一個(gè)分割狀態(tài)集合;確定所述原始模型中標(biāo)記了組成 所述原始模型公平約束條件的第一原子謂詞的狀態(tài)的集合為一個(gè)分割狀^集 合,確定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的第二原子謂 詞的狀態(tài)的集合為一個(gè)分割狀態(tài)集合;確定所述原始模型中終結(jié)狀態(tài)的集合為 一個(gè)分割狀態(tài)集合。
45第一細(xì)化模塊1241進(jìn)一步用于應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ) 義和每個(gè)所述非葉子節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合; 應(yīng)用所述分割狀態(tài)集合分割所述劃分,使得所述劃分的每個(gè)分塊同每個(gè)所述分 割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
第一細(xì)化模塊1241在應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè) 所述非葉子節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合時(shí),確定所 述原始模型中標(biāo)記了所述指導(dǎo)屬性的原子謂詞的狀態(tài)的集合為一個(gè)分割狀態(tài) 集合;確定所述指導(dǎo)屬性每個(gè)節(jié)點(diǎn)的超語(yǔ)義為一個(gè)分割狀態(tài)集合;確定所述指 導(dǎo)屬性每個(gè)非葉子節(jié)點(diǎn)的基本序列中的每個(gè)分割狀態(tài)集合為一個(gè)分割狀態(tài)集合。
第一細(xì)化模塊1241還用于在分割后在所述原始模型中添加公平約束 (True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為用于在 原始模型中在A除去C。的差集之外的狀態(tài)上標(biāo)記的原子謂詞,其中,^為所 述指導(dǎo)屬性中形如^^的節(jié)點(diǎn)的一個(gè)子節(jié)點(diǎn)的超語(yǔ)義,C,,為所述節(jié)點(diǎn)的超語(yǔ) 義。
第二細(xì)化模塊1242在為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型 時(shí),為所述節(jié)點(diǎn)建立包含同所述節(jié)點(diǎn)對(duì)應(yīng)屬性相關(guān)的狀態(tài)有關(guān)的邊的集合,所 述集合為基本邊集合;將所述原始模型中不包含在所述基本邊集合中的邊刪 除,從而生成所述節(jié)點(diǎn)對(duì)應(yīng)的證明模型。
基本邊集合表示為尺'。
當(dāng)A為一個(gè)原子謂詞時(shí),&'是0。
當(dāng)A為^A^時(shí),&'是0。其中,A和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。 當(dāng)^為Av^時(shí),&'是0。其中,^和A分別為"的子節(jié)點(diǎn)的超語(yǔ)義。 當(dāng)A為Ur(^)時(shí),A'是M中從A中狀態(tài)出發(fā)的邊的集合。其中,s,為"的 子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)^為^W"A]時(shí),A'是M中從「"[1]中狀態(tài)出發(fā)的邊的集合。其中,5i
和^分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
當(dāng)A為^W^A]時(shí),A'是M中從「"[1]中狀態(tài)出發(fā)的邊的集合。其中,5|
和^分別為"的子節(jié)點(diǎn)的超語(yǔ)義。
第二細(xì)化模塊1242在應(yīng)用所述證明模型對(duì)所述第二細(xì)化模塊分割后的劃
46分進(jìn)行分割時(shí),根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述證明模型
確定用于分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分割所述劃 分,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述 分割狀態(tài)集合的差集為空。
第二細(xì)化模塊1242在根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所 述證明模型確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定 所述指導(dǎo)屬性中形如^C/或^^的節(jié)點(diǎn)的證明模型中的終結(jié)狀態(tài)的集合為一 個(gè)所述分割狀態(tài)集合。
第二細(xì)化模塊1242在應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃 分進(jìn)一步分割時(shí)還進(jìn)一步用于重復(fù)確定分割狀態(tài)集合過(guò)程和分割過(guò)程直到進(jìn) 行分割過(guò)程時(shí)沒(méi)有分塊被分割;所述確定分割狀態(tài)集合過(guò)程為根據(jù)所述節(jié)點(diǎn)的 路徑量詞、時(shí)序操作符、所述證明模型和所述劃分中的分塊確定用于分割所述 劃分的分割狀態(tài)集合;所述分割過(guò)程為應(yīng)用所述分割狀態(tài)集合分割所述劃分, 使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分 割狀態(tài)集合的差集為空。
對(duì)于每個(gè)形如^Z的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié)點(diǎn)的證 明模型中存在到所述分塊中狀態(tài)的邊的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
對(duì)于每個(gè)形如^C/或T^的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié) 點(diǎn)的證明模型中作為無(wú)限的擴(kuò)展公平路徑的起點(diǎn),并且所述擴(kuò)展公平路徑的所 有狀態(tài)都在所述分塊中的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
對(duì)于每個(gè)形如^"或^2的節(jié)點(diǎn),以及所述劃分的每?jī)蓚€(gè)不同分塊,確定 所述節(jié)點(diǎn)的證明模型中作為有限的路徑的起點(diǎn),并且所述路徑的最后一個(gè)狀態(tài) 在所述一個(gè)分塊中,所述路徑的其他狀態(tài)在另一個(gè)分塊中的狀態(tài)的集合為一個(gè) 分割狀態(tài)集合。
劃分模塊1203、第一細(xì)化模塊1241或第二細(xì)化模塊1242在應(yīng)用所述分 割狀態(tài)集合分割所述劃分,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合 的交集為空或除去所述分割狀態(tài)集合的差集為空時(shí)進(jìn)一步用于對(duì)于所述劃分 中的每個(gè)分塊,如果所述分塊同所述分割狀態(tài)集合的交集不為空并且除去所述 分割狀態(tài)集合的差集不為空,則將所述分塊分割為所述交集和所述差集。第二細(xì)化模型1242進(jìn)行分割后還用于對(duì)于所述指導(dǎo)屬性中形如ff/或 ^G的節(jié)點(diǎn),如果所述節(jié)點(diǎn)的證明模型中存在一條邊,所述邊的起點(diǎn)和終點(diǎn)對(duì) 應(yīng)的狀態(tài)位于所述劃分的一個(gè)分塊中,并且所述證明模型中不存在一條無(wú)限路 徑,所述路徑的所有狀態(tài)都在所述分塊中,則在所述原始模型中添加公平約束 (True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為用于在 原始模型中所述分塊之外的狀態(tài)上標(biāo)記的原子謂詞。
抽象模塊1205進(jìn)一步用于將所述劃分中的每個(gè)分塊抽象成抽象模型中的 一個(gè)抽象狀態(tài);所述劃分中包含所述原始模型的初始狀態(tài)的分塊在所述抽象模 型中對(duì)應(yīng)的抽象狀態(tài)為所述抽象模型的初始狀態(tài);對(duì)于所述劃分中兩個(gè)分塊, 兩個(gè)分塊為相同或不同分塊,如果所述劃分中存在從一個(gè)所述分塊中狀態(tài)到另 一個(gè)所述分塊中狀態(tài)的邊,則在所述抽象模型中對(duì)應(yīng)有從一個(gè)所述分塊對(duì)應(yīng)的 抽象狀態(tài)到另一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)的邊;對(duì)于所述原始模型中的一個(gè) 原子謂詞,如果所述劃分中的每個(gè)分塊同原始模型中標(biāo)記了所述原子謂詞的狀 態(tài)的集合的交集為空或除去原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的 差集為空,則所述原子謂詞為所述抽象模型的原子謂詞,在所述原始模型中標(biāo)
記了所述原子謂詞的狀態(tài)所在的分塊的對(duì)應(yīng)抽象狀態(tài)上標(biāo)記所述原子謂詞;所
述抽象模型繼承所述原始模型的所有公平性約束。
本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書(shū)確定的本發(fā)明的精神和范圍的條 件下,還可以對(duì)以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于 以上的說(shuō)明,而是由權(quán)利要求書(shū)的范圍來(lái)確定的。
權(quán)利要求
1. 一種模型檢測(cè)中的模型抽象方法,其特征在于,包括步驟1,輸入原始模型和指導(dǎo)屬性;步驟2,為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在所述原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列;步驟3,對(duì)所述原始模型的狀態(tài)空間建立劃分;步驟4,應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的基本序列分割所述劃分;步驟5,為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型,應(yīng)用所述證明模型進(jìn)一步分割所述步驟4分割后的劃分;步驟6,由進(jìn)一步分割后的所述劃分生成所述原始模型對(duì)應(yīng)的抽象模型。
2. 如權(quán)利要求1所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述 步驟2進(jìn)一步為,從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在所述 原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指 導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。
3. 如權(quán)利要求2所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述 步驟2中從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在 所述原始模型中的超語(yǔ)義進(jìn)一步為步驟31,為所述指導(dǎo)屬性的葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述 節(jié)點(diǎn),按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義;步驟32,為所述指導(dǎo)屬性的非葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所 述節(jié)點(diǎn)及所述節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中所述子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替 換;按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義。
4. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟2中根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每 個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列進(jìn)一步為,步驟41,為所述指導(dǎo)屬性的根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述 節(jié)點(diǎn)對(duì)應(yīng)的超語(yǔ)義,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列;步驟42,為所述指導(dǎo)屬性的非根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所 述節(jié)點(diǎn)在其父節(jié)點(diǎn)的基本序列中對(duì)應(yīng)的狀態(tài)集合的并集,根據(jù)所述基本狀態(tài)集 合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列。
5. 如權(quán)利要求l所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟3進(jìn)一步為,步驟51,將所述原始模型的狀態(tài)空間建立為具有一個(gè)分塊的劃分; 步驟52,確定用于分割所述劃分的分割狀態(tài)集合;步驟53,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。。
6. 如權(quán)利要求5所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟52進(jìn)一步為,步驟61,確定所述原始模型中標(biāo)記了接口原子謂詞的狀態(tài)的集合為一個(gè) 所述分割狀態(tài)集合。
7. 如權(quán)利要求5所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟52進(jìn)一步為,步驟71,確定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的 第一原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合;確定所述原始模型中標(biāo) 記了組成所述原始模型公平約束條件的第二原子謂詞的狀態(tài)的集合為一個(gè)所 述分割狀態(tài)集合。
8. 如權(quán)利要求5所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟52進(jìn)一步為,步驟81,確定所述原始模型中終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
9. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟4進(jìn)一步為,步驟91,'應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)所述非葉子 節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合;步驟92,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。。
10. 如權(quán)利要求9所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟91進(jìn)一步為,步驟101,確定所述原始模型中標(biāo)記了所述指導(dǎo)屬性的原子謂詞的狀態(tài)的 集合為一個(gè)所述分割狀態(tài)集合;步驟102,確定所述指導(dǎo)屬性每個(gè)節(jié)點(diǎn)的超語(yǔ)義為一個(gè)所述分割狀態(tài)集合.步驟103,確定所述指導(dǎo)屬性每個(gè)非葉子節(jié)點(diǎn)的基本序列中的每個(gè)狀態(tài)集 合為一個(gè)所述分割狀態(tài)集合。
11. 如權(quán)利要求9所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟92后還包括步驟lll,在所述原始模型中添加公平約束(True, p),其中,True為 用于在任意狀態(tài)上標(biāo)記的原子謂詞,P為用于在原始模型中在A除去Cn的差集 之外的狀態(tài)上標(biāo)記的原子謂詞,其中,5,為所述指導(dǎo)屬性中形如^y的節(jié)點(diǎn)的 第一個(gè)子節(jié)點(diǎn)的超語(yǔ)義,C,,為所述節(jié)點(diǎn)的超語(yǔ)義。
12. 如權(quán)利要求l所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟5中為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型進(jìn)一步為, 步驟121,為所述節(jié)點(diǎn)建立包含同所述節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān)的邊的集合,所述集合為基本邊集合;步驟122,將所述原始模型中不包含在所述基本邊集合中的邊刪除,從而 生成所述節(jié)點(diǎn)對(duì)應(yīng)的證明模型。
13. 如權(quán)利要求l所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟5中應(yīng)用所述證明模型對(duì)所述步驟4分割后的劃分進(jìn)行分割進(jìn)一步為,步驟131,根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述證明模型 確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合;步驟132,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。
14. 如權(quán)利要求13所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟131進(jìn)一步為,步驟141,確定所述指導(dǎo)屬性中形如^"或^^的節(jié)點(diǎn)的證明模型中的終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
15. 如權(quán)利要求l所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述 步驟5中應(yīng)用所述證明模型進(jìn)一步分割所述步驟4分割后的劃分進(jìn)一步為,步驟151,重復(fù)執(zhí)行步驟152和步驟153直到執(zhí)行所述步驟153時(shí)中沒(méi)有 分塊被分割;步驟152,根據(jù)所述節(jié)點(diǎn)的路徑量詞、時(shí)序操作符、所述證明模型和所述 劃分中的分塊確定用于分割所述劃分的分割狀態(tài)集合;步驟153,應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分 的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的 差集為空。
16. 如權(quán)利要求15所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟152進(jìn)一步為,步驟161,對(duì)于每個(gè)形如^X的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所 述節(jié)點(diǎn)的證明模型中存在到所述分塊中狀態(tài)的邊的狀態(tài)的集合為一個(gè)所述分 割狀態(tài)集合。
17. 如權(quán)利要求15所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟152進(jìn)一步為,步驟171,對(duì)于每個(gè)形如^C/或f^的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊, 確定所述節(jié)點(diǎn)的證明模型中作為無(wú)限的擴(kuò)展公平路徑的起點(diǎn),并且所述擴(kuò)展公 平路徑的所有狀態(tài)都在所述分塊中的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
18. 如權(quán)利要求15所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟152進(jìn)一步為,步驟181,對(duì)于每個(gè)形如^V或^2的節(jié)點(diǎn),以及所述劃分的每?jī)蓚€(gè)不同 分塊,確定所述節(jié)點(diǎn)的證明模型中作為有限的路徑的起點(diǎn),并且所述路徑的最 后一個(gè)狀態(tài)在所述一個(gè)分塊中,所述路徑的其他狀態(tài)在另一個(gè)分塊—的狀態(tài)的 集合為一個(gè)分割狀態(tài)集合。
19. 如權(quán)利要求5、 9、 13或15所述的模型檢測(cè)中的模型抽象方法,其特 征在于,所述應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差 集為空進(jìn)一步為,步驟191,對(duì)于所述劃分中的每個(gè)分塊,如果所述分塊同所述分割狀態(tài)集 合的交集不為空并且除去所述分割狀態(tài)集合的差集不為空,則將所述分塊分割 為所述交集和所述差集。
20. 如權(quán)利要求15所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟153后還包括,步驟201,對(duì)于所述指導(dǎo)屬性中形如^t/或Z^的節(jié)點(diǎn),如果所述節(jié)點(diǎn)的 證明模型中存在一條邊,所述邊的起點(diǎn)和終點(diǎn)對(duì)應(yīng)的狀態(tài)位于所述劃分的一個(gè) 分塊中,并且所述證明模型中不存在一條無(wú)限路徑,所述路徑的所有狀態(tài)都在 所述分塊中,則執(zhí)行步驟222;步驟202,在所述原始模型中添加公平約束(True, p),其中,True為 用于在任意狀態(tài)上標(biāo)記的原子謂詞,P為用于在原始模型中所述分塊之外的狀 態(tài)上標(biāo)記的原子謂詞。
21. 如權(quán)利要求l所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述 步驟6進(jìn)一步為,步驟211,將所述劃分中的每個(gè)分塊抽象成抽象模型中的一個(gè)抽象狀態(tài);步驟212,所述劃分中包含所述原始模型的初始狀態(tài)的分塊在所述抽象模 型中對(duì)應(yīng)的抽象狀態(tài)為所述抽象模型的初始狀態(tài);步驟213,對(duì)于所述劃分中兩個(gè)分塊,兩個(gè)分塊為相同或不同分塊,如果 所述原始模型中存在從一個(gè)所述分塊中狀態(tài)到另一個(gè)所述分塊中狀態(tài)的邊,則 在所述抽象模型中對(duì)應(yīng)有從一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)到另一個(gè)所述分塊 對(duì)應(yīng)的抽象狀態(tài)的邊;步驟214,對(duì)于所述原始模型中的一個(gè)原子謂詞,如果所述劃分中每個(gè)分 塊同原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的交集為空或除去原始模 型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的差集為空,則所述原子謂詞為所述抽 象模型的原子謂詞,在所述原始模型中標(biāo)記了所述原子謂詞的狀態(tài)所在的分塊 的對(duì)應(yīng)抽象狀態(tài)上標(biāo)記所述原子謂詞;步驟215,所述抽象模型繼承所述原始模型的所有公平性約束。
22. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為一個(gè)原子謂詞,表示為^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述 原始模型中標(biāo)記了 ^的狀態(tài)的集合。
23. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為^AA時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^n^,其中^nA表示5,和化的交集,其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
24. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為^vA時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^uA,其中5,u^表示A和A的并集,其中,A和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
25. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為^X")時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條邊從所述狀態(tài)到5, 中的狀態(tài),其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
26. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為f[^C/^]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的 路徑,所述路徑的第y個(gè)狀態(tài)在^中,并且所述路徑的前y-l個(gè)狀態(tài)在5,中, 其中,A和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,J'為大于等于l的整數(shù)。
27. 如權(quán)利要求3所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟31中按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義進(jìn)一步為, 當(dāng)所述基本公式為#[^^52]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā) 的fe徑,所述路徑的第y個(gè)狀態(tài)在A中,并且所述路徑的前7—i個(gè)狀態(tài)在5,中, 或者在所述原始模型中存在一條從所述狀態(tài)出發(fā)的無(wú)限的擴(kuò)展公平路徑,并且 所述無(wú)限的擴(kuò)展公平路徑上的所有狀態(tài)都在A中,其中,^和A分別為所述節(jié) 點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,y為大于等于l的整數(shù)。
28. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,當(dāng)所述基本公式為5,AA時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,所述兩 個(gè)集合都分別為所述基本狀態(tài)集合,其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的 超語(yǔ)義。
29. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,當(dāng)所述基本公式為5,vR時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,第一個(gè) 集合為化nS,,第二個(gè)集合為^nA,其中,5,和^分別為所述節(jié)點(diǎn)的子節(jié) 點(diǎn)的超語(yǔ)義,A為所述基本狀態(tài)集合。
30. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,當(dāng)所述基本公式為^X(^)時(shí),所述節(jié)點(diǎn)的基本序列包含一個(gè)集合,為所 述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在5,中,并且在所 述原始模型中存在一條邊從所述基本狀態(tài)集合中的狀態(tài)到所述狀態(tài),其中,& 為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
31. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于, 所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,當(dāng)所述基本公式為#[5"52]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合; 第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在一條所述原始模型中的路徑上,所述路徑從A,r^,中的狀態(tài)出發(fā),并且所述路徑上的所有狀態(tài)都在GnA中;第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件是所述狀態(tài)在e"^'中,其中Q^'表示G和^的差集,并且在所述原始模型中存在一條邊從所述第一集合中的狀態(tài)到所述狀態(tài),或者所述狀態(tài)在(。"^。u(W1]^^^)中;其中,A和5,分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,"為所述節(jié)點(diǎn)的超語(yǔ)義,久為所述基本狀態(tài)集合,7 [1]為所述第一個(gè)集合。
32. 如權(quán)利要求4所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟41和所述步驟42中根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列進(jìn)一步為,當(dāng)所述基本公式為^[5^^]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合;第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在所述原始模型中存在一條路徑,所述路徑從""°51中的狀態(tài)出發(fā),并且所述路徑上的所有狀態(tài)都在^ nA中;第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為該狀態(tài)在c;^'中,其中G^i表示^和A的差集,并且在所述原始模型中存在一條邊從所述第一個(gè)集合中的狀態(tài)到所述狀態(tài);或者所述狀態(tài)在(A^')uK[1]^52)中;其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,^為所述節(jié)點(diǎn)的超語(yǔ)義,",,為所述基本狀態(tài)集合,K,[l]為所述第一個(gè)集合。
33. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為一個(gè)原子謂詞時(shí),所述基本邊集合是空集。
34. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為S,A時(shí),所述基本邊集合是空集,其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
35. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為S'v^時(shí),所述基本邊集合是空集,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
36. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為T(mén)7(^)時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本狀態(tài)集合中秋態(tài)出發(fā)的邊的集合,其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
37. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為#[5,"5"時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
38. 如權(quán)利要求12所述的模型檢測(cè)中的模型抽象方法,其特征在于,所述步驟121進(jìn)一步為,當(dāng)所述節(jié)點(diǎn)的基本公式為^W^A]時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
39. —種模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,包括輸入模塊、求解模塊、劃分模塊、細(xì)化模塊、抽象模塊,所述細(xì)化模塊包括第一細(xì)化模塊和第二細(xì)化模塊,所述輸入模塊,用于輸入原始模型和指導(dǎo)屬性;所述求解模塊,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在所述原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列;所述劃分模塊,用于對(duì)所述原始模型的狀態(tài)空間建立劃分;所述第一細(xì)化模塊,應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的基本序列分割所述劃分;所述第二細(xì)化模塊,用于為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型,應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃分進(jìn)一步分割;所述抽象模塊,用于由進(jìn)一步分割后的所述劃分生成所述原始模型對(duì)應(yīng)的抽象模型。
40. 如權(quán)利要求39所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊進(jìn)一步用于從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在所述原始模型中的超語(yǔ)義,根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列。
41. 如權(quán)利要求40所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在從所述指導(dǎo)屬性的葉子節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解在所述原始模型中的超語(yǔ)義時(shí)進(jìn)一步用于為所述指導(dǎo)屬性的葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述節(jié)點(diǎn),按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義;為所述指導(dǎo)屬性的非葉子節(jié)點(diǎn),求解所述節(jié)點(diǎn)的基本公式為所述節(jié)點(diǎn)及所述節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成的樹(shù),其中所述子節(jié)點(diǎn)用其對(duì)應(yīng)的超語(yǔ)義替換;按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義。
42. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述超語(yǔ)義從所述指導(dǎo)屬性的根節(jié)點(diǎn)開(kāi)始為所述指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列時(shí)進(jìn)一步用于為所述指導(dǎo)屬性的根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)對(duì)應(yīng)的超語(yǔ)義,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列;為所述指導(dǎo)屬性的非根節(jié)點(diǎn)求解所述節(jié)點(diǎn)的基本狀態(tài)集合為所述節(jié)點(diǎn)在其父節(jié)點(diǎn)的基本序列中對(duì)應(yīng)的狀態(tài)集合的并集,根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列。
43. 如權(quán)利要求39所述的模型撿測(cè)中的模型抽象系統(tǒng),其特征在于,所述劃分模塊進(jìn)一步用于將所述原始模型的狀態(tài)空間建立為具有一個(gè)分塊的劃分;確定用于分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
44. 如權(quán)利要求43所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述原始模型中標(biāo)記了接口原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
45. 如權(quán)利要求43所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的第一原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合;確定所述原始模型中標(biāo)記了組成所述原始模型公平約束條件的第二原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
46. 如權(quán)利要求43所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述劃分模塊在確定用于分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述原始模型中終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
47. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第一細(xì)化模塊進(jìn)一步用于應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)所述非葉子節(jié)點(diǎn)的基本序列確定用于分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
48. 如權(quán)利要求47所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第一細(xì)化模塊在應(yīng)用所述指導(dǎo)屬性、每個(gè)所述節(jié)點(diǎn)的超語(yǔ)義和每個(gè)所述非葉子節(jié)點(diǎn)的基本序列確定所述分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述原始模型中標(biāo)記了所述指導(dǎo)屬性的原子謂詞的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合;確定所述指導(dǎo)屬性每個(gè)節(jié)點(diǎn)的超語(yǔ)義為一個(gè)所述分割狀態(tài)集合;確定所述指導(dǎo)屬性每個(gè)非葉子節(jié)點(diǎn)的基本序列中的每個(gè)狀態(tài)集合為一個(gè)所述分割狀態(tài)隹a采n o
49. 如權(quán)利要求47所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第一細(xì)化模塊還用于在分割后在所述原始模型中添加公平約束(True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為用于在原始模型中在萬(wàn),除去07,,的差集之外的狀態(tài)上標(biāo)記的原子謂詞,其中,^為所述指導(dǎo)屬性中形如^^的節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)的超語(yǔ)義,C,,為所述節(jié)點(diǎn)的超語(yǔ)義。
50. 如權(quán)利要求39所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型時(shí)進(jìn)一步用于為所述節(jié)點(diǎn)建立包含同所述節(jié)點(diǎn)對(duì)應(yīng)基本公式相關(guān)的狀態(tài)有關(guān)的邊的集合,所述集合為基本邊集合;將所述原始模型中不包含在所述基本邊集合中的邊刪除,從而生成所述節(jié)點(diǎn)對(duì)應(yīng)的證明模型。
51. 如權(quán)利要求39所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃分進(jìn)行分割時(shí)進(jìn)一步用于根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述證明模型確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合;應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
52. 如權(quán)利要求51所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化稹塊在根據(jù)所述節(jié)點(diǎn)中出現(xiàn)的路徑量詞、時(shí)序操作符和所述證明模型確定用于進(jìn)一步分割所述劃分的分割狀態(tài)集合時(shí)進(jìn)一步用于確定所述指導(dǎo)屬性中形如^t/或^r^的節(jié)點(diǎn)的證明模型中的終結(jié)狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
53. 如權(quán)利要求39所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在應(yīng)用所述證明模型對(duì)所述第一細(xì)化模塊分割后的劃分進(jìn)一步分割時(shí)進(jìn)一步用于重復(fù)確定分割狀態(tài)集合過(guò)程和分割過(guò)程直到進(jìn)行分割過(guò)程時(shí)沒(méi)有分塊被分割;所述確定分割狀態(tài)集合過(guò)程為根據(jù)所述節(jié)點(diǎn)的路徑量詞、時(shí)序操作符、所述證明模型和所述劃分中的分塊確定用于分割所述劃分的分割狀態(tài)集合;所述分割過(guò)程為應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空。
54. 如權(quán)利要求53所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如^rz的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié)點(diǎn)的證明模型中存在到所述分塊中狀態(tài)的邊的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
55. 如權(quán)利要求53所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如^rt/或,^的節(jié)點(diǎn),以及所述劃分的每個(gè)分塊,確定所述節(jié)點(diǎn)的證明模型中作為無(wú)限的擴(kuò)展公平路徑的起點(diǎn),并且所述擴(kuò)展公平路徑的所有狀態(tài)都在所述分塊中的狀態(tài)的集合為一個(gè)所述分割狀態(tài)集合。
56. 如權(quán)利要求53所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在確定分割狀態(tài)集合時(shí)進(jìn)一步用于對(duì)于每個(gè)形如^"或^^的節(jié)點(diǎn),以及所述劃分的每?jī)蓚€(gè)不同分塊,確定所述節(jié)點(diǎn)的證明模型中作為有限的路徑的起點(diǎn),并且所述路徑的最后一個(gè)狀態(tài)在所述一個(gè)分塊中,所述路徑的其他狀態(tài)在另一個(gè)分塊中的狀態(tài)的集合為一個(gè)分割狀態(tài)集合。
57. 如權(quán)利要求43、 47、 51或53所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述劃分模塊、所述第一細(xì)化模塊或所述第二細(xì)化模塊在應(yīng)用所述分割狀態(tài)集合分割所述劃分中的分塊,使得所述劃分的每個(gè)分塊同每個(gè)所述分割狀態(tài)集合的交集為空或除去所述分割狀態(tài)集合的差集為空時(shí)進(jìn)一步用于對(duì)于所述劃分中的每個(gè)分塊,如果所述分塊同所fe分割狀態(tài)集合的交集不為空并且除去所述分割狀態(tài)集合的差集不為空,則將所述分塊分割為所述交集和所述差集。
58. 如權(quán)利要求53所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模型進(jìn)行進(jìn)一步分割后還用于對(duì)于所述指導(dǎo)屬性中形如^"或^^的節(jié)點(diǎn),如果所述節(jié)點(diǎn)的證明模型中存在一條邊,所述邊的起點(diǎn)和終點(diǎn)對(duì)應(yīng)的狀態(tài)位于所述劃分的一個(gè)分塊中,并且所述證明模型中不存在一條無(wú)限路徑,所述路徑的所有狀態(tài)都在所述分塊中,則在所述原始模型中添加公平約束(True, p),其中,True為用于在任意狀態(tài)上標(biāo)記的原子謂詞,p為用于在原始模型中所述分塊之外的狀態(tài)上標(biāo)記的原子謂詞。
59. 如權(quán)利要求39所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述抽象模塊進(jìn)一步用于將所述劃分中的每個(gè)分塊抽象成抽象模型中的一個(gè)抽象狀態(tài);所述劃分中包含所述原始模型的初始狀態(tài)的分塊在所述抽象模型中對(duì)應(yīng)的抽象狀態(tài)為所述抽象模型的初始狀態(tài);對(duì)于所述劃分中兩個(gè)分塊,兩個(gè)分塊為相同或不同分塊,如果所述原始模型中存在從一個(gè)所述分塊中狀態(tài)到另一個(gè)所述分塊中狀態(tài)的邊,則在所述抽象模型中對(duì)應(yīng)有從一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)到另一個(gè)所述分塊對(duì)應(yīng)的抽象狀態(tài)的邊;對(duì)于所述原始模型中的一個(gè)原子謂詞,如果所述劃分中每個(gè)分塊同原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的交集為空或除去原始模型中標(biāo)記了所述原子謂詞的狀態(tài)的集合的差集為空,則所述原子謂詞為所述抽象模型的原子謂詞,在所述原始模型中標(biāo)記了所述原子謂詞的狀態(tài)所在的分塊的對(duì)應(yīng)抽象狀態(tài)上標(biāo)記所述原子謂詞;所述抽象模型繼承所述原始模型的所有公平性約束。
60. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在按所述基本公式性求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為一個(gè)原子謂詞,表示為P時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中標(biāo)記了^的狀態(tài)的集合。
61. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為^AA時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是5,n^,其中^n^表示A和萬(wàn)2的交集,其中,5,和52分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
62. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在子,所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為S,v^時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是^u^,其中^u^表示^和A的并集,其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
63. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為^Z(A)時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條邊從所述狀態(tài)到A中的狀態(tài),其中,咼為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
64. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為#[AC 2]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的路徑,所述路徑的第y個(gè)狀態(tài)在^中,并且所述路徑的前y-l個(gè)狀態(tài)在5,中,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,7為大于等于1的整數(shù)。
65. 如權(quán)利要求41所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在按所述基本公式求解所述節(jié)點(diǎn)的超語(yǔ)義時(shí)進(jìn)一步用于當(dāng)所述基本公式為#^^52]時(shí),所述節(jié)點(diǎn)的超語(yǔ)義是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為在所述原始模型中存在一條從所述狀態(tài)出發(fā)的路徑,所述路徑的第7'個(gè)狀態(tài)在52中,并且所述路徑的前7一個(gè)狀態(tài)在5,中,或者在所述原始模型中存在一條從所述狀態(tài)出發(fā)的無(wú)限的擴(kuò)展公平路徑,并且所述無(wú)限的擴(kuò)展公平路徑上的所有狀態(tài)都在^中,其中,S,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,y為大于等于l的整數(shù)。
66. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為5, A^時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,所述兩個(gè)集合都分別為所述基本狀態(tài)集合,其中,5,和52分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
67. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為A vA時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合,第一個(gè)集合為A,n5,,第二個(gè)集合為A,n^,其中,5,和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,/),,為所述基本狀態(tài)集合。
68. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為^rzw)時(shí),所述節(jié)點(diǎn)的基本序列包含一個(gè)集合,為所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在5,中,并且在所述原始模型中存在一條邊從所述基本狀態(tài)集合中的狀態(tài)到所述狀態(tài),其中,5,為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
69. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為T(mén)[AC/A]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合;第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在一條所述原始模型中的路徑上,所述路徑從An^中的狀態(tài)出發(fā),并且所述路徑上的所有狀態(tài)都在Q 中;第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件是所述狀態(tài)在^\5'中,其中G^'表示^和A的差集,并且在所述原始模型中存在一條邊從所述第一集合中的狀態(tài)到所述狀態(tài),或者所述狀態(tài)在(^^i)u^Wn^)中;其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,G為所述節(jié)點(diǎn)的超語(yǔ)義,A為所述基本狀態(tài)集合,K[l]為所述第一個(gè)集合。
70. 如權(quán)利要求42所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述求解模塊在根據(jù)所述基本狀態(tài)集合及所述節(jié)點(diǎn)對(duì)應(yīng)的基本公式求解所述節(jié)點(diǎn)的基本序列時(shí)進(jìn)一步用于當(dāng)所述基本公式為^[^^52]時(shí),所述節(jié)點(diǎn)的基本序列包含兩個(gè)集合;第一個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為所述狀態(tài)在所述原始模型中存在一條路徑,所述路徑從化°5'中的狀態(tài)出發(fā),并且所述路徑上的所有狀態(tài)都在& n A中;第二個(gè)集合是所述原始模型中滿足條件的狀態(tài)的集合,所述條件為該狀態(tài)在OA中,其中e"^表示Q和A的差集,并且在所述原始模型中存在一條邊從所述第一個(gè)集合中的狀態(tài)到所述狀態(tài);或者所述狀態(tài)在(""^i)u(^[1]^^2)中;其中,^和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義,《為所述節(jié)點(diǎn)的超語(yǔ)義,A為所述基本狀態(tài)集合,f^[l]為所述第一個(gè)集合。
71. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為一個(gè)原子謂詞對(duì),所述基本邊集合是空集。
72. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為S,^時(shí),所述基本邊集合是空集,其中,A和^分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
73. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為^'v^時(shí),所述基本邊集合是空集,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
74. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為^7(^)時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本狀態(tài)集合中狀態(tài)出發(fā)的邊的集合,其中,^為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
75. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為^W "&]時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
76. 如權(quán)利要求50所述的模型檢測(cè)中的模型抽象系統(tǒng),其特征在于,所述第二細(xì)化模塊在為所述節(jié)點(diǎn)建立基本邊集合時(shí)進(jìn)一步用于當(dāng)所述節(jié)點(diǎn)的基本公式為^W ^ A]時(shí),所述基本邊集合是所述原始模型中從所述節(jié)點(diǎn)的基本序列的第一個(gè)集合中狀態(tài)出發(fā)的邊的集合,其中,5,和A分別為所述節(jié)點(diǎn)的子節(jié)點(diǎn)的超語(yǔ)義。
全文摘要
本發(fā)明涉及模型檢測(cè)中的模型抽象方法及系統(tǒng),方法包括步驟1,輸入原始模型和指導(dǎo)屬性;步驟2,為指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)求解其在原始模型中的超語(yǔ)義,根據(jù)超語(yǔ)義為指導(dǎo)屬性的每個(gè)非葉子節(jié)點(diǎn)求解對(duì)應(yīng)的基本序列;步驟3,對(duì)原始模型的狀態(tài)空間建立劃分;步驟4,應(yīng)用指導(dǎo)屬性、每個(gè)節(jié)點(diǎn)的超語(yǔ)義和每個(gè)非葉子節(jié)點(diǎn)的基本序列分割劃分;步驟5,為指導(dǎo)屬性的每個(gè)節(jié)點(diǎn)建立對(duì)應(yīng)的證明模型,應(yīng)用證明模型進(jìn)一步分割步驟4分割后的劃分;步驟6,由進(jìn)一步分割后的劃分生成原始模型對(duì)應(yīng)的抽象模型。本發(fā)明能夠在只提供指導(dǎo)屬性的前提下,根據(jù)該指導(dǎo)屬性自動(dòng)地完成細(xì)化工作,同時(shí)使細(xì)劃后的劃分能夠保留與指導(dǎo)屬性相關(guān)的信息。
文檔編號(hào)G06F17/50GK101504687SQ20091007999
公開(kāi)日2009年8月12日 申請(qǐng)日期2009年3月16日 優(yōu)先權(quán)日2009年3月16日
發(fā)明者沈海華, 陳博文 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所