由於人們愈來愈依靠計算機,其軟體系統也將愈來愈趨於複雜。然而,目前已知的證 明技術及測試方法並不能保證完全地除去軟體系統中的錯(faults)。因此,軟體容錯 計算(software-fault tolerant computing) 將隨著軟體系統的日漸龐大與複雜而更 加重要。 在本論文中,我們提出一個已經被實現的軟體容錯環境。這個環境是建立在一個連接 在個人電腦上的傳算器綱路(transputer network)之上,為循序的C 語言程式提供一 個三版本的NVP(N-version programming)容錯策略。使用者只要撰寫一個傳統的C 程 式,另外再提供一個描述嚴格程序(critical procedure)的敘述檔即可建構一個NVP 程式。 這個環境主要有兩個部分:一個為前置處理器,另一個則為執行系統。前置處理器負 責分析敘述檔與使用者的程式,最後產生執行系統的可執行檔,這個可執行檔可被載 入傳算器綱路中以執行使用者的應用程式。為了提高系統的可靠度(reliability) , 並減少使用者的負擔,執行系統提供了一個一般化(generalized) 的voter ,能自動 根據各版本執行結果的型態與結構作比較。 作者者程式與一般的程式幾乎完全相同,並不再加入任何額外指令,所以不但程式可 以事先在其它環境進行編輯、編譯、甚至偵錯,而且傳統的C 程式也能很容易地移植 到本環境中執行。我們更進一步允許使用者建立自己的容錯函式庫(fault-tolernt l ibrary) ,因此這個環境已是一個可供發展軟體容錯程式之系統。
|