王彥明 毛元澤 劉一臻
摘要:目前我國的航空事業(yè)正處在蓬勃發(fā)展的階段,航空電子系統(tǒng)軟件的規(guī)模越來越大,系統(tǒng)的復雜度也越來越高。因此,對于航空電子系統(tǒng)軟件的驗證方法與驗證手段的需求也越來越高。在對航空電子系統(tǒng)軟件進行仿真驗證的過程中,激勵器將作為整個仿真驗證環(huán)境的源頭,其數(shù)據(jù)的正確性和穩(wěn)定性將直接影響航空電子系統(tǒng)軟件的仿真驗證結(jié)果。傳統(tǒng)的激勵系統(tǒng)軟件往往都是針對某一個或是一些特定型號的航空電子系統(tǒng)而專門進行研制的。這些激勵系統(tǒng)軟件的通用性極差,復用性極低。在測試時,也無法對激勵數(shù)據(jù)的時序性進行控制。因此,該文針對這兩個問題設(shè)計了面向航電軟件測試的通用激勵系統(tǒng)。該通用激勵系統(tǒng)僅僅通過配置文件就可以定制出不同種類的激勵設(shè)備。然后又設(shè)計了一套統(tǒng)一的調(diào)度框架來對這些激勵設(shè)備進行時序性控制。
關(guān)鍵詞:通用性;激勵器;軟件測試;模型框架
航空電子系統(tǒng)激勵器軟件的特點就是專用性,即專門針對某一型號的航空電子系統(tǒng)軟件而進行研制的。此類激勵器只能適應這一種型號的航空電子系統(tǒng)軟件。除此之外,每個航空電子系統(tǒng)模塊用來通信的ICD格式和通信數(shù)據(jù)均不一樣,研發(fā)人員一般是將通信數(shù)據(jù)格式和端口進行綁定。因此,在對每個航空電子系統(tǒng)模塊進行開發(fā)測試時也需要不同的激勵器。多種多樣的航空電子激勵器軟件所導致的直接后果就是工作人員很難對這些激勵軟件進行維護。盡管這些激勵軟件是比較成熟的仿真設(shè)備軟件,但由于這些軟件的種類極其繁雜,因此研發(fā)人員維護這些軟件的難度也極大。
因此,本文針對航電軟件測試設(shè)計并實現(xiàn)了一個通用激勵器系統(tǒng)。該系統(tǒng)僅僅使用配置文件便可以定制出不同種類的激勵器軟件的航電通用激勵系統(tǒng)將為航空電子系統(tǒng)軟件的研發(fā)、調(diào)試、仿真和驗證帶來極大的便利性。
1航電通用激勵器總體設(shè)計
航電通用激勵系統(tǒng)的框架將實現(xiàn)加載各個激勵模型組件的功能,并為這些激勵模型組件提供相應的運行環(huán)境。這些激勵組件模型能夠在一個穩(wěn)定的環(huán)境下被調(diào)度運行起來。通用激勵系統(tǒng)的框架將根據(jù)相應的配置文件的信息對這些激勵模型組件進行同步或者異步的驅(qū)動。這些激勵組件模型在被定制成一個個激勵器軟件后,將使用中心數(shù)據(jù)庫進行數(shù)據(jù)交互。當這些激勵器軟件向外提供數(shù)據(jù)激勵功能時,將利用中心數(shù)據(jù)庫封裝成的虛擬總線接口為各個航電仿真模型提供數(shù)據(jù)激勵功能。中心數(shù)據(jù)庫的實質(zhì)是利用Windows內(nèi)核函數(shù)在內(nèi)存中開辟一塊存儲空間,并提供數(shù)據(jù)庫的數(shù)據(jù)存取機制。中心數(shù)據(jù)庫將為各個激勵模型組件提供較高的通信實時陛和數(shù)據(jù)的一致性。
2航電通用激勵器設(shè)計
2.1激勵組件模型設(shè)計
用戶自定義的激勵組件模型都需要遵守航電通用激勵系統(tǒng)框架所提供的統(tǒng)一的標準接口。這樣,這些用戶自定義的激勵組件才能被激勵系統(tǒng)框架所加載、調(diào)度以及運行。航電通用激勵系統(tǒng)的框架為這些激勵組件模型提供了標準的接口規(guī)范類,即Stimulator類。在Stimulator類中,定義了所有激勵設(shè)備必須遵從的接口標準。用戶所自定義的激勵組件模型必須繼承該Stimulator類,并通過配置文件定義不同的邏輯行為有選擇性的重新實現(xiàn)Stimulator類中所規(guī)定的外部接口。
Stimulator類必須具有激勵系統(tǒng)框架模型的外部接口規(guī)范,其中定義了Init0、Start0、StepO、StopO以及Work0這5個外部接口。通用激勵系統(tǒng)的框架將提供兩種驅(qū)動模式,即同步模式和異步模式。在同步模式下,自定義的激勵組件模型一般需要實現(xiàn)的接口有:Init0、StanO、StepO、Stop0這4個接口;而異步模式下,則需要實現(xiàn)的接口是:Init0、StartO、WorkO、StopO這4個接口。Stimulator類接口規(guī)范。
2.2激勵組件適配性設(shè)計
用戶在自定義激勵組件模型時,需要先完成該激勵器軟件的配置文件。一個激勵器軟件的配置文件需要配置如下的信息:激勵器軟件的名稱、激勵組件模型所屬的動態(tài)庫名稱、激勵器軟件的調(diào)度周期、同步或者異步的模式,所需要的CPU數(shù)量以及激勵組件模型所需要的ICD定義配置文件名稱。如果該激勵組件模型是異步模式的話,還需要配置前驅(qū)組件模型的名稱。當用戶完成了激勵組件模型的配置文件后,激勵系統(tǒng)框架將對這些激勵組件模型的名稱進行識別,框架將以調(diào)度插件的方式對這些激勵組件模型進行驅(qū)動。激勵組件聲明的示意圖如圖1所示。
當激勵系統(tǒng)框架按照配置文件的信息將激勵組件的信息存儲到框架內(nèi)后,激勵系統(tǒng)框架會根據(jù)上述鏈表的信息調(diào)用各個激勵組件。激勵系統(tǒng)框架在從該數(shù)據(jù)結(jié)構(gòu)中依次調(diào)用各個組件時,會依據(jù)工廠方法生成當前所要調(diào)度的對象的實例。
3測試驗證
根據(jù)當前航空電子系統(tǒng)軟件對激勵設(shè)備的需求,將有大氣激勵器(AD)、慣性導航激勵器(IN)以及數(shù)據(jù)集中激勵器(RDC)這三類激勵器。這三個激勵設(shè)備的時序性是大氣激勵器和慣性導航激勵器的輸出是數(shù)據(jù)集中激勵器的輸入。因此,通用激勵系統(tǒng)框架每次再調(diào)度該組周期時,需要先調(diào)度大氣激勵器和慣性導航激勵器,才能調(diào)度數(shù)據(jù)集中激勵器。在通用激勵系統(tǒng)框架開始調(diào)度后,使用周期監(jiān)控,查看對當前三個激勵設(shè)備的調(diào)度結(jié)果。時序調(diào)度圖如圖2所示。
從監(jiān)控的結(jié)果可以看出,當前航電通用激勵系統(tǒng)框架按照大氣激勵器、慣性導航激勵器以及數(shù)據(jù)集中激勵器的順序,依次進行調(diào)度。這表明本文所設(shè)計的航電通用激勵系統(tǒng)可以滿足各個激勵設(shè)備對時序性進行控制的要求。
4結(jié)論
隨著航空電子系統(tǒng)軟件的復雜度越來越高,其測試、仿真和驗證的要求也越來越高。為了滿足復雜航空電子系統(tǒng)軟件的仿真驗證工作,本文利用了組件框架思想設(shè)計了面向航電測試的通用激勵器。通過不同的配置文件,該航電通用激勵器可以仿真不同的激勵設(shè)備。而通過仿真模型框架可以對這些激勵設(shè)備進行時序控制,以滿足各個激勵設(shè)備對時序性的需求。該航電通用激勵器可以為不同種類的航空電子系統(tǒng)軟件進行仿真驗證測試的工作,為航空電子系統(tǒng)軟件在開發(fā)周期中的測試帶來了極大的便利。