張雅妮, 李巖, 李小勛
(中航工業(yè)綜合技術研究所 適航性與安全性技術研究室, 北京 100028)
基于SCADE的飛控軟件的適航驗證與確認
張雅妮, 李巖, 李小勛
(中航工業(yè)綜合技術研究所 適航性與安全性技術研究室, 北京 100028)
中國民用航空規(guī)章第25部對機載軟件提出了適航要求,DO178B是對適航要求的符合性方法,但其中一些驗證和確認目標并不適用于基于SCADE的軟件驗證。為此,分析了飛控軟件的適航要求和符合性方法,并對基于SCADE的飛控軟件的開發(fā)流程和傳統(tǒng)的開發(fā)流程進行了分析對比,對基于SCADE的飛控軟件的適航驗證與確認工作提出了建議。
飛控軟件; SCADE; 適航驗證與確認; DO178B
飛控系統(tǒng)軟件屬于高安全性軟件,對其最關鍵的要求是高安全性和高可靠性。SCADE(Safety-Critical Application Development Environment)是一個高安全性的基于模型的應用開發(fā)環(huán)境。在該環(huán)境下,通過構建直觀的圖形化模型生成形式化的規(guī)范,而代碼生成器將形式化的規(guī)范自動轉化為直接面向工程的代碼。
中國民用航空規(guī)章第25部《運輸類飛機適航標準》包含了對機載軟件的適航要求,RTCA/DO178B《機載系統(tǒng)和設備合格審定中對軟件的要求》是25部中對機載軟件的適航要求的符合性方法,該標準提出了對機載系統(tǒng)和設備軟件開發(fā)過程的要求,但是,其中某些驗證和確認目標并不適用基于SCADE軟件開發(fā)中對形式化規(guī)范的驗證。
本文分析了基于模型的軟件開發(fā)模式以及對飛控軟件的適航要求,提出了基于SCADE的飛控軟件的適航驗證思路和方法,解決了現(xiàn)有RTCA/DO178B不適用基于SCADE開發(fā)的飛控軟件適航驗證的問題,對于當前采用這一現(xiàn)代軟件開發(fā)方法的飛機的適航驗證具有參考意義。
飛控系統(tǒng)軟件是飛控系統(tǒng)的核心,是飛控系統(tǒng)功能實現(xiàn)和保證飛行安全的關鍵。一般來說,飛控軟件按其功能可分為操作系統(tǒng)軟件、應用軟件和支持軟件。其中,操作系統(tǒng)軟件的作用是管理協(xié)調飛控計算機的硬件資源、合理調度各速率組任務,為應用軟件提供運行平臺。應用軟件是飛控系統(tǒng)功能的集中體現(xiàn),用于實現(xiàn)飛控系統(tǒng)控制律的計算、余度管理、機內自檢測等功能。而支持軟件包括了開發(fā)應用軟件、操作軟件所必須的工具軟件[1]。
隨著數(shù)字電傳飛控技術的發(fā)展,飛控軟件在飛控系統(tǒng)功能實現(xiàn)以及飛機的性能品質中發(fā)揮的作用越來越大,飛控軟件的開發(fā)成為飛控系統(tǒng)的設計難點之一。
2.1 傳統(tǒng)的軟件開發(fā)模式
傳統(tǒng)的軟件開發(fā)流程是一個V型開發(fā)流程,如圖1所示。軟件開發(fā)中所有的工作都是以手工編碼和以代碼為中心而開展的。整個軟件開發(fā)中的核心是軟件編碼,設計過程中所做的規(guī)范設計(需求分析)、概要設計、詳細設計都是為了下一步的編碼。而對代碼的單元測試、集成測試、軟件產品確認都是為了驗證代碼的正確性。
圖1 傳統(tǒng)軟件開發(fā)的V型開發(fā)流程
傳統(tǒng)的軟件開發(fā)流程主要存在以下不足:
(1) 軟件設計階段中的概要設計、詳細設計都是以手工方式進行,通過自然語言表達設計結果,容易產生語義上的歧義,不能保證能夠正確體現(xiàn)規(guī)范要求。
(2) 在軟件開發(fā)完成甚至定型以后才發(fā)現(xiàn)錯誤,修改工作困難大。
(3) 需要對每個單元進行單元測試,驗證工作量大。
(4) 手工編碼工作量大,可靠性低。
(5) 軟件開發(fā)周期長,開發(fā)成本高。
2.2 基于模型的軟件開發(fā)模式
SCADE軟件是法國愛斯特爾技術公司的一個主要產品[2],基于SCADE的軟件開發(fā)流程是一個基于模型的Y型開發(fā)流程,如圖2所示。
圖2 基于模型的Y型開發(fā)流程
圖2中,從“FCS(Flight Control System)研究”到“模型”這一過程,是建立SCADE模型的過程。在該過程中,通過構建直觀的圖形化模型,實現(xiàn)了需求分析、概要設計和詳細設計,該過程是傳統(tǒng)開發(fā)模式中的“規(guī)范”和“設計”過程的融合。模型表達比傳統(tǒng)開發(fā)模式采用的自然語言更能準確地表明設計需求,保證了建立的模型與需求的一致性。并且可以直接對模型進行早期模擬仿真和證明,在軟件開發(fā)的早期階段發(fā)現(xiàn)錯誤。建立的SCADE圖形化模型包含了軟件將實現(xiàn)的所有規(guī)范要求,可以將其視為SCADE形式化功能規(guī)范。
建模之后需要對模型進行確認,在SCADE開發(fā)環(huán)境下可以對模型自動生成測試,在模型階段對建立的模型進行單元測試和集成測試,確認模型是否正確、完整地體現(xiàn)了其上層規(guī)范的需求。
在對模型進行確認后,使用通過了國際標準DO178B質量認證的SCADE的代碼生成器,可以將所建立的模型自動轉化為直接面向工程的ANSIC代碼,簡化了開發(fā)模式中的“編碼”過程,并且避免了傳統(tǒng)開發(fā)模式中手工編寫代碼引入的人工錯誤,提高了軟件的可靠性。此外,無需對所生成的代碼進行單元測試,節(jié)省了開發(fā)時間,提高了開發(fā)效率。
因此,基于SCADE進行軟件開發(fā),使軟件開發(fā)模式實現(xiàn)了從V型到Y型的轉化。
3.1 25部適航要求
中國民用航空規(guī)章第25部《運輸類飛機適航標準》是中國民航局對運輸類飛機的適航審定標準,其中的25.1309條款“設備、系統(tǒng)及安裝”對機載設備的適航性作出了總體要求。該條款要求,系統(tǒng)及其安裝必須保證在各種可預期的運行條件下能完成其預定功能。該條款所指的設備和系統(tǒng)包括了所有含有軟件的機載設備和系統(tǒng),而軟件功能的失效將直接導致這類設備和系統(tǒng)的功能失效,從而可能會影響飛機的適航性。
3.2 飛控軟件適航要求的符合性方法
ARP4754《關于高度綜合或復雜的飛機系統(tǒng)的合格審定考慮》是按美國FAR25部和歐洲JAR25部制定的,在滿足ARP4754標準的前提下,研制的系統(tǒng)可以符合 25部25.1309條款適航要求。該標準主要適用于復雜和高度集成的電子系統(tǒng),也適用于其它飛機系統(tǒng)。該標準要求,對于系統(tǒng)軟件,應滿足RTCA的DO178B的要求,硬件應滿足RTCA的DO254的要求。
RTCA和EUROCAE于1992年發(fā)布了機載軟件標準RTCA/DO178B,該標準給出了對航空系統(tǒng)和設備上的嵌入式軟件開發(fā)過程的要求,旨在保證開發(fā)的軟件在功能上正確,在安全上可信,并能滿足適航要求。在滿足DO178B標準的前提下,可以高度提高軟件的開發(fā)效率和軟件產品的安全性。
DO178B中對確認和驗證的定義如下:
確認:確定對產品的要求(產品規(guī)范)完整且正確。
驗證:對要求的執(zhí)行情況予以評估,評估這些要求是否得以實現(xiàn)。
但是,DO178B中某些驗證和確認目標(如覆蓋準則)并不適用于SCADE軟件開發(fā)中的形式化規(guī)范的驗證,因此, 針對SCADE軟件開發(fā)具體流程和飛控軟件的特點,結合飛控軟件的適航要求、ARP4754和DO178B標準要求,建議對使用SCADE開發(fā)的飛控軟件的適航驗證工作按照以下三個步驟進行。
4.1 對SCADE模型的上層規(guī)范的確認
SCADE圖形化模型的上層規(guī)范應包含了SCADE圖形化模型中的所有需求,應包括飛控系統(tǒng)和系統(tǒng)設備級的詳細功能目標文件、控制律性能規(guī)范、控制律說明文件。
通過評審以及駕駛員在回路的飛行模擬器控制律性能試驗對控制律性能規(guī)范進行確認,對詳細功能目標文件和控制律說明文件進行評審。
4.2 對SCADE圖形化模型的確認
將模型轉化為代碼的代碼生成器通過了DO178B認證,能夠保證生成代碼的準確性和可靠性。因此,對SCADE圖形化模型的確認是適航驗證的重要內容,保證所建立的SCADE圖形化模型的完整性、正確性和無歧義,則能保證最終生成代碼的正確性。
對所建立的SCADE圖形化模型的確認需要對SCADE模型要實現(xiàn)的功能進行分析,并對系統(tǒng)/設備詳細功能目標和控制律說明中的所有功能進行試驗驗證。試驗內容如下:對于軟件要實現(xiàn)的飛控系統(tǒng)功能,根據(jù)詳細功能目標中的要求確定功能試驗方案;對于軟件要實現(xiàn)的飛控系統(tǒng)控制律,根據(jù)控制律性能規(guī)范和控制律說明文件確定控制律試驗方案;進行系統(tǒng)和控制律綜合試驗;根據(jù)功能危險分析、詳細功能目標文件和控制律性能規(guī)范制定功能失效試驗。
(1)工作第一目標:確認模型符合ARP4754第7章要求
①確認模型的完整性和正確性
為了保證SCADE圖形化模型的完整性和正確性,對其主要進行以下方面的確認:SCADE模型庫規(guī)范對每個基本模型單元有明確說明,并對于每個軟件設計人員都是統(tǒng)一的;參照系統(tǒng)功能危險分析或系統(tǒng)安全性分析中的功能分解,對SCADE圖形化模型的功能進行分析;詳細功能目標需與軟件開發(fā)過程一致;制定SCADE圖形化模型中的參數(shù)命名規(guī)則;對SCADE圖形化模型和試驗計劃進行檢查;盡早對SCADE圖形化模型進行模擬仿真試驗和非回歸性試驗。
參考上層規(guī)范來確認SCADE圖形化模型的正確性,根據(jù)上層規(guī)范和SCADE圖形化模型的可追溯性來確認SCADE規(guī)范的完整性。另外,覆蓋率同樣體現(xiàn)了完整性。
當在SCADE模型中添加了不同層次的新功能或者對功能進行了修改,此時則需要進行非回歸性分析和試驗,確定所產生的不可逆的影響,并采取相應的措施。
②確認上層規(guī)范和SCADE圖形化模型的可追溯性
通過系統(tǒng)/設備詳細功能目標文件(包括飛行品質功能目標)和控制律說明文件來保證上層規(guī)范和格式化規(guī)范的可追溯性。
(2)工作第二目標:確認模型符合ARP4754第8章要求
對飛控軟件的適航驗證與確認的第二目標是確認模型符合ARP4754第8章“對執(zhí)行的驗證”的要求,同時在模型的最低級確認模型覆蓋率(完整性)。對執(zhí)行的驗證的目的是為了確定建立模型的執(zhí)行程度是否滿足規(guī)定的要求,驗證過程的目標為[3]:確認預計功能被正確地執(zhí)行;滿足需求;保證執(zhí)行時安全性分析結果有效。
對于SCADE模型開展的試驗的可接受標準為:
①SCADE模型安全性的接受標準
對安全性分析所能達到的安全性目標進行說明。通過分析,根據(jù)SCADE模型基本功能可以得到失效圖。對安全性分析中的部分失效進行試驗,驗證失效產生的影響。
②SCADE模型其他方面的接受標準
根據(jù)系統(tǒng)功能特點進行試驗,應包括失效試驗、邊界試驗等。失效試驗需采用之前說明的試驗方法,另外還應保證試驗計劃與上層文件系統(tǒng)/設備詳細功能目標、控制律說明文件和功能危險分析的可追溯性。
③SCADE試驗結果的接受標準
試驗結果需符合試驗計劃的目標、功能危險分析中的安全性目標,以及載荷/氣動彈性目標、系統(tǒng)/設備詳細功能目標、控制律性能規(guī)范。
④結構覆蓋
開展以下工作以有助于結構覆蓋分析:重閱和評審SCADE模型;制定詳細的試驗說明,包括一些功能在結構上的分類(如邏輯、狀態(tài)轉換);結合功能安全性目標對復雜的邏輯或狀態(tài)轉換進行分析;在試驗人員制定試驗和進行試驗結果分析工作的初始階段,參考試驗計劃和SCADE模型。
4.3 軟件產品對于SCADE模型的符合性驗證
對飛控軟件的適航驗證與確認工作的第三目標是評估所建立的SCADE模型在軟件中的實現(xiàn)情況,確認已經滿足ARP4754第8章“對執(zhí)行的驗證”的要求。
通過第二步工作對SCADE模型進行確認后,代碼生成器將建立的模型自動轉化為直接面向工程的軟件。由飛控計算機、飛控裝置供應商進行飛控軟件的DO178B符合性證明,在型號主機單位的試驗環(huán)境下進行設備與系統(tǒng)的綜合實驗,包括實驗室試驗和飛行試驗,以驗證生成的軟件在系統(tǒng)或飛機設備上的綜合情況。
傳統(tǒng)的人工代碼開發(fā)流程已經不能滿足高安全性軟件的安全性和可靠性要求,基于模型的SCADE軟件是一個高安全性的軟件開發(fā)產品。適航規(guī)章25部包含了對機載軟件的適航性要求,RTCA/DO178B是對機載軟件適航性要求的符合性方法,但其中一些驗證目標并不適用于SCADE軟件開發(fā)技術。本文分析了機載軟件的適航性要求,對基于SCADE的飛控軟件的開發(fā)流程和傳統(tǒng)開發(fā)流程進行了對比分析,結合適航要求和ARP4754標準、DO178B標準要求以及基于SCADE的軟件開發(fā)流程特點,對SCADE開發(fā)的飛控軟件適航驗證工作提出了建議,對于國內采用這一先進軟件開發(fā)技術的飛機的適航工作具有參考意義。
[1] RTCA/DO178B RTCA/EUROCAE software considerations in airborne systems and equipment certification[S].RTCA Inc.,1992.
[2] SCADE reference manual [Z].Esterel Technologies,2003.
[3] ARP4754 Certification considerations for highly-integrated or complex aircraft systems [S].Society of Automotive Engineers,Inc.,1994.
AirworthinessvalidationandaccreditationforSCADE-basedflightcontrolsoftware
ZHANG Ya-ni, LI Yan, LI Xiao-xun
(Airworthiness and Safety Technology Research Department, China Aviation Polytechnology Establishment, Beijing 100028, China)
Flight control system software belongs to high safety software. The SCADE is a high safety product for flight control system software development. The SCADE has been successfully applied in development of flight control system software in some aircraft. The CCAR 25 contains airborne software airworthiness requirements, the DO178B is a compliance method for these requirements. But some validation and verification targets are not applicable for software validation developed by the SCADE. Airworthiness requirements and the compliance method are analyzed. Software development process with the SCADE and traditional software development process are compared. Airworthiness validation and accreditation methods for flight control system software developed with the SCADE are proposed.
flight control software; SCADE; airworthiness validation and accreditation; DO178B
2011-04-30;
2011-11-06
張雅妮(1981-),女,湖南邵陽人,工程師,博士,研究方向為適航性技術。
V249.1
A
1002-0853(2012)01-0034-04
(編輯:姚妙慧)