形式化方法就是基於數學的技術描述系統的性質,消除自然語言書寫的系統規格說明書的有窮狀態機矛盾、二義性、含糊性、不完整性、及抽象層次混亂性。
有窮狀態機包括下述的5個部分:petri網有窮狀態集的擴充:狀態集j、輸入集k、由當前狀態和當前輸入確定下個狀態(次態)的轉換函式t、初始態s、和終態集f。轉換規則為:
當前狀態[選單]+事件[所選擇的項]=>下個狀態
轉換規則:在上述的5個部分中加入第6個元件-謂詞集p,其中每個謂詞都是系統全域性狀態y的函
數,轉換函式t從乙個(j-f)*k*p到j的乙個函式。
當前狀態[選單] + 事件[所選擇的項]+謂詞=>下個狀態
petri網包含4種元素:一組位置p、一組轉換t、輸入函式i以及輸出函式o。
petri網的擴充:
新增權標m,petri網c=(p,t,i,o,m),petri網中的標記是在petri網中的權標(token)的,分配。權標在petri網中的應用,通常當每個輸入位置
所擁有的權標數大於等於從該 位置到轉換的線數時,就允許轉換。
petri網擴充2:
新增禁止線,禁止線是用乙個小圓圈而不是用箭頭標記的輸入線。通常,當每個輸入線至少有乙個權標,而禁止線上沒有權標的時候,相應
的轉換才是允許的。
z語言
z語言是運用數學中的集合論、函式、數理邏輯等方面的形式化得規格說明語言。z語言包含的4個元素:
給定的集合、資料型別及常數
狀態定義
初始狀態
操作
z語言的優點:z語言寫的規格說明的錯誤容易發現
能夠精確性高,減少了說明的模糊性、不一致性、和遺漏。
實踐說明z語言能夠縮小開發過程中所需要的總時間
形式化方法的優勢:
形式化方法可以用數學方法驗證正確性
形式化方法能有效的消除二義性
形式化方法的劣勢:
形式化方法主要集中關注系統的功能和資料,而不是問題的時序、控制和行為等方面的需求。
形式化方法學習成本比較高。
軟體工程形式化方法
軟體工程形式化方法 軟體形式化方法最早可追溯到20世紀50年代後期對於程式語言編譯技術的研究,即j.backus提出bnf描述algol60語言的語法,出現了各 種語法分析程式自動生成器以及語法制導的編譯方法,使得編譯系統的開發從 手工藝製作方式 發展成具有牢固理論基礎的系統方法。形式化方法的研究高...
軟體工程形式化技術簡介
形式化技術在軟體工程中有效的提高了開發的效率 改進了軟體開發的質量 減少了開發費用。形式化的技術容易在軟體的規約上取得一致性,它屬於一種非常有效的交流方式。一 非形式化的缺點 用自然語言書寫的系統規格說明書,可能存在矛盾 二義性 含糊性 不完整性及抽象層次混亂等問題。矛盾是指一組相互衝突的陳述。1二...
軟體工程 什麼是形式化方法
軟體工程課程作業 什麼是形式化方法?形式化方法英文的名稱是formal methods。在邏輯科學中是指分析 研究思維形式結構的方法。它把各種具有不同內容的思維形式 主要是命題和推理 加以比較,找出其中各個部分相互聯結的方式,如命題中包含概念彼此間的聯結,推理中則是各個命題之間的聯結,抽取出它們共同...