廖 凱
(上海飛機(jī)設(shè)計(jì)研究院,上海 201210)
民用飛機(jī)MBD軟件指的是應(yīng)用了基于模型開發(fā)技術(shù)的機(jī)載軟件。MBD技術(shù)在民用航空領(lǐng)域的應(yīng)用,給機(jī)載安全關(guān)鍵設(shè)備供應(yīng)商在嵌入式軟件開發(fā)和驗(yàn)證工作上帶來了巨大便利。圖形化的建模和仿真、自動(dòng)化的代碼生成技術(shù),無論從時(shí)間成本,還是人力投入方面來看,都能夠?yàn)樵O(shè)備供應(yīng)商大幅節(jié)約開支。在民用飛機(jī)機(jī)載軟件適航符合性驗(yàn)證方面,美國航空無線電委員會(huì)(Radio Technical Commission for Aeronautics,簡稱RTCA)于2010年發(fā)布了DO-178C[1],作為指導(dǎo)機(jī)載系統(tǒng)嵌入式軟件生命周期過程的指南性文件。在2011年又發(fā)布了DO-331《基于模型的開發(fā)和驗(yàn)證(對(duì)于DO-178C和DO-278A的補(bǔ)充)》[2],進(jìn)一步細(xì)化了對(duì)應(yīng)用MBD技術(shù)開發(fā)的機(jī)載軟件的目標(biāo)要求。美國聯(lián)邦航空局(Federal Aviation Administration,簡稱FAA)在2013年通過發(fā)布咨詢通告的形式,中國民用航空管理局(簡稱CAAC)通過發(fā)布問題紀(jì)要的形式,先后認(rèn)可了DO-178C和DO-331作為局方可接受的機(jī)載軟件對(duì)適航審定基礎(chǔ)的符合性方法。MBD技術(shù)在國外已發(fā)展多年,已經(jīng)在該技術(shù)的應(yīng)用和支持工具的開發(fā)方面積累了較豐富的經(jīng)驗(yàn)。而國內(nèi)的MBD技術(shù)尚處在起步階段,目前只有為數(shù)不多的研究所做了初步嘗試,在適航符合性驗(yàn)證方面的經(jīng)驗(yàn)欠缺。
民用飛機(jī)機(jī)載系統(tǒng)中,嵌入式機(jī)載軟件的占比正穩(wěn)步提高并日趨復(fù)雜。軟件開發(fā)的成本既包括設(shè)計(jì)和編碼的成本,也包括驗(yàn)證的成本。傳統(tǒng)方式設(shè)計(jì)的商用軟件中每百萬行代碼中約有100個(gè)缺陷,通常缺陷中的20%是驗(yàn)證等級(jí)的,1%是災(zāi)難等級(jí)的。相對(duì)于商用軟件,安全關(guān)鍵系統(tǒng)的軟件缺陷可能會(huì)少一個(gè)數(shù)量級(jí),即每百萬行代碼中約有20個(gè),因此,在安全關(guān)鍵系統(tǒng)的軟件中,每百萬行代碼中平均每5個(gè)缺陷中就至少有1個(gè)是嚴(yán)重的。由于安全關(guān)鍵系統(tǒng)的生命周期可能會(huì)持續(xù)幾十年,考慮到后期的維護(hù)、改造和升級(jí)費(fèi)用,傳統(tǒng)方式設(shè)計(jì)的軟件成本幾乎不可控。MBD技術(shù)既能夠保證系統(tǒng)安全性,又能適當(dāng)降低設(shè)計(jì)的復(fù)雜度,并在項(xiàng)目早期發(fā)現(xiàn)軟件缺陷,從而降低開發(fā)成本。
目前國內(nèi)外主流的民用飛機(jī)研發(fā)模式采用“主制造商-供應(yīng)商”的模式,即由供應(yīng)商提供機(jī)體結(jié)構(gòu)和機(jī)載設(shè)備/系統(tǒng),主制造商負(fù)責(zé)集成。
大型民用飛機(jī)的審定基礎(chǔ)為CCAR 25部,其中機(jī)載軟件作為機(jī)載設(shè)備產(chǎn)品的一部分,相關(guān)的適航條款為CCAR25.1301和CCAR25.1309。2013年,F(xiàn)AA發(fā)布咨詢通告AC20-115C,認(rèn)可DO-178C及其補(bǔ)充標(biāo)準(zhǔn)作為相關(guān)適航規(guī)章的符合性方法。CAAC目前雖然尚未認(rèn)可DO-178C作為符合性方法,但DO-178C及其補(bǔ)充標(biāo)準(zhǔn)中的部分要求以問題紀(jì)要的形式在某型客機(jī)項(xiàng)目上提出,并在機(jī)載軟件研制過程中貫徹[3,5]。
為了評(píng)估機(jī)載軟件研制過程對(duì)DO-178C及其補(bǔ)充標(biāo)準(zhǔn)、適用的問題紀(jì)要的符合性,審查方通常要對(duì)機(jī)載軟件研制過程進(jìn)行階段適航符合性評(píng)審。FAA Order 8110.49 Chg1[6]將適航符合性評(píng)審分為以下四個(gè)階段:
1)軟件計(jì)劃評(píng)審(SOI#1):軟件計(jì)劃評(píng)審的目的是評(píng)估軟件的計(jì)劃和標(biāo)準(zhǔn)是否滿足DO-178C的要求并且按照研制過程的要求進(jìn)行了內(nèi)部評(píng)審和構(gòu)型管理,以及質(zhì)量保證人員對(duì)軟件計(jì)劃過程的監(jiān)控。軟件計(jì)劃評(píng)審中,審查方還需評(píng)估當(dāng)軟件研制過程遵循軟件計(jì)劃和標(biāo)準(zhǔn)時(shí),是否能滿足DO-178C及其他適航要求;
2)軟件開發(fā)評(píng)審(SOI#2):軟件開發(fā)過程包括軟件需求、設(shè)計(jì)、編碼和集成過程以及對(duì)應(yīng)的軟件驗(yàn)證、構(gòu)型管理、質(zhì)量保證和適航聯(lián)絡(luò)等整體過程。軟件開發(fā)評(píng)審的目的是評(píng)審上述過程的輸出,以評(píng)估軟件計(jì)劃和標(biāo)準(zhǔn)在開發(fā)過程中的貫徹程度,以及輸出對(duì)DO-178C及其他適航要求的符合性;
3)軟件驗(yàn)證評(píng)審(SOI#3):軟件驗(yàn)證過程包括評(píng)審、分析、測(cè)試等活動(dòng)以及對(duì)應(yīng)的軟件驗(yàn)證、構(gòu)型管理、質(zhì)量保證和適航聯(lián)絡(luò)等整體過程。軟件驗(yàn)證評(píng)審的目的是評(píng)估上述過程的輸出,以評(píng)估軟件計(jì)劃和標(biāo)準(zhǔn)在驗(yàn)證過程中的貫徹程度,確保軟件的需求、設(shè)計(jì)、編碼進(jìn)行了充分的驗(yàn)證,測(cè)試結(jié)果進(jìn)行了評(píng)審和分析;
4)軟件最終評(píng)審(SOI#4):軟件最終評(píng)審是針對(duì)用于系統(tǒng)/設(shè)備審定的軟件構(gòu)型,確保軟件生命周期過程完整,遵循了被批準(zhǔn)的軟件計(jì)劃和標(biāo)準(zhǔn),符合DO-178C及其他適航要求。同時(shí),還要對(duì)SCI、SAS以及質(zhì)量符合性評(píng)審記錄進(jìn)行評(píng)審。
根據(jù)適航審定當(dāng)局制定的適航符合性介入審查要求,民機(jī)主制造商應(yīng)定義相應(yīng)的工程監(jiān)控過程,以國內(nèi)某型飛機(jī)研制為例,可在軟件生命周期過程中劃分4次~5次工程監(jiān)控活動(dòng),由主制造商檢查供應(yīng)商的軟件研發(fā)過程、活動(dòng)和輸出物是否符合適航要求。工程監(jiān)控活動(dòng)包括計(jì)劃階段評(píng)審、設(shè)計(jì)開發(fā)階段評(píng)審、測(cè)試階段評(píng)審和最終階段評(píng)審,其中設(shè)計(jì)開發(fā)階段可分為初步設(shè)計(jì)評(píng)審和詳細(xì)設(shè)計(jì)評(píng)審兩個(gè)階段,分別檢查軟件的高級(jí)別需求和低級(jí)別需求。
民用飛機(jī)機(jī)載軟件采用RTCA/DO-178C作為符合性方法,主制造商可對(duì)供應(yīng)商的軟件研制過程進(jìn)行一系列的工程評(píng)審,以監(jiān)控供應(yīng)商的軟件研制過程對(duì)RTCA/DO-178C中目標(biāo)的符合性。這些工程評(píng)審活動(dòng)可包含軟件計(jì)劃階段評(píng)審(Planning Process Review)、軟件初步設(shè)計(jì)評(píng)審(Preliminary Design Review)、軟件詳細(xì)設(shè)計(jì)評(píng)審(Critical Design Review)、軟件測(cè)試就緒評(píng)審(Test Readiness Review)和軟件符合性評(píng)審(Software Conformity Review,簡稱SCR)等。設(shè)計(jì)評(píng)審的介入由主制造商來決定,可以定義比上述評(píng)審活動(dòng)更多的介入點(diǎn),也可以定義更少的介入點(diǎn),主要根據(jù)項(xiàng)目特點(diǎn)和工程監(jiān)控的程度決定。主制造商對(duì)機(jī)載軟件供應(yīng)商的工程監(jiān)控活動(dòng),不是適航符合性規(guī)章的要求,而是主制造商為控制項(xiàng)目風(fēng)險(xiǎn)對(duì)供應(yīng)商進(jìn)行的技術(shù)監(jiān)控[7]。
MBD軟件除滿足RTCA/DO-178C計(jì)劃階段要求外,還應(yīng)滿足DO-331中的目標(biāo)A1.5要求(見表1),需要編制軟件模型標(biāo)準(zhǔn),規(guī)范機(jī)載軟件建模準(zhǔn)則、方法、工具、流程等[4,8]。軟件計(jì)劃階段還應(yīng)該滿足下列要求:
表1 MBD軟件計(jì)劃過程要求
1)在軟件計(jì)劃文件中清晰地描述了哪些軟件模塊采用基于模型開發(fā)和驗(yàn)證技術(shù);
2)采用哪種模型(規(guī)范模型或設(shè)計(jì)模型)以及在什么需求層級(jí)上應(yīng)用;
3)與傳統(tǒng)開發(fā)的軟件模塊如何集成、接口如何驗(yàn)證;
4)采用哪些模型開發(fā)和驗(yàn)證工具,是否需要鑒定以及獲得的適航置信度;
5)對(duì)問題紀(jì)要或其它審定要求的符合性計(jì)劃。
MBD軟件應(yīng)滿足DO-178C開發(fā)階段要求外,還應(yīng)滿足目標(biāo)A2.MB8、A2.MB9和A2.MB10要求(見表2)。軟件開發(fā)階段還應(yīng)該滿足下列要求:
表2 MBD軟件開發(fā)過程要求
1)按照軟件計(jì)劃文件中描述開發(fā)軟件;
2)軟件模型經(jīng)過評(píng)審并正式受控;
3)軟件模型符合軟件建模標(biāo)準(zhǔn);
4)軟件模型和上層需求建立雙向追溯關(guān)系;
5)識(shí)別衍生模型(即無法與上層需求建立追溯關(guān)系);
6)軟件模型是否按照自動(dòng)生成代碼工具生成源代碼;
7)自動(dòng)生成代碼和手寫代碼是否完成集成活動(dòng);
8)模型開發(fā)工具鑒定活動(dòng)是否已經(jīng)完成。
在MBD軟件的驗(yàn)證過程中,除需滿足DO-178C驗(yàn)證階段要求外,還應(yīng)滿足DO-331中的目標(biāo)A3.MB8、A3.MB9、A3.MB10、A4.MB14、A4.MB15、A4.MB16、A7.MB10、A7.MB11和A7.MB12要求(見表3)。軟件驗(yàn)證階段還應(yīng)該滿足下列要求:
表3 MBD軟件驗(yàn)證過程要求
1)按照軟件計(jì)劃文件中的描述驗(yàn)證軟件;
2)軟件模型、測(cè)試用例/程序、測(cè)試結(jié)果建立了雙向追溯關(guān)系;
3)驗(yàn)證了衍生模型;
4)模型仿真活動(dòng)及仿真結(jié)果,模型覆蓋率分析結(jié)果;
5)完成了模型驗(yàn)證工具鑒定活動(dòng)。
MBD軟件構(gòu)型管理、質(zhì)量保證和審定聯(lián)絡(luò)過程與DO-178C要求一致,沒有額外目標(biāo)[9]。
軟件構(gòu)型管理過程貫穿整個(gè)軟件生命周期,主要目的是對(duì)軟件構(gòu)型項(xiàng)進(jìn)行標(biāo)識(shí)和控制。軟件構(gòu)型管理過程的主要活動(dòng)包括構(gòu)型標(biāo)識(shí)、基線和追溯性、問題報(bào)告/更改控制/更改評(píng)審、構(gòu)型紀(jì)實(shí)、歸檔/檢索/發(fā)布、軟件生命周期環(huán)境控制等幾個(gè)方面。軟件構(gòu)型管理過程的輸出主要是構(gòu)型管理記錄。
軟件質(zhì)量保證過程貫穿整個(gè)軟件生命周期,主要目的是通過質(zhì)量保證人員的評(píng)審、審核、目擊、檢查等方法確保軟件的實(shí)際研制過程遵循被批準(zhǔn)的軟件計(jì)劃和標(biāo)準(zhǔn)[10]。軟件質(zhì)量保證過程的輸出是質(zhì)量保證記錄。
對(duì)于使用了MBD技術(shù)開發(fā)機(jī)載軟件的供應(yīng)商,主制造商應(yīng)以DO-178C為基礎(chǔ),綜合考慮對(duì)DO-178C和DO-331中目標(biāo)的符合性。本文以民用飛機(jī)適航符合性過程為出發(fā)點(diǎn),通過機(jī)載軟件適航符合性驗(yàn)證過程引出主制造商對(duì)供應(yīng)商軟件的工程監(jiān)控,并基于MBD軟件相較于傳統(tǒng)機(jī)載軟件的特殊性,導(dǎo)入了對(duì)MBD軟件的工程監(jiān)控過程要求。本文總結(jié)的主制造商對(duì)MBD軟件供應(yīng)商的工程監(jiān)控過程要求,對(duì)國內(nèi)民機(jī)主制造商在處理使用MBD技術(shù)開發(fā)機(jī)載設(shè)備/系統(tǒng)的嵌入式軟件的適航符合性驗(yàn)證活動(dòng)時(shí)具有參考價(jià)值。