袁 揚(yáng),譚月輝,孫慧賢,沈若曦,王曉波
(1.軍械工程學(xué)院 信息工程系,石家莊 050003;2.總裝備部 重慶軍代局駐昆明地區(qū)軍代室,昆明 650000)
?
指控裝備通信接口可重構(gòu)測試系統(tǒng)軟件框架設(shè)計(jì)
袁揚(yáng)1,譚月輝1,孫慧賢1,沈若曦2,王曉波1
(1.軍械工程學(xué)院 信息工程系,石家莊050003;2.總裝備部 重慶軍代局駐昆明地區(qū)軍代室,昆明650000)
指控裝備通信接口種類繁多,每種接口的測試需求也不盡相同,傳統(tǒng)接口測試系統(tǒng)大多僅針對(duì)某個(gè)廠家的具體設(shè)備和接口開發(fā),功能單一,軟硬件重用率低,更新維護(hù)成本高;針對(duì)上述問題,分析總結(jié)了指控裝備通信接口的接口特性和測試需求,通過深入研究小型化SCA技術(shù),設(shè)計(jì)了滿足通信接口可重構(gòu)測試需求的自定義中間件和自定義核心框架,完成了可在通用小型硬件平臺(tái)上實(shí)現(xiàn)的指控裝備通信接口可重構(gòu)測試系統(tǒng)軟件框架;由系統(tǒng)典型測試流程圖可看出,用戶僅通過更改應(yīng)用組件和系統(tǒng)配置即可實(shí)現(xiàn)對(duì)多種通信接口的可重構(gòu)測試,增強(qiáng)了測試系統(tǒng)的通用性和靈活性,提高了測試系統(tǒng)軟硬件的重用率,降低了接口測試系統(tǒng)的開發(fā)和維護(hù)費(fèi)用。
小型化SCA;自定義中間件;自定義核心框架;通信接口可重構(gòu)測試
接口測試是指控系統(tǒng)通信裝備維修保障的主要方法之一,傳統(tǒng)的接口測試系統(tǒng)一般僅針對(duì)某個(gè)廠家特定的設(shè)備和接口,功能單一,通用性、靈活性差,已無法滿足當(dāng)前指控裝備通信接口測試的需求,而且硬件重用率低,維護(hù)更新成本高。
軟件通信體系架構(gòu)SCA是針對(duì)分布式環(huán)境下的軟件無線電通信系統(tǒng)設(shè)計(jì)的標(biāo)準(zhǔn)規(guī)范集[1],可大大降低所設(shè)計(jì)系統(tǒng)軟硬件的耦合性,實(shí)現(xiàn)在同一平臺(tái)上對(duì)多種功能組件的管理和調(diào)用,是實(shí)現(xiàn)在通用平臺(tái)上對(duì)多種通信接口進(jìn)行可重構(gòu)測試的有效方法,同時(shí)增強(qiáng)了系統(tǒng)的軟硬件的重用率,降低系統(tǒng)維護(hù)和更新成本,很好地滿足了當(dāng)前指揮系統(tǒng)通信設(shè)備維修保障的需求。
1.1指控裝備通信接口特性
指控裝備通信接口種類繁多,在不同的通信設(shè)備上實(shí)現(xiàn)對(duì)各類信號(hào)的發(fā)送和接收,是指控裝備通信功能實(shí)現(xiàn)的重要組成部分。
指控裝備通信接口包括群路近傳A接口、數(shù)字用戶K接口和遠(yuǎn)傳二線G接口等,每種接口遵循的協(xié)議和電氣等特性不盡相同,甚至同種接口也因設(shè)備廠家的不同而有所區(qū)別,例如K接口遵循軍內(nèi)的數(shù)字用戶線協(xié)議,而G接口遵循國際通用的G.SHDSL協(xié)議,但不同型號(hào)的指控系統(tǒng)的同類接口電氣特性卻可能不同。
1.2指控裝備接口測試需求
接口測試主要包括性能測試和功能測試兩種。其中性能測試是針對(duì)通信接口如傳輸距離、誤碼率等性能指標(biāo)的測試方法;功能測試則用于檢測接口能否正常完成通信功能,確保接口的正常工作。兩種測試方法是接口測試系統(tǒng)必須實(shí)現(xiàn)的功能。
傳統(tǒng)的接口測試系統(tǒng)由通信設(shè)備生產(chǎn)廠家配套生產(chǎn),功能單一,難以對(duì)指控裝備上種類繁多的接口進(jìn)行統(tǒng)一的測試,不能滿足當(dāng)前指控裝備維修保障高效率、低成本的要求。所以設(shè)計(jì)出一種可在通用平臺(tái)上實(shí)現(xiàn)對(duì)多種通信接口進(jìn)行可重構(gòu)測試的系統(tǒng)軟件框架勢在必行。
指控裝備通信接口可重構(gòu)測試系統(tǒng)的測試功能由針對(duì)各類接口的測試應(yīng)用實(shí)現(xiàn)。系統(tǒng)軟件框架負(fù)責(zé)對(duì)系統(tǒng)和測試應(yīng)用的控制,通過對(duì)不同測試應(yīng)用組件的調(diào)用和配置實(shí)現(xiàn)對(duì)不同通信接口的測試。
2.1測試系統(tǒng)軟件框架總體設(shè)計(jì)
本文通信接口可重構(gòu)測試系統(tǒng)擬在以當(dāng)前熱門的ARM和FPGA為核心的嵌入式平臺(tái)上實(shí)現(xiàn)。本文參考SCA體系架構(gòu),結(jié)合指控裝備通信接口可重構(gòu)測試的需求和嵌入式平臺(tái)特點(diǎn),設(shè)計(jì)的通信設(shè)備接口可重構(gòu)測試系統(tǒng)總體分層結(jié)構(gòu)如圖1所示。
圖1 測試系統(tǒng)總體分層結(jié)構(gòu)
交互層:實(shí)現(xiàn)用戶與測試系統(tǒng)的交互,通過屏幕、模擬前端等外設(shè)實(shí)現(xiàn)用戶需求的輸入和測試結(jié)果的輸出。
應(yīng)用層:存儲(chǔ)系統(tǒng)測試功能實(shí)現(xiàn)所需的不同應(yīng)用組件,是系統(tǒng)測試功能的主要承擔(dān)者。
自定義中間件:是對(duì)CORBA中間件功能和服務(wù)的修改,是實(shí)現(xiàn)系統(tǒng)框架對(duì)FPGA應(yīng)用組件跨平臺(tái)透明調(diào)用功能的核心,增強(qiáng)了測試系統(tǒng)的靈活性和擴(kuò)展性。
自定義核心框架:是對(duì)SCA核心框架功能和服務(wù)的修改,為測試系統(tǒng)提供了一組規(guī)范的接口集和服務(wù)集,配合自定義中間件提高了應(yīng)用組件的可移植性和可重用性。
操作系統(tǒng)層:是測試系統(tǒng)軟件運(yùn)行環(huán)境的重要組成部分,以合理、有效的方式管理和組織測試系統(tǒng)軟硬件資源。
硬件驅(qū)動(dòng)層:包括了測試系統(tǒng)所需硬件外設(shè)的驅(qū)動(dòng)程序,為上層軟件調(diào)用硬件外設(shè)提供相應(yīng)的接口,實(shí)現(xiàn)具體硬件的調(diào)用。
本文充分利用ARM和FPGA各自的特點(diǎn)和優(yōu)勢,將交互層、自定義中間件、自定義核心框架、操作系統(tǒng)層和硬件驅(qū)動(dòng)層在ARM部分實(shí)現(xiàn),將應(yīng)用層在FPGA部分實(shí)現(xiàn)。自定義中間件和自定義框架設(shè)計(jì)是本文可重構(gòu)測試系統(tǒng)軟件框架的核心,下面進(jìn)行重點(diǎn)講述。
2.2自定義中間件設(shè)計(jì)
在SCA標(biāo)準(zhǔn)中,CORBA中間件屏蔽了硬件平臺(tái)的底層通信協(xié)議和應(yīng)用組件的異構(gòu)性,實(shí)現(xiàn)了對(duì)本地或遠(yuǎn)程應(yīng)用的透明調(diào)用,提高了應(yīng)用組件的可移植性和可重用性,使得面向不同接口的測試應(yīng)用可以通用的平臺(tái)上被調(diào)用,增強(qiáng)了測試系統(tǒng)的靈活性和擴(kuò)展性[3]。
但是CORBA中間件是面向分布式系統(tǒng)條件下的規(guī)范,難以在硬件資源受限的嵌入式環(huán)境下運(yùn)行[4]。通過深入研究嵌入式中間件技術(shù),結(jié)合通信接口可重構(gòu)測試系統(tǒng)的實(shí)際需求,以COBRA中間件為基礎(chǔ),從功能模塊和服務(wù)兩方面對(duì)自定義中間件進(jìn)行了設(shè)計(jì)。
2.2.1自定義中間件功能模塊設(shè)計(jì)
CORBA/e是CORBA中間件針對(duì)嵌入式環(huán)境的改進(jìn)標(biāo)準(zhǔn),主要是刪除了其中占用內(nèi)存和存儲(chǔ)資源較多的動(dòng)態(tài)調(diào)用部分,以速度快、穩(wěn)定性好和硬件需求低的靜態(tài)調(diào)用模式為基礎(chǔ)[5]。本文在CORBA/e的基礎(chǔ)上,將其中多線程多事件的部分進(jìn)行了裁剪,設(shè)計(jì)了資源占用更為優(yōu)化的自定義中間件,其結(jié)構(gòu)如圖2所示。
圖2 自定義中間件結(jié)構(gòu)圖
自定義中間件的靜態(tài)調(diào)用主要由IDL樁、IDL框架和自定義ORB核心實(shí)現(xiàn)。IDL樁和IDL框架根據(jù)應(yīng)用的IDL接口定義由開發(fā)者提前編譯生成,是對(duì)對(duì)象應(yīng)用功能和地址的解釋說明,實(shí)現(xiàn)了客戶端和服務(wù)端與自定義ORB核心的連接,并負(fù)責(zé)調(diào)用請(qǐng)求和返回消息的封裝和解封裝,提高了中間件對(duì)象定位的效率。
自定義ORB核心是自定義中間件消息傳輸?shù)能浛偩€,遵循COBRA中間件的GIOP協(xié)議,負(fù)責(zé)將IDL樁和IDL框架封裝的消息進(jìn)行編碼和解碼,并利用硬件平臺(tái)的IO總線傳遞給目標(biāo)對(duì)象的ORB。
自定義POA是對(duì)CORBA中間件中對(duì)象適配器的輕量化裁剪,僅包括一組RootPOA和POAManager,是自定義中間件管理對(duì)象引用和對(duì)象實(shí)現(xiàn)的核心機(jī)制。RootPOA負(fù)責(zé)產(chǎn)生和解釋對(duì)象引用,根據(jù)客戶端調(diào)用信息搜索其內(nèi)部的活躍對(duì)象映射表并激活相應(yīng)的對(duì)象實(shí)現(xiàn);POAManager則實(shí)現(xiàn)對(duì)RootPOA的管理功能。
2.2.2自定義中間件服務(wù)設(shè)計(jì)
CORBA中間件服務(wù)種類繁多,大部分功能是面向分布式系統(tǒng)的,硬件資源占用量大,在嵌入式環(huán)境下難以實(shí)現(xiàn)。本文結(jié)合測試系統(tǒng)采用單進(jìn)程和單事件運(yùn)行模式的特點(diǎn),以滿足自定義中間件需要的最少服務(wù)為原則,進(jìn)一步裁剪CORBA/e服務(wù),規(guī)定自定義中間件服務(wù)包括以下兩種。
對(duì)象定位服務(wù):采用樹形結(jié)構(gòu)按名稱存儲(chǔ)客戶所需的對(duì)象引用,并提供了基本的名稱到對(duì)象引用的解析功能。
對(duì)象消息服務(wù):定義了組件間消息傳輸?shù)目蚣埽?guī)定自定義中間件采用事件生產(chǎn)者推送的方式傳輸事件。
2.3自定義核心框架設(shè)計(jì)
自定義核心框架由一組規(guī)范的、開放的服務(wù)和接口組成,配合自定義中間件實(shí)現(xiàn)了對(duì)系統(tǒng)和應(yīng)用組件的管理,是系統(tǒng)軟件框架的核心,本文將自定義核心框架分為系統(tǒng)框架接口和系統(tǒng)框架服務(wù)兩部分進(jìn)行設(shè)計(jì)[6]。
2.3.1系統(tǒng)框架接口設(shè)計(jì)
系統(tǒng)框架接口由基本應(yīng)用接口和系統(tǒng)控制接口兩部分組成,是對(duì)SCA核心框架接口的裁剪和重組,分別實(shí)現(xiàn)應(yīng)用組件管理功能和自定義核心框架管理功能。
2.3.1.1基本應(yīng)用接口設(shè)計(jì)
基本應(yīng)用接口提供了一組公共的接口來實(shí)現(xiàn)對(duì)應(yīng)用組件的控制和配置,屏蔽了應(yīng)用組件的異構(gòu)性,使得不同語言實(shí)現(xiàn)的應(yīng)用組件都能被系統(tǒng)調(diào)用和管理,大大增強(qiáng)了測試應(yīng)用的可移植性和可重用性?;緫?yīng)用接口包括如下。
Resource:定義了啟動(dòng)和停止軟件組件的統(tǒng)一接口,負(fù)責(zé)組件的創(chuàng)建和銷毀,并可與其他Resource組件通過端口進(jìn)行通信。
Port:被Resource接口所繼承,為組件提供端口連接和斷開的操作,實(shí)現(xiàn)組件的裝配。
PortSupplier:被Resource接口所繼承,用于獲取Resource端口的對(duì)象引用。
LifeCycle:被Resource接口所繼承,負(fù)責(zé)初始化和釋放Resource。
PropertySet:被Resource接口所繼承,實(shí)現(xiàn)對(duì)Resource組件屬性的配置。
2.3.1.2系統(tǒng)控制接口設(shè)計(jì)
系統(tǒng)控制接口用于管理和控制自定義核心框架的行為,配合基本應(yīng)用接口提供對(duì)系統(tǒng)和應(yīng)用組件配置和控制的統(tǒng)一方法:
Application:繼承Resource接口,提供一個(gè)容器實(shí)現(xiàn)對(duì)Resource組件的管理控制,為自定義核心框架提供了與應(yīng)用的通用互操作。
ApplicationFactory:負(fù)責(zé)根據(jù)應(yīng)用的描述文檔,創(chuàng)建相應(yīng)功能的應(yīng)用實(shí)例,并負(fù)責(zé)實(shí)例的配置和初始化。
DomainManager:繼承PropertySet接口,用于控制整個(gè)系統(tǒng)的狀態(tài),負(fù)責(zé)系統(tǒng)中應(yīng)用和設(shè)備的注冊(cè)和注銷。
Device:繼承Resource接口,為自定義核心框架提供對(duì)簡單硬件設(shè)備的邏輯抽象,作為硬件代理與硬件進(jìn)行互操作。
LoadableDevice:繼承Device接口,添加了加載和卸載的操作,提供對(duì)硬件單元運(yùn)行時(shí)行為進(jìn)行修改的功能。
ExecutableDevice:繼承LoadableDevice接口,添加了運(yùn)行和終止組件的操作,可用于加載Resource組件。
2.3.2系統(tǒng)框架服務(wù)設(shè)計(jì)
系統(tǒng)框架服務(wù)規(guī)定了自定義核心框架需要提供的功能,配合系統(tǒng)框架接口保證測試系統(tǒng)各項(xiàng)功能的正常運(yùn)行,并提供了符合XML標(biāo)準(zhǔn)的系統(tǒng)描述文檔,為自定義中間件和自定義核心框架提供所需的各種信息。
2.3.2.1框架服務(wù)模塊設(shè)計(jì)
框架服務(wù)由系統(tǒng)管理模塊和系統(tǒng)運(yùn)行模塊組成。其中系統(tǒng)管理模塊負(fù)責(zé)測試系統(tǒng)各部分管理和配置,例如組件添加和刪除等功能,使得用戶可以根據(jù)實(shí)際需要對(duì)測試系統(tǒng)各部分進(jìn)行修改,降低了系統(tǒng)維護(hù)和更新成本;系統(tǒng)運(yùn)行模塊包括系統(tǒng)運(yùn)行需要的各種工具,例如XML文檔解析器等,系統(tǒng)服務(wù)結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)服務(wù)結(jié)構(gòu)圖
2.3.2.2系統(tǒng)描述文檔設(shè)計(jì)
系統(tǒng)描述文檔采用XML格式描述測試系統(tǒng)實(shí)現(xiàn)各項(xiàng)功能所需的信息,配合相應(yīng)的描述文檔解析器,使得系統(tǒng)信息能夠高效規(guī)范的存儲(chǔ)和表達(dá),便于系統(tǒng)對(duì)信息的加載和調(diào)用,提高了系統(tǒng)運(yùn)行效率[7]。
SAD軟件裝配描述文檔:描述應(yīng)用組件的裝配和部署信息。
SCD軟件組件描述文檔:描述組件的接口信息。
SPD軟件包描述文檔:描述組件信息。
DCD設(shè)備和服務(wù)配置描述文檔:描述設(shè)備和服務(wù)的配置信息。
PRF組件屬性描述文檔:描述組件、設(shè)備和服務(wù)的屬性。
DMD域管理器配置描述文檔:描述DomainManager和自定義核心框架的配置信息。
圖4以對(duì)G.SHDSL接口的測試為例,講述本文指控裝備通信接口可重構(gòu)測試系統(tǒng)的測試功能實(shí)現(xiàn)流程。
圖4 G.SHDSL接口測試流程圖
由圖4可知,本系統(tǒng)測試功能的由自定義中間件和自定義核心框架配合實(shí)現(xiàn)。DomainManager根據(jù)中間件注冊(cè)文件找到目標(biāo)應(yīng)用的對(duì)象引用,自定義中間件解析對(duì)象引用和相關(guān)系統(tǒng)描述文檔,并生成初始調(diào)用請(qǐng)求;IDL樁和客戶端ORB接口對(duì)調(diào)用請(qǐng)求進(jìn)行封裝和編碼,并由中間件ORB定位對(duì)象應(yīng)用后發(fā)送通過自定義ORB核心發(fā)送到服務(wù)端;服務(wù)端ORB接口對(duì)GIOP格式的請(qǐng)求消息解碼后發(fā)送給RooTPOA,RooTPOA查找其內(nèi)部的活躍對(duì)象映射表并激活對(duì)象的目標(biāo)伺服;IDL框架將GIOP消息解封,并傳送到測試應(yīng)用,然后測試應(yīng)用開始實(shí)現(xiàn)測試功能。
本文通過深入研究小型化SCA技術(shù),設(shè)計(jì)出了滿足指控裝備通信接口可重構(gòu)測試實(shí)際需求的自定義核心框架和自定義中間件,完成了可在通用硬件平臺(tái)上實(shí)現(xiàn)的指控裝備通信接口可重構(gòu)測試系統(tǒng)軟件框架。由典型測試流程可知,本測試系統(tǒng)軟件框架屏蔽了測試功能的具體實(shí)現(xiàn)細(xì)節(jié),允許用戶在通用的硬件平臺(tái)上通過調(diào)用不同應(yīng)用組件和更改系統(tǒng)配置實(shí)現(xiàn)對(duì)多種通信接口的可重構(gòu)測試,大大增強(qiáng)了系統(tǒng)的靈活性和擴(kuò)展性,提高了系統(tǒng)軟硬件的可重用性,有效地解決了傳統(tǒng)通信接口測試系統(tǒng)功能單一、維護(hù)更新成本高的問題,并為其他領(lǐng)域的可重構(gòu)測試系統(tǒng)設(shè)計(jì)提供參考。
[1]Joint Program Executive Office (JPEO) Joint Tactical Radio System (JTRS). Sortware Communications Architecture Specification. Version2.2.2[S]. 2006.
[2]趙亮亮, 肖明清, 程進(jìn)軍,等. COBRA/T——美軍通用自動(dòng)測試系統(tǒng)的新進(jìn)展[J]. 計(jì)算機(jī)測量與控制, 2013, 21(6):1408-1411.
[3]Object Management Group. Common Object Request Broker Architecture (CORBA) for Embedded Specification[S]. 2008.
[4]唐麒. 小型化軟件通信體系結(jié)構(gòu)的研究與實(shí)現(xiàn)[D]. 長沙:國防科學(xué)技術(shù)大學(xué), 2011.
[5]彭雷. 基于CORBA/e的嵌入式實(shí)時(shí)中間件的設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2010.
[6]趙秋明, 林志堂, 楊瑩瑩,等. 基于SCA的小型化核心框架研究[J]. 計(jì)算機(jī)測量與控制, 2010, 18(5):1145-1147.
[7]房莉, 陳湘平, 伍良坤. 基于構(gòu)件的接口測試系統(tǒng)軟件框架研究[J]. 計(jì)算機(jī)測量與控制, 2011, 19(6):1493-1497.
[8]常濟(jì)菘. 基于SCA的可移植FPGA波形結(jié)構(gòu)及組件接口設(shè)計(jì)[D]. 長沙:國防科學(xué)技術(shù)大學(xué), 2009.
Design of Software Framework of Command and Control System Communication Interface Reconfigurable Test System
Yuan Yang1,Tan Yuehui1,Sun Huixian1,Shen Ruoxi2,Wang Xiaobo1
(1. Department of Information Engineering, Ordnance Engineering College, Shijiazhuang050003, China;2. General Equipment Department of Chongqing army of Kunming Area, Kunming650000, China)
There are various communication interfaces on the Command and Control System with different test requirements. Traditional test systems mostly are developed only for a kind of specific device and interfaces. Aiming at the above question, this paper analyzes and summarizes the characteristics and requirements of interface test, with reaching the miniaturization of SCA designs the custom middleware and custom core framework and completes the software framework of the Command and Control System communication interface reconfigurable test system. As the system flow diagram shown, users only by changing the application components and system configuration can achieve testing multiple interfaces, which enhances the universality and flexibility of the system, improves the reusability of software.
the miniaturization of SCA; reconfigurable communication interface test; custom core framework; custom middleware
2015-06-26;
2015-09-07。
袁揚(yáng)(1991-),男,河北石家莊人,碩士研究生,主要從事指揮信息系統(tǒng)測試診斷技術(shù)方向的研究。
1671-4598(2016)01-0153-03
10.16526/j.cnki.11-4762/tp.2016.01.042
TP331.5
A