劉建軍+孟海寧
摘要: 為了支持航電系統可靠性分析評估過程的自動化,設計并實現了AADL可靠性分析工具RAT。以用例圖說明工具的功能需求,以活動圖說明工具的功能間交互流程。給出工具的功能模塊的劃分、部署及實現。通過對機載設備進行可靠性評估,驗證了該工具設計思路和方法是有效的,這為航電系統設計方案的檢驗與評估提供支持,也為系統滿足適航標準的開發過程和安全性目標提供證據。
關鍵詞: 航電系統; 結構分析與設計語言; 可靠性分析; 可靠性評估
中圖分類號: TN911?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2014)08?0065?04
Tool for reliability analysis of avionics system based on AADL
LIU Jian?jun1, MENG Hai?ning2
(1. Aeronautics Computing Technique Research Institute, Xian 710068, China;
2. College of Computer Science and Engineering, Xian University of Technology, Xian 710048, China)
Abstract: To support the process automation of reliability analysis and assessment for avionics system, an AADL reliability analysis tool (ARAT) was designed and implemented. The functional requirement for ARAT are illustrated with the use case diagram and the interactive process between two functions is described by the activity diagram. The deployment and implementation of the function modules in the tool are presented. The reliability of the airborne equipment is evaluated to demonstrate the effectiveness of design idea and method of ARAT, which provides a support for evaluating system design schema, and evidence for the development process and safety objectives to meet the airworthiness standards of avionics system.
Keywords: avionics system; AADL; reliability analysis; reliability assessment
0引言
隨著微電子技術和信息技術的發展,航電系統經歷了從模擬式系統向綜合化、智能化系統的巨大轉變,目前已經發展成為現代航空器中最為重要的子系統之一。眾所周知,飛機一旦發生故障就可能導致國家和人民生命財產的重大損失,因此,航空領域對相關系統的可靠性歷來都有著非常嚴格的要求[1]。此外,隨著航空電子系統規模和復雜度的迅速增長,綜合化和模塊化程度的日益提高,以及軟件在系統中所占比重的不斷增加,航電系統變成了一個規模龐大、邏輯復雜、軟硬件高度集成的系統,傳統的可靠性保證手段往往針對特定類型的硬件或者軟件。因此,如何保證航電系統的可靠性已經成為了一個備受關注的問題[2]。
可靠性分析為航電系統的結構進行可靠度與成本、功耗、重量的權衡提供了理論依據,同時為系統實現階段的軟件和硬件設計派生安全性需求提供了理論依據。在航電系統開發生命期的設計、實現與驗證階段,都有相關準則或標準規定了保障安全性目標的方法。如DO?178B[3]和DO?254[4]分別給出了開發系統的軟件和硬件滿足系統安全性目標的準則,而ARP4761[5]規定了系統開發的設計和驗證階段,實施安全性評估的過程和方法。
此外,隨著高度綜合化、高度數據融合的系統的發展,應用軟件發生了很大的變化,航電系統的規模越來越大、包含的部件也越來越多,分析可靠性單依靠手工計算已無法勝任,必須由計算機輔助進行分析。整個應用軟件系統分為多個大的綜合區,傳統中的“子系統”被集成到多個綜合區中。隨著系統復雜性不斷增加,為了避免整個系統綜合的不可預測性、易出錯性、費時費工,以及系統前期設計的一些缺陷問題,系統綜合人員需要一種快速的方法定性、定量地評估高層決策的效果。這就迫切需要一套支持綜合建模、分析、系統集成和驗證在一起的全面工具集。通過使用這套工具,能使復雜的嵌入式系統開發得更快、更便宜、更可預測。國內外正在積極地開發AADL[6]工具,推廣AADL的使用,如SEI開發的OSATE(the open source AADL tool environment)軟件[7]、Honeywell開發的MetaH工具集[8]。目前,國內外已有相對成熟的可靠性分析工具,在采用這些工具對AADL的結構模型進行可靠性分析時,需要系統設計人員花費大量時間,重新建立符合分析工具的可靠性模型,而不能繼承已有的設計模型信息。
AADL和各種高級分析工具結合使用,能提高資源的利用率和系統開發效率,并降低設計風險和開發成本[9]。可靠性分析工具是以AADL語言描述的系統結構模型為輸入,分析系統由于隨機到達的故障事件所引起的失效概率,并自動生成用于可靠性分析的故障樹(Fault Tree,FT)[10]或隨機Petri網(Stochastic Petri Net, SPN)等度量模型,使得系統設計人員在航電系統的安全評估過程中,能夠復用現有的系統模型,對最終系統的可靠性指標進行評估,從而更好地提高系統可靠性和保障系統安全性。
本文針對航電系統的特征,結合AADL系統結構模型和可靠性數據,不依賴系統中的最終實現,研究可靠性分析工具的設計方法、模型和理論,并對被測系統的可靠性進行定性和定量分析,最后計算給出系統可靠性指標。研究該AADL可靠性分析工具的目標是為系統設計方案的檢驗與評估提供支持,也為航電系統滿足適航標準的開發過程和安全性目標提供理論證據。
1ARAT工具需求分析
基于AADL的可靠性分析工具,即ARAT工具,能夠使系統設計人員在結構模型的基礎上,編輯基于AADL的可靠性分析模型,并根據可靠性分析模型進行SPN分析,進而給出計算結果。分析工具還需要對錯誤模型進行語義檢查和語法解析,以保證錯誤模型描述符合錯誤模型附件(Error Model Annex,EMA)[11]的元模型規約。因此,ARAT工具除具有編輯錯誤模型、編譯錯誤模型和生成報告的功能外,還需具備將基于AADL的可靠性分析模型自動轉換為SPN模型的功能。
圖1給出了ARAT工具的用例圖。分析工具的角色包括系統設計人員和SPNP(Stochastic Petri Net Package)[12]。系統設計人員建立可靠性分析模型并關注分析工具的結果;SPNP是一個輔助分析軟件,可靠性分析模型轉換到SPN模型后,分析SPN模型并輸出計算結果。ARAT工具的用例主要是模型編輯、模型轉換和報告生成。模型編輯用例可分為文本方式或圖形方式,編輯生成基于AADL的可靠性分析模型;模型轉換用例將通過語法和語義檢查,將可靠性分析模型轉換為可靠性度量模型。報告生成用例,允許系統設計人員設置分析工具輸出結果的報告形式和報告數據。
圖1 ARAT工具的用例圖
圖2給出了ARAT工具與角色的交互活動圖。首先模型編輯模塊生成可靠性分析模型,然后EMA和AADL編譯模塊檢查模型語義和語法的合法性;若可靠性分析模型通過檢查,則生成XML文件,存儲系統結構模型和錯誤模型信息,并命名為*.aaxl。之后,可靠性分析模型轉換生成由CSPL(基于C語言的隨機Petri網語言)描述的SPN模型的文件,作為SPNP軟件的輸入;SPNP軟件的計算輸出結果將存儲在多個文件中,其中*.out文件存儲系統設計人員要求的信息。
圖2 ARAT工具的活動圖
2ARAT工具設計與實現
2.1ARAT工具設計
ARAT工具是基于Eclipse平臺,并依賴于AADL核心開發環境的文本編輯器、編譯器和資源管理的插件。ARAT工具應用MDA(Model Driven Architecture)技術[13],將基于AADL的可靠性分析模型轉換為SPN模型,然后計算并輸出結果。圖3說明了ARAT工具的總體框架,圖中陰影部分表示該模塊有源代碼。模型存儲支持模塊用于說明模型轉換模塊和報告生成模塊,都通過該接口訪問可靠性分析模型。由于AADL的編譯器不支持AADL的模式轉換命名,同時EMA的編譯器也不支持模式轉換命名的應用與語法檢查,需構建新的AADL與EMA編譯模塊,從而保障ARAT工具的正常運行。文本編輯模塊復用AADL的文本編輯功能,編輯可靠性分析模型。
圖3 ARAT工具的框架
圖3中非陰影部分中,狀態監測模塊的主要功能是顯示可靠性分析的進程,可以實時給出ARAT工具當前運行任務。模型轉換規則庫為ARAT工具的模型轉換提供轉換規則。模型轉換模塊負責合并構件語義信息和與其相關聯的錯誤模型語義信息,生成基于AADL的可靠性模型,然后轉換為SPN模型,并存儲為CSPL描述的文件。SPNP運行軟件模塊主要負責SPNP運行環境的配置和SPNP線程的啟動。結果獲取模塊通過名稱變換規則的逆變換,從結果中提取表示錯誤狀態或故障事件的標識,將其映射為具體構件的錯誤狀態和故障事件。報告生成模塊獲取用戶的報告配置信息,生成可靠性分析報告,最終顯示系統模型的結構以及每個構件的可靠度。
2.2ARAT工具實現
基于Eclipse 3.2平臺和集成的OSATA 5.3平臺,實現ARAT工具,其應用過程如圖4所示。首先,ARAT工具讀取可靠性分析模型的存儲文件,判斷文件中是否缺失可靠性信息。若缺失信息,則提示有誤;否則,執行模型轉換功能,并生成CSPL文件。其次,通過SPNP編譯功能進一步判斷,模型中是否有缺失,若有缺失則提示有誤;否則說明SPNP能正常執行,輸出分析結果,生成分析報告。在模型轉換過程中,需首先解析系統結構模型,獲取最高層的根構件;然后獲取構件關聯的錯誤模型,解析錯誤模型并根據轉換規則生成CSPL_SPN的描述信息,并將該描述信息寫入CSPL文件中,最后先序遍歷系統結構,解析每個構件的錯誤模型。
圖4 ARAT工具應用流程圖
3測試結果與分析
ARAT工具的主要用于整個航電系統安全性評估過程中可靠性指標的分配與驗證,在最底層構件的故障事件發生概率已知的條件下,評估構件的可靠度。其應用步驟如下:
(1) 輸入基于AADL的可靠性分析模型,對包括4個無區別的通用功能模塊(CFM)的某機載設備數據處理模塊(DPM)進行可靠性分析,其中三個CFM同時運行,另一個CFM作為備份,如圖5所示。
(2) 利用ARAT工具編譯可靠性分析模型文件。
(3) 啟動ARAT工具的可靠性分析功能。啟動方式分為工具欄啟動和菜單項啟動,圖6顯示了工具欄啟動的方式。首先打開aaxl文件,在視圖區選取系統構件,點擊工具欄“可靠性分析”按鈕,然后ARAT工具對選中的構件及其子構件進行可靠性分析。
圖5 DPM的模式轉換及CFM的連接關系
圖6 工具欄啟動ARAT工具
(4) 輸入可靠性分析的時間參數和計算精度參數。其中,時間參數為目標構件指定可靠性度量的時間參數——構件工作時間(exposure time);計算精度參數說明用戶要求的分析精度。圖7給出了該ARAT工具參數輸入的對話框。
圖7 ARAT工具的參數輸入
(5) 生成分析報告。圖8顯示了在可靠性時間參數輸入為3 600 s,構件的SelfCheckedFault事件發生概率為10-4 s-1的條件下,ARAT工具的計算結果。圖中每個節點表示一個構件,上半部分顯示構件名稱,下半部分顯示構件的可靠度值。分析結果表明該系統運行1 h后,其組成模塊的可靠度均約為0.66,采用冗余加備份的可靠性策略,整個系統的可靠度達0.90左右。
圖8 可靠分析結果顯示
4結語
采用MDA技術,基于AADL的可靠性分析工具,能夠很好地與OSATE環境相融合,為系統設計人員提供模型結構選擇和權衡依據。本文以用例圖描述基于AADL的可靠性分析工具的功能需求,通過活動圖說明該工具功能之間的交互流程,然后對工具功能模塊進行劃分和部署,并描述了每個模塊的功能及其具體實現,最后通過對航空飛行控制系統機載設備的可靠性評估,驗證了該工具設計方法的有效性。進一步的工作包括:分析開源的TOPCASED圖形編輯方法,以便為基于AADL的可靠性分析模型提供圖形編輯方式;將可靠性分析模型轉換為故障樹規則;完善分析工具實現故障樹分析方法與SPN分析方法的自動轉換的研究。
參考文獻
[1] 涂澤中,雷迅,胡蓉.對新一代綜合航電系統發展的探討[J].航空電子技術,2001,32(4):11?18.
[2] 朱力立,李莊生,許宗澤.飛機綜合航電系統總體設計綜合評估方法[J].航空學報,2007,28(3):685?689.
[3] JOHNSON L A. DO?178B: software considerations in airborne systems and equipment certification [R]. USA: RTCA, 1992.
[4] RTCA. DO?254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real?time multi?processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real?Time Systems. [S.l.]: IEEE, 1997: 11?21.
[9] 董云衛,王廣仁, 張凡,等.AADL模型可靠性分析評估工具[J].軟件學報,2011,22(6):1252?1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault?tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291?307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006?06?19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003?06?01]. http://www.omg.org/cgi?bin/doc?omg.
[4] RTCA. DO?254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real?time multi?processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real?Time Systems. [S.l.]: IEEE, 1997: 11?21.
[9] 董云衛,王廣仁, 張凡,等.AADL模型可靠性分析評估工具[J].軟件學報,2011,22(6):1252?1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault?tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291?307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006?06?19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003?06?01]. http://www.omg.org/cgi?bin/doc?omg.
[4] RTCA. DO?254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real?time multi?processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real?Time Systems. [S.l.]: IEEE, 1997: 11?21.
[9] 董云衛,王廣仁, 張凡,等.AADL模型可靠性分析評估工具[J].軟件學報,2011,22(6):1252?1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault?tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291?307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006?06?19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003?06?01]. http://www.omg.org/cgi?bin/doc?omg.