自1992年DO-178B推出以來,航空電子軟件技術突飛猛進。DO-178C將把安全關鍵型軟件開發帶入現代,增加對UML和數學建模、面向對象編程和形式化方法等先進技術的支持。第三方工具、平臺和認證服務的隨時可用將加速DO-178C的采用和部署。
隨著軟件變得越來越復雜,很難在代碼級別管理該軟件的設計。面向對象編程(C++、Ada 和 Java)和建模(UML、數學等)使設計人員能夠在更高級別概念化、架構和封裝其設計,從而簡化了復雜軟件的開發。與基于模型的開發相關的形式化方法可以更輕松地評估復雜軟件功能(如控制回路)的正確性。
DO-178C 繼承了 DO-178B 核心文檔、原則和流程,同時增加了對高級建模、面向對象編程和形式化方法的支持,重點是從模型到可執行代碼再到返回的雙向可追溯性(側欄 1)。DO-178C 還提供了工具補充,用于詳細解決不僅用于建模、面向對象編程和形式化方法的工具的限定和功能,還用于其他開發技術(如過程軟件和程序集級編程)的工具的資格和功能。
DO-178C 補充
DO-178C工作組已經制作了三種開發技術補充:面向對象技術和相關技術(OOT和RT),基于模型的開發和驗證以及形式化方法。它還大大擴展了DO-178B中的工具認證指南。這四份增刊已由RTCA出版為:
DO-330,軟件工具認證注意事項
DO-331,DO-178C 和 DO-278A 的基于模型的開發和驗證補充
DO-332,面向對象技術和相關技術 DO-178C 和 DO-278A 的補充
DO-333,DO-178C 和 DO-278A 的形式化方法補充
請注意,DO-278A 相當于 DO-178C 的地面系統。
面向對象技術及相關技術
面向對象技術和相關技術(OOT&RT)是用于手動代碼開發和驗證的綜合安全關鍵軟件指南。它不僅包括面向對象的軟件開發,還包括過程語言中使用的技術。這些相關技術包括動態內存管理、重載、參數化多態性(例如 C++ 中的模板和 Ada 中的泛型)類型轉換和虛擬化。最終結果是,OOT和RT補充可以在大多數使用過程語言和OOT的項目上調用。
OOT和RT最重要的補充是新目標的定義。目標確定必須生成哪些開發資產、集成流程和驗證工件才能使產品可認證。OOT 和 RT 定義了兩個新的驗證目標:第一個驗證本地類型一致性,這使得子類方法能夠安全地重寫父類方法。第二個驗證動態內存管理系統的使用是否可靠。特別是,它驗證了動態內存管理系統的以下特征:引用歧義、碎片饑餓、釋放匱乏、內存耗盡、過早釋放、丟失更新和過時引用以及未綁定分配或解除分配時間。
基于模型的開發和驗證(MBD&V)
在審查和批準MBD&V補充時,最大和最具爭議的挑戰是確定在目標系統上編譯,鏈接和加載的可執行目標代碼(EOC)上使用的最終驗證方法。在所考慮的MBD&V系統的背景下,EOC可以直接追溯到模型自動生成的源代碼。從歷史上看,在驗證一些航空電子軟件方面有一個先例,這些軟件在模型本身中都進行了測試,而沒有對EOC進行目標測試,有效地消除了DO-178C“核心文件”中EOC測試的目標。相反,DO-178C全體會議同意必須在目標系統上對EOC進行某種形式的獨立驗證,從而保留DO-178C的EOC目標。
盡管就EOC驗證達成了共識,但MBD&V補充確實增加了許多目標,為模型在模型架構和模型代碼上執行或至少由模型定義的驗證活動提供認證信用。這些驗證活動主要由“模擬用例”執行,這些用例代替測試用例和其他形式的驗證運行。
添加到任何DO-178C技術補充中的最明確的常見問題解答可能是添加到MBD&V補充中的常見問題解答。新常見問題解答的范圍涵蓋開發和驗證,不僅包括標準的高級和低級軟件要求以及相關的規范和設計模型,還包括分配給軟件的系統要求。從歷史上看,這些模型類型和需求層次結構之間的差距及其各種來源一直是MBD&V項目中模糊和實現不佳設計的主要原因。
形式化方法補充
形式化方法補充遵循與MBD&V類似的軌跡,因為它最終也同意通過規定最終通過形式方法或數學證明對EOC進行獨立驗證來保留核心文件的EOC目標。形式化方法或MBD&V補充尚未明確解決的一個關鍵問題是這些補充之間可能發生的明顯領域重疊。也就是說,形式化方法(FM)作為一種開發和驗證技術,本身就利用了一種基于模型的開發形式。美國聯邦航空局將在將于今年發布的通知中解決這一和其他潛在的領域重疊問題。
軟件工具鑒定注意事項
當DO-178C的過程通過使用軟件工具被消除,減少或自動化時,需要對工具進行認證,而其輸出沒有按照標準中的規定進行驗證。工具鑒定過程的目的是確保工具提供的信心至少與消除、減少或自動化的過程相同。
軟件工具認證注意事項文檔介紹了一種新的工具認證結構,該結構由三個標準和五個工具認證級別 (TQL) 組成,如表 1 所示。
表 1:軟件工具資格認證注意事項文檔引入了新的工具資格認證結構,該結構由三個標準和五個工具資格級別 (TQL) 組成。
標準 1 適用的 TQL 是 DO-178B 中開發工具的替代品。
標準 2 是 DO-178C 的新標準,旨在解決新方法中工具使用的擴展問題。標準 2 基本上要求對軟件級別 A 和 B 上使用的工具進行比 DO-178B 標準更高的嚴格性,以增加使用該工具的信心。
標準 3 完全由 TQL-5 級組成,是 DO-178B 中驗證工具的替代品。
為了幫助安全關鍵型開發人員充分利用 DO-178 的高級功能,自動化和簡化開發、驗證和認證流程的工具變得至關重要。例如,DO-178C 第 11 節介紹了跟蹤數據,它將其描述為生命周期數據項(如需求、設計、源代碼和測試用例)之間的參考鏈接。自動化生命周期數據可追溯性的工具的一個關鍵方面是用于建立向前和向后可追溯性的工具,從需求向下到分解樹,再到可執行代碼,然后再返回,包括驗證任務。
自動化工具大大減少了與開發符合 DO-178 標準的軟件相關的時間和成本。然而,DO-178認證仍然是一個昂貴、耗時和艱巨的過程。為了幫助航空電子設備制造商加快這一過程,一些公司,如DDC-I,除了為DO-178B和DO-178C提供交鑰匙開發和認證服務外,還提供已經通過DO-178B A級認證的基于Eclipse的開發工具和RTOS平臺。
DO-178C 簡化航空電子設備開發
DO-178C標志著復雜航空電子軟件開發人員向前邁出了一大步,這些軟件必須經過最高級別的安全關鍵性認證。DO-178C 通過采用形式化方法、高級建模和面向對象的技術來簡化開發過程,使設計人員能夠在更高層次上概念化和封裝他們的軟件。它還通過提供從模型和要求到可執行代碼并再次返回的雙向可追溯性來簡化驗證和認證過程。結合自動化工具、平臺和認證服務,DO-178C極大地闡明了降低與開發、認證和部署復雜的安全關鍵航空電子軟件相關的成本的風險和潛在手段。
審核編輯:郭婷
-
JAVA
+關注
關注
19文章
2960瀏覽量
104555 -
C++
+關注
關注
22文章
2104瀏覽量
73500
發布評論請先 登錄
相關推薦
評論