專利名稱:一種基于微分代數(shù)時(shí)序動(dòng)態(tài)邏輯的cps屬性驗(yàn)證方法
技術(shù)領(lǐng)域:
本發(fā)明是一種基于微分代數(shù)時(shí)序動(dòng)態(tài)邏輯(DATL)的信息物理融合系統(tǒng)(CPS)屬性驗(yàn)證方法,主要用于對CPS進(jìn)行建模、對CPS屬性進(jìn)行規(guī)約和驗(yàn)證。
背景技術(shù):
CPS是ー種集成計(jì)算和物理過程的系統(tǒng)。系統(tǒng)利用嵌入式計(jì)算機(jī)和網(wǎng)絡(luò)對物理過程進(jìn)行監(jiān)控,并且?guī)в蟹答伃h(huán),物理過程影響計(jì)算,計(jì)算影響物理過程。國內(nèi)外的研究人員提出了ー些方法來驗(yàn)證CPS屬性,這些方法主要分為兩類模型檢驗(yàn)和定理證明。因?yàn)镃PS不適合進(jìn)行等價(jià)的有限狀態(tài)抽象,并且由于數(shù)字近似的局限性,模型檢驗(yàn)方法對于CPS而言更加適合于驗(yàn)偽而不是驗(yàn)真。而對于大多數(shù)定理證明方法,也存在著很多問題。比如模態(tài)μ演算,這種演算,對ー個(gè)特殊的系統(tǒng),只能得到有限的信息,如在命題動(dòng)態(tài)邏輯中,使用未 知效果的抽象活動(dòng)a,b,c來顯式地描述系統(tǒng)的行為。然而,由于活動(dòng)效果的未知性,該方法無法表不一些典型的CPS,如列車控制系統(tǒng)或者飛機(jī)避撞系統(tǒng)的動(dòng)態(tài)性。微分時(shí)序動(dòng)態(tài)邏輯(dTL)是ー種用于規(guī)約和驗(yàn)證CPS屬性的有效方法。它使用混合程序?qū)PS進(jìn)行建摸,用dTL公式對CPS屬性進(jìn)行規(guī)約,然后用dTL演算驗(yàn)證CPS屬性。dTL在對CPS屬性進(jìn)行規(guī)約和驗(yàn)證時(shí),考慮了 CPS的時(shí)序行為,也就是說,它考慮系統(tǒng)的混合跡而不僅僅是最終狀態(tài)。作為dTL操作模型的混合程序?qū)⑾到y(tǒng)的離散變遷和連續(xù)變遷組合成結(jié)構(gòu)化控制程序,這些程序使用Kleene代數(shù)正規(guī)表達(dá)式風(fēng)格的操作符?;旌铣绦蛑械奈⒎址匠瘫仨氃诙囗?xiàng)式算術(shù)內(nèi)是可解的這ー特征使得混合程序表達(dá)能力有限,而用來對CPS連續(xù)動(dòng)態(tài)進(jìn)行建模的微分方程幾乎都是非平凡的,這也就導(dǎo)致混合程序不適合對CPS進(jìn)行建摸。因而dTL能夠處理的CPS的范圍僅僅局限于對應(yīng)的微分方程在多項(xiàng)式內(nèi)是可解的這類CPS系統(tǒng),
發(fā)明內(nèi)容
本發(fā)明使用微分代數(shù)程序作為操作模型,將dTL擴(kuò)展至DATL。微分代數(shù)程序充分利用了微分不變量來避免非平凡微分方程的求解問題,所以DATL能夠?qū)Ω訌?fù)雜的CPS屬性進(jìn)行規(guī)約和驗(yàn)證。技術(shù)問題本發(fā)明的目的是提供一種基于DATL的CPS屬性驗(yàn)證方法,使用此方法,可以對復(fù)雜的CPS屬性進(jìn)行驗(yàn)證,從理論上嚴(yán)格證明CPS的某個(gè)屬性是否滿足。與微分時(shí)序動(dòng)態(tài)邏輯(dTL)相比,本發(fā)明能夠處理更加復(fù)雜的CPS屬性驗(yàn)證問題,如dTL要求其操作模型里的微分方程必須都是多項(xiàng)式內(nèi)可解的,而DATL利用了微分不變量巧妙地避免了求解微分方程的問題,使得DATL可以不通過求解微分方程而能夠證明屬性公式的正確性。技術(shù)方案本發(fā)明提出了一種基于DATL的CPS屬性驗(yàn)證方法,主要用于對CPS進(jìn)行系統(tǒng)建模、屬性規(guī)約和屬性驗(yàn)證。本發(fā)明提出的基于DATL的CPS屬性驗(yàn)證方法具體步驟如下步驟I).分析待驗(yàn)證的CPS,用微分代數(shù)程序?qū)ζ浣玫较到y(tǒng)的操作模型α,
步驟2).分析要驗(yàn)證的屬性,用DATL對其規(guī)約,規(guī)約成DATL公式的形式,形如Ψ — [ α ] □ Φ,其中Ψ表示前提條件,[α ]是操作模型α的模態(tài),表示對于α的所有執(zhí)行軌跡的最終狀態(tài),□是時(shí)序操作符,表示任意時(shí)刻或任意狀態(tài),[α] □表示對于α的所有執(zhí)行軌跡的任意ー個(gè)中間狀態(tài),而Φ表示要滿足的某種約束。整個(gè)式子Ψ — [α ] □ φ表示如果初始時(shí)刻Ψ成立,那么對于α的所有執(zhí)行軌跡上的任意ー個(gè)中間狀態(tài),約束Φ都是成立的,步驟3).使用DATL的相繼式演算,結(jié)合DATL中的演算規(guī)則,對步驟2)中得到的DATL公式Ψ — [α ] □ Φ進(jìn)行推理驗(yàn)證,推理過程是毎次使用一個(gè)規(guī)則,推導(dǎo)出ー個(gè)公式,然后,再次使用ー個(gè)規(guī)則推導(dǎo)出另ー個(gè)公式,如此進(jìn)行,步驟4).如果步驟3)中的推理最后推導(dǎo)出公理ax或者以*結(jié)束,則推理過程結(jié)束,要驗(yàn)證的屬性滿足,驗(yàn)證完畢,
步驟5).如果步驟3)中的推理最后推導(dǎo)不出公理ax或者不能以*結(jié)束,那么本方法不能得出屬性是否滿足的結(jié)論,步驟6).結(jié)束驗(yàn)證。有益效果通過對ー個(gè)具體的CPS實(shí)例-飛機(jī)避撞系統(tǒng)的安全性進(jìn)行驗(yàn)證,表明本發(fā)明能夠驗(yàn)證dTL所不能驗(yàn)證的CPS屬性,而且相比于除dTL以外的其他方法,DATL還考慮了 CPS的時(shí)序行為,驗(yàn)證了 CPS的時(shí)序?qū)傩浴?br>
圖I是使用微分代數(shù)時(shí)序動(dòng)態(tài)邏輯驗(yàn)證CPS的總流程圖。圖2是具體實(shí)施方式
中步驟I)示例所涉及到的列車控制系統(tǒng)圖。圖3是DATL的所有推理規(guī)則示意圖,其中規(guī)則[J] ロ、<J> 0>[D] ロ、<D> 是本發(fā)明的核心。圖a是飛機(jī)避撞系統(tǒng)示意圖。圖b是相繼式演算過程I示意圖。圖c是相繼式演算過程2示意圖。圖d是相繼式演算過程3不意圖。
具體實(shí)施例方式下面結(jié)合附圖與具體實(shí)施方式
對本發(fā)明進(jìn)ー步說明如下步驟I).分析要驗(yàn)證的CPS系統(tǒng),使用微分代數(shù)程序?qū)ο到y(tǒng)進(jìn)行建摸,得到系統(tǒng)的操作模型α。其中,微分代數(shù)程序定義如下微分代數(shù)程序(DAP)是如下遞歸定義的最小集合6)如果J是DJ約束,那么J是DAP ;7)如果D是DA約束,那么D是DAP ;8)如果 α,β e DAP,那么(α U β ) e DAP ;9)如果 α,β e DAP,那么(α ;β) e DAP ;10)如果 a e DAP,那么(α *) e DAP。DJ約束是如下遞歸定義的最小集合
7) DJ約束的原子公式是DJ約束;8)若A是DJ約束,則池是DJ約束;9)若 A,B 是 DJ 約束,則(Α Λ B),(A V B),(A — B),(A^ 5)也是 DJ 約束;
10)若A是DJ約束,則Vd,ョd也是DJ約束;11)只有有限次地應(yīng)用1)-4)構(gòu)成的符號串才是DJ約束;12)規(guī)定DJ約束中的賦值語句X := Θ不會(huì)出現(xiàn)在Vx,ョX的轄域內(nèi)。DJ約束的原子公式是如下定義的集合3)賦值語句X:= Θ是DJ約束的原子公式,其中X = (X1,χ2, *··,χη) ,X1, χ2, ···,Xn分別是個(gè)體變項(xiàng)符號,θ = (θ17 θ2,…,θη),θ17 θ2,…,θ 分別是DJ約束的項(xiàng);4)設(shè)R(xi,x2,…,xn)是DJ約束的n元謂詞符號,t1;t2,…,tniDJ約束的η個(gè)項(xiàng),則稱R(t1;t2,…,tn)是DJ約束的原子公式。DJ約束的項(xiàng)是如下遞歸定義的最小集合4)個(gè)體常項(xiàng)符號、個(gè)體變項(xiàng)符號是DJ約束的項(xiàng);5)若 Κ ,··ゾ )是η元函數(shù)符號,t1; t2,…,、是η個(gè)DJ約束的項(xiàng),則沖丨,し…,O是DJ約束的項(xiàng);6)所有的DJ約束的項(xiàng)都是有限次使用I),2)得到的。DA約束的定義DA約束是定義在Σ U Σ'上的一階邏輯公式,其中Σ為狀態(tài)變量、函數(shù)和謂詞關(guān)系的集合,Σ'為Σ中狀態(tài)變量X的導(dǎo)數(shù)X'的集合,且Σ'中的符號X'不能出現(xiàn)在Vx,ョX的轄域內(nèi),DA約束中的狀態(tài)變量X有可能改變當(dāng)且僅當(dāng)DA約束中出現(xiàn)f。假設(shè)有ー個(gè)CPS-列車控制系統(tǒng),該系統(tǒng)用于實(shí)現(xiàn)任意兩輛列車之間不會(huì)發(fā)生碰撞,具體策略是系統(tǒng)中有很多分布式控制中心RBC,每個(gè)RBC負(fù)責(zé)與該區(qū)域內(nèi)的列車交互,并分配給該區(qū)域內(nèi)每輛列車ー個(gè)移動(dòng)授權(quán)MA,即一段安全行駛距離,每輛列車必須時(shí)刻遵守MA,即必須時(shí)刻保持在安全行駛距離內(nèi)。初始時(shí),列車處于自由行駛階段-far階段,當(dāng)列車行駛到某點(diǎn)ST吋,列車向RBC請求一段新的MA,如果RBC同意了列車的MA請求,那么列車就進(jìn)入下ー個(gè)MA階段,而如果RBC拒絕了列車的MA請求,那么列車最遲在前方點(diǎn)SB處開始剎車。假設(shè)列車行駛的距離為z,列車對應(yīng)的MA距離為m,點(diǎn)SB到MA終點(diǎn)的距離為S,那么本發(fā)明使用微分代數(shù)程序?qū)ζ浣?,可以得到操作模型?α ξ (ctrl ;drive)*,其中 ctrl = ( m_z ^ s ;a = _b) U ( m_z ^ s ;a =A), drive = τ = 0 ; (zf = v, vf = a, τ 1 = l&v > 0 Λ τ < ε )。上述模型表示先執(zhí)行ctrl,再執(zhí)行drive,然后再執(zhí)行ctrl,然后再drive,如此循環(huán)進(jìn)行。其中,ctrl表示如果m-z彡S,則將加速度a置為-b,此時(shí)列車以加速度-b減速,如果ε,則將加速度置為A,此時(shí)列車以加速度A加速;drive表示先置時(shí)間τ為0,然后列車再遵循微分方程Z' = V, V1 = a, τ ' = l&v ^ O Λ τ彡ε表示的動(dòng)態(tài)而行駛,ε表示列車此階段最多行駛ε個(gè)時(shí)間単位。步驟2).使用DATL對要驗(yàn)證的CPS屬性進(jìn)行規(guī)約,得到DATL公式。DATL公式的形式形如Ψ — [α] □ Φ,其中Ψ表示前提條件,[α]是操作模型α的模態(tài),表示對于α的所有執(zhí)行軌跡的最終狀態(tài),□是時(shí)序操作符,表示任意時(shí)刻或任意狀態(tài),[α] □表示對于α的所有執(zhí)行軌跡的任意ー個(gè)中間狀態(tài),而Φ表示要滿足的某種約束。整個(gè)式子Ψ — [α] □ Φ表示如果初始時(shí)刻Ψ成立,那么對于α的所有執(zhí)行軌跡上的任意ー個(gè)中間狀態(tài),約束Φ都是成立的。步驟I)中,示例通過對列車控制系 統(tǒng)進(jìn)行分析,使用DATL對系統(tǒng)建模,得到了操作模型α,在此基礎(chǔ)上,如果要驗(yàn)證列車控制系統(tǒng)的安全性,即任意兩輛列車都不會(huì)發(fā)生碰撞,通過分析列車控制系統(tǒng),可知,如果每輛列車都遵循“任意時(shí)刻都行駛在它自己的移動(dòng)授權(quán)MA里”,那么就可以得出任意兩輛列車都不會(huì)發(fā)生碰撞。因此,可以用DATL將要驗(yàn)證的列車控制系統(tǒng)安全性規(guī)約如下ψ — [ α ] □ ζ < m即ψ — [ (ctrl ;drive) *] Dz^m步驟3).使用DATL的相繼式演算,結(jié)合DATL中的演算規(guī)則,對步驟2)中得到的DATL公式Ψ — [α ] □ Φ進(jìn)行推理驗(yàn)證,推理過程是毎次使用一個(gè)規(guī)則,推導(dǎo)出ー個(gè)公式,然后,再次使用一個(gè)規(guī)則推導(dǎo)出另ー個(gè)公式,如此進(jìn)行,直到最后推導(dǎo)出公理ax,這時(shí)整個(gè)推理的逆過程就是公式的證明過程。DATL的所有推理規(guī)則在圖3中。在推理規(guī)則的基礎(chǔ)上,DATL有如下結(jié)論
Φ、1' /, ··· φ ψ①如果規(guī)則形如Ψχ ノ” '",則以下的推理規(guī)則也是成立的
Ψοニ' '1-、も、てね□〈 ノ〉\ひ,〈Ι)Ψ",其中Γ,Λ為任意的公式,J為離散
跳躍集。②如果規(guī)則形如j,則以下的推理規(guī)則也是成立的
TQ
Yr,</U DAr π; Γ;7. ν;こπ.,其中F,Λ為任意的公式,J為離散跳躍集。
Γ □〈/〉也,Δ rw。DA步驟2)中的示例給出了列車控制系統(tǒng)安全屬性的DATL公式表示形式,要驗(yàn)證列車控制系統(tǒng)安全屬性,只需驗(yàn)證規(guī)約得到的DATL公式。驗(yàn)證如下要驗(yàn)證Ψ — [ (ctrl ;drive)*] □ z < m,如果本發(fā)明能驗(yàn)證①Ψ — Φ ,②Φ — [(ctrl ;drive)*] □ Φ,③Φ — z<m,其中Φ為不變量,表示在系統(tǒng)的運(yùn)行過程
中一直都成立的變量。令不變量V2彡2b (m-z) Λ b > O Λ A彡0,令初試條件Ψ = Φ = V2 ^ 2b (m-z) Ab>0AA>0,則①成立;因?yàn)?ν2 > O,故 v2 < 2b (m-z) Λ b>0ΛΑ彡O — zi^m也成立,則③成立;下面使用DATL的相繼式演算來驗(yàn)證②,如下
相繼式演算過程I
權(quán)利要求
1.一種基于微分代數(shù)時(shí)序動(dòng)態(tài)邏輯的CPS屬性驗(yàn)證方法,其特征在于,用微分代數(shù)時(shí)序動(dòng)態(tài)邏輯DATL對信息物理融合系統(tǒng)CPS進(jìn)行系統(tǒng)建模、屬性規(guī)約和屬性驗(yàn)證,包括如下步驟 步驟I)分析待驗(yàn)證的CPS,用微分代數(shù)程序?qū)ζ浣?,得到系統(tǒng)的操作模型α ; 步驟2)分析要驗(yàn)證的CPS屬性,用DATL對其規(guī)約,規(guī)約成DATL公式的形式;該形式是形如Ψ — [ α ] □ φ ,其中 Ψ表示前提條件;[α]是操作模型α的模態(tài),表示對于α的所有執(zhí)行軌跡的最終狀態(tài);□是時(shí)序操作符,表示任意時(shí)刻或任意狀態(tài);[α] □表示對于α的所有執(zhí)行軌跡的任意一個(gè)中間狀態(tài);Φ表示要滿足的某種約束;整個(gè)式子Ψ — [ α ] □ φ表示如果初始時(shí)刻Ψ成立,那么對于α的所有執(zhí)行軌跡上的任意一個(gè)中間狀態(tài),約束Φ都是成立的; 步驟3)使用DATL的相繼式演算,結(jié)合DATL中的演算規(guī)則,對步驟2)中得到的DATL公式Ψ — [α] □ Φ進(jìn)行推理驗(yàn)證,推理過程是每次使用一個(gè)演算規(guī)則,推導(dǎo)出一個(gè)公式,然后,再次使用一個(gè)演算規(guī)則推導(dǎo)出另一個(gè)公式,如此進(jìn)行; 步驟4)如果步驟3)中的推理最后推導(dǎo)出公理ax,則推理過程結(jié)束,要驗(yàn)證的屬性滿足,驗(yàn)證完畢; 步驟5)如果步驟3)中的推理最后推導(dǎo)不出公理ax,那么本基于微分代數(shù)時(shí)序動(dòng)態(tài)邏輯的CPS屬性驗(yàn)證方法不能得出屬性是否滿足的結(jié)論, 步驟6)結(jié)束驗(yàn)證。
2.根據(jù)權(quán)利要求I所述方法,其特征在于對于DATL,所述步驟2)中對CPS屬性的規(guī)約,在規(guī)約時(shí)考慮CPS的時(shí)序行為,時(shí)序行為在DATL公式中用U或 表示,其中 與U對應(yīng),表示某一時(shí)刻或某一狀態(tài)。
3.根據(jù)權(quán)利要求I所述方法,其特征在于對于DATL,所述步驟3)中的相繼式演算,該演算的特點(diǎn)是從要證明的公式出發(fā),使用演算規(guī)則逐步推理,直到推導(dǎo)出公理ax,而整個(gè)推理的逆過程就是該公式的證明過程。
4.根據(jù)權(quán)利要求I所述方法,其特征在于所述步驟I)中,微分代數(shù)程序定義如下 a、微分代數(shù)程序DAP是如下遞歸定義的最小集合 1)如果J是DJ約束,那么J是DAP; 2)如果D是DA約束,那么D是DAP; 3)如果α,β e DAP,那么(α U β ) e DAP ; 4)如果α,β e DAP,那么(α ;β) e DAP ; 5)如果a e DAP,那么(α *) e DAP ; b、DJ約束是如下遞歸定義的最小集合 DDJ約束的原子公式是DJ約束; 2)若A是DJ約束,則(一池是DJ約束; 3)若A,B 是 DJ 約束,則(Α Λ B),(A V B),(A — B),(j <·> 5)也是 DJ 約束; 4)若A是DJ約束,則也是DJ約束; 5)只有有限次地應(yīng)用1)-4)構(gòu)成的符號串才是DJ約束; 6)規(guī)定DJ約束中的賦值語句X:= Θ不會(huì)出現(xiàn)在Vx,3x的轄域內(nèi); c、DJ約束的原子公式是如下定義的集合1)賦值語句X:=θ是DJ約束的原子公式,其中X = (X1, X2, ···, Xn), X1, X2, ···, Xn分別是個(gè)體變項(xiàng)符號,Θ = (θ17 θ2,…,θη),θ17 θ2,…,θ η分別是DJ約束的項(xiàng); 2)m R(χ1; χ2, -,xn)是DJ約束的η元謂詞符號,t1;t2,…,tn是DJ約束的η個(gè)項(xiàng),則稱R(t1; t2,…,tn)是DJ約束的原子公式; d、DJ約束的項(xiàng)是如下遞歸定義的最小集合 1)個(gè)體常項(xiàng)符號、個(gè)體變項(xiàng)符號是DJ約束的項(xiàng); 2)若爐(Χ,χ2,···,χ )是η元函數(shù)符號,t1;t2,…,、是11個(gè)DJ約束的項(xiàng),則 ,…,, )是DJ約束的項(xiàng); 3)所有的DJ約束的項(xiàng)都是有限次使用1),2)得到的。
e、DA約束的定義 DA約束是定義在Σ U Σ,上的一階邏輯公式,其中Σ為狀態(tài)變量、函數(shù)和謂詞關(guān)系的集合,Σ'為Σ中狀態(tài)變量X的導(dǎo)數(shù)X'的集合,且Σ'中的符號X'不能出現(xiàn)在Vx,的轄域內(nèi),DA約束中的狀態(tài)變量X有可能改變當(dāng)且僅當(dāng)DA約束中出現(xiàn)X'。
定義8 (DAP的跡語義).DAPa的跡語義τ (α)是α的所有可能的跡的集合,遞歸地定義如下 ·1.(v,d))er(/)iff(v,i5)4 /,其中J表示DJ約束,根據(jù)J的不同結(jié)構(gòu),又可分為以下幾種情況1)(ν, ) χ=θ iff val (ω,χ) = val (v, Θ ) · 2)(ν, ) 4 O1 > O1 iff val (v, Q1) ^ val (ν, Θ 2) ·3)(ν, ) 4 φ/\ψ{ν, ) 4 φ^\\{γ, ) 4 γ都成立. 4)(ν, ) ^ φνψ (ν, ) 盧成立或者( , ) ‘ γ成立.5)(ν, ) ‘ -ηφ iff (ν, ) ‘ 0不成立· 6)(ν, )' φ^ψ{ν, ) ‘ 0 不成立或者( , ) ‘ V 成立· 7)(ν, ) /χφ iff對于所有可能的vx,都有(i,A) ^成立,其中vx表不除了 χ的取值,其余狀態(tài)變量的取值與ν中的狀態(tài)變量的取值相同. 8)(ν, ) ‘ 3χφ iff對于某個(gè)Vx,有(之, ) 沴成立· ·2.r(D) = {(0): 0是一個(gè)微分增強(qiáng)狀態(tài)流,對于任意的ζ e
(持續(xù)時(shí)間r彡0),有‘ D ,并且對于所有不會(huì)被0改變的變量2,有1^/(列()4) = '^/(0(0),2),這里0表示DA約束}.·3.τ ( α U β ) = τ ( α ) U τ (β ). ·4.τ(α;β) = {σοζσ e τ(α),ζ e τ(β),當(dāng) σοζ 被定義了 },其中,σ=(σ Cl,σ I,σ 2,· · ·)和 ζ = ( ζ (I,ζ I,ζ 2 · · ·)的組合定乂為
全文摘要
本發(fā)明提出了一種基于微分代數(shù)時(shí)序動(dòng)態(tài)邏輯的CPS屬性驗(yàn)證方法,用于對CPS進(jìn)行系統(tǒng)建模、屬性規(guī)約和屬性驗(yàn)證。本發(fā)明涉及到的關(guān)鍵操作包括(1)在對CPS詳細(xì)分析的基礎(chǔ)上,使用微分代數(shù)程序?qū)PS進(jìn)行系統(tǒng)建模,得到系統(tǒng)的操作模型;(2)使用DATL對要驗(yàn)證的CPS屬性進(jìn)行規(guī)約,得到DATL公式,此規(guī)約過程考慮了CPS的時(shí)序行為;(3)使用DATL中的相繼式演算對前面得到的DATL公式進(jìn)行驗(yàn)證,整個(gè)演算過程是通過不斷地使用DATL規(guī)則來進(jìn)行推理,最后得出DATL公式成立,也就是CPS屬性滿足。
文檔編號G06F17/50GK102722593SQ20111033230
公開日2012年10月10日 申請日期2011年10月28日 優(yōu)先權(quán)日2011年10月28日
發(fā)明者朱敏, 李加凱, 李必信, 翟小祥, 陳喬喬 申請人:東南大學(xué)