廖 凱
(上海飛機設計研究院,上海 201210)
民用飛機MBD軟件指的是應用了基于模型開發技術的機載軟件。MBD技術在民用航空領域的應用,給機載安全關鍵設備供應商在嵌入式軟件開發和驗證工作上帶來了巨大便利。圖形化的建模和仿真、自動化的代碼生成技術,無論從時間成本,還是人力投入方面來看,都能夠為設備供應商大幅節約開支。在民用飛機機載軟件適航符合性驗證方面,美國航空無線電委員會(Radio Technical Commission for Aeronautics,簡稱RTCA)于2010年發布了DO-178C[1],作為指導機載系統嵌入式軟件生命周期過程的指南性文件。在2011年又發布了DO-331《基于模型的開發和驗證(對于DO-178C和DO-278A的補充)》[2],進一步細化了對應用MBD技術開發的機載軟件的目標要求。美國聯邦航空局(Federal Aviation Administration,簡稱FAA)在2013年通過發布咨詢通告的形式,中國民用航空管理局(簡稱CAAC)通過發布問題紀要的形式,先后認可了DO-178C和DO-331作為局方可接受的機載軟件對適航審定基礎的符合性方法。MBD技術在國外已發展多年,已經在該技術的應用和支持工具的開發方面積累了較豐富的經驗。而國內的MBD技術尚處在起步階段,目前只有為數不多的研究所做了初步嘗試,在適航符合性驗證方面的經驗欠缺。
民用飛機機載系統中,嵌入式機載軟件的占比正穩步提高并日趨復雜。軟件開發的成本既包括設計和編碼的成本,也包括驗證的成本。傳統方式設計的商用軟件中每百萬行代碼中約有100個缺陷,通常缺陷中的20%是驗證等級的,1%是災難等級的。相對于商用軟件,安全關鍵系統的軟件缺陷可能會少一個數量級,即每百萬行代碼中約有20個,因此,在安全關鍵系統的軟件中,每百萬行代碼中平均每5個缺陷中就至少有1個是嚴重的。由于安全關鍵系統的生命周期可能會持續幾十年,考慮到后期的維護、改造和升級費用,傳統方式設計的軟件成本幾乎不可控。MBD技術既能夠保證系統安全性,又能適當降低設計的復雜度,并在項目早期發現軟件缺陷,從而降低開發成本。
目前國內外主流的民用飛機研發模式采用“主制造商-供應商”的模式,即由供應商提供機體結構和機載設備/系統,主制造商負責集成。
大型民用飛機的審定基礎為CCAR 25部,其中機載軟件作為機載設備產品的一部分,相關的適航條款為CCAR25.1301和CCAR25.1309。2013年,FAA發布咨詢通告AC20-115C,認可DO-178C及其補充標準作為相關適航規章的符合性方法。CAAC目前雖然尚未認可DO-178C作為符合性方法,但DO-178C及其補充標準中的部分要求以問題紀要的形式在某型客機項目上提出,并在機載軟件研制過程中貫徹[3,5]。
為了評估機載軟件研制過程對DO-178C及其補充標準、適用的問題紀要的符合性,審查方通常要對機載軟件研制過程進行階段適航符合性評審。FAA Order 8110.49 Chg1[6]將適航符合性評審分為以下四個階段:
1)軟件計劃評審(SOI#1):軟件計劃評審的目的是評估軟件的計劃和標準是否滿足DO-178C的要求并且按照研制過程的要求進行了內部評審和構型管理,以及質量保證人員對軟件計劃過程的監控。軟件計劃評審中,審查方還需評估當軟件研制過程遵循軟件計劃和標準時,是否能滿足DO-178C及其他適航要求;
2)軟件開發評審(SOI#2):軟件開發過程包括軟件需求、設計、編碼和集成過程以及對應的軟件驗證、構型管理、質量保證和適航聯絡等整體過程。軟件開發評審的目的是評審上述過程的輸出,以評估軟件計劃和標準在開發過程中的貫徹程度,以及輸出對DO-178C及其他適航要求的符合性;
3)軟件驗證評審(SOI#3):軟件驗證過程包括評審、分析、測試等活動以及對應的軟件驗證、構型管理、質量保證和適航聯絡等整體過程。軟件驗證評審的目的是評估上述過程的輸出,以評估軟件計劃和標準在驗證過程中的貫徹程度,確保軟件的需求、設計、編碼進行了充分的驗證,測試結果進行了評審和分析;
4)軟件最終評審(SOI#4):軟件最終評審是針對用于系統/設備審定的軟件構型,確保軟件生命周期過程完整,遵循了被批準的軟件計劃和標準,符合DO-178C及其他適航要求。同時,還要對SCI、SAS以及質量符合性評審記錄進行評審。
根據適航審定當局制定的適航符合性介入審查要求,民機主制造商應定義相應的工程監控過程,以國內某型飛機研制為例,可在軟件生命周期過程中劃分4次~5次工程監控活動,由主制造商檢查供應商的軟件研發過程、活動和輸出物是否符合適航要求。工程監控活動包括計劃階段評審、設計開發階段評審、測試階段評審和最終階段評審,其中設計開發階段可分為初步設計評審和詳細設計評審兩個階段,分別檢查軟件的高級別需求和低級別需求。
民用飛機機載軟件采用RTCA/DO-178C作為符合性方法,主制造商可對供應商的軟件研制過程進行一系列的工程評審,以監控供應商的軟件研制過程對RTCA/DO-178C中目標的符合性。這些工程評審活動可包含軟件計劃階段評審(Planning Process Review)、軟件初步設計評審(Preliminary Design Review)、軟件詳細設計評審(Critical Design Review)、軟件測試就緒評審(Test Readiness Review)和軟件符合性評審(Software Conformity Review,簡稱SCR)等。設計評審的介入由主制造商來決定,可以定義比上述評審活動更多的介入點,也可以定義更少的介入點,主要根據項目特點和工程監控的程度決定。主制造商對機載軟件供應商的工程監控活動,不是適航符合性規章的要求,而是主制造商為控制項目風險對供應商進行的技術監控[7]。
MBD軟件除滿足RTCA/DO-178C計劃階段要求外,還應滿足DO-331中的目標A1.5要求(見表1),需要編制軟件模型標準,規范機載軟件建模準則、方法、工具、流程等[4,8]。軟件計劃階段還應該滿足下列要求:

表1 MBD軟件計劃過程要求
1)在軟件計劃文件中清晰地描述了哪些軟件模塊采用基于模型開發和驗證技術;
2)采用哪種模型(規范模型或設計模型)以及在什么需求層級上應用;
3)與傳統開發的軟件模塊如何集成、接口如何驗證;
4)采用哪些模型開發和驗證工具,是否需要鑒定以及獲得的適航置信度;
5)對問題紀要或其它審定要求的符合性計劃。
MBD軟件應滿足DO-178C開發階段要求外,還應滿足目標A2.MB8、A2.MB9和A2.MB10要求(見表2)。軟件開發階段還應該滿足下列要求:

表2 MBD軟件開發過程要求
1)按照軟件計劃文件中描述開發軟件;
2)軟件模型經過評審并正式受控;
3)軟件模型符合軟件建模標準;
4)軟件模型和上層需求建立雙向追溯關系;
5)識別衍生模型(即無法與上層需求建立追溯關系);
6)軟件模型是否按照自動生成代碼工具生成源代碼;
7)自動生成代碼和手寫代碼是否完成集成活動;
8)模型開發工具鑒定活動是否已經完成。
在MBD軟件的驗證過程中,除需滿足DO-178C驗證階段要求外,還應滿足DO-331中的目標A3.MB8、A3.MB9、A3.MB10、A4.MB14、A4.MB15、A4.MB16、A7.MB10、A7.MB11和A7.MB12要求(見表3)。軟件驗證階段還應該滿足下列要求:

表3 MBD軟件驗證過程要求
1)按照軟件計劃文件中的描述驗證軟件;
2)軟件模型、測試用例/程序、測試結果建立了雙向追溯關系;
3)驗證了衍生模型;
4)模型仿真活動及仿真結果,模型覆蓋率分析結果;
5)完成了模型驗證工具鑒定活動。
MBD軟件構型管理、質量保證和審定聯絡過程與DO-178C要求一致,沒有額外目標[9]。
軟件構型管理過程貫穿整個軟件生命周期,主要目的是對軟件構型項進行標識和控制。軟件構型管理過程的主要活動包括構型標識、基線和追溯性、問題報告/更改控制/更改評審、構型紀實、歸檔/檢索/發布、軟件生命周期環境控制等幾個方面。軟件構型管理過程的輸出主要是構型管理記錄。
軟件質量保證過程貫穿整個軟件生命周期,主要目的是通過質量保證人員的評審、審核、目擊、檢查等方法確保軟件的實際研制過程遵循被批準的軟件計劃和標準[10]。軟件質量保證過程的輸出是質量保證記錄。
對于使用了MBD技術開發機載軟件的供應商,主制造商應以DO-178C為基礎,綜合考慮對DO-178C和DO-331中目標的符合性。本文以民用飛機適航符合性過程為出發點,通過機載軟件適航符合性驗證過程引出主制造商對供應商軟件的工程監控,并基于MBD軟件相較于傳統機載軟件的特殊性,導入了對MBD軟件的工程監控過程要求。本文總結的主制造商對MBD軟件供應商的工程監控過程要求,對國內民機主制造商在處理使用MBD技術開發機載設備/系統的嵌入式軟件的適航符合性驗證活動時具有參考價值。