本發(fā)明涉及實(shí)時(shí)協(xié)議的形式化分析與驗(yàn)證領(lǐng)域,尤其涉及一種基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)。
背景技術(shù):
為了保證軟硬件的安全性、可靠性,形式化分析與驗(yàn)證技術(shù)在一些關(guān)鍵領(lǐng)域逐漸被廣泛應(yīng)用。例如在過去,形式化方法已廣泛應(yīng)用于安全性、容錯(cuò)性、基本一致性、面向?qū)ο缶幊?、編譯正確性、協(xié)議開發(fā)、硬件檢測(cè)、計(jì)算機(jī)輔助設(shè)計(jì)和人類安全?;谛问交椒òl(fā)現(xiàn)的一些安全漏洞,避免了許多工程項(xiàng)目中的巨大損失。
隨著實(shí)時(shí)協(xié)議在工業(yè)、民用、軍用領(lǐng)域的廣泛應(yīng)用,協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)也面臨著安全性、實(shí)時(shí)性等多方面的挑戰(zhàn)。為了保證協(xié)議的安全性、健壯性、協(xié)議符合性等特征,形式化分析與驗(yàn)證技術(shù)逐漸被應(yīng)用于一些協(xié)議的驗(yàn)證。目前缺乏一種針對(duì)實(shí)時(shí)協(xié)議分析及驗(yàn)證的系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
一種基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng),包括:數(shù)學(xué)建模模塊,用于利用進(jìn)程代數(shù)建模,對(duì)實(shí)時(shí)協(xié)議進(jìn)行形式化表示,建立實(shí)時(shí)協(xié)議模型,并對(duì)協(xié)議需求進(jìn)行形式化表示;代碼生成模塊,根據(jù)所述實(shí)時(shí)協(xié)議模型生成高級(jí)語(yǔ)言代碼;仿真驗(yàn)證模塊,根據(jù)進(jìn)程代數(shù)描述語(yǔ)言的語(yǔ)義對(duì)所述實(shí)時(shí)協(xié)議模型進(jìn)行仿真執(zhí)行,并根據(jù)數(shù)學(xué)建模模塊所輸出的實(shí)時(shí)協(xié)議的形式化表示和協(xié)議需求的形式化表示,對(duì)所述實(shí)時(shí)協(xié)議模型所滿足的需求性質(zhì)進(jìn)行分析與驗(yàn)證;驗(yàn)證結(jié)果處理模塊,對(duì)仿真驗(yàn)證模塊所輸出的分析與驗(yàn)證結(jié)果進(jìn)行統(tǒng)計(jì)及分類,并提供協(xié)議性質(zhì)的評(píng)估。
優(yōu)選地,所述數(shù)學(xué)建模模塊中,對(duì)實(shí)時(shí)協(xié)議進(jìn)行形式化表示包括利用進(jìn)程代數(shù)對(duì)協(xié)議描述的數(shù)學(xué)表達(dá)。
優(yōu)選地,所述數(shù)學(xué)表達(dá)包括對(duì)協(xié)議運(yùn)行過程、協(xié)議算法進(jìn)行表達(dá)、對(duì)實(shí)時(shí)協(xié)議的實(shí)時(shí)性、確定性、并發(fā)性、周期性及高精度同步進(jìn)行表達(dá)。
優(yōu)選地,所述數(shù)學(xué)建模模塊中,對(duì)協(xié)議需求進(jìn)行形式化表示包括利用時(shí)態(tài)邏輯、計(jì)算樹邏輯、霍爾邏輯、分離邏輯對(duì)實(shí)時(shí)協(xié)議的需求進(jìn)行準(zhǔn)確的形式化表示。
優(yōu)選地,所述代碼生成模塊包括根據(jù)實(shí)時(shí)協(xié)議模型語(yǔ)言的語(yǔ)義生成高級(jí)語(yǔ)言代碼。
優(yōu)選地,所述仿真驗(yàn)證模塊包括模型仿真器模塊,模型檢查算法庫(kù)模塊,及模型性質(zhì)的驗(yàn)證模塊。
優(yōu)選地,所述模型仿真器模塊支持實(shí)時(shí)協(xié)議模型的仿真執(zhí)行。
優(yōu)選地,所述模型檢查算法庫(kù)模塊包括檢查不同類型模型所適用的算法,并且支持用戶對(duì)所述模型檢查算法庫(kù)模塊中模型檢查算法庫(kù)的擴(kuò)展。
優(yōu)選地,所述模型性質(zhì)的驗(yàn)證支持根據(jù)檢查模型的類別對(duì)算法進(jìn)行智能選擇,并根據(jù)算法及性質(zhì)對(duì)模型進(jìn)行驗(yàn)證。
優(yōu)選地,所述驗(yàn)證結(jié)果處理模塊包括對(duì)所述實(shí)時(shí)協(xié)議模型所滿足的需求性質(zhì)的分析與驗(yàn)證結(jié)果進(jìn)行統(tǒng)計(jì)與分類,并為不可滿足的協(xié)議需求提供相應(yīng)的協(xié)議執(zhí)行過程。
本發(fā)明所述系統(tǒng)基于進(jìn)程代數(shù)對(duì)實(shí)時(shí)協(xié)議進(jìn)行形式化建模,支持復(fù)雜的并發(fā)通信協(xié)議的準(zhǔn)確表達(dá),實(shí)現(xiàn)對(duì)實(shí)時(shí)協(xié)議中的時(shí)間特性的描述,有效刻畫實(shí)時(shí)協(xié)議的實(shí)時(shí)性、并發(fā)性及周期性等特征;代碼生成模塊便于開發(fā)人員在已驗(yàn)證模型的基礎(chǔ)上開發(fā)協(xié)議;采用模型檢查的方式,支持驗(yàn)證模型時(shí)模型檢查算法的智能自動(dòng)化選擇,簡(jiǎn)化驗(yàn)證操作。
本發(fā)明的有益效果:
1.數(shù)學(xué)建模模塊支持使用多種邏輯對(duì)協(xié)議需求的刻畫,支持多視角地展現(xiàn)協(xié)議行為特征;
2.模型檢查算法庫(kù)的自動(dòng)化選擇可以簡(jiǎn)化驗(yàn)證操作,而算法庫(kù)的可擴(kuò)展性允許用戶定制相關(guān)協(xié)議的模型檢查策略,對(duì)實(shí)時(shí)協(xié)議的驗(yàn)證更加具有針對(duì)性;
3.對(duì)驗(yàn)證結(jié)果的統(tǒng)計(jì)與分類,方便用戶獲得更加直觀的實(shí)時(shí)協(xié)議測(cè)評(píng)結(jié)果。
該系統(tǒng)針對(duì)實(shí)時(shí)協(xié)議的特性及不同特征的模型,定制可靠的模型檢查算法,給出實(shí)時(shí)協(xié)議的測(cè)評(píng)結(jié)果,便于用戶根據(jù)結(jié)果對(duì)協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行優(yōu)化。
附圖說明
圖1是本發(fā)明基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本發(fā)明的示例性實(shí)施方式。雖然附圖中顯示了本發(fā)明的示例性實(shí)施方式,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了能夠更透徹地理解本公開,并且能夠?qū)⒈景l(fā)明的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
如圖1所示,一種基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)包括:數(shù)學(xué)建模模塊,利用進(jìn)程代數(shù)對(duì)協(xié)議進(jìn)行形式化表示,準(zhǔn)確表達(dá)協(xié)議內(nèi)容,并使用時(shí)態(tài)邏輯、計(jì)算樹邏輯、霍爾邏輯、分離邏輯對(duì)實(shí)時(shí)協(xié)議需求進(jìn)行刻畫;代碼生成模塊用于將協(xié)議模型轉(zhuǎn)化為高級(jí)語(yǔ)言代碼;仿真驗(yàn)證模塊,根據(jù)進(jìn)程代數(shù)語(yǔ)義及相應(yīng)的實(shí)時(shí)協(xié)議模型構(gòu)建協(xié)議運(yùn)行時(shí)的仿真,根據(jù)模型檢查算法對(duì)協(xié)議需求進(jìn)行分析與驗(yàn)證,獲得協(xié)議驗(yàn)證的結(jié)果;驗(yàn)證結(jié)果處理模塊,對(duì)實(shí)時(shí)協(xié)議的性質(zhì)驗(yàn)證結(jié)果進(jìn)行處理和輸出,所作的處理主要是根據(jù)性質(zhì)的可滿足性、可滿足的概率等對(duì)結(jié)果進(jìn)行統(tǒng)計(jì)和分類。
在所述基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)中,所述數(shù)學(xué)建模模塊,包括實(shí)時(shí)協(xié)議的建模和實(shí)時(shí)協(xié)議需求建模。該模塊使用進(jìn)程代數(shù)對(duì)實(shí)時(shí)協(xié)議進(jìn)行建模,并根據(jù)所使用的進(jìn)程代數(shù)語(yǔ)言對(duì)模型進(jìn)行語(yǔ)法語(yǔ)義的分析。進(jìn)程代數(shù)是關(guān)于通信并發(fā)系統(tǒng)的代數(shù)理論的統(tǒng)稱。進(jìn)程代數(shù)提供了多個(gè)獨(dú)立實(shí)體或者進(jìn)程之間交互、通信以及同步的抽象描述,能夠描述協(xié)議中的時(shí)序關(guān)系、時(shí)間性質(zhì)、隨機(jī)性質(zhì)。同時(shí),該理論提供了大量能對(duì)進(jìn)程代數(shù)語(yǔ)言進(jìn)行操作及分析的代數(shù)規(guī)則。進(jìn)程代數(shù)語(yǔ)言可以用于驗(yàn)證進(jìn)程之間的等價(jià)性,可以驗(yàn)證協(xié)議需求與協(xié)議模型之間的一致性。此外,該模塊使用時(shí)態(tài)邏輯、計(jì)算樹邏輯、霍爾邏輯、分離邏輯對(duì)實(shí)時(shí)協(xié)議需求進(jìn)行刻畫,包括對(duì)協(xié)議中的實(shí)時(shí)性、無(wú)死鎖性、無(wú)饑餓等待等性質(zhì)進(jìn)行準(zhǔn)確描述,能表示大部分協(xié)議需求。
在所述基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)中,所述代碼生成模塊能夠根據(jù)建立的實(shí)時(shí)協(xié)議模型生成多種類型的高級(jí)語(yǔ)言代碼。
在所述基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)中,所述仿真驗(yàn)證模塊,用于根據(jù)進(jìn)程代數(shù)的語(yǔ)義進(jìn)行協(xié)議運(yùn)行的仿真。所述模型性質(zhì)的驗(yàn)證主要依賴于模型檢查技術(shù)。模型檢查技術(shù)是針對(duì)并發(fā)系統(tǒng)的一種自動(dòng)驗(yàn)證技術(shù),系統(tǒng)用有限狀態(tài)結(jié)構(gòu)表示,被驗(yàn)證的性質(zhì)可以采用多種邏輯進(jìn)行描述,例如時(shí)態(tài)邏輯。驗(yàn)證過程是對(duì)涉及的狀態(tài)空間進(jìn)行搜索的過程,該過程確定被驗(yàn)證的性質(zhì)在狀態(tài)空間中的可達(dá)性或不可達(dá)性。所述模型檢查算法庫(kù)包括對(duì)所有類型的協(xié)議模型的驗(yàn)證算法,例如對(duì)概率模型、時(shí)間模型等分別有不同的模型檢查算法。該模塊可以根據(jù)輸入的協(xié)議模型類型,對(duì)模型檢查算法進(jìn)行智能選擇,并在同類模型算法中選擇驗(yàn)證效率較高的算法進(jìn)行模型驗(yàn)證。
在所述基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)中,所述驗(yàn)證結(jié)果處理模塊,用于對(duì)協(xié)議需求的驗(yàn)證結(jié)果進(jìn)行統(tǒng)計(jì)及分類,并向用戶反饋處理后的驗(yàn)證結(jié)果。該模塊會(huì)根據(jù)協(xié)議性質(zhì)的可滿足性,可滿足的概率,以及用戶輸入的性質(zhì)優(yōu)先級(jí)等進(jìn)行統(tǒng)計(jì)、分類,并提供不可滿足的協(xié)議需求的協(xié)議執(zhí)行過程,有利于提高優(yōu)化協(xié)議的效率。
在優(yōu)選實(shí)施例中,應(yīng)用本發(fā)明基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)對(duì)Powerlink協(xié)議進(jìn)行分析和驗(yàn)證。
開源實(shí)時(shí)通信技術(shù)Powerlink是一項(xiàng)在標(biāo)準(zhǔn)以太網(wǎng)介質(zhì)上,用于解決工業(yè)控制及數(shù)據(jù)采集領(lǐng)域數(shù)據(jù)傳輸實(shí)時(shí)性的實(shí)時(shí)以太網(wǎng)協(xié)議。該協(xié)議主要規(guī)定了數(shù)據(jù)鏈路層上的通信。該協(xié)議支持周期通信和非周期通信,其中一個(gè)協(xié)議循環(huán)周期主要包括等時(shí)同步階段和異步通信階段,周期通信發(fā)生在等時(shí)同步階段,而非周期通信發(fā)生在異步通信階段。
Powerlink中包含兩類通信節(jié)點(diǎn),主站節(jié)點(diǎn)和從站節(jié)點(diǎn)。并且根據(jù)從站在等時(shí)同步階段中與主站節(jié)點(diǎn)不同的通信機(jī)制,從站又劃分為了三類節(jié)點(diǎn),Normal節(jié)點(diǎn),PRC節(jié)點(diǎn)及復(fù)用節(jié)點(diǎn)。此外,在該協(xié)議中存在五類幀信息。異步過程中存在對(duì)幀消息發(fā)送請(qǐng)求的調(diào)度。
在應(yīng)用本發(fā)明基于進(jìn)程代數(shù)的實(shí)時(shí)協(xié)議分析及驗(yàn)證系統(tǒng)對(duì)Powerlink協(xié)議進(jìn)行分析和驗(yàn)證的過程中:
首先,需要獲得協(xié)議執(zhí)行的規(guī)范以及協(xié)議需要滿足的一些性質(zhì),便于之后對(duì)該協(xié)議的建模。在該協(xié)議中所需要滿足的性質(zhì)有無(wú)死鎖性、無(wú)任務(wù)的“饑餓”等待、實(shí)時(shí)性等。
然后,使用本發(fā)明所述系統(tǒng)的數(shù)學(xué)建模模塊對(duì)該協(xié)議進(jìn)行建模。對(duì)協(xié)議進(jìn)行建模時(shí),可以為每一類節(jié)點(diǎn)賦予一個(gè)進(jìn)程模型,并用進(jìn)程代數(shù)描述語(yǔ)言對(duì)這些進(jìn)程模型之間的通信進(jìn)行描述。通過初始化異步幀消息的調(diào)度請(qǐng)求,以及對(duì)協(xié)議中的調(diào)度算法的建模,完成協(xié)議周期中,調(diào)度幀信息的模擬。整個(gè)協(xié)議模型由這些不同類型節(jié)點(diǎn)的進(jìn)程的并發(fā)組成。對(duì)協(xié)議需求進(jìn)行建模,通過時(shí)態(tài)邏輯、計(jì)算樹邏輯等描述協(xié)議的無(wú)死鎖性、無(wú)任務(wù)的“饑餓”等待、實(shí)時(shí)性等特征。
建模完成后,用戶可以通過代碼生成模塊生成相應(yīng)的高級(jí)語(yǔ)言代碼。
本發(fā)明所述系統(tǒng)的仿真驗(yàn)證模塊支持對(duì)模型進(jìn)行仿真,仿真過程可以呈現(xiàn)所有模型可能執(zhí)行的路徑及狀態(tài)空間。每個(gè)狀態(tài)可以提供對(duì)該狀態(tài)下所有變量的當(dāng)前值的提示,狀態(tài)之間的遷移提示用戶協(xié)議運(yùn)行過程中發(fā)生的動(dòng)作。用戶可以通過對(duì)不同進(jìn)程的仿真進(jìn)行建模代碼的調(diào)試分析。如果發(fā)生死鎖,在仿真結(jié)果中也能非常直觀地觀察到發(fā)生死鎖的位置及發(fā)生死鎖的原因。
仿真驗(yàn)證模塊中一個(gè)重要的功能是,根據(jù)協(xié)議模型和協(xié)議需求的形式化表示,對(duì)協(xié)議所滿足的性質(zhì)進(jìn)行驗(yàn)證。該模塊會(huì)默認(rèn)選擇適合該模型的模型檢查算法進(jìn)行驗(yàn)證。同時(shí),用戶也可以擴(kuò)充模型檢查算法庫(kù)和自定義使用的模型檢查算法。
最后,驗(yàn)證結(jié)果輸出到驗(yàn)證結(jié)果處理模塊進(jìn)行處理,針對(duì)Powerlink協(xié)議,可以驗(yàn)證該協(xié)議中是否存在死鎖,是否會(huì)有調(diào)度請(qǐng)求一直得不到調(diào)度,以及調(diào)度請(qǐng)求的順序是否滿足優(yōu)先級(jí)設(shè)定等。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。