国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可執(zhí)行模型的離線形式驗證的制作方法

      文檔序號:6333903閱讀:231來源:國知局
      專利名稱:可執(zhí)行模型的離線形式驗證的制作方法
      可執(zhí)行模型的離線形式驗證
      背景技術(shù)
      總體而言,系統(tǒng)開發(fā)過程包括需求開發(fā)階段、設(shè)計和開發(fā)階段以及驗證階段。需求可表征為特定產(chǎn)品或服務(wù)應(yīng)當(dāng)如何實施的文件化需要。更具體地,需求可指的是識別系統(tǒng)的必要功能、屬性、性能、特性或質(zhì)量的語句。需求規(guī)格書形式的需求被用作系統(tǒng)開發(fā)過程的設(shè)計階段的輸入,以設(shè)計對于特定系統(tǒng)而言什么樣的元素和功能是必需的。需求規(guī)格書可以使用多種語言表示。這些語言本質(zhì)上可以是圖形的或文字的,且可以包括但不限于轉(zhuǎn)換系統(tǒng)(例如,狀態(tài)機)、事件序列表(例如,情形或序列圖表)以及結(jié)構(gòu)化英語語言。系統(tǒng)使用軟件或硬件或兩者實施,通常使用接口,所述接口采用感測環(huán)境 (包括使用者)輸入的傳感器和控制硬件的致動器來實施。在復(fù)雜系統(tǒng)中,尤其是在主要關(guān)注安全性的系統(tǒng)中,需要進行系統(tǒng)的窮舉測試和驗證以確保系統(tǒng)的性能滿足系統(tǒng)的需求規(guī)格書。測試和驗證系統(tǒng)的常用方法是形式驗證。廣而言之,形式驗證是使用一類狀態(tài)空間試探方法來相對于形式規(guī)格書(也稱為屬性)證實或反駁系統(tǒng)下面的預(yù)期算法的正確性的過程。一種形式驗證方法是模型檢查,模型檢查是模型性能的自動的、系統(tǒng)的、窮舉的試探。通常,這包括通過使用智能和域特定的抽象技術(shù)來試探模型中的所有狀態(tài)和轉(zhuǎn)換,以在單次操作中考慮整個狀態(tài)組并減少計算時間。實施技術(shù)包括狀態(tài)空間枚舉、符號狀態(tài)空間枚舉、抽象解釋、符號模擬以及抽象精化。要驗證的屬性通常以時序邏輯描述,例如,線性時序邏輯(LTL)或計算樹邏輯(CTL)。已知形式驗證方法通常僅可應(yīng)用于設(shè)計階段的系統(tǒng)模型或者系統(tǒng)的軟件部分。雖然理論上可能,但是整個系統(tǒng)的模型會是不可能實施的,或者最好也不過是極度大的,從而現(xiàn)有形式方法技術(shù)不能縮放以跟蹤得到的大狀態(tài)空間。因而,使用系統(tǒng)模擬的測試是相對于其需求規(guī)格書驗證系統(tǒng)的唯一方式。然而,由于測試案例(系統(tǒng)的測試輸入和期望輸出) 由測試者寫出,因此他們通常僅測試簡單規(guī)格書。這是因為針對復(fù)雜時序規(guī)格書寫出測試案例是易錯的。此外,根據(jù)復(fù)雜時序規(guī)格書相對于期望輸出來檢查模擬運行也是耗時的和易錯的。因而,需要提供能縮放至任何尺寸系統(tǒng)的可執(zhí)行系統(tǒng)的自動形式驗證的系統(tǒng)和方法。

      發(fā)明內(nèi)容
      一種可執(zhí)行系統(tǒng)的自動形式驗證的系統(tǒng)和方法包括剖析器,所述剖析器配置成使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式;濾波器,所述濾波器配置成產(chǎn)生命題符號的真值賦值(truth assignment)的跡線;以及跡線驗證器,所述跡線驗證器配置成使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。一種相對于規(guī)格書中的聲明來驗證系統(tǒng)的方法,包括使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式,其中,每個布爾命題與聲明中的原子聲明相關(guān)聯(lián);以及生成跡線,所述跡線表示相對于聲明的系統(tǒng)配置序列,其中,所述跡線包括跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示響應(yīng)于具體跡線的系統(tǒng)配置。所述方法還包括將所述跡線配置數(shù)據(jù)轉(zhuǎn)換為一組命題符號的真值賦值;使用命題符號的真值賦值來產(chǎn)生系統(tǒng)跡線;以及使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。方案1. 一種相對于規(guī)格書中的聲明來驗證可執(zhí)行系統(tǒng)的方法,所述方法包括以下步驟使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式,每個布爾命題與聲明中的原子聲明相關(guān)聯(lián);生成跡線,所述跡線表示相對于聲明的系統(tǒng)配置序列,其中,所述跡線包括跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示響應(yīng)于具體跡線的系統(tǒng)配置;將所述跡線配置數(shù)據(jù)轉(zhuǎn)換為一組命題符號的真值賦值;使用命題符號的真值賦值來產(chǎn)生系統(tǒng)跡線;以及使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。方案2.根據(jù)方案1所述的方法,其中,所述跡線配置數(shù)據(jù)包括輸入、狀態(tài)變量、狀態(tài)信息以及輸出變量的序列。方案3.根據(jù)方案1所述的方法,其中,規(guī)格書中的聲明以形式語言書寫。方案4.根據(jù)方案1所述的方法,還包括生成關(guān)聯(lián)表,所述關(guān)聯(lián)表識別原子聲明和命題符號之間的關(guān)系。方案5.根據(jù)方案4所述的方法,其中,將跡線配置數(shù)據(jù)轉(zhuǎn)換為命題符號包括使用所述關(guān)聯(lián)表將跡線配置數(shù)據(jù)轉(zhuǎn)換為布爾符號。方案6.根據(jù)方案1所述的方法,其中,所述跡線是包括多個跡線的測試組集。方案7. —種計算機可讀介質(zhì),有形地實施計算機可執(zhí)行指令,所述指令用于使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式,每個布爾命題與聲明中的原子聲明相關(guān)聯(lián);生成跡線,所述跡線表示相對于聲明的系統(tǒng)配置序列,其中,所述跡線包括跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示響應(yīng)于具體跡線的系統(tǒng)配置;將所述跡線配置數(shù)據(jù)轉(zhuǎn)換為一組命題符號的真值賦值;使用命題符號的真值賦值來產(chǎn)生系統(tǒng)跡線;以及使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。方案8.根據(jù)方案7所述的計算機可讀介質(zhì),其中,所述跡線配置數(shù)據(jù)包括輸入、狀態(tài)、狀態(tài)變量以及輸出變量的序列。方案9.根據(jù)方案7所述的計算機可讀介質(zhì),還包括生成關(guān)聯(lián)表,所述關(guān)聯(lián)表識別原子聲明和命題符號之間的關(guān)系。方案10.根據(jù)方案9所述的計算機可讀介質(zhì),其中,將跡線配置數(shù)據(jù)轉(zhuǎn)換為在一組命題符號的真值賦值包括使用所述關(guān)聯(lián)表將跡線配置數(shù)據(jù)轉(zhuǎn)換為布爾符號的真值賦值。方案11.根據(jù)方案1所述的計算機可讀介質(zhì),其中,所述跡線是包括多個跡線的測試組集。方案12. —種配置成相對于規(guī)格書中的聲明來驗證可執(zhí)行系統(tǒng)的聲明監(jiān)測器,所述聲明監(jiān)測器包括剖析器,所述剖析器配置成使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式;
      濾波器,所述濾波器配置成產(chǎn)生命題符號的真值賦值的跡線;以及跡線驗證器,所述跡線驗證器配置成使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。方案13.根據(jù)方案12所述的聲明監(jiān)測器,其中,所述剖析器通過將聲明剖析為布爾形式的原子聲明且將所述聲明中的每個賦值給命題符號來將規(guī)格書中的聲明轉(zhuǎn)換為布爾命題。方案14.根據(jù)方案13所述的聲明監(jiān)測器,其中,所述剖析器還配置成生成關(guān)聯(lián)表, 所述關(guān)聯(lián)表識別原子聲明和用于規(guī)定布爾命題的命題符號之間的關(guān)系。方案15.根據(jù)方案12所述的聲明監(jiān)測器,其中,所述濾波器配置成接收跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示相對于聲明的系統(tǒng)配置序列。方案16.根據(jù)方案12所述的聲明監(jiān)測器,其中,所述濾波器配置成使用由剖析器生成的關(guān)聯(lián)表將表示可執(zhí)行系統(tǒng)配置序列的跡線配置數(shù)據(jù)轉(zhuǎn)換為布爾命題符號的真值賦值序列,所述關(guān)聯(lián)表識別布爾表達式和用于生成布爾命題的命題符號之間的關(guān)系。方案17.根據(jù)方案12所述的聲明監(jiān)測器,其中,規(guī)格書中的聲明以形式語言書寫。附加特征將從以下說明和所附權(quán)利要求結(jié)合附圖顯而易見。


      圖1示出了根據(jù)一個實施例的可執(zhí)行系統(tǒng)的在線形式驗證的示例性系統(tǒng);圖2示出了根據(jù)圖1所示的實施例的示例性基于聲明的驗證算法,使用該系統(tǒng)來驗證測試案例聲明;圖3示出了根據(jù)圖2的用于實施聲明監(jiān)測器的示例性算法;圖4示出了根據(jù)圖3的用于評價聲明的示例性算法;圖5示出了根據(jù)一個實施例的示例性離線形式驗證系統(tǒng);圖6示出了根據(jù)圖5所示的系統(tǒng)的示例性基于聲明的驗證算法,使用一組跡線來驗證規(guī)格書中的聲明;圖7示出了根據(jù)圖6的用于實施聲明監(jiān)測器的示例性算法;和圖8示出了根據(jù)圖7的用于評價聲明的示例性算法;
      具體實施例方式本文所述的實施例總體上涉及可執(zhí)行系統(tǒng)的形式驗證的系統(tǒng)和方法,且更具體地涉及相對于規(guī)格書中的指定部分進行的可執(zhí)行系統(tǒng)的自動形式驗證的系統(tǒng)和方法。所述系統(tǒng)和方法采用基于聲明的驗證過程,所述驗證過程可縮放至任何尺寸系統(tǒng)且配置成在有或沒有直接訪問系統(tǒng)(即,分別為在線或離線)的情況下操作。使用形式驗證系統(tǒng)的一種在線方法,產(chǎn)生一套測試案例以驗證來自于規(guī)格書的具體聲明。通常,聲明是用于驗證規(guī)格書中所包含的變量的某些屬性的真-假語句。測試案例由系統(tǒng)模擬且結(jié)果發(fā)送至聲明監(jiān)測器用于評價和驗證聲明。使用形式驗證系統(tǒng)的一種離線方法,表示系統(tǒng)配置序列的一組跡線被生成且輸入到系統(tǒng)。每個跡線的配置發(fā)送到聲明監(jiān)測器用于評價和驗證其中包含的聲明。在線驗證系統(tǒng)
      圖1示出了示例性在線形式驗證系統(tǒng)10,具有與聲明監(jiān)測器14和可執(zhí)行系統(tǒng)16 通信的測試組集12。系統(tǒng)10可以在一個或多個合適的計算裝置上實施,通常包括可以是在計算裝置內(nèi)的計算機可讀介質(zhì)上作為一組計算機可執(zhí)行指令有形地實施的軟件應(yīng)用的應(yīng)用。計算裝置可以是多種計算裝置中的任一種,如個人計算機、處理器、手持計算裝置等。計算裝置通常均包括可由一個或多個裝置(如上所述的裝置)執(zhí)行的指令。計算機可執(zhí)行指令可以從使用各種編程語言和/或技術(shù)生成的計算機程序編譯或譯碼,包括但不限于(單獨或以組合的形式)Java ,C,C++, Visual Basic, Java Script, Perl等。通常,處理器(或微處理器)例如從存儲器、計算機可讀介質(zhì)等接收指令并執(zhí)行這些指令,從而執(zhí)行一個或多個過程,包括本文所述的過程中的一個或多個。這種指令和其它數(shù)據(jù)可以使用各種已知的計算機可讀介質(zhì)存儲和傳輸。計算機可讀介質(zhì)包括參與提供數(shù)據(jù)(例如,指令)的任何介質(zhì),所述數(shù)據(jù)可以由計算裝置(如,計算機)讀取。這種介質(zhì)可以采用許多形式,包括但不限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。例如,非易失性介質(zhì)包括光盤或磁盤和其它持久性存儲器。易失性介質(zhì)包括動態(tài)隨機存取存儲器(DRAM),通常構(gòu)成主存儲器。計算機可讀介質(zhì)的常見形式包括計算機可讀取的任何介質(zhì)。參考圖1,測試組集12是設(shè)計成針對規(guī)格書中所闡述的各個聲明來評估系統(tǒng)性能的測試案例集合。通常,測試案例是輸入序列和預(yù)期輸出序列,但也可包括測試案例ID、測試說明、相關(guān)或前提需求、測試范疇、備注等。測試組集12可以使用任何可訪問介質(zhì)存儲, 包括但不限于文件,例如字處理文本、電子表格、表或數(shù)據(jù)庫。如下文更詳細所述,聲明監(jiān)測器14包括剖析器14a、濾波器14b、存儲裝置14c和跡線驗證器14d。剖析器14a是分解以邏輯語言(例如,LTL)書寫的規(guī)格書中的聲明且輸出一組原子聲明(不能進一步分解的聲明)的軟件。存儲裝置14c存儲關(guān)聯(lián)表,所述關(guān)聯(lián)表將由剖析器14a產(chǎn)生的每個原子聲明與獨特命題符號相關(guān)聯(lián)。濾波器14b是這樣的軟件其將系統(tǒng)賦值配置作為聲明中所述變量的輸入,且通過使用配置中變量的值來評價相應(yīng)原子聲明而將真值(真或假)賦值給命題符號。跡線驗證器14d具有命題公式F,命題公式F是所有原子聲明都由相應(yīng)命題符號取代的聲明。跡線驗證器14d使用從對應(yīng)于測試案例的系統(tǒng)跡線獲得的配置序列中的每個配置的命題的真值來評價F。如下文更詳細所述,測試組集中的每個測試案例都被以建模語言(例如但不限于,C,C++,統(tǒng)一建模語言(UML)和Simulink/Stateflow)書寫的可執(zhí)行系統(tǒng)來模擬。模擬結(jié)果發(fā)送到聲明監(jiān)測器14,用于評價和驗證測試案例聲明。圖2示出了根據(jù)圖1所示的系統(tǒng)的示例性基于聲明的驗證算法20,采用可執(zhí)行系統(tǒng)16來驗證測試案例聲明。算法20在步驟22通過初始化可執(zhí)行系統(tǒng)16和測試組集12 而開始。在步驟24,算法20確定是否已經(jīng)執(zhí)行初始化測試組集中的所有測試案例。如果是,在步驟26產(chǎn)生“測試組集完成”輸出。如果測試組集12仍包含未執(zhí)行測試案例,在步驟28,選擇組集12中的下一個測試案例。在步驟30,算法20確定來自于所選擇測試案例的所有輸入是否已經(jīng)用完。如果是,在步驟32產(chǎn)生“測試案例完成”輸出。如果仍然存在要執(zhí)行的輸入,在步驟34,來自于所選擇測試案例的下一個測試輸入被發(fā)送到系統(tǒng)16用于模擬。在步驟36,從系統(tǒng)16收集表示系統(tǒng)配置(或模型)(下文稱為“配置e”)的測試案例模擬數(shù)據(jù)。在該示例中,配置e包括測試案例輸入、具有當(dāng)前值的狀態(tài)變量和具有當(dāng)前值的輸出變量。對應(yīng)于測試案例的系統(tǒng)配置序列也可以稱為系統(tǒng)進程。在步驟38,配置e的副本發(fā)送到聲明監(jiān)測器14,用于評價和驗證聲明。在一個非限制性方法中,與配置e相關(guān)的數(shù)據(jù)存儲在文件或數(shù)據(jù)庫中,或以其它方式能由其它系統(tǒng)部件和/或過程訪問,如下文參考系統(tǒng)的其它特征詳細描述的那樣。圖3示出了用于實施聲明監(jiān)測器14的示例性算法40。算法在步驟42通過將結(jié)果變量設(shè)定為“ΝΑ”而初始化,表示基于當(dāng)前信息真或假結(jié)果是不可應(yīng)用的,或者在一些情況下,“NA”可表示在過程開始或結(jié)束時用于結(jié)果的值的初始化占位符。在步驟44,算法40 確定是否完成當(dāng)前測試。如果是,在步驟46,系統(tǒng)輸出“NA”。如果所選擇測試案例未完成, 那么在步驟48收集配置e且在步驟50評價當(dāng)前聲明。圖4示出了根據(jù)圖3的步驟50用于評價當(dāng)前聲明的算法100。使用該算法,被設(shè)計成驗證具體聲明的選擇測試案例相對于該聲明的規(guī)格書需求來評價。換句話說,來自于系統(tǒng)測試案例模擬的結(jié)果(即,配置e)相對于來自于規(guī)格書的相應(yīng)聲明進行評價,以確定由系統(tǒng)表示的聲明是否滿足規(guī)格書的需求。算法100在步驟102通過從規(guī)格書提取給定聲明而開始,通常以形式語言書寫,形式語言把時間看作為狀態(tài)序列,例如線性時序邏輯(LTL)。在時序邏輯中,語句隨時間可以是恒定的,但是其真值可以隨時間變化。例如,在一個給定時間,語句可以為真,但在另一個時間,語句可以為假。然而,在同一狀態(tài)(例如,時間瞬間、時間點或即時),沒有語句可以同時為真或假。以形式語言書寫規(guī)格書允許系統(tǒng)相對于規(guī)格書自動地模擬和驗證系統(tǒng)16。使用一種方法,規(guī)格書以動作LTL(ActionLTL)書寫,動作LTL是線性時序邏輯 (LTL)的變型,其中,其允許規(guī)定復(fù)雜的時序需求,如事件發(fā)生、算術(shù)表達式和參數(shù)函數(shù)。然后,在步驟104,動作LTL聲明使用剖析器1 轉(zhuǎn)換為布爾命題。換句話說,聲明中的復(fù)雜表達式分解為組成原子表達式,在該例子中為最簡單形式的布爾表達式。在步驟106,每個原子表達式被賦值命題符號且總的賦值輸出到關(guān)聯(lián)表,所述關(guān)聯(lián)表存儲布爾形式的變量表達式和賦值的命題符號之間的關(guān)系。在該例子中,關(guān)聯(lián)表存儲在存儲裝置14c中,但是如本領(lǐng)域普通技術(shù)人員理解的那樣,可以使用適合于存儲、訪問和取回關(guān)聯(lián)表的任何器件。在步驟 108,算法100通過用相對應(yīng)的命題符號取代每個原子表達式來產(chǎn)生命題公式。如下文更詳細所述,命題公式輸入到跡線驗證器14d(圖1)且與其它系統(tǒng)特征結(jié)合使用以評價和驗證給定聲明。在步驟110,濾波器14b取回配置e數(shù)據(jù),包括狀態(tài)變量和值。在步驟112,與濾波器14b相關(guān)的濾波程序使用每個配置中的變量值將真值(真或假)賦值給與原子聲明相對應(yīng)的每個命題符號。更具體地,濾波器14b依賴關(guān)聯(lián)表來確定哪個原子表達式被賦值給哪個命題符號。在步驟114,原子表達式和命題符號之間的關(guān)系由濾波器14b使用以將系統(tǒng) 16的測試案例模擬(即,系統(tǒng)進程)轉(zhuǎn)換為命題符號的真值賦值序列。因而,不是使得模擬測試案例在以形式語言表達的變量上運行,濾波器14b產(chǎn)生命題符號的賦值序列。在步驟116,來自于步驟108的命題公式和來自于步驟114的命題符號的賦值序列被輸入跡線驗證器14d以在形式上驗證系統(tǒng)16中闡述的聲明滿足規(guī)格書中闡述的聲明。 在步驟118,跡線驗證器輸出跡線結(jié)果?;氐綀D3,算法40在步驟120確定來自于步驟118的跡線結(jié)果是否為“真”,意味著跡線驗證器14d能夠針對給定聲明相對于規(guī)格書驗證系統(tǒng)16。如果是,結(jié)果為“真”,那么系統(tǒng)在步驟122輸出“真”語句。如果結(jié)果不是“真”,那么算法40在步驟124確定結(jié)果是否為“假”。如果確定假結(jié)果,那么系統(tǒng)在步驟126輸出“假”語句。如果結(jié)果不是假,那么在步驟128通過記錄與評價有關(guān)的信息來更新當(dāng)前聲明。如果結(jié)果既不是真也不是假, 這表示系統(tǒng)需要完成狀態(tài)的進一步處理和評價。離線驗證系統(tǒng)圖5示出了示例性離線形式驗證系統(tǒng)200。與圖1的在線系統(tǒng)類似,離線驗證系統(tǒng) 200配置成相對于具體系統(tǒng)驗證來自于規(guī)格書的聲明,但是在測試期間不訪問實際系統(tǒng)。驗證系統(tǒng)200具有與聲明監(jiān)測器204通信的跡線組集202。離線系統(tǒng)200的聲明監(jiān)測器204 與在線聲明監(jiān)測器14大致相同,其中,聲明監(jiān)測器204包括剖析器204a、濾波器204b、存儲裝置204c和跡線驗證器204d。然而,與圖1的測試組集12相比,跡線組集202使用在系統(tǒng)上模擬的測試案例,使用一組跡線來確認來自于規(guī)格書的聲明。在一個示例中,跡線表示被輸入聲明監(jiān)測器204以便驗證的系統(tǒng)配置序列。跡線可以從任何合適測試生成軟件生成, 例如但不限于Reactis 。從一方面看,跡線類似于使用上述在線方法的系統(tǒng)進程,其中跡線包括輸入、狀態(tài)變量和輸出變量的序列。換句話說,跡線配置表示響應(yīng)于具體輸入序列的系統(tǒng)選擇狀態(tài)和輸出變量。圖6示出了根據(jù)圖5所示的系統(tǒng)的示例性基于聲明的驗證算法220,采用一組跡線來驗證規(guī)格書中的聲明。算法220在步驟222通過將該組跡線加載到系統(tǒng)200中而開始。 在步驟224,算法220確定是否已經(jīng)執(zhí)行加載測試組集202中的所有跡線。如果是,在步驟 226產(chǎn)生“跡線組集完成”輸出。如果跡線組集202仍包含未執(zhí)行跡線,在步驟228,選擇組集202中的下一個跡線。在步驟230,算法200確定所選擇跡線的所有配置(例如,進程) 是否已經(jīng)用完。如果是,在步驟232產(chǎn)生“跡線完成”輸出。如果仍然存在要執(zhí)行的配置, 在步驟234,收集根據(jù)給定跡線的表示系統(tǒng)配置的跡線配置數(shù)據(jù),本文稱為“配置e”。在該示例中,配置e包括跡線輸入序列、具有當(dāng)前值的狀態(tài)變量和具有當(dāng)前值的輸出變量。在步驟236,配置e的副本發(fā)送到聲明監(jiān)測器204,用于評價和驗證聲明。在一個非限制性方法中,與配置e相關(guān)的數(shù)據(jù)存儲在文件或數(shù)據(jù)庫中,或以其它方式能由其它系統(tǒng)部件和/或過程訪問,如下文參考系統(tǒng)的其它特征詳細描述的那樣。圖7示出了用于實施聲明監(jiān)測器204的示例性算法300。算法300在步驟302通過將結(jié)果變量設(shè)定為“ΝΑ”初始化,表示基于當(dāng)前信息真或假結(jié)果是不可應(yīng)用的,或者在一些情況下,“NA”可表示在過程開始或結(jié)束時用于結(jié)果的值的初始化占位符。在步驟304,算法300確定是否完成當(dāng)前跡線。如果是,在步驟306,系統(tǒng)輸出“NA”。如果所選擇跡線未完成,那么在步驟308收集配置e且在步驟310評價當(dāng)前聲明。圖8示出了根據(jù)圖7的步驟310用于評價當(dāng)前聲明的算法400。使用該算法,被設(shè)計成驗證具體聲明的選擇跡線相對于該聲明的規(guī)格書需求來評價。換句話說,來自于系統(tǒng)跡線的結(jié)果(即,配置e)相對于來自于規(guī)格書的相應(yīng)聲明進行評價,以確定由系統(tǒng)表示的聲明是否滿足規(guī)格書的需求。算法400在步驟402通過從規(guī)格書提取給定聲明而開始,通常以形式語言書寫,例如線性時序邏輯(LTL)或動作LTL,動作LTL是線性時序邏輯(LTL)的變型,其中,其允許規(guī)定復(fù)雜的時序需求,如事件發(fā)生、算術(shù)表達式和參數(shù)函數(shù)。然后,在步驟404,動作LTL聲明使用剖析器204a剖析以識別布爾命題。換句話說,聲明中的復(fù)雜表達式分解為組成原子表達式,在該例子中為最簡單形式的布爾表達式。在步驟406,每個原子表達式被賦值命題符號且總的賦值輸出到關(guān)聯(lián)表,所述關(guān)聯(lián)表存儲布爾形式的變量表達式和賦值的命題符號之間的關(guān)系。在該例子中,關(guān)聯(lián)表存儲在存儲裝置204c中,但是如本領(lǐng)域普通技術(shù)人員理解的那樣,可以使用適合于存儲、訪問和取回關(guān)聯(lián)表的任何器件。在步驟408,算法400通過用相對應(yīng)的命題符號取代每個原子表達式來產(chǎn)生命題公式。如下文更詳細所述,命題公式輸入到跡線驗證器204d(圖5)且與其它系統(tǒng)特征結(jié)合使用以評價和驗證給定聲明。在步驟410,濾波器14b從選擇跡線取回配置e數(shù)據(jù),包括狀態(tài)變量和值。在步驟 412,與濾波器204b相關(guān)的濾波程序使用每個配置中的變量值將真值(真或假)賦值給與原子聲明相對應(yīng)的每個命題符號。更具體地,濾波器204b依賴關(guān)聯(lián)表來確定哪個原子表達式被賦值給哪個命題符號。在步驟414,原子表達式和命題符號之間的關(guān)系由濾波器204b 使用以將系統(tǒng)跡線(即,系統(tǒng)進程)轉(zhuǎn)換為命題符號的真值賦值序列。因而,不是使得跡線在以形式語言表達的變量上運行,濾波器204b產(chǎn)生命題符號的賦值序列。在步驟416,來自于步驟408的命題公式和來自于步驟414的命題符號的真值賦值跡線被輸入跡線驗證器204d以在形式上驗證跡線滿足規(guī)格書中闡述的聲明。在步驟418, 跡線驗證器輸出跡線結(jié)果?;氐綀D7,算法300在步驟420確定來自于步驟418的聲明監(jiān)測器的結(jié)果是否為 “真”,意味著跡線驗證器204d能夠針對給定聲明相對于規(guī)格書驗證跡線。如果是,結(jié)果為 “真”,那么系統(tǒng)在步驟422輸出“真”語句。如果結(jié)果不是“真”,那么算法300在步驟424 確定結(jié)果是否為“假”。如果確定假結(jié)果,那么系統(tǒng)在步驟426輸出“假”語句。如果結(jié)果不是假,那么在步驟428通過記錄與評價有關(guān)的信息來更新當(dāng)前聲明。如果結(jié)果既不是真也不是假,這表示系統(tǒng)需要完成狀態(tài)的進一步處理和評價。應(yīng)當(dāng)理解的是,上面的描述旨在是示例性的而非限制性的。本領(lǐng)域技術(shù)人員在閱讀上面的描述后將會明白不同于所提供示例的很多替代性方法或應(yīng)用。本發(fā)明的范圍不應(yīng)當(dāng)參考上面的描述而被確定,而是應(yīng)當(dāng)參考所附權(quán)利要求以及這些權(quán)利要求等價物的全部范圍而被確定??梢灶A(yù)見和預(yù)期的是,在本文討論的領(lǐng)域?qū)霈F(xiàn)進一步的發(fā)展,并且所公開的系統(tǒng)和方法將被并入這些進一步示例中??傊?,應(yīng)當(dāng)理解的是,本發(fā)明能夠進行修改和變化并且僅受權(quán)利要求的限制。已經(jīng)特別示出和描述了當(dāng)前的實施例,這些實施例僅僅是最佳模式的示例。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,在不偏離本發(fā)明精神和范圍的情況下,實施權(quán)利要求時可采用本文描述實施例的各種替代物,從而涵蓋這些權(quán)利要求及其等價物范圍內(nèi)的方法和系統(tǒng)。 該描述應(yīng)當(dāng)被理解為包括本文描述的元件的所有新穎且非顯而易見的組合,并且可在本申請或后續(xù)申請中給出對這些元件的任何新穎且非顯而易見的組合的權(quán)利要求。而且,前面的實施例是示例性的,并且沒有單一的特征或元件對于本申請或后續(xù)申請中可請求保護的所有可能的組合而言是必要的。如本領(lǐng)域技術(shù)人員所理解的,權(quán)利要求中使用的所有術(shù)語意圖被賦予其最廣義的合理解釋以及它們的普通意義,除非本文中作出明確的相反指示。特別地,諸如“一”、“該”、 “所述”等單數(shù)冠詞的使用應(yīng)當(dāng)被解讀為記載所指元件的一個或多個,除非權(quán)利要求記載了相反的明確限制。
      9
      權(quán)利要求
      1.一種相對于規(guī)格書中的聲明來驗證可執(zhí)行系統(tǒng)的方法,所述方法包括以下步驟使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式,每個布爾命題與聲明中的原子聲明相關(guān)聯(lián);生成跡線,所述跡線表示相對于聲明的系統(tǒng)配置序列,其中,所述跡線包括跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示響應(yīng)于具體跡線的系統(tǒng)配置;將所述跡線配置數(shù)據(jù)轉(zhuǎn)換為一組命題符號的真值賦值;使用命題符號的真值賦值來產(chǎn)生系統(tǒng)跡線;以及使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。
      2.根據(jù)權(quán)利要求1所述的方法,其中,所述跡線配置數(shù)據(jù)包括輸入、狀態(tài)變量、狀態(tài)信息以及輸出變量的序列。
      3.根據(jù)權(quán)利要求1所述的方法,其中,規(guī)格書中的聲明以形式語言書寫。
      4.根據(jù)權(quán)利要求1所述的方法,還包括生成關(guān)聯(lián)表,所述關(guān)聯(lián)表識別原子聲明和命題符號之間的關(guān)系。
      5.根據(jù)權(quán)利要求4所述的方法,其中,將跡線配置數(shù)據(jù)轉(zhuǎn)換為命題符號包括使用所述關(guān)聯(lián)表將跡線配置數(shù)據(jù)轉(zhuǎn)換為布爾符號。
      6.根據(jù)權(quán)利要求1所述的方法,其中,所述跡線是包括多個跡線的測試組集。
      7.一種計算機可讀介質(zhì),有形地實施計算機可執(zhí)行指令,所述指令用于使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式,每個布爾命題與聲明中的原子聲明相關(guān)聯(lián);生成跡線,所述跡線表示相對于聲明的系統(tǒng)配置序列,其中,所述跡線包括跡線配置數(shù)據(jù),所述跡線配置數(shù)據(jù)表示響應(yīng)于具體跡線的系統(tǒng)配置;將所述跡線配置數(shù)據(jù)轉(zhuǎn)換為一組命題符號的真值賦值;使用命題符號的真值賦值來產(chǎn)生系統(tǒng)跡線;以及使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。
      8.根據(jù)權(quán)利要求7所述的計算機可讀介質(zhì),其中,所述跡線配置數(shù)據(jù)包括輸入、狀態(tài)、 狀態(tài)變量以及輸出變量的序列。
      9.根據(jù)權(quán)利要求7所述的計算機可讀介質(zhì),還包括生成關(guān)聯(lián)表,所述關(guān)聯(lián)表識別原子聲明和命題符號之間的關(guān)系。
      10.根據(jù)權(quán)利要求9所述的計算機可讀介質(zhì),其中,將跡線配置數(shù)據(jù)轉(zhuǎn)換為在一組命題符號的真值賦值包括使用所述關(guān)聯(lián)表將跡線配置數(shù)據(jù)轉(zhuǎn)換為布爾符號的真值賦值。
      全文摘要
      本發(fā)明涉及可執(zhí)行模型的離線形式驗證。一種可執(zhí)行系統(tǒng)的自動形式驗證的系統(tǒng)和方法包括聲明監(jiān)測器,所述聲明監(jiān)測器配置成相對于規(guī)格書中的聲明來驗證系統(tǒng)。所述聲明監(jiān)測器包括剖析器,所述剖析器配置成使用布爾命題來產(chǎn)生表示規(guī)格書中的聲明的命題公式;濾波器,所述濾波器配置成產(chǎn)生命題符號的真值賦值的跡線;以及跡線驗證器,所述跡線驗證器配置成使用命題符號的真值賦值的跡線和命題公式來驗證所述聲明。
      文檔編號G06F11/36GK102298549SQ20101051030
      公開日2011年12月28日 申請日期2010年10月14日 優(yōu)先權(quán)日2009年10月14日
      發(fā)明者S·K·莫哈里克 申請人:通用汽車環(huán)球科技運作公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1