專利名稱:Tmsvl實時系統(tǒng)建模方法
技術(shù)領(lǐng)域:
本發(fā)明屬于系統(tǒng)形式化建模與驗證技術(shù)領(lǐng)域,主要涉及用形式化的方法對實時系統(tǒng)進行建模、仿真與驗證,具體是一種TMSVL實時系統(tǒng)建模方法,可用于各種實時系統(tǒng)的建模與仿真,以保障實時系統(tǒng)的安全性、活性和穩(wěn)定性。
背景技術(shù):
實時控制在現(xiàn)代工業(yè)領(lǐng)域、科學(xué)研究和社會生活中發(fā)揮著重要作用,并且越來越多地被應(yīng)用于軍事、航天以及交通控制等安全相關(guān)的領(lǐng)域。實際應(yīng)用中對這種實時控制的 可靠性有很高的要求,若一定的時間性限制沒有被滿足,則會出錯甚至導(dǎo)致重大事故。因此,保障實時控制的正確性成為關(guān)鍵性問題,而實時控制的正確性是應(yīng)用實時控制的實時系統(tǒng)可靠性的根本保證。在大多數(shù)的工程實踐中,軟件的可靠性主要是通過測試、仿真和反復(fù)試用來保證的,而對于應(yīng)用實時控制的實時系統(tǒng)來說,它的運行往往與外部環(huán)境有關(guān),其執(zhí)行存在諸多不確定因素,這對其測試帶來了極大的困難。并且,測試只能用于發(fā)現(xiàn)錯誤,并不能保證無錯。例如,近期俄羅斯聯(lián)邦航天署公布的火星探測器事故的調(diào)查結(jié)果,認(rèn)為事故主因可能是機載計算系統(tǒng)的程序出錯,而在最近一年以來,俄羅斯共遭遇的六次發(fā)射事故無一不與航天器的設(shè)計生產(chǎn)環(huán)節(jié)有關(guān),火星探測器的發(fā)射系統(tǒng)屬于典型的實時系統(tǒng),而且系統(tǒng)在時間上有嚴(yán)格的要求,這也表明僅依賴測試難以保證此類系統(tǒng)的正確性。因此,利用具有嚴(yán)格數(shù)學(xué)基礎(chǔ)的形式化方法建模和驗證是解決實時系統(tǒng)的安全性和可靠性的根本方法之一,它可以在程序或系統(tǒng)實際運行或應(yīng)用以前對其建模并嚴(yán)格驗證其性質(zhì),用這種嚴(yán)密的形式化方法保證其可靠性。時序邏輯來描述系統(tǒng)是形式化方法的一種,因為本身具有時序概念,因此可以作為描述實時系統(tǒng)的方法。時序邏輯作為一種系統(tǒng)建模與驗證工具已廣泛應(yīng)用于軟件工程、數(shù)字電路設(shè)計等 領(lǐng)域。時序邏輯主要有三大分支線性時序邏輯(ITL),分支時序邏輯(CTL)以及區(qū)間時序邏輯(ITL)。投影時序邏輯(PTL)對ITL進行了擴展,時序邏輯語言MSVL是PTL的一個可執(zhí)行子集,是一個集建模(Modeling)、仿真(Simulation)和驗證(Verification)為一體的時序邏輯程序設(shè)計語言,它將系統(tǒng)的建模與性質(zhì)的描述統(tǒng)一于同一邏輯框架內(nèi),通過模型檢測技術(shù)驗證系統(tǒng)的性質(zhì)。MSVL作為一種形式化的工具可以被考慮用于實時系統(tǒng)的建模與驗證。而PTL缺乏量化時間的描述,因此MSVL無法應(yīng)用于實際實時系統(tǒng)的建模與驗證。有三種方法可以對時序邏輯進行實時擴展1、界定時序算子時序操作符用時間界定,引入實時約束;2、凍結(jié)量化凍結(jié)綁定與時間相關(guān)的變量;3、顯式時鐘變量使用動態(tài)的時鐘變量。三種方法的表達能力越來越強,采用顯式時鐘變量幾乎可以描述所有有關(guān)實時系統(tǒng)的性質(zhì)。但采用顯式時鐘變量導(dǎo)致邏輯的抽象能力降低,因而在描述系統(tǒng)和性質(zhì)時過于復(fù)雜。有很多時序邏輯語言已經(jīng)將時序邏輯擴展到了實時范疇,有Alur的TPTL(Timed Propositional TemporalLogic)和Koymans的MTL (Metric Temporal Logic)等,但這些實時擴展的時序邏輯大都被用于實時性質(zhì)的規(guī)約,而對于實時系統(tǒng)的建模則采用時間自動機和時間變遷系統(tǒng)等其他形式,這使得實時系統(tǒng)建模方法和驗證方發(fā)分開實施,在驗證時往往要對系統(tǒng)模型或性質(zhì)規(guī)約進行轉(zhuǎn)化后才可以進行驗證,這樣不但過程復(fù)雜而且容易出錯,給系統(tǒng)的性質(zhì)驗證帶來了很大障礙。也有一些用于描述系統(tǒng)的擴充的時序邏輯。XYZ/RE采用界定算子擴充時序邏輯,表達時間約束比較直觀,但僅能描述相對時間,而且它的邏輯基礎(chǔ)是非實時的LTL,因此對順序語句、循環(huán)語句的表達比較復(fù)雜。TLA+使用變量now來顯式定義當(dāng)前實際時間據(jù)此可以描述期望動作的時間特性。TLA+中的模塊RealTime可以簡化時間約束的表示方式,但是缺乏對相對時間的描述,不能刻畫一個動作的持續(xù)時間,也不能刻畫兩個動作之間的時間間隔。到目前為止,工程實踐中尚無一種建模和驗證在同一邏輯框架下,既能描述相對時間又能描述絕對時間的實時系統(tǒng)建模、仿真和驗證方法。本發(fā)明項目組對國內(nèi)外專利文獻和公開發(fā)表的期刊論文檢索,尚未發(fā)現(xiàn)與本發(fā)明密切相關(guān)和一樣的報道或文獻
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有實時系統(tǒng)建模和驗證方法邏輯框架不統(tǒng)一以及可靠性差的缺點,提供了一種與驗證方法在同一邏輯下形式化建模的方法,既能描述相對時間又能描述絕對時間,且簡單易行的TMSVL實時系統(tǒng)建模方法,以滿足實時系統(tǒng)嚴(yán)格的安全性和可靠性要求?!NTMSVL實時系統(tǒng)建模方法,用形式化方法對實時系統(tǒng)進行建模,構(gòu)造出系統(tǒng)的實際模型,其特征在于在MSVL的語法基礎(chǔ)上擴展了時間變量和時間約束區(qū)間,使其在語義上支持量化時間建模,其中時間是由時間變量模擬,時間控制由時間約束區(qū)間實現(xiàn);利用該語法語義來描述需要建模的實時系統(tǒng),得到系統(tǒng)的TMSVL模型;再利用TMSVL語言的操作語義對這個TMSVL模型化簡得到系統(tǒng)的實際模型;TMSVL對實時系統(tǒng)建模的流程包括有步驟I、選取適當(dāng)?shù)臅r鐘起始時間和時間間隔,用TMSVL語言建模實時系統(tǒng)的時鐘模塊并對系統(tǒng)的時鐘進行初始化,用變量T模擬系統(tǒng)當(dāng)前狀態(tài)的時間,變量Ts表示時間間隔,用于產(chǎn)生系統(tǒng)時鐘,TMSVL建模實時系統(tǒng)的時鐘模塊TPtl如下TP0 E T = eT 八 Ts = eTs 八 frame (Ts)八 keep (OT = T+Ts)eT和eTs是兩個時間表達式,eT用來初始化T的值,eTs用來初始化Ts的值;操作符“八”表示“相與”,用于連接同時發(fā)生的語句;因為TMSVL的底層邏輯是時序邏輯,在時序邏輯中,后一狀態(tài)的值不會自動繼承前一狀態(tài)的值,因此采用MSVL的框架技術(shù)frame聲明變量,Ts被聲明為frame變量后,在下一狀態(tài)如果Ts未被賦值則自動繼承Ts前一狀態(tài)的值;keep表示除了終止?fàn)顟B(tài)之外的每個狀態(tài)都要執(zhí)行后面括號中的語句,keep ( O T = T+Ts)表示在每個狀態(tài),其下一狀態(tài)的時間值,即〇T,都等于本狀態(tài)的時間值T加本狀態(tài)的時間間隔值Ts。步驟2、根據(jù)初始化后的系統(tǒng)時鐘模塊,用定義的TMSVL語言描述實時系統(tǒng),得到系統(tǒng)的TMSVL模型;在描述過程中先描述實時系統(tǒng)中各個時間約束下的子模塊,為子模塊添加相應(yīng)的時間約束,之后連接有關(guān)系的子模塊形成新的子模塊,經(jīng)過反復(fù)的連接和添加時間約束最終得到整個系統(tǒng)的描述TP1,系統(tǒng)的TMSVL模型為TPtl A TP10步驟3、利用TMSVL的操作語義化簡步驟2中得到的TMSVL模型,構(gòu)造出系統(tǒng)所有的實際模型;系統(tǒng)的每一個實際模型是一個由一組狀態(tài)序列構(gòu)成的區(qū)間,每個狀態(tài)有一個時間戳T代表本狀態(tài)的時間,并包含一組為所有狀態(tài)變量賦值的命題,這些狀態(tài)變量及其賦值刻畫系統(tǒng)的一個狀態(tài),一系列的狀態(tài)序列模擬出系統(tǒng)動態(tài)的運作過程,一系列的狀態(tài)序列就是由TMSVL模型化簡出的一個區(qū)間;如果系統(tǒng)的每個模型都是安全的或滿足某個實時性要求,系統(tǒng)就是安全的或滿足這個實時性要求的;步驟4、構(gòu)造出了實時系統(tǒng)所有的實際模型,實時系統(tǒng)建模結(jié)束。本發(fā)明主要涉及用形式化的方法對實時系統(tǒng)的建模與驗證,對實時系統(tǒng)的模型構(gòu)造主要包括對實時系統(tǒng)的TMSVL模型建立和模型化簡兩個部分。建模過程,針對實時系統(tǒng)的實際需要定義合理的初始時間和時間間隔,實現(xiàn)了對時間的初始化并為系統(tǒng)的每個狀態(tài)生成時間采樣點,然后分析系統(tǒng)中各個實時控制模塊,經(jīng)過反復(fù)的模塊定義和模塊連接,得到了系統(tǒng)的TMSVL模型TPtl A TP10建模完畢后,對模型進行化簡,以構(gòu)造出系統(tǒng)的實際模型,即若干保存著系統(tǒng)狀態(tài)命題的狀態(tài)序列。如果系統(tǒng)有需要驗證的性質(zhì),則用TMSVL描述該性質(zhì),并用相同的方法對其化簡,性質(zhì)也被化簡為狀態(tài)的序列,在模型狀態(tài)序列的每個狀態(tài)上驗證性質(zhì)狀態(tài)序列的每個狀態(tài)的狀態(tài)命題,如果每個狀態(tài)都滿足,則模型滿足該性質(zhì)。 時間表達式的語法定義為t: : = n I X I 0 X function 11。op | T O T end (T)op: : = +1 -1 X I modn表示正整數(shù),x表示變量x在當(dāng)前狀態(tài)的取值, X表示變量X在前一狀態(tài)的取值,function表示函數(shù)返回值,h op h表示兩個時間表達式h和h經(jīng)過算術(shù)運算得到的取值,op表示時間表達式、和可以進行的算數(shù)運算,包括加法,減法,乘法以及取模運算,T表示當(dāng)前狀態(tài)的時間值,〇T表示下一狀態(tài)的時間,只能出現(xiàn)在時間約束區(qū)間中起始時間的位置,如果時間約束為(〇T,t:), h是一個時間表達式,這個時間約束區(qū)間表示其約束下的語句從下一狀態(tài)開始執(zhí)行,end(T)表示T在語句執(zhí)行結(jié)束時的時間,只能出現(xiàn)在時間約束區(qū)間中結(jié)束時間的位置,如果時間約束為U1, end(T)), h是一個時間表達式,這個時間約束區(qū)間對其約束下語句的結(jié)束時間不加限制,語義合法的時間表達式t化簡之后的取值為非負(fù)整數(shù)。本發(fā)明在對實時系統(tǒng)的建模中,利用顯式定義了時間變量T,不僅方便了建模過程中對時間的調(diào)用,還擴充了語句的表達能力,可以描述很多隱式時間定義無法描述的絕對時間性質(zhì)。用時間變量T建模系統(tǒng)時鐘后,系統(tǒng)中所有語句的時間約束都是參照此時間變量來控制語句的執(zhí)行。時間表達式用于對時間變量的初始化,也在時間約束區(qū)間中表示被約束語句的開始執(zhí)行狀態(tài)的T值或執(zhí)行結(jié)束狀態(tài)T值,但時間變量一旦初始化,就不能再對其賦值,除了初始狀態(tài),以后的每個狀態(tài)的時間值T只能由時間間隔的值與前一狀態(tài)的T值相加得來。本發(fā)明的實現(xiàn)還在于在TMSVL中,用于描述被建模實時系統(tǒng)的最基本語句是在需要限定的語句P前添加了一個時間約束區(qū)間(t1;t2),形成TMSVL中基本簡單語句(t1;t2)P的形式,其中時間表達式h用來限定這個語句開始執(zhí)行的時間,表達式t2用來限定這個語句結(jié)束的時間,時間約束下的語句p必須嚴(yán)格按照時間約束執(zhí)行。本發(fā)明在建模語句的構(gòu)成中,最根本的語句是在原MSVL語句前添加時間約束,多元操作符,例如A (并列),V (選擇)和I I (并行)等,用于聯(lián)系有相互關(guān)系的語句,連接后的語句依然可以通過添加時間約束來限定其執(zhí)行。本發(fā)明的實現(xiàn)還在于若p,tp分別表示MSVL和TMSVL語句,用于描述實時系統(tǒng)的TMSVL基本語句有如下形式(I). Originalp(2). Time limie (t:, t2) tp(3). Conjunction tp: A tp2 (4). Selection tp: V tp2(5). Sequential tp:;tp2 (6). Point( e ) tp(7). Projection (tp:, ,tpm) pr j tp(8). Conditional if b then tp else tq =f (b —> tp) a (—ib -> tq) (9). While loop while b do tp =f {tp ab)* a\Z\(empty —> —>b)(10). Parallel tp\\tq =f tptq Aifp^true)(11). For loop for 0 times do tp =f emptyfor n + 1 times do tp =f {for n times do tp);tp(12). Repeat loop repeat tp until b =f tp; while ->b do tp其中p是MSVL中的語句,它表示p描述的模塊是不受時間約束的,語義上相當(dāng)于語句(T,end(T))p,即p是從當(dāng)前時間開始執(zhí)行,結(jié)束時間不受限制;(t1; t2) tp表示模塊tp受時間區(qū)間(t1; t2)的約束從h時間開始到t2時間結(jié)束^p1八tp2是指模塊tPi和tp2并列執(zhí)行的且同時結(jié)束;tPl V tp2是選擇語句,表示tPl和tp2可選擇其中之一進行;順序執(zhí)行語句1 ;tp2表不tpj和tp2之間是有序列關(guān)系的,當(dāng)tPi執(zhí)行完以后才能執(zhí)行tp2 ; ( e )tp是一個帶有空時間約束的狀態(tài)語句,tp僅在當(dāng)前這一個時間點上執(zhí)行結(jié)束;(e )tp是一個帶有空時間約束的狀態(tài)語句,tp僅在當(dāng)前這一個時間點上執(zhí)行結(jié)束;投影語句(tPl,...,tpjprj tp表示Apn^Ptp是并行執(zhí)行的,每一個模塊可以定義自己的區(qū)間長度或執(zhí)行時間,但是tp只在tPl ;. ;tpm執(zhí)行區(qū)間的每個由tPi(l ^m)執(zhí)行區(qū)間劃分的子區(qū)間的終止?fàn)顟B(tài)上執(zhí)行,tp和tp1; . . . , tpm可以不同時結(jié)束;if b then tp else tq是條件語句,條件b為真則執(zhí)行tp,否則執(zhí)行tp ;循環(huán)語句while b do tp表示tp反復(fù)執(zhí)行,直到b為假;循環(huán)語句for n times do tp指tp循環(huán)執(zhí)行n次;循環(huán)repeat tp untilb與while循環(huán)類似,重復(fù)執(zhí)行tp直到b為真,只是在b的初始值為真時仍然會執(zhí)行一次tp。本發(fā)明在定義形式化的建模語句時,“八”(與)、“ V” (或)、“,”(非)、“*” (閉包)和“一”(蘊含)與一般數(shù)理邏輯中意義相同;時序操作符□表示以后每個狀態(tài)都執(zhí)行后面括號中的語句,與一般時序邏輯中意義相同;for循環(huán)語句,while循環(huán)語句,條件語句與一般的編程語言意義相同,但同時又具有形式化的意義,既利于應(yīng)用和理解又具有嚴(yán)謹(jǐn)?shù)倪壿嬯P(guān)系。本發(fā)明的實現(xiàn)還在于若p是一條TMSVL語句,用TMSVL的基本語句描述實時系統(tǒng)中的常用概念延時、超時和中斷,具體形式如下(I)、用TMSVL對延時描述如下
{,I =f^ = Ts a keep{OTs = ) a
((T,T + tjpv …v(T,T + t,)pv...v(T,T + tm)p)
It1, tjp表示p從當(dāng)前狀態(tài)開始執(zhí)行,經(jīng)過&時間后結(jié)束,最多可延時到tm時間后結(jié)束,即語句是在系統(tǒng)時間T+^到T+tm之間狀態(tài)上結(jié)束,包括T+^和T+tm,T+h是從時間為T+^的狀態(tài)開始第i個狀態(tài)的時間(I彡i彡m)。(2)、用TMSVL對超時描述如下
權(quán)利要求
1.一種TMSVL實時系統(tǒng)建模方法,用形式化方法對實時系統(tǒng)進行建模,構(gòu)造出系統(tǒng)的實際模型,其特征在于在MSVL的語法基礎(chǔ)上擴展了時間變量和時間約束區(qū)間,使其在語義上支持量化時間建模,其中時間是由時間變量模擬,時間控制由時間約束區(qū)間實現(xiàn);利用該語法語義來描述需要建模的實時系統(tǒng),得到系統(tǒng)的TMSVL模型;再利用TMSVL語言的操作語義對這個TMSVL模型化簡得到系統(tǒng)的實際模型;TMSVL對實時系統(tǒng)建模的流程包括有 步驟I、選取適當(dāng)?shù)臅r鐘起始時間和時間間隔,用TMSVL語言建模實時系統(tǒng)的時鐘模塊并對系統(tǒng)的時鐘進行初始化,用變量T模擬系統(tǒng)當(dāng)前狀態(tài)的時間,變量Ts表示時間間隔,用于產(chǎn)生系統(tǒng)時鐘,TMSVL建模實時系統(tǒng)的時鐘模塊TPtl如下TP0 E T = eT 八 Ts = eTs 八 frame (Ts)八 keep (OT = T+Ts)eT和eTs是兩個時間表達式,eT用來初始化T的值,eTs用來初始化Ts的值;操作符“八”表示“相與”,用于連接同時發(fā)生的語句;因為TMSVL的底層邏輯是時序邏輯,在時序邏輯中,后一狀態(tài)的值不會自動繼承前一狀態(tài)的值,因此采用MSVL的框架技術(shù)frame聲明變量,Ts聲明為frame變量后,在下一狀態(tài)如果Ts未被賦值則自動繼承Ts前一狀態(tài)的值;ke印表示除了終止?fàn)顟B(tài)之外的每個狀態(tài)都要執(zhí)行后面括號中的語句,keep ( O T = T+Ts)表示在每個狀態(tài),其下一狀態(tài)的時間值,即〇T,都等于本狀態(tài)的時間值T加本狀態(tài)的時間間隔值Ts ; 步驟2、根據(jù)初始化后的系統(tǒng)時鐘模塊,用定義的TMSVL語言描述實時系統(tǒng),得到系統(tǒng)的TMSVL模型;在描述過程中先描述實時系統(tǒng)中各個時間約束下的子模塊,為子模塊添加相應(yīng)的時間約束,之后連接有關(guān)系的子模塊形成新的子模塊,經(jīng)過反復(fù)的連接和添加時間約束最終得到整個系統(tǒng)的描述TP1,系統(tǒng)的TMSVL模型為TPtl A TP1 ; 步驟3、利用TMSVL的操作語義化簡步驟2中得到的TMSVL模型,構(gòu)造出系統(tǒng)所有的實際模型;系統(tǒng)的每一個實際模型是一個由一組狀態(tài)序列構(gòu)成的區(qū)間,每個狀態(tài)有一個時間戳T代表本狀態(tài)的時間,并包含一組為所有狀態(tài)變量賦值的命題,這些狀態(tài)變量及其賦值刻畫系統(tǒng)的一個狀態(tài),一系列的狀態(tài)序列模擬出系統(tǒng)動態(tài)的運作過程,一系列的狀態(tài)序列就是由TMSVL模型化簡出的一個區(qū)間;如果系統(tǒng)的每個模型都是安全的或滿足某個實時性要求,系統(tǒng)就是安全的或滿足這個實時性要求的; 步驟4、構(gòu)造出了實時系統(tǒng)所有的實際模型,實時系統(tǒng)建模結(jié)束。
2.根據(jù)權(quán)利要求I所述的TMSVL實時系統(tǒng)建模方法,其特征在于時間表達式的語法定義為 t: : = n I X I X I function 110 op | T O T end (T) op: : = +1 -1 X I mod n表示正整數(shù),x表示變量x在當(dāng)前狀態(tài)的取值, X表示變量X在前一狀態(tài)的取值,function表示函數(shù)返回值,h op h表示兩個時間表達式h和h經(jīng)過算術(shù)運算得到的取值,op表示時間表達式h和可以進行的算數(shù)運算,包括加法,減法,乘法以及取模運算,T表示當(dāng)前狀態(tài)的時間值,O T表示下一狀態(tài)的時間,只能出現(xiàn)在時間約束區(qū)間中起始時間的位置,如果時間約束為(〇T,t:), 是一個時間表達式,這個時間約束區(qū)間表示其約束下的語句從下一狀態(tài)開始執(zhí)行,end(T)表示T在語句執(zhí)行結(jié)束時的時間,只能出現(xiàn)在時間約束區(qū)間中結(jié)束時間的位置,如果時間約束為U1, end(T)), h是一個時間表達式,這個時間約束區(qū)間對其約束下語句的結(jié)束時間不加限制,語義合法的時間表達式t化簡之后的取值為非負(fù)整數(shù)。
3.根據(jù)權(quán)利要求2所述的TMSVL實時系統(tǒng)建模方法,其特征在于在TMSVL中,用于描述被建模實時系統(tǒng)的最基本語句是在需要限定的語句P前添加了一個時間約束區(qū)間U1,t2),形成TMSVL中基本簡單語句(tn t2)p的形式,其中時間表達式I1用來限定這個語句開始執(zhí)行的時間,表達式t2用來限定這個語句結(jié)束的時間,時間約束下的語句P必須嚴(yán)格按照時間約束執(zhí)行。
4.根據(jù)權(quán)利要求3所述的TMSVL實時系統(tǒng)建模方法,其特征在于若p,tp分別表不MSVL和TMSVL語句,用于描述實時系統(tǒng)的TMSVL基本語句有如下形式 (I).Originalp(2). Time limie (t1 t2) tp (3). Conjunction tpx A tp2(4). Selection tpx V tp2 (5). Sequential tpx ;tp2(6). Point( e)tp(7).Projection (tp1 . . . , tpjprj tp (8).Conditional if b then tp else tq =f {b -> tp) a(-i6 -> tq) (9).While loop while b do tp =f (tp ab)* a{3(empty -> -\b) (10).Parallel tp || tq =f tp a (tq; true) vtq a (tp; true) (II).Forloop for 0 times do tp =f emptydeffor n + 1 times do tp = {for n times do tp)',tp (12). Repeat loop repeat tp until b =f tp\ while —>b do tp 其中p是MSVL中的語句,它表示p描述的模塊是不受時間約束的,語義上相當(dāng)于語句(T,end(T))p,即p是從當(dāng)前時間開始執(zhí)行,結(jié)束時間不受限制;U1, t2) tp表示模塊tp受時間區(qū)間(t1; t2)的約束從h時間開始到t2時間結(jié)束^p1八tp2是指模塊tPi和tp2并列執(zhí)行且同時結(jié)束;tPl V tp2是選擇語句,表示tPl和tp2可選擇其中之一進行;順序執(zhí)行語句tpj ;tp2表不tpj和tp2之間是有序列關(guān)系的,當(dāng)tpj執(zhí)行完以后才能執(zhí)行tp2 ; ( e ) tp是一個帶有空時間約束的狀態(tài)語句,tp僅在當(dāng)前這一個時間點上執(zhí)行結(jié)束;(e )tp是一個帶有空時間約束的狀態(tài)語句,tp僅在當(dāng)前這一個時間點上執(zhí)行結(jié)束;投影語句(tPl,. . .,tpjprj tp表示Ap1^Ptp是并行執(zhí)行的,每一個模塊可以定義自己的區(qū)間長度或執(zhí)行時間,但是tp只在tPl ;. ;tpm執(zhí)行區(qū)間的每個由tPi(l ^m)執(zhí)行區(qū)間劃分的子區(qū)間的終止?fàn)顟B(tài)上執(zhí)行,tp和tp1;...,〖口111可以不同時結(jié)束;if b then tp else tq是條件語句,條件b為真則執(zhí)行tp,否則執(zhí)行tp ;循環(huán)語句while b do tp表示tp反復(fù)執(zhí)行,直到b為假;循環(huán)語句for n times do tp指tp循環(huán)執(zhí)行n次;循環(huán)repeat tp untilb與while循環(huán)類似,重復(fù)執(zhí)行tp直到b為真,只是在b的初始值為真時仍然會執(zhí)行一次tp。
5.根據(jù)權(quán)利要求4所述的TMSVL實時系統(tǒng)建模方法,其特征在于若p是一條TMSVL語句,用TMSVL的基本語句描述實時系統(tǒng)中的常用概念延時、超時和中斷,具體形式如下 5.I、用TMSVL對延時描述如下 def{t”tm)p = t = Ts 八 keep{pTs = 0 八((T,T + t^pv.-.viTJ + tt)pv...v(T,T+tm)p) It1, tjp表示p從當(dāng)前狀態(tài)開始執(zhí)行,經(jīng)過h時間后結(jié)束,最多可延時到tm時間后結(jié)束,即語句是在系統(tǒng)時間T+^到T+tm之間狀態(tài)上結(jié)束,包括T+^和T+tm,T+h是從時間為T+t:的狀態(tài)開始第i個狀態(tài)的時間(I≤i≤m);5.2、用TMSVL對超時描述如下
6.根據(jù)權(quán)利要求5所述的TMSVL實時系統(tǒng)建模方法,其特征在于得到系統(tǒng)的TMSVL模型后,用TMSVL的操作語義對構(gòu)成模型的語句化簡;通過反復(fù)的狀態(tài)化簡和區(qū)間化簡,系統(tǒng)的TMSVL形式化模型被化簡成一系列狀態(tài)序列;其操作語義包括如下兩部分 A、語句的狀態(tài)化簡對于基本語句中的簡單TMSVL語句包括p、(e )tp和(tptj tp,不帶時間約束的語句,用MSVL的化簡規(guī)則對其化簡,帶有時間約束的語句先化簡時間約束,再化簡時間約束下的語句,如此遞歸地進行;對于基本語句中其他由操作符連接得到的復(fù)合TMSVL語句,因操作符的定義與MSVL中的定義相同,只是構(gòu)成的子語句為TMSVL語句,其化簡過程與MSVL相同,對于其子語句的化簡采用TMSVL簡單語句的化簡方法進行;對于用基本語句定義的延時、超時和中斷,先將其化為基本語句的表達形式,再用基本語句的狀態(tài)化簡方法對其化簡; B、語句的區(qū)間化簡狀態(tài)化簡結(jié)束后,狀態(tài)命題部分被保存,語句的剩余部分有兩種情況(〇T,t)pf或(e ) empty的形式,前一種表示需要在下一狀態(tài)繼續(xù)化簡語句,后一種表示模型被化簡為空,在下一狀態(tài)沒有需要化簡的語句,對這兩種情況,采用區(qū)間化簡使語句進入下一狀態(tài),區(qū)間化簡包括兩條規(guī)則TRl ((〇 T, t)p, O h,Si, i) — ((T, t)p, o j, si+1, i+1)
7.根據(jù)權(quán)利要求6所述的TMSVL實時系統(tǒng)建模方法,其特征在于步驟A中帶有時間約束的簡單語句(e )p和(tp t2)p,其狀態(tài)化簡步驟包括步驟Al :化簡語句的時間約束,若為(e)形式則轉(zhuǎn)向步驟A4,若為U1, t2)則轉(zhuǎn)向步驟A2 ; 步驟A2 :化簡h,如果h小于當(dāng)前時間,為不合法時間約束,轉(zhuǎn)向步驟A6 ;如果h大于當(dāng)前時間,則為本條語句添加時間約束(〇T,t2),轉(zhuǎn)向步驟A5 ;如果h為T,或其值等于當(dāng)前時間T,則時間約束被替換為(T,t2),轉(zhuǎn)向步驟A3 ;如果h等于〇T,轉(zhuǎn)向步驟A5 ; 步驟A3 :化簡t2,如果t2小于h,則為不合法時間約束,返回化簡失敗,轉(zhuǎn)向步驟A6 ;如果t2等于當(dāng)前時間,時間約束被化簡為(e ),轉(zhuǎn)向步驟A4 ;如果t2大于當(dāng)前時間,或為end (T)的形式,時間約束化簡結(jié)束,轉(zhuǎn)向步驟A4 ; 步驟A4 :對p進行狀態(tài)化簡,若返回的形式為(e ) empty或empty,且時間約束的形式為O)或t2為end (T),語句被化簡為(e ) empty,轉(zhuǎn)向步驟A5,若時間約束為(T,t2)且t2> T則化簡失敗,轉(zhuǎn)向步驟A6 ;若返回的形式為w八(〇T, t2)pf w AO Pf,且時間約束的形式為(T,t2),則保存w在當(dāng)前狀態(tài),語句被化簡為(〇T,t2)pf的形式,轉(zhuǎn)向步驟A5,若 時間約束的形式為(e ),則轉(zhuǎn)向步驟A6 ;gp化簡失敗,轉(zhuǎn)向步驟A6 ; 步驟A5 :本次狀態(tài)化簡成功,返回語句化簡后的形式; 步驟A6 :本次狀態(tài)化簡失敗。
全文摘要
本發(fā)明公開了一種TMSVL實時系統(tǒng)建模方法,屬形式化建模與驗證領(lǐng)域,本發(fā)明通過擴展MSVL,得到的TMSVL可在同一邏輯框架下對實時系統(tǒng)進行建模和驗證。TMSVL實時系統(tǒng)建模方法的步驟包括初始化系統(tǒng)時鐘、建立系統(tǒng)的TMSVL模型和對TMSVL模型的化簡。本發(fā)明用時間變量顯式定義系統(tǒng)時鐘,并依此定義了TMSVL基本語句和實時系統(tǒng)中常用的延時、超時和中斷的概念,給出了TMSVL操作語義。用TMSVL語句描述實時系統(tǒng)后,操作語義通過對TMSVL語句的化簡構(gòu)造出系統(tǒng)的實際模型。本發(fā)明由MSVL擴展而來,具有MSVL的全部優(yōu)點且能夠表示相對和絕對時間約束,適應(yīng)于實時系統(tǒng)的建模、仿真與驗證。
文檔編號G06F17/50GK102708228SQ201210118810
公開日2012年10月3日 申請日期2012年4月20日 優(yōu)先權(quán)日2012年4月20日
發(fā)明者段振華, 王小兵, 田聰, 韓萌 申請人:西安電子科技大學(xué)