J.Woodcock&J.Davies_UsingZ_1996_C1 閱讀

J.Woodcock&J.Davies_UsingZ_1996_C1 閱讀

文章概要

隨着軟件的日益發展, 軟件的功能等需求越來越多, 文檔也隨之增加, 組件之間的交互和衝突最後導致系統出現問題, 逐漸偏離了我們的預期. 爲解決該問題, 其中一個重要的方法就是形式化.

雖然在軟件生命週期之中, 我們有許多文檔, 涵蓋大量的圖片, 文字和圖表, 但是這些都是模糊不清的, 重要的信息都被隱藏在不相干的細節之中, 缺陷發現的過於遲, 進而導致嚴重的問題. 形式化解決了該問題, 它可以產出精確的, 非模糊的文檔, 並且該文檔可以用於設計階段, 以及作爲後續的開發, 測試和維護作爲導向.

雖然形式化十分有用, 但是其數學基礎是和通常的數學不太一樣的, 因此使用它的成本是較爲高昂的, 但是不可否認的是, 形式化的的確確可以減少最終的耗費.

CICS是世界上大多數成功的軟件之中的一個, 它是一個信息管理系統, 並且被廣泛地使用在各個領域, 開發之後的10年, 軟件變得十分複雜, 提出來一個解決方案是, 找到一個更爲精確的方法來確定功能, 而這樣的精確就需要使用數學技術. Kenny和Hoare嘗試解決這個問題, 引出了Z符號, 利用該方法來對CICS確定新的功能, 這種方法易於學習和使用, 即使使用者沒有任何數學的預備知識.

Z notation是基於集合論和數學邏輯的, Z notation使得其數學形式是結構化的, 由聲明和約束構成的模式, 這樣的語言可以用來表述一個系統的狀態, 屬性等, 重要的是, 可以用該方法來改良原有的設計. 另外, Z notation使用自然語言進行表述, 對於讀者來說閱讀起來十分輕鬆. 數學語言加上強大的結構化技術, 最終可以產出形式化的規格說明書, 可以使用數學邏輯的驗證技術來對這些說明書進行推斷. Z並不是用於非功能屬性的描述, 比如可用性, 大小, 性能和可依靠性.

構造證明的過程可以幫助我們更好地理解系統的需求, 幫助我們找到那些隱藏的假設, 在規格說明書上的證明對於軟件質量來說至關重要.

閱讀感悟

該文章很好地梳理了Z notation的起源. 從軟件的開發談起, 引用CICS的開發歷程, 引出了Z notation, 闡述了Z notation的各方面的優點以及其特有的性質, 又說明了在Z notation之中Proof的重要性, 給出其主要的功能和貢獻, 隨後用了一個經典的抽象化, 表現出了形式化和非形式化的區別, 形象地顯示了形式化的優勢以及可讀性.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章