張 航 曹睿婷 楊帆 楊宏
(中航工業(yè)自控所,陜西 西安 710065)
民機機載軟硬件過程對比分析及系統(tǒng)設(shè)計思考
張 航 曹睿婷 楊帆 楊宏
(中航工業(yè)自控所,陜西 西安 710065)
從標(biāo)準(zhǔn)本身出發(fā),選取重點過程,橫向比較DO-178B和DO-254 兩份標(biāo)準(zhǔn)在設(shè)計保證等級C級層面的主要差異點,并對兩份標(biāo)準(zhǔn)中的重點差異方面進行分析,最后提出了系統(tǒng)總體設(shè)計時應(yīng)考慮的方面。
民機;機載軟硬件;DO-178B;DO-254
近年來,隨著可編程邏輯器件等硬件技術(shù)的不斷發(fā)展,在開發(fā)成本和研發(fā)周期的優(yōu)勢下,硬件技術(shù)越來越多地應(yīng)用于機載系統(tǒng)的開發(fā)中。例如,波音公司在B787飛機設(shè)計中,將飛控系統(tǒng)伺服監(jiān)控的部分功能放在了遠程電子單元REU的硬件FPGA中進行實現(xiàn)。
其實,上述實例中將軟件功能通過硬件邏輯器件實現(xiàn)的現(xiàn)象,實際上是由于民機軟硬件的研制指南DO-178B《機載系統(tǒng)設(shè)備適航審定的軟件考慮》(以下簡稱DO-178B)和DO-254《機載復(fù)雜硬件設(shè)計保證指南》(以下簡稱DO-254)中的要求不一致所造成的,并且已經(jīng)引起了多方的關(guān)注。Honeywell公司早在2001年DO-254頒布不久,就已經(jīng)組織相關(guān)軟硬件專家對DO-178B和DO-254 執(zhí)行過程中的不一致進行分析,并已經(jīng)指導(dǎo)系統(tǒng)工程師應(yīng)用于后續(xù)的系統(tǒng)架構(gòu)設(shè)計中。同時,歐洲適航局EASA近年來也收到了很多公司和個人有關(guān)DO-178B應(yīng)用的咨詢,其中相當(dāng)大一部分是咨詢有關(guān)軟件開發(fā)指南DO-178B和硬件開發(fā)指南DO-254相關(guān)要求不一致的問題。
在EASA網(wǎng)站公布的問題答疑文件中,“Koch AvionicCert”公司曾咨詢:“DO-178B和DO-254工具鑒定的要求不一致。DO-254的 D級硬件沒有工具鑒定的要求。基于安全性的考慮,這些差異很難以理解。”就此問題,EASA答復(fù):“EASA已經(jīng)注意到這些相關(guān)的問題,EASA目前并無意愿去更改相關(guān)指南?!?/p>
在上述背景下,近期EASA也委托AIS宇航國際服務(wù)公司,對上述問題進行分析。從標(biāo)準(zhǔn)層面研究能否通過將部分軟件功能在硬件平臺上實現(xiàn),也就是使用DO-254的審查方法來替換DO-178B,可以實現(xiàn)審查工作量的減少。
1.1 DO-178B概述
DO-178B的目的是為機載系統(tǒng)和設(shè)備的軟件制造提供指南。上述指南以下列形式存在:
● 軟件生命周期活動的目標(biāo);
● 為了滿足這些目標(biāo)而產(chǎn)生的一系列活動的描述和設(shè)計考慮;
● 目標(biāo)被滿足的證據(jù)的描述。
DO-178B包含了下列6個生命周期過程,具體如下。
● 軟件計劃過程:涵蓋軟件合格審定方面和開發(fā)/驗證/構(gòu)型管理/質(zhì)量保證的計劃;
● 軟件開發(fā)過程:涵蓋需求、設(shè)計、編碼和集成部分;
● 軟件驗證過程:將驗證作為評審、分析和測試的組合;
● 軟件構(gòu)型管理過程:涵蓋構(gòu)型項的辨識,基線和追溯性的建立,問題報告和更改評審的完成,軟件歸檔和軟件環(huán)境管理;
● 軟件質(zhì)量保證過程:確保在生命周期過程中沒有偏離;
● 適航聯(lián)絡(luò)過程:在整個軟件生存周期中在申請人和審定機構(gòu)之間建立通信和相互了解,以促進合格審定過程。
1.2 DO-254概述
DO-254為復(fù)雜電子硬件的生產(chǎn)制造提供指南,目的是在滿足適航要求的基礎(chǔ)上交付一定置信度等級的復(fù)雜電子硬件產(chǎn)品。該指南由硬件生命周期過程的目標(biāo),設(shè)計考慮和滿足該目標(biāo)的活動描述,以及滿足上述目標(biāo)的證據(jù)描述組成。
DO-254適用但不局限于下列硬件:現(xiàn)場可更換單元(LRUs)、電路板組件、通用微代碼部件、集成元器件和貨架產(chǎn)品部件。
DO-254的組成與DO-178B類似,也包含了類似DO-178B的6個生命周期過程。
2.1 總體比較
從總體上來分析,兩份標(biāo)準(zhǔn)都包含了3類基本的過程:計劃過程、開發(fā)過程和支持過程(包含驗證,構(gòu)型管理,質(zhì)量保證和適航聯(lián)絡(luò)過程)。兩份標(biāo)準(zhǔn)的主要共性如下:
● 詳細的計劃過程;
● 都具有5種不同的開發(fā)等級;
● 追溯到詳細的上級需求;
● 全面覆蓋的測試要求;
● “由不符合到符合”的審查。
其主要不同之處體現(xiàn)在適用范圍上,DO-178B的對象為機載設(shè)備CPU中運行的軟件程序,而DO-254面向硬件可編程邏輯器件(如PLD、ASIC、FPGA)上的硬件語言。
DO-178B與DO-254類似,均是“目標(biāo)”引導(dǎo)的指南性標(biāo)準(zhǔn)規(guī)范。對于兩份標(biāo)準(zhǔn)來說,“目標(biāo)”比“方法”更本質(zhì)、更穩(wěn)定。達成目標(biāo)的方法可能會不盡相同,但是目標(biāo)本身是不會改變的。因此,兩標(biāo)準(zhǔn)強調(diào)的是一種目標(biāo)導(dǎo)向的做法。
● 要求給出明確的功能和性能目標(biāo);
● 要求給出驗證這些目標(biāo)的方式;
● 要求給出達成目標(biāo)的指標(biāo)及證明。
2.2 差異性分析
為了更深入地比較兩份標(biāo)準(zhǔn)的差異,這里將主要以設(shè)計保證等級C級的軟件和硬件生命周期過程為出發(fā)點,從計劃過程、開發(fā)過程、驗證過程、構(gòu)型管理4個主要方面進行比較和分析。
2.2.1 計劃過程差異
計劃過程的主要目的是定義滿足系統(tǒng)需求和相關(guān)適航要求的軟件/硬件實現(xiàn)途徑。
表1將C級軟硬件計劃過程目標(biāo)進行對比,從過程目標(biāo)數(shù)量分析,C級軟件計劃過程要求比硬件計劃過程嚴格,增加了兩個過程目標(biāo),同時還要求定義過程的轉(zhuǎn)換標(biāo)準(zhǔn)、內(nèi)部關(guān)系和過程順序。
表2將C級軟硬件計劃過程的交付物進行對比,可看出硬件過程比軟件過程增加“硬件確認計劃”,其主要規(guī)劃了硬件級衍生需求的確認活動。C級軟件過程較之硬件過程還要求編制質(zhì)量保證計劃和軟件需求、設(shè)計和編碼標(biāo)準(zhǔn)。
2.2.2 開發(fā)過程對比
開發(fā)過程的主要目的是開發(fā)滿足系統(tǒng)相關(guān)需求的軟件/硬件部件。
表2同時將C級軟硬件開發(fā)過程交付物進行對比,可以看出C級軟件過程要求比硬件嚴格,除了各自的需求文檔,軟件開發(fā)過程還需要生成設(shè)計描述、源代碼和可執(zhí)行目標(biāo)代碼,且后兩份交付物還是1級控制類別(更加復(fù)雜的構(gòu)型管理過程)。
2.2.3 驗證過程對比
驗證過程的主要目的是確保軟硬件部件滿足相關(guān)設(shè)計需求和已生成的驗證計劃。
將C級軟硬件驗證過程的目標(biāo)數(shù)量進行對比,得到圖1。
圖1 C級軟硬件驗證過程的目標(biāo)對比
從過程目標(biāo)角度分析,C級軟件驗證過程目標(biāo)數(shù)量與硬件過程對比差別懸殊,這主要是由于DO-178B將軟件的驗證過程分配到了軟件設(shè)計的4個子過程(需求、設(shè)計、編碼、集成)。除此之外,DO-178B對于驗證過程本身也提出了具體要求。
以DO-178B中對于測試覆蓋率的要求為例進行詳述,測試覆蓋率需滿足表3中的具體要求。
(1)D級軟件測試要求:需求覆蓋
對于D級軟件測試來說,需要保證測試基礎(chǔ)與測試用例間的追溯性,也就是需要確認測試用例100%的覆蓋到設(shè)計需求。
(2)C級軟件測試要求:語句覆蓋
表1 C級軟硬件計劃過程目標(biāo)對比
表2 C級軟硬件計劃過程、開發(fā)過程交付物對比
表3 DO-178B中對于測試覆蓋率的要求
對于C級軟件測試來說,需要達到100%的語句覆蓋的要求。以圖2左半部分的程序為例,如果把每一行語句作為一個節(jié)點,可以生成中間部分的程序流程圖,要達到100%的語句覆蓋,至少需要圖中右下角的兩條語句。
圖2 語句覆蓋的要求
(3)B級軟件測試要求:判定覆蓋的要求
對于B級軟件測試來說,需要達到100%的判定覆蓋的要求(Decision Coverage)。判定覆蓋是指測試需要覆蓋所有可能的輸出結(jié)果,也就是true (value 1) 或false (value 0)。如果以一條簡單的邏輯(A and(B or C))為例,則需要生成如表4的兩條用例,才能滿足B級軟件判定覆蓋的要求。
(4)A級軟件測試要求:修改條件/判定覆蓋 MC/DC
對于A級軟件測試來說,需要達到100%的修改條件/判定覆蓋的要求(Modified Condition / Decision Coverage)。判定覆蓋是指一個程序中,一種輸入輸出至少出現(xiàn)一次,在程序中每一個條件必須產(chǎn)生所有可能的輸出結(jié)果至少一次,并且每一個判定中的每一個條件必須能夠獨立影響一個判定的輸出,即在其他條件不變的前提下僅改變這個條件的值,而使判定結(jié)果改變。如果以相同的邏輯(A and(B or C))為例,則需要生成如表5的6條用例,才能滿足A級軟件判定覆蓋的要求。
表4 判定覆蓋DC的覆蓋率要求
然而從DO-254中可以看到,硬件語言還沒有形成上述具體分級別的驗證覆蓋率要求,在許多情況下,它取決于DER(委任工程代表)或者認證機構(gòu)來決定。目前通常要求需求覆蓋和語句覆蓋,偶有特別要求做到了判定覆蓋。但是,軟件和硬件語言是明顯不同的,其覆蓋率機制和指標(biāo)也是不盡相同的。
表5 MC/DC的覆蓋率要求
2.2.4 構(gòu)型管理過程對比
構(gòu)型管理過程的主要目的是確保構(gòu)型項的更改和管理始終在受控制的狀態(tài)。DO-178B和DO-254規(guī)定了兩種構(gòu)型管理狀態(tài):1級構(gòu)型管理(CC1/ HC1)和2級構(gòu)型管理(CC2/HC2),其中1級構(gòu)型管理主要針對受控嚴格的重要文件,較為復(fù)雜。與DO-178B相比,DO-254中的1級構(gòu)型管理活動缺少“更改評估”和“構(gòu)型狀態(tài)記錄”兩個活動。
更改評估的主要目標(biāo)是確保所有的問題和更改均已被評估、批準(zhǔn)或否決。批準(zhǔn)的更改確保執(zhí)行,且通過問題報告和相關(guān)更改控制方法報告受影響的相關(guān)過程。構(gòu)型狀態(tài)記錄的主要目標(biāo)是為構(gòu)型管理活動提供關(guān)于構(gòu)型辨識、基線、問題報告、更改歷史和更改控制的數(shù)據(jù)。
2.2.5 C級軟硬件總體過程對比
“目標(biāo)”是DO-178B和DO-254的基礎(chǔ),是必須滿足的最低要求。將C級的軟硬件過程目標(biāo)數(shù)量進行對比分析,可得表6。
表6 C級軟硬件生命周期過程目標(biāo)數(shù)量
從表中可以看到,C級軟件的總體目標(biāo)數(shù)量為55個,C級硬件目標(biāo)數(shù)量為31個,同時可以看出,C級軟件質(zhì)量保證過程的兩個目標(biāo)還需要進行獨立驗證。
經(jīng)過上述針對DO-178B和DO-254的對比可以發(fā)現(xiàn),民機機載軟硬件研制過程在以下幾個方面要求有較大的差異。
過程目標(biāo)數(shù)量及要求;
交付物數(shù)量;
驗證過程要求及復(fù)雜程度;
1級構(gòu)型管理活動。
基于上述差異,建議系統(tǒng)工程師在系統(tǒng)總體設(shè)計過程中,尤其是架構(gòu)分配時考慮如下原則:
同等條件,硬件優(yōu)先。
在民機系統(tǒng)設(shè)計中,在可行性相同的條件下,對于成熟的功能模塊,盡量采用硬件實現(xiàn)。
復(fù)雜功能,軟件復(fù)用。
盡量復(fù)用已經(jīng)成熟的、經(jīng)適航驗證和審核過的模塊,可大大減少開發(fā)、驗證、適航認證的成本。
新研功能,模塊劃分。
對于復(fù)雜系統(tǒng)功能設(shè)計必須采用軟件實現(xiàn)時,應(yīng)充分考慮今后的可復(fù)用性,從系統(tǒng)級就應(yīng)開始考慮軟件的模塊化設(shè)計。成熟模塊可復(fù)用至后續(xù)型號,減少開發(fā)和適航成本,同時將相同設(shè)計保證等級的軟件模塊一同處理考慮,避免了驗證和認證的復(fù)雜性。
[1] DO-178B. Software Considerations in Airborne Systems and Equipment Certification [S]. Washington, D. C: RTCA. Issued 12-1-92.
[2] DO-254. Design Assurance Guidance for Airborne Electronic Hardware [S]. Washington, D. C.: RTCA. Issued 4-19-00.
[3] EASA. FAQS file for the software certification standard [DB/OL]. CM-SWCEH-002 Issue 1 – Software Aspects of Certification – Comment Response Document. http://www.easa.eu.int/.
[4] DO-178B / DO-254 deliverables templates content summary [DB/OL]. http://www.faaconsultants. com/.
(編輯:雨晴)
V271
C
1003–6660(2014)04–0053–04
10.13237/j.cnki.asq.2014.04.014
[收修訂稿日期] 2014-04-02