當前位置:學問君>學習教育>畢業論文>

機載軟件適航驗證技術現狀及展望研究

學問君 人氣:3.22W

下面是小編蒐集整理的一篇探究機載軟技術發展的論文範文,希望對你的論文寫作有幫助。

機載軟件適航驗證技術現狀及展望研究

摘要:機載軟件具有實時性、高可靠性、嵌入式的特點。軟件的特殊性,給機載軟件驗證帶來了嚴峻的挑戰。本文首先研究了軟件驗證現狀以及軟件測試、評審方法,最後對目前軟件適航驗證的前沿技術進行了探索。它對於機載軟件適航驗證研究具有一定的借鑑意義。

關鍵詞:機載軟件;適航驗證;技術現狀;發展方向;DO-178B

波音777飛機成功地投入民航運營,標誌着民機計算機軟件設計時代的到來。

硬件可以而且通常做徹底測試,甚至直到破壞,以保證不存在設計瑕疵,飛機的靜力實驗、疲勞實驗、甚至整機適墜性實驗都可以做。軟件不像硬件設備和部件,它不會破壞或消耗,但軟件很難達到和硬件相同的安全等級,軟件不允許存在誤差,否則後果不堪設想。比如,美國在一次衛星發射實驗中,由於飛行計劃程序裏漏掉了一個連字元而導致了火箭實驗的失敗。由於軟件的特殊性,特別是機載軟件的日益複雜,給機載軟件驗證帶來了嚴峻挑戰。

 1.軟件驗證簡述

驗證verification不僅僅是測試test。軟件驗證過程典型地兼有評審、分析和測試,所以測試僅僅是驗證的一種手段,軟件驗證過程透過評審、分析、測試用例和程序的開發、以及測試程序的實施等各種方式的組合來實現其目標。評審和分析對軟件需求、軟件體系架構和原始碼的準確性、完整性和可驗證性進行評估。測試用例的開發可對需求的內部一致性和完整性進行進一步的評估。測試程序的實施證明了對需求的符合性[1]。目前機載軟件驗證的主要依據是RTCA DO-178(機載系統和設備合格審定的軟件考慮),DO-178B設定了軟件開發和驗證的原則,是世界民用航空領域在適航取證過程中所廣泛採用的適航標準,也是中國民用航空局適航司認可的民用航空機載設備和系統軟件的適航審查依據。

2.軟件驗證現狀

2.1軟件驗證標準DO-178B

DO-178B標準不僅嚴格規定了軟件開發的流程,而且還規定了每個流程都必須經過嚴格驗證,光有開發過程的驗證還不夠,爲了保證驗證工作的質量,它還明確規定驗證工作本身也要進行驗證,如圖1所示。由此可見,軟件驗證在整個開發過程中的極端重要性。

2.2軟件驗證活動

軟件驗證過程典型地兼有評審、分析和測試。

2.2.1軟件評審

據有關資料統計,軟件中的大部分缺陷是在編碼之前造成的,因爲軟件設計人員設計不當而引入軟件的缺陷佔整個軟件開發階段引入缺陷的50%~65%,而軟件評審技術可以發現其中75%左右的設計缺陷。軟件評審作爲軟件管理的一項重要活動,是軟件質量保證的重要一環。目前,我國軟件工程化程度不高,軟件評審隨意性較大,相關標準缺乏規範,評審過程基本上停留在管理層面。

軟件評審通常包括:管理評審、技術評審、審查、走查和審覈等5種類型[5]。機載軟件評審的依據有DO-178B,NASA和EASA的相關標準,中國民用航空規章和其它的諮詢材料等。2.2.2軟件測試

目前,與測試相關的三個重要觀點是:(1)測試是爲了證明程序有錯,而不是證明程序無錯誤;(2)一個好的測試用例是在於它能夠發現至今未發現的錯誤;(3)一個成功的測試是發現了至今未發現的錯誤的測試[2]。

軟件測試的方法主要有:黑盒測試、白盒測試、灰盒測試等[4]。

黑盒測試,又稱功能測試。在測試時,完全不考慮程序內部結構與內部特性,測試者在程序接口進行測試。黑盒測試的主要方法有:等價類劃分、邊界值分析、因果圖、錯誤推測等,主要適用於軟件確認測試。

白盒測試,也稱結構測試。它按照程序內部的結構測試程序,來檢驗程序中的每條通路是否都能按預定要求正確工作。白盒測試的主要方法有:邏輯驅動、基路測試等,這一階段測試以軟件開發人員爲主。

白盒和黑盒測試,兩類方法各有側重,在測試的實踐中都實用,但又各有優長,只有將二者有機結合,即進行所謂的“灰盒測試”,才能彌補二者的不足,使測試方法更加完善。

2.3機載軟件測試

2.3.1機載軟件測試目標

機載軟件的測試有兩個互補的目標。一是證明軟件滿足其需求;二是以高置信度證明由系統安全性評估過程確定的可能導致不可接受的失效狀態的那些錯誤已被消除[1]。

2.3.2機載軟件測試的特點

(1)機載軟件多爲嵌入式軟件,嵌入式軟件具有兩個顯著特點:一是軟件和硬件結合緊密,軟件脫離特定系統往往無法執行,軟件失效與硬件故障有時難以區分,甚至相互干擾。二是開發環境和執行環境不同。因而,嵌入式軟件還必須進行目標環境的測試。

嵌入式軟件的這兩個特性給軟件測試提出了新的挑戰,一些新的問題必須重視。比如,宿主環境和目標環境測試的分配、軟-硬件錯誤的界定、硬件特性對軟件測試的影響、測試所需的硬件信號驅動及響應等等。

(2)機載軟件實時性強。機載軟件多是實時軟件。不但要求軟件執行實時性強,而且要求多個任務能協調執行。例如其中的飛控軟件,一般根據任務組在飛控系統中所具有的作用、重要程度和其本身的變化率,分成各種不同速率組任務調度執行。爲了滿足不同任務優先級的要求,還要進行中斷管理。因此在機載軟件測試中,不但要對軟件語句的執行邏輯關係進行驗證,還要對該過程的執行時間和規定時間進行比較。

(3)機載軟件屬於安全關鍵軟件。其性能的不可靠將帶來災難性的後果,因此對其可靠性、安全性要求很高。爲此在機載軟件設計時採用一些提高可靠性、安全性的先進技術,主要有容錯技術、N版本技術、安全監控和安全隔離技術等。

 3.軟件適證技術展望

3.1形式化方法

將形式化方法用於軟件和硬件設計,是期望能夠像其它工程學科一樣,使用適當的數學分析以提高設計的可靠性和魯棒性。

形式化方法的一個研究內容是形式規約,即用具有精確語義的形式語言書寫的程序功能描述,是驗證程序是否正確的.依據;另一個研究內容是形式驗證(Formal Verification),即驗證已有的程序是否滿足其規約的要求,它是形式化方法所要解決的核心問題。

而如何基於形式化方法開發適用的軟件測試模型則是未來研究的熱點問題。

3.2適航驗證標準的發展

現在的DO-178B是面向目標的相對穩定版本,現已使用了17年,由於以下原因,尚需對DO-178B做進一步修訂:(1)其目標是“相對穩定”的,它不是“永恆穩定”的。(2)DO-178B對“面向目標”的原則還貫徹得不夠徹底。DO-178B中所定義的66個目標中,有少量的目標其實不是真正的“目標”,而是“技術”。最明顯的例子就是“驗證的驗證”的目標中關於MC/DC覆蓋、判定覆蓋、語句覆蓋等。這些“技術”以“目標”的形式出現在標準裏,使得DO-178B標準的穩定性大打折扣。

總之,航空電子和軟件開發技術的發展推動着合格審定過程的更改,DO-178B缺少舊軟件工具的合格審定,而且先進的技術和新航空電子軟件的發展,也需要有新的合格審定標準。

 4.結論

機載軟件具有實時性、高可靠性、嵌入式的特點,這些特點決定了機載軟件適航驗證技術必須具有極強的先進性。

參考文獻

[1]RTCA . DO178B . Washington,1992

[2]劉皓、李長命,《軟件測試簡述與展望》[J].學術交流,2008

[3]劉利枚、汪文勇、唐科,《嵌入式軟件測試方法與技術》[J].計算機與現代化,2005

[4]李幸超,《實用軟件測試》[M].北京:電子工業出版社,2006

[5]石柱、劉華、郭曉慧,《軟件評審類型及其實施要求》[J].航天控制,2007