基于UML 的嵌入式系統(tǒng)模型驗(yàn)證技術(shù)的研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
統(tǒng)一建模語言UML 在嵌入式系統(tǒng)設(shè)計(jì)建模中已經(jīng)獲得了廣泛的認(rèn)可,能對復(fù)雜嵌入式系統(tǒng)建模,并有很多成功的應(yīng)用,但UML 是一種半形式化語言,存在時(shí)間約束描述能力不強(qiáng)和所建模型形式化復(fù)雜.驗(yàn)證難度大等問題.針對上述問題,本文提出了采用實(shí)時(shí)UML 對嵌入式系統(tǒng)UML 狀態(tài)圖進(jìn)行建模;然后用狀態(tài)- 約束- 事件矩陣方法來對模型進(jìn)行形式化描述;最后利用SPIN 對模型進(jìn)行驗(yàn)證.該方法解決了UML 在嵌入式系統(tǒng)建模和形式化驗(yàn)證過程中出現(xiàn)的問題,應(yīng)用實(shí)例和結(jié)果證明了該方法的有效性和可行性.
0
隨著對嵌入式系統(tǒng)復(fù)雜性和應(yīng)用需求的無限增加,其系統(tǒng)軟件開發(fā)的工作量劇增.統(tǒng)一建模語言UML 已在嵌入式系統(tǒng)建模中得到廣泛應(yīng)用.UML 能夠直觀易懂的描繪出系統(tǒng)的需求.功能.結(jié)構(gòu)及相應(yīng)的行為,另外,使用UML 有助于企業(yè)相互交流,克服溝通障礙.
然而在該領(lǐng)域還存在一定問題,首先UML 對時(shí)間約束描述能力不強(qiáng);其次UML 為非形式化語言,其所建模型形式化轉(zhuǎn)換復(fù)雜.目前已有解決辦法: 使用UML 的擴(kuò)展機(jī)制;使用分析模式.然而擴(kuò)展機(jī)制是建模人員自己定義的,容易增加UML 整體的復(fù)雜性;形式化轉(zhuǎn)換復(fù)雜,需要特殊工具支撐.
為了更好的解決上述問題,論文采用實(shí)時(shí)UML 對嵌入式系統(tǒng)建模; 狀態(tài)- 約束- 事件矩陣方法對模型進(jìn)行形式化描述;最后利用SPIN 對模型進(jìn)行分析和驗(yàn)證.
1 實(shí)時(shí)UML 描述嵌入式系統(tǒng)
1.1 實(shí)時(shí)UML 概述
實(shí)時(shí)UML 主要由Rational 公司開發(fā).它合并了UML?角色建模.ROOM 中的概念,開發(fā)出一個(gè)新的.比較完善的可用于復(fù)雜實(shí)時(shí)系統(tǒng)建模的標(biāo)準(zhǔn).實(shí)時(shí)UML 中主要引入三個(gè)概念.
端口:隨著膠囊事例的創(chuàng)建.消亡而同步運(yùn)作.
連接器:基于特定協(xié)議的信號(hào)傳遞通路.
膠囊:表示復(fù)雜實(shí)時(shí)系統(tǒng)中的主要結(jié)構(gòu)元素.
1.2 UML 實(shí)時(shí)狀態(tài)圖的形式語義
實(shí)時(shí)狀態(tài)圖D = (A,T,F,G,Time,aL ,aF ).其中 A:有限狀態(tài)集 ;T :有限轉(zhuǎn)移集;F ∈(A×T)∪(T×A)是流關(guān)系 ;G(t) :條件表達(dá)式 ;Time :某個(gè)狀態(tài)最遲完成的時(shí)鐘時(shí)間 ;a L ∈A :初始狀態(tài),a F ∈A:終止?fàn)顟B(tài) ;只有一個(gè)轉(zhuǎn)移 t 滿足 ( a L, t)∈ F;對于任何:
3 超時(shí)事件
為實(shí)時(shí)狀態(tài)圖D 中的超時(shí)事件加入時(shí)間約束:對于集合T中的任意元素t,若G (t) 為真,與t 相對應(yīng)的截止期為d(t)=2?
對于所有進(jìn)入狀態(tài)t<b(t) 的轉(zhuǎn)移,加入時(shí)鐘約束(x=0) ;對于所有的從該狀態(tài)出發(fā)的轉(zhuǎn)移,加入時(shí)鐘約束(x<2).
2 模型驗(yàn)證工具SPIN
2.1 SPIN 概述
SPIN 主要包括模型仿真器和模型分析器兩個(gè)主要功能:模型仿真器可以快速對所建立的系統(tǒng)模型進(jìn)行仿真;模型分析器可以嚴(yán)格地驗(yàn)證用戶提出的正確性要求是否被滿足.SPIN 作為一種形式化自動(dòng)驗(yàn)證工具,目的是提供:
2.1.1 建模語言PROMELA: 直觀地描述系統(tǒng)規(guī)約;
2.1.2 功能強(qiáng)大而簡明的邏輯表示法LTL ;
2.1.3 可驗(yàn)證系統(tǒng)建模邏輯一致性及系統(tǒng)是否滿足所要驗(yàn)證性質(zhì).
2.2 線性時(shí)序邏輯LTL
SPIN 用線性時(shí)序邏輯LTL 性質(zhì)描述系統(tǒng)的性質(zhì).采用線性.離散.與自然數(shù)同構(gòu)的時(shí)間結(jié)構(gòu).以狀態(tài)序列作為命題的論斷對象.用線性時(shí)序邏輯公式在狀態(tài)序列上解釋其真值.語法可遞歸定義如下:
定義1 :命題常元{true , false} 和原子命題變元{p,q,…}
是線性時(shí)序邏輯公式.
定義2 :如果p 和q 是線性時(shí)序邏輯公式.則p(sometimes) p∪q(until) p ∨ q(or),p ∧ q(and) 非p(not)/ p(always) Xp(next)也是線性時(shí)序邏輯公式.
2.3 基本數(shù)據(jù)結(jié)構(gòu)
在SPIN 中基本數(shù)據(jù)結(jié)構(gòu)有:狀態(tài)矢量,棧深度優(yōu)先和已搜狀態(tài):