作者:BENJAMIN BROSGOL,GREG GICCA
新的航空電子軟件安全標準DO-178C及其補充軟件工具認證注意事項(DO-330)澄清并擴展了DO-178B中提供的工具認證指南。通過基于敏捷開發原則的方法,可以加快在整個系統演變過程中維護資格就緒工具的挑戰。
如果航空電子軟件認證所需的手動活動被自動化工具減少或取代,并且未經驗證就使用該活動的輸出,則開發人員需要限定該工具:證明該工具至少與它所取代的活動一樣值得信賴。新的航空電子安全標準DO-178C及其配套的軟件工具資格考慮因素DO-330澄清并擴展了DO-178B中定義的工具認證指南。以下討論總結了新指南,并介紹了在存在系統維護和更改的情況下維護資格就緒工具的敏捷方法。
DO-178B 中的工具認證
DO-178B[1]是一種商業航空電子軟件安全標準,在軍用飛機開發中越來越多地使用,通常被稱為“基于過程”:它指定了軟件生命周期過程的相互關聯的集合,每個過程都包含一組活動和相關目標。這些活動產生的輸出(“項目”)由證書頒發機構人員進行評估,以查看它們是否符合 DO-178B 中指定的目標。適用的目標(以及適用的活動和工件)取決于軟件級別:軟件在確保飛機和乘員安全方面的關鍵程度。級別范圍從E(無效)到A(軟件故障可能直接導致飛機損失,從而導致生命損失)。
一些 DO-178B 活動是可自動化的,該標準描述了如果在未經驗證的情況下使用工具的輸出,如何信任工具來替換或減少手動活動。它定義了兩個類別:開發工具和驗證工具。開發工具生成的輸出是機載軟件的一部分,因此有可能引入錯誤。例如,從基于模型的設計生成源代碼的代碼生成器。驗證工具不能引入任何錯誤,但可能無法檢測到錯誤,例如,靜態分析工具標識在初始化之前讀取的變量。
除其他數據項外,工具認證還需要準備工具操作要求 (TOR)。TOR 定義了工具的各種屬性,包括其功能、安裝、使用和操作環境。
當且僅當該工具生成的軟件不受與其他機載軟件相同的適用認證目標時,開發工具才需要合格。開發工具認證需要滿足與機載軟件認證相同的目標。(盡管編譯器和鏈接器是開發工具,但不需要資格認證,因為它們的輸出是通過其他 DO-178B 活動驗證的。事實上,資格認證將是昂貴的,并且不會簡化實現其他目標(如可追溯性分析)的工作。
鑒定驗證工具比鑒定開發工具要簡單得多,部分原因是DO-178B的理念是鼓勵使用此類工具來自動化涉及重復性和基于規則的任務的活動,自動化工具比人工更好地執行這些活動。驗證工具的資格基本上包括證明該工具符合其 TOR。
DO-178C 中的工具認證
工具認證一直是DO-178B認證的重要組成部分,但在實踐中出現了幾個問題:
驗證工具和開發工具之間的區別并不總是直截了當的。此外,驗證工具可能不是簡單地自動化特定活動;它的輸出也可用于消除或減少一些其他活動。
要求開發工具滿足與機載軟件相同的目標是不必要的限制,因為操作環境不同。例如,航空電子軟件中的無限遞歸可能會耗盡堆棧存儲并導致系統故障;開發工具中的相同行為不會帶來安全隱患。
雖然工具鑒定本質上是在特定系統背景下進行的,但如果資格認證要求加快在現有系統的修改版本上重復使用合格的工具,那將是有益的。
所有這些問題都在DO-178C或其隨附的補充DO-330,軟件工具資格考慮中得到解決。
“開發工具”和“核查工具”已被三個標準所取代。標準 1 對應于開發工具(即,該工具可以將錯誤插入機載軟件)。標準 2 對應于可能無法檢測到錯誤的驗證工具,用于減少其他開發或驗證活動。標準 3 對應于可能無法檢測到錯誤但不用于減少其他開發或驗證活動的驗證工具。
工具所需的資格 - 其工具資格級別(TQL) - 取決于其標準和工具所用軟件的軟件級別,如表1所示。TQL 的范圍從 5(相當于 DO-178B 驗證工具)到 1(類似于軟件級別 A)。與每個 TQL 關聯的活動和數據項在單獨的文檔 DO-330 中定義,其結構與 DO-178C 相同。DO-330 為工具鑒定提供全面的指導,并識別機載軟件和工具的執行環境之間的差異。
DO-330 明確涵蓋了以前合格的工具的使用。簡而言之,只要開發人員能夠通過更改影響分析證明該工具仍符合其 TQL 要求,即使操作環境或工具本身發生任何變化,就可以重復使用以前合格的工具。
表 1:工具所需的資格 - 其工具資格級別(TQL) - 取決于其標準和使用該工具的軟件的軟件級別。
重復使用以前合格的工具
重用或輕松調整先前合格工具的認證工件的能力尤為重要。DO-178B在這里沒有提供明確的指導。對于任何新系統,或者如果工具或環境的任何方面發生更改,則需要對一個系統執行的工具鑒定重復。因此,項目經理通常會在早期階段選擇操作環境和工具,然后提交這些版本,以便在最終系統認證期間可以使用工具認證工件。這有時被稱為“大凍結”,即環境和工具被提前鎖定。
DO-330 解決了這些問題。針對以前限定的工具的特定指南允許重用限定項目,只要沒有任何更改會影響限定。它考慮三種情況:
無需更改即可重用以前合格的工具 – 例如,當工具用于相關項目或現有項目的多個階段時。開發人員需要確定計劃中的方法和基本原理。
對工具操作環境的更改 – 開發人員需要更新一個或多個計劃,但大部分原始資格項目可以按原樣重復使用。只有與操作環境相關的更新項目需要由證書頒發機構進行評審。
對工具本身的更改 – 必須提供更改影響分析,但工具重新認證的成本仍然較低,基本上只需要與已更改或受更改影響的方面相關的活動。關鍵是能夠準確地確定和指定發生了什么變化,這些變化會影響什么,或者更重要的是,它們不會影響什么。
敏捷重新認證
根據 DO-178B 或 DO-178C 和 DO-330 中的刀具認證指南,可以定義一個框架來跟蹤刀具或其操作環境的更改,并自動啟動由更改觸發的工具認證活動。
例如,可以根據 DO-178C 和 DO-330 中定義的目標初步開發和鑒定工具。可以在配置管理 (CM) 系統中捕獲和維護完整的工具開發生命周期過程及其關聯的鑒定工件,包括所有依賴關系(參見圖 1)。核心 CM 系統允許對重現刀具鑒定所需的所有鑒定數據和工件進行基本重新生成。完整的結構允許影響和變化分析。通過這種方式,可以跟蹤工具操作環境或工具本身的任何變化。最重要的是,該結構將清楚地顯示工具的哪些部分及其工件不受影響,因此可以保持不變并保持其先前的審查和資格準備。
圖1:可以在配置管理 (CM) 系統中捕獲和維護完整的工具開發生命周期過程及其關聯的認證工件,包括所有依賴關系。
過渡到新的資格指南
DO-178B實際上是DO-178C的一個子集。因此,項目可以繼續為 DO-178B 制定的開發和認證計劃,同時將所選部分遷移到 DO-178C,例如,利用 DO-330 中的工具認證目標。因此,現有的DO-178B項目和新的DO-178C項目都可以利用DO-330在工具鑒定和重新認證方面的具有成本效益的指導。
AdaCore 資格計算機框架是上一節中描述的敏捷技術的正在進行中實現,支持這種方法。它可以幫助項目避免“大凍結”,以便工具和開發環境能夠順利發展。當更新可用時,工具可能會升級到較新版本,而不會丟失系統認證所需的工具資格。
審核編輯:郭婷
-
代碼
+關注
關注
30文章
4802瀏覽量
68742 -
編譯器
+關注
關注
1文章
1636瀏覽量
49172
發布評論請先 登錄
相關推薦
評論