1、近年來,隨著計算機(jī)產(chǎn)業(yè)的快速發(fā)展,軟件和信息技術(shù)服務(wù)業(yè)規(guī)模不斷擴(kuò)大,復(fù)雜程度不斷提高,一部分軟件產(chǎn)品在研發(fā)過程中由于經(jīng)費,人力等原因造成工程進(jìn)度滯后,軟件質(zhì)量無法滿足設(shè)計要求,逐漸脫離前期需求標(biāo)準(zhǔn)。從軟件工程的角度看,決定軟件項目成敗與否的主要原因是需求,需求分析工作的好壞對最終軟件產(chǎn)品的質(zhì)量具有重要意義。尤其在安全攸關(guān)(Safety-Critical)的重大科研項目當(dāng)中,前期的需求分析直接影響項目的研發(fā)進(jìn)度和開發(fā)質(zhì)量,需求失敗或是需求
2、工作的不完整不僅會延緩工程進(jìn)度,更可能會對整個項目造成不可預(yù)估的損失。因此在實際項目開發(fā)過程中,我們應(yīng)該正視需求分析對整個系統(tǒng)的作用,保證需求分析工作的完整性。
作為一種需求分析方法,問題框架理論強(qiáng)調(diào)現(xiàn)實世界對軟件系統(tǒng)的作用,通過構(gòu)建上下文圖、問題圖,運用領(lǐng)域間的問題漸變等方法將用戶需求推演變換,實現(xiàn)用戶需求到軟件規(guī)約的平滑變換。然而,目前基于問題框架方法的建模及問題漸變的實現(xiàn)主要依賴于需求分析員的直覺和經(jīng)驗,這在一定程度上限
3、制了需求分析的嚴(yán)謹(jǐn)性和可跟蹤性,特別是在分析安全攸關(guān)軟件系統(tǒng)的需求時,問題模型中起關(guān)鍵作用的領(lǐng)域如果出現(xiàn)期望的狀態(tài)不可達(dá)或非良構(gòu)等問題,所導(dǎo)出的軟件規(guī)約的正確性無法保證,缺少形式化證據(jù)的支持和論證。因此,問題模型中領(lǐng)域間遷移關(guān)系的形式化驗證對業(yè)務(wù)系統(tǒng)特別是安全攸關(guān)系統(tǒng)的軟件規(guī)約的獲取和處理具有重要的理論意義和實際應(yīng)用價值。模型檢驗技術(shù)作為一種形式化驗證方法與其它驗證技術(shù)或者方法相比有很多優(yōu)點,最重要的就是其高度自動化,可對有限狀態(tài)結(jié)構(gòu)空
4、間進(jìn)行自動化的系統(tǒng)校驗,并對系統(tǒng)規(guī)約描述進(jìn)行改進(jìn)。作為模型檢驗的一個分支,符號模型檢驗方法不但繼承了模型檢驗高度自動化的特點,同時一定程度上避免了狀態(tài)爆炸問題,處理問題的規(guī)模也可以隨之增大。該驗證方法用一系列的布爾表達(dá)式來表示系統(tǒng)所滿足的所有狀態(tài)及狀態(tài)間的遷移關(guān)系,布爾表達(dá)式則以壓縮的方式存儲在有序二叉判定圖OBDD(Ordered Binary Decision Diagram)中。
本文基于問題框架和符號模型驗證理論,提出
5、一套對關(guān)鍵問題領(lǐng)域模型內(nèi)狀態(tài)遷移關(guān)系的驗證方法,隱式映射出了外部共享現(xiàn)象和內(nèi)部狀態(tài)變化事件的對應(yīng)規(guī)則,從而確定該領(lǐng)域外部共享現(xiàn)象之間具有的因果關(guān)系,為問題漸變的實現(xiàn)提供可靠的保障。同時,論文將問題框架理論和符號模型驗證方法相結(jié)合,通過模型校驗確定因果關(guān)系進(jìn)而為問題漸變提供變換的形式化依據(jù);定義了Kripke結(jié)構(gòu)和UML狀態(tài)機(jī)子集一對一的映射規(guī)則,將UML狀態(tài)機(jī)轉(zhuǎn)換為形式化驗證工具的輸入語言,通過驗證可達(dá)性性質(zhì)確定遷移路徑,篩選出具有因果