什麼是形式化方法

2021-10-24 21:13:36 字數 1518 閱讀 1312

形式化方法英文的名稱是formal methods。在邏輯科學中是指分析、研究思維形式結構的方法。它把各種具有不同內容的思維形式(主要是命題和推理)加以比較,找出其中各個部分相互聯結的方式,如命題中包含概念彼此間的聯結,推理中則是各個命題之間的聯結,抽取出它們共同的形式結構;再引入表達形式結構的符號語言,用符號與符號之間的聯絡表達命題或推理的形式結構。例如,把全稱肯定命題,用符號形式化為「sap」;把聯言命題、假言命題分別形式化為:「p∧q、「p→q」。又例如:乙個具體的假言聯言推理「如果這種金屬是純鋁,那麼它的物理性質必與純鋁相同;如果這種金屬是純鋁,那麼它的化學性質必與純鋁相同;但這種金屬的物理性質和化學性質與純鋁不相同;所以,它不是純鋁。」這個推理的形式結構是:「如果p,則q;如果p,則r;非q且非r;所以非p。」可進而形式化為下列公式:((p→q)∧(p→r))∧┐q∧┐r→┐p。

基本資訊

在電腦科學和軟體工程領域,形式化方法是基於數學的特種技術,適合於軟體和硬體系統的描述、開發和驗證。將形式化方法用於軟體和硬體設計,是期望能夠像其它工程學科一樣,使用適當的數學分析以提高設計的可靠性和魯棒性。但是,由於採用形式化方法的成本高意味著它們通常只用於開發注重安全性的高度整合的系統。

形式化方法在古代就運用了,而在現代邏輯中又有了進一步的發展和完善。這種方法特別在數學、電腦科學、人工智慧等領域得到廣泛運用。它能精確地揭示各種邏輯規律,制定相應的邏輯規則,使各種理論體系更加嚴密。同時也能正確地訓練思維、提高思維的抽象能力。

發展過程

軟體形式化方法最早可追溯到20世紀50年代後期對於程式語言編譯技術的研究,即j.backus提出bnf描述algol60語言的語法,出現了各 種語法分析程式自動生成器以及語法制導的編譯方法,使得編譯系統的開發從「手工藝製作方式」發展成具有牢固理論基礎的系統方法。形式化方法的研究高潮始於 20世紀60年代後期,針對當時所謂「軟體危機」,人們提出種種解決方法,歸納起來有兩類:一是採用工程方法來組織、管理軟體的開發過程;二是深入**程 序和程式開發過程的規律,建立嚴密的理論,以其用來指導軟體開發實踐。前者導致「軟體工程」的出現和發展,後者則推動了形式化方法的深入研究。經過30多 年的研究和應用,如今人們在形式化方法這一領域取得了大量、重要的成果,從早期最簡單的形式化方法——一階謂詞演算方法到現在的應用於不同領域、不同階段 的基於邏輯、狀態機、網路、程序代數、代數等眾多形式化方法。形式化方法的發展趨勢逐漸融入軟體開發過程的各個階段,從需求分析、功能描述(規約)、(體 繫結構/演算法)設計、程式設計、測試直至維護。

定義

用於開發計算機系統的形式化方法是描述系統性質的基於數學的技術,這樣的形式化方法提供了乙個框架,可以在框架中以系統的而不是特別的方式刻劃、開發和驗 證系統。 如果乙個方法有良好的數學基礎,那麼它就是形式化的,典型地以形式化規約語言給出。這個基礎提供一系列精確定義的概念,如:一致性和完整性,以及定義規範 的實現和正確性。 形式化方法的本質是基於數學的方法來描述目標軟體系統屬性的一種技術。不同的形式化方法的數學基礎是不同的,有的以集合論和一階謂詞演算為基礎(如z和 vdm),有的則以時態邏輯為基礎。形式化方法需要形式化規約說明語言的支援。

什麼是形式化方法

軟體形式化方法是指建立在嚴格數學基礎上的軟體開發方法。形式化方法模型的主要活動是生成計算機軟體形式化的數學規格說明。形式化方法使軟體開發人員可以應用嚴格的數學符號來說明 開發和驗證基於計算機的系統。形式化方法的本質是基於數學的方法來描述目標軟體系統屬性的一種 技術。不同的形式化方法的數學基礎是不同的...

什麼是形式化方法?

形式化方法 在電腦科學和軟體工程領域,形式化方法是基於數學的特種技術,適合於軟體和硬體系統的描述 開發和驗證。將形式化方法用於軟體和硬體設計,是期望能夠像其它工程學科一樣,使用適當的數學分析以提高設計的可靠性和魯棒性。但是,由於採用形式化方法的成本高意味著它們通常只用於開發注重安全性的高度整合的系統...

軟體 什麼是形式化方法

形式化方法 formal methods 在邏輯科學中是指分析 研究思維形式結構的方法。它把各種具有不同內容的思維形式 主要是命題和推理 加以比較,找出其中各個部分相互聯結的方式,如命題中包含概念彼此間的聯結,推理中則是各個命題之間的聯結,抽取出它們共同的形式結構 再引入表達形式結構的符號語言,用符...