萬鵬,李利
(中航工業(yè)洪都,江西南昌330024)
隨著計算機技術(shù)的發(fā)展,嵌入式系統(tǒng)在各個領(lǐng)域有著越來越廣泛的應(yīng)用,嵌入式軟件在產(chǎn)品中所占的比重迅速增大,軟件質(zhì)量保證也就顯得至關(guān)重要。因此,軟件質(zhì)量評估與控制方法成為亟待研究的課題。行業(yè)內(nèi)在運用硬件質(zhì)量控制基礎(chǔ)上,積極推進軟件質(zhì)量控制和軟件質(zhì)量測評方面的手段與條件建設(shè),以保證和提高產(chǎn)品的軟件質(zhì)量。GJB 2786A、GJB5000A、GJB 9001B均對軟件測試工作提出了明確要求,可見軟件測試工作在型號軟件研制中被越來越重視了。
軟硬件綜合設(shè)計技術(shù)在第三代教練機上得到廣泛的應(yīng)用,機載軟件實現(xiàn)了飛機的核心功能。目前機載軟件的研發(fā)模式,大多先進行系統(tǒng)設(shè)計,再開始進行硬件設(shè)計和硬件設(shè)備的調(diào)試和調(diào)試樣機的生產(chǎn),當(dāng)硬件設(shè)備達到交付狀態(tài)后,軟件研發(fā)人員再進行軟件的設(shè)計開發(fā)和調(diào)試,以及軟硬件集成測試和驗證,如圖1所示。由于嵌入式系統(tǒng)的軟件和硬件有很大的相關(guān)性,軟件功能驗證依賴于接口交聯(lián)的諸多產(chǎn)品,導(dǎo)致嵌入式軟件在開發(fā)及驗證中主要存在如下問題:
1)嵌入式軟件開發(fā)需要等待硬件設(shè)備的開發(fā)和調(diào)試,只有提交出可用的硬件設(shè)備后才可開展和硬件緊密相關(guān)的軟件的開發(fā),導(dǎo)致整個項目的周期拖長;
2)在軟件開發(fā)調(diào)試階段,由于硬件設(shè)備資源有限,或者硬件設(shè)備成本較高,導(dǎo)致軟件項目團隊無法高效地進行相關(guān)調(diào)試工作;
3)由于硬件設(shè)備早期調(diào)試階段,可能會存在設(shè)計或者樣機生產(chǎn)方面的問題,導(dǎo)致在進行軟件調(diào)試時,無法有效區(qū)分軟件或硬件的故障,使得軟件的調(diào)試效率低下;
4)在測試驗證階段,基于真實硬件環(huán)境,很多軟件設(shè)計中的異常情況處理等情況,難以通過硬件環(huán)境進行測試和驗證。
由此,本文將提出一種基于軟件仿真技術(shù)的虛擬驗證平臺,通過采用軟件方法為嵌入式軟件開發(fā)提供一個全面的純數(shù)字的軟件驗證平臺,基于該平臺能夠解決現(xiàn)有嵌入式軟件開發(fā)及驗證過程中存在的問題。
圖1 當(dāng)前機載軟件研發(fā)流程
第三代飛機典型航空電子系統(tǒng)由GJB 289A(MIL-STD-1553B)、RS422、HB6096總線連接,構(gòu)成以顯示與控制管理處理機為核心的計算機網(wǎng)絡(luò)系統(tǒng)。航空電子系統(tǒng)由以下子系統(tǒng)構(gòu)成,它包括:
1)顯示控制管理系統(tǒng)
2)任務(wù)管理系統(tǒng)
3)機電管理系統(tǒng)
4)大氣數(shù)據(jù)系統(tǒng)
5)導(dǎo)航系統(tǒng)
6)飛行控制系統(tǒng)
7)發(fā)動機全權(quán)限數(shù)字式電子控制系統(tǒng)
8)雷達
本文討論的航電系統(tǒng)采用GJB289A(MIL-STD-1553B)多路數(shù)據(jù)總線實現(xiàn)綜合航空電子系統(tǒng)的信息傳輸與控制管理,以顯示與控制管理處理機為核心與各子系統(tǒng)交聯(lián),如圖2所示。
圖2 典型航電系統(tǒng)框架
根據(jù)航電系統(tǒng)的特點及型號研制通用要求,仿真測試平臺須具備以下要求:
1)支持目標(biāo)系統(tǒng)全數(shù)字仿真;
2)支持系統(tǒng)快速原型研制;
3)提供數(shù)字化虛擬目標(biāo)機實現(xiàn)早期項目仿真與驗證;
4)平臺模塊化設(shè)計,仿真組件模塊化封裝,便于組件的重用。
航電系統(tǒng)仿真測試平臺采用分布式體系結(jié)構(gòu),其核心采用分布式數(shù)據(jù)總線集成待測試軟件,采用插件方式集成仿真平臺其他外圍設(shè)備功能模塊組件,并支持輔助測試、開發(fā)工具集成,對應(yīng)于典型航電系統(tǒng)結(jié)構(gòu),其整體結(jié)構(gòu)如圖3所示。
圖3 航電系統(tǒng)仿真測試平臺框架
2.3.1 虛擬目標(biāo)機
全數(shù)字仿真是指不依賴于任何硬件系統(tǒng),即虛擬目標(biāo)機,所需的一切電信號和數(shù)據(jù),采用數(shù)學(xué)平臺的方法,將嵌入式硬件特性從系統(tǒng)中剝離出來,通過開發(fā)CPU指令、常用芯片、I/O、中斷、時鐘等模擬器在HOST上實現(xiàn)嵌入式CPU的功能。
目標(biāo)系統(tǒng)虛擬是整個仿真測試平臺的核心部分,測試人員在虛擬平臺上進行嵌入式軟件的測試,如BSP、固件、RTOS與應(yīng)用程序,目標(biāo)機代碼可以不加修改地在虛擬系統(tǒng)中直接運行,并可以得到與在真實系統(tǒng)中運行相同的結(jié)果。其原理是嵌入式系統(tǒng)中可以通過地址來操作實現(xiàn)各種功能,對于寄存器、內(nèi)存和I/O都分配了地址,通過對分配地址的操作,就可以對目標(biāo)對象進行模擬操作。
在實際應(yīng)用中是將目標(biāo)機的指令直接翻譯為能實現(xiàn)相應(yīng)功能的宿主機上的指令/指令塊。指令仿真方法采用模擬處理器的執(zhí)行,根據(jù)地址從仿真內(nèi)存中取指令,根據(jù)目標(biāo)機處理器指令集規(guī)范按字段分析指令,按照分析的結(jié)果,利用主機處理器來模擬執(zhí)行相應(yīng)的行為。解釋模擬器工作原理如圖4所示。
圖4 解釋模擬器工作原理
采用目標(biāo)虛擬機模式,測試人員在軟件開發(fā)和調(diào)試階段即開展基于仿真平臺進行更加便捷和全面的開發(fā)以及驗證;當(dāng)進入軟件系統(tǒng)測試階段后,測試人員可重用先期測試成果,提高測試效率,縮短測試時間,加快型號研制進度。
2.3.2 分布式總線
分布式仿真與驗證數(shù)據(jù)總線連接整個模型,通過總線,仿真組件可以動態(tài)地加入或退出仿真測試平臺。
2.3.3 仿真控制與顯示
仿真控制與顯示模塊是整個仿真測試平臺的仿真控制和顯示中心,可配置整個仿真和驗證系統(tǒng);動態(tài)、可視化地顯示每一個仿真節(jié)點的數(shù)據(jù),可選擇記錄每個節(jié)點的數(shù)據(jù),并保存。
2.3.4 外圍設(shè)備仿真
建立外圍設(shè)備模型庫,模型庫包括任務(wù)管理系統(tǒng)、機電管理系統(tǒng)、大氣數(shù)據(jù)系統(tǒng)、導(dǎo)航系統(tǒng)、飛行控制系統(tǒng)、發(fā)動機全權(quán)限數(shù)字式電子控制系統(tǒng)、雷達等子系統(tǒng)模型。外圍設(shè)備仿真模塊通過仿真工具 (如Matlab等)模型仿真模塊實現(xiàn)對飛機子系統(tǒng)模型運行控制、參數(shù)在線修改和輸入輸出接口控制,并通過分布式數(shù)字總線集成到整個仿真測試平臺,從而實現(xiàn)系統(tǒng)的閉環(huán)仿真與驗證。
仿真平臺支持使用插件方式擴展用戶的功能模塊。插件是以動態(tài)鏈接庫(dll)的形式給出,虛擬平臺可以支持多個插件同時工作,也就是說,可以將數(shù)個實現(xiàn)不同功能的插件dll放置到同一個項目中,可實現(xiàn)同時多個外圍設(shè)備仿真。
2.3.5 輔助測試工具
仿真測試平臺可集成輔助測試工具,如覆蓋率測試工具、靜態(tài)分析工具、故障注入工具、調(diào)試器等,也可集成部分開發(fā)工具,如LabView等,通過上述工具的集成,在仿真測試平臺進行黑盒測試的同時,也能夠進行白盒測試,保證測試的充分性和完整性。
通過仿真測試平臺,可以構(gòu)建出航電系統(tǒng)軟件仿真測試的典型應(yīng)用框架,如圖5所示。在此框架中,采用以太網(wǎng)模擬分布式數(shù)據(jù)總線,網(wǎng)絡(luò)協(xié)議采用TCP/IP協(xié)議,框架主體由虛擬目標(biāo)機及外設(shè)和被測對象模型仿真與測試系統(tǒng)構(gòu)成。
在此應(yīng)用中目標(biāo)系統(tǒng)采用虛擬目標(biāo)機仿真工具構(gòu)建,目標(biāo)對象采用仿真工具進行數(shù)字化仿真,測試與試驗系統(tǒng)采用Labview或其他用戶專用測試軟件,提供用戶界面交互、測試序列管理、數(shù)據(jù)記錄與分析等功能,所有平臺中功能組件由分布式數(shù)據(jù)總線進行交互與調(diào)度,采用這種配置可實現(xiàn)基于虛擬目標(biāo)系統(tǒng)的全數(shù)字化仿真驗證,適合于在系統(tǒng)研制初期對系統(tǒng)設(shè)計方案進行試驗與評估;軟件設(shè)計編碼工作完成后,可在此應(yīng)用框架中進行部分系統(tǒng)測試工作;另外在系統(tǒng)交付使用后適用于系統(tǒng)維護與培訓(xùn)。
圖5 仿真測試平臺應(yīng)用場景
本文討論的仿真測試平臺方案,既結(jié)合了黑盒與白盒測試工具優(yōu)勢,又滿足了測試規(guī)范的目標(biāo)和要求?,F(xiàn)已完成原型設(shè)計與驗證工作,該仿真測試平臺既擴展升級了機載網(wǎng)絡(luò)、保證了接口的適配性,又提供了靈活易用的交聯(lián)環(huán)境建模功能,為航電系統(tǒng)軟件測試驗證工作提供便利的技術(shù)手段。
隨著新一代航電系統(tǒng)的深入研究與實踐以及型號任務(wù)的進一步發(fā)展,軟件占據(jù)著愈來愈大的比例,軟件測試的重要性也更趨明顯,而仿真測試環(huán)境又是軟件測試充分性的有力保障。本文所研究的航電系統(tǒng)軟件全數(shù)字仿真測試平臺具有良好的通用性,也可擴展至其他機載系統(tǒng)軟件仿真測試中應(yīng)用。
[1]王金波.基于故障注入的嵌入式軟件安全性測試框架及實現(xiàn).計算機應(yīng)用研究,2012,29(8):2994-2295.
[2]周慶.綜合模塊化航電軟件仿真測試環(huán)境研究.航空學(xué)報,2012,33(4):722-724.
[3]李筱雅.1553總線測試仿真系統(tǒng)設(shè)計與實現(xiàn).現(xiàn)代電子技術(shù),2012,35(10):60.