張 偉 廖 濤 吳 昊 慶 毅
(成都蓉威電子技術有限公司 四川 成都 610074) (中國電子科技集團公司第二十九研究所 四川 成都 610036)
自動測試系統(tǒng)(Automatic Test System,ATS)已廣泛應用于軍用電子裝備的測試與測量中,ATS的大量應用及不斷進步的測試理念和測控技術對電子裝備效能的發(fā)揮起到了至關重要的作用。
ATS發(fā)展的早期階段,研發(fā)人員一般直接面向測試儀器編程,綁定測試程序與測試儀器,導致難以適應升級需求或任務擴展。當前主流的ATS以標準總線和通用測試驅動為基礎[1],根據(jù)需求設計測試策略,使測試系統(tǒng)具備一定的擴展能力和針對性,但由于體系架構上未做擴展性設計,難以大粒度地復用,屬于一種專用型的測試系統(tǒng)。
相對于專用測試系統(tǒng),通用測試平臺則是一種由公共測試資源組成的、應用于多場景、針對多系統(tǒng)的測試平臺,美國海軍陸戰(zhàn)隊的COBRA/T[2]是一種應用于基地級和戰(zhàn)場級兩種場景的ATS,具有體積小、功耗低的特點;洛克希德·馬丁公司搭建了LM-STAR[3],應用于F-35閃電II、F-16布洛克60、F-22和AH-64多型系統(tǒng)的維護保障測試,具備支持多任務需求的能力。上述通用化測試平臺減少了ATS的種類和被測系統(tǒng)全壽命周期的保障總成本[4]。
體系架構和標準是自動測試領域關注的重點,IEEE提出的廣域測試環(huán)境ABBET框架[5]將測試軟件合理分層配置, 實現(xiàn)測試軟件與測試系統(tǒng)硬件的無關性[6];IVI基金會提出的面向信號的自動測試思想[7],將UUT對儀器能力的需求轉化為對信號的需求,提升了TP的可移植性;IEEE發(fā)布的ATML標準[8]有效解決自動測試系統(tǒng)中各種接口和測試診斷信息表達和交換的標準化問題,提高自動測試系統(tǒng)的通用程度和性能[9];美國國防部自動測試系統(tǒng)執(zhí)行總局協(xié)調開展的“NxTest”下一代測試系統(tǒng)[10]實現(xiàn)了通用化的自動測試架構。上述一系列自動測試體系和標準,極大地推動了ATS的發(fā)展。
從開發(fā)方式的角度,二次開發(fā)平臺是一種有效應對重復開發(fā)的方案。北航提出的通用二次開發(fā)平臺[11]縮短了ATS開發(fā)周期,降低了開發(fā)成本,提高了標準化程度。文獻[12]提出的UTest通用開發(fā)平臺提高了TP的開發(fā)效率。上述二次開發(fā)平臺基于共性的內核進行定制修改和功能擴展,通過復用技術縮短周期、降低成本。
本文則針對電子對抗裝備存在的多品類、小批量、復雜程度高[13]等特點,提出一種全新的、基于軟件產(chǎn)品線的方法,有效應對該領域ATS對共性和變化性的要求。軟件產(chǎn)品線(Software Product Line,SPL)是一種預先規(guī)劃和系統(tǒng)化的大規(guī)模復用技術[14],通過構件復用以較少的時間和成本創(chuàng)建一系列高質量的產(chǎn)品[15]。本文分析領域需求,建立電子對抗裝備自動測試產(chǎn)品線(以下或簡稱“產(chǎn)品線”),實現(xiàn)測試程序有效復用的同時又減少程序編寫量,降低了自動測試產(chǎn)品的重復開發(fā)率和開發(fā)難度,減少交付延遲,提高產(chǎn)品質量,最終有效降低成本[16]。
對特定領域共性和可變性的分析是領域工程中一項重要活動[17],技術產(chǎn)出是為一組相關應用或產(chǎn)品建立公共的體系結構,其定義了領域和衍生產(chǎn)品的共性和可變性[18],為開發(fā)者提供了生成新產(chǎn)品實例的藍圖[19],是產(chǎn)品線所有可重用核心資產(chǎn)中的關鍵技術性資源。電子對抗自動測試產(chǎn)品線體系結構如圖1所示,底層為硬件平臺層,包括多種類型的測試儀器及各類總線,用于信號的激勵和測量;驅動體系層的VISA I/O屏蔽下層各類型總線差異,搭建訪問儀器的通用通道。IVI驅動屏蔽測試儀器的差異,為上層提供控制不同儀器的統(tǒng)一接口;領域構件層通過對測量的抽象,形成多種可復用的基礎軟件構件,是產(chǎn)品線核心資產(chǎn)之一;應用層包含自定義應用程序或商用測試執(zhí)行軟件,核心工作在于調用并執(zhí)行測試程序(Test Program,TP)序列,完成測試工作。
圖1 電子對抗自動測試產(chǎn)品線體系架構
電子對抗自動測試產(chǎn)品線本質上是基于“測試能力”設計“測試策略”滿足“測試需求”。底層包括支持混合總線的儀器集合,表征產(chǎn)品線的“測試能力”;中間層使產(chǎn)品線向下兼容多種不同架構和類型的測試儀器及其通信總線,向上匹配電子對抗系統(tǒng)多樣的測試需求,表征“測試策略”;頂層使用標準的描述語言定義被測單元,表征了電子對抗領域“測試需求”。
測試產(chǎn)品通常由一系列的共性特征和少量的變化點構成[20],硬件平臺和驅動體系使衍生產(chǎn)品具備相似的行為特性和質量屬性,體現(xiàn)了對共性的支持;領域共性構件通過對可變性特征的提取、篩選、組合和配置[21],實現(xiàn)測試程序的有效復用,進而衍生出一個產(chǎn)品譜,體現(xiàn)了對可變性的支持。
產(chǎn)品線共性平臺包含“硬件平臺”和“驅動體系”。硬件平臺由NI、是德、R&S等廠商的電子測試測量儀器構成,并且各儀器支持如GPIB、Ethernet和PXI等多種總線結構。產(chǎn)品線定義測試能力描述文件InstInfo.xml,對儀器固有信息、能力信息、資源信息等內容進行標準化的描述,包含儀器的邏輯名及與邏輯名匹配的功能、帶寬、采樣率、量程、精度和相應的驅動信息等,實現(xiàn)測試需求到測試能力的映射,支撐產(chǎn)品有效快速地演化。
驅動體系包括VISA和IVI驅動。VISA I/O是VPP系統(tǒng)聯(lián)盟制定的接口軟件標準及其相關規(guī)范的總稱[22],用于搭建訪問不同儀器的通用通道,為上層驅動屏蔽混合總線結構的差異。IVI(Interchangeable Virtual Instruments)是一種測試程序高性能、易于開發(fā)維護的編程模型[23],包含專用驅動(IVI Specific Driver)和類驅動(IVI Class Driver),向下利用VISA建立的通用通道實現(xiàn)對儀器的控制,向上提供標準的儀器類操作接口。產(chǎn)品線采用類驅動開發(fā)測試程序,使測試程序脫離了具體儀器的約束,具備“可移植性”。共性平臺體系結構拓撲形式[24]如圖2所示。主控計算機利用接口轉換卡在物理上連通各儀器,主控軟件通過物理地址來訪問各個儀器,基于VISA驅動,可以用相同的函數(shù)訪問GPIB、VXI、LXI和PXI等不同總線類型的儀器,傳遞不同“操作指令”實現(xiàn)不同的功能;而IVI驅動提供了更高級別的功能函數(shù),通過物理地址即可調用各儀器的功能,不關心儀器總線類型和“操作指令”,使儀器和總線的差異對上層應用透明。
圖2 混合總線自動測試系統(tǒng)
共性平臺在產(chǎn)品線生命周期中保持基本穩(wěn)定,并在應用工程中成體系地應用于不同衍生產(chǎn)品,使衍生產(chǎn)品支持儀器庫中各種儀器的動態(tài)互換和TP的可移植。
測試程序(TP)是對UUT測試方法的描述,其“有效復用”是產(chǎn)品線關注的重點,有效復用不等同于“可移植”,其關注點在TP不被具體測試需求所綁定,實現(xiàn)與特定需求的解耦,能有效應對需求的變化。
對電子對抗裝備的測試,即是對測頻能力、測向能力、測幅能力、時域參數(shù)測試能力和干擾能力進行檢測,要求產(chǎn)品線模擬激勵信號并測量輸出信號。信號激勵和測量需求的背后存在大量共性特征,如共性的方法或對儀器的共性操作,將這些共性特征對應的軟件功能模塊稱作測試子項(Test Subitem,TS),TS既是面向儀器操作的共性序列,也是面向測試需求的變化點,將少量的TS組合配置,就能形成大量功能各異的TP,有效地匹配測試需求的變化,完成測試任務,而不必重頭編寫程序,使TP系統(tǒng)化大規(guī)模的有效復用成為可能。如圖3所示,TP1用于測試項2的自動測試,但是不能復用于測試項3,但是粒度更細;TS1和TS2不僅能組裝TP1實現(xiàn)對測試項2的測試,也能有效復用于TP2,實現(xiàn)對測試項3的自動測試,同時也能組合成更多的TP,用少量的TS就能完成大量的測試任務。
圖3 TS組裝形成TP
TS在領域工程中被編譯為鏈接庫的形式,實現(xiàn)可視化調用而無須編程,是產(chǎn)品線復用的基礎和核心資產(chǎn),并且在應用工程中不斷地增長和優(yōu)化。
TS的開發(fā)一般從測試流程入手,抽取測試流程中對儀器的共性操作,并覆蓋測試項的變化點。以電子對抗領域常見的6個測試項為例,測試流程如下:
(1) 測頻范圍(TI-1)和測頻精度(TI-2):信號源輸出信號功率固定,在頻率范圍內駐留一定時間(比如100 ms),根據(jù)步進切換頻點,輸出多個頻點信號,計算測試項數(shù)據(jù)。
(2) 靈敏度(TI-3)和信號增益(TI-4):信號源輸出信號,在頻率范圍內設置多個頻點,輸出功率在設定范圍內按步進變化,根據(jù)觸發(fā)指令切換頻點。
(3) 相位噪聲(TI-5)和無雜散動態(tài)范圍(TI-6):利用頻譜儀測量信號,設置頻譜儀中心頻率和分辨率帶寬,設置△Marker移動至指定頻偏fm處,并讀取電平值,利用相關公式計算待測試項數(shù)據(jù)。
測試流程的共性如表1所示,其中編號對應的共性操作如下:1#-信號激勵;2#-設定頻率范圍;3#-設定頻率步進;4#-設定輸出的功率值;5#-信號切換觸發(fā)方式;6#-設定功率范圍;7#-設定功率變化步進;8#-設定信號功率頻率變化優(yōu)先級;9#-信號測量;10#-設定中心頻率;11#-設置RBW;12#-移動△Marker;13#-獲取△Marker電平值。
表1 測試項目共性分析
根據(jù)上述共性操作,形成以下5個測試子項:
(1) TS1-信號輸出頻率設置:FreqListSet[] =FreqSweep (StartFreq、StopFreq、CenterFreq、Span、SwpTime、FreqStep、PwerLevel)。針對所有激勵源儀器的輸出信號頻率控制,返回信號頻率列表值,其覆蓋共性:1#、2#、3#、4#。
(2) TS2-信號輸出功率設置:PwerListSet[] =PowerSweep(PwerStart、PwerStop、SwpTime、PwerStep、Frq)。針對所有激勵源儀器的輸出信號功率的控制,返回信號功率列表值,覆蓋共性:4#、6#、7#、8#。
(3) TS10-測量設置:MeaConfig(CenterFreq、Span、FreqOffset、SwpTime、RBW、VBW、NOofSwps、DetectorType、VerticalScale)。針對所有類型頻譜儀的測試參數(shù)配置,其覆蓋共性:9#、10#、11#。
(4) TS14-Marker設置:Marker(TraceIndex、 MkerType、SearchType、MvMkerPos、MkerPos、MkerAmplitude、RefMkerAmp、RefMkerPos)。針對所有測量儀器Marker的控制和參數(shù)讀取,返回Marker和△Marker的頻率和電平值,覆蓋共性:12#、13#。
(5) TS30-信號切換方式:StepChange(Dwell、SingleStep)。單步觸發(fā)或駐留時間方式切換信號,針對所有激勵或測量信號,覆蓋共性:5#。
如圖4所示,梳理分析六個測試項的測試流程共性,形成編號為TS1、TS2、TS10、TS14和TS30的測試子項,通過五個TS的組合覆蓋六個測試項,實現(xiàn)測試程序有效復用。
圖4 TS的組合實現(xiàn)有效復用
管理可變性是產(chǎn)品線的重要工作[25],需求作為產(chǎn)品線最重要的可變性輸入,對需求進行標準化描述是可變性管理的手段之一。產(chǎn)品線定義TestReq.xml描述測試需求,其包含UUT描述和多個測試項描述,如接口、供電、信號頻率、動態(tài)和脈寬等信息。由于結構化的需求描述能夠以較小的代價抽取新需求中的可重用模塊[26],因此面向信號的測試需求作為可變性建模的基礎,為產(chǎn)品線的演化和優(yōu)化提供支撐,同時為測試程序與需求的解耦打下基礎。TestReq.xml核心元素及其限定如表2所示。
表2 測試需求XML元素定義
協(xié)議適配器(Protocol Adaptor,PA)用于自動測試系統(tǒng)與UUT的通信協(xié)議適配,是實現(xiàn)自動化測試的必要軟件模塊。PA規(guī)范了產(chǎn)品線數(shù)據(jù)交換的內容和格式,并將協(xié)議適配根據(jù)雙生周期分兩個部分實現(xiàn),一部分已在領域工程中完成,另一部分需在應用工程中根據(jù)具體UUT接口需求實現(xiàn),其原理如圖5所示。
圖5 協(xié)議適配器原理
產(chǎn)品線數(shù)據(jù)交換標準:領域工程中規(guī)定的產(chǎn)品線對外通信數(shù)據(jù)標準,定義特定結構體存儲待交換數(shù)據(jù)。待交換數(shù)據(jù)包括兩類:(1) 指令類數(shù)據(jù),如測試開始、暫停、停止、信號切換;(2) 測試數(shù)據(jù),包含激勵或測量信號的參數(shù)和其他數(shù)據(jù),如時戳信息、信號駐留時間、信號類型、信號頻率、幅度、脈寬、重頻和信號帶寬等信息。
適配模塊是PA的核心,若UUT標準不符合產(chǎn)品線數(shù)據(jù)交換標準,那么在應用工程中,開發(fā)人員需編程實現(xiàn)“適配模塊”,轉換UUT與主控軟件的通信協(xié)議。適配模塊主要有三種實現(xiàn)方法:(1) 適配模塊將涉及數(shù)據(jù)交互的各項功能封裝成函數(shù),向主控軟件提供接口,通過參數(shù)傳遞進行數(shù)據(jù)的交換;(2) 開辟緩存空間,雙方將數(shù)據(jù)存入該空間中,適配模塊和主控軟件按約定機制在緩存空間中存取數(shù)據(jù),實現(xiàn)數(shù)據(jù)交換;(3) 開辟緩存空間用于數(shù)據(jù)存取,適配模塊和主控軟件實現(xiàn)read()、write()、open()、close()等進程通信函數(shù)通知對方存取數(shù)據(jù),實現(xiàn)數(shù)據(jù)交換。
配置管理(Configuration Management,CM)是產(chǎn)品線演化的重要技術工作,用于組織核心資產(chǎn)搭建產(chǎn)品的硬件和軟件[27]。配置管理模塊原理如圖6所示。
圖6 基于核心資產(chǎn)進行產(chǎn)品演化
CM主要完成三方面工作:(1) 根據(jù)測試需求組裝配置TS形成具有針對性的TP,進而形成測試程序集(TPS),是應用工程的核心工作;(2) 實現(xiàn)測試需求到測試能力映射,從儀器庫和專用驅動庫中選型符合量程、精度等要求的測試儀器及其對應的驅動,配置儀器的通信接口資源字符串,完成類驅動到專用驅動的映射,搭建硬件平臺與驅動體系,確保測試能力大于測試需求;(3) 根據(jù)測試需求和測試儀器參數(shù)生成配置文件,并對配置文件進行管理。
產(chǎn)品開發(fā)是產(chǎn)品線的最終目標,電子對抗自動測試產(chǎn)品線通過以下步驟配置核心資產(chǎn)演化新產(chǎn)品:
(1) 引入產(chǎn)品線共性平臺的軟件工程項目,其包括了產(chǎn)品線體系結構的共性平臺和可變部分的所有內容。
(2) 在CM中導入TestReq.xml文件,自動解析后,在界面顯示UUT和各測試項參數(shù)及待配置的TP,并為后續(xù)TS參數(shù)配置提供輸入,如圖7所示。
圖7 導入測試需求描述
(3) 根據(jù)測試需求描述和測試能力描述在儀器庫中篩選符合要求的測試儀器,并完成相應驅動體系的配置。
(4) CM平臺選擇待配置TP,在TS資產(chǎn)庫中選擇適當?shù)腡S,CM根據(jù)測試需求自動配置TS參數(shù),無須編程,快速簡便地組裝生成TP,如圖8所示。針對特殊需求,調用IVI或VISA驅動定制開發(fā)形成TS,并組裝相關TS形成TP,有必要時將其納入核心資產(chǎn)庫。
圖8 配置TS形成TP
(5) 實現(xiàn)適配模塊,根據(jù)UUT通信標準編寫適配模塊程序,搭建產(chǎn)品線與UUT通信的橋梁。
從開發(fā)方法的角度上,ATS的研制包括針對專用型ATS的傳統(tǒng)開發(fā)方法、通用開發(fā)平臺方法和產(chǎn)品線開發(fā)方法,以下對三種方法的工作量進行比較。
文獻[28]提出了一種對軟件工作量進行定量評估的方法,本文借鑒該文獻思想對研制系列化ATS的長遠工作量進行初步評估,工作量模型如式(1)所示。
(1)
式中:M為總工作量;N同類型功能點數(shù)量;S為單個功能點規(guī)模;V為單個功能點復雜度;h為功能點個數(shù)。
表3對三種開發(fā)方法工作量進行量化評估和對比,其基于單個項目包含30個TP的假設,并采用1~10個級別對規(guī)模和復雜度進行度量,數(shù)字越大表示規(guī)模越大、復雜度越高。表3中“功能點”一列各編號對應為:1-共性平臺搭建,2-PTA實現(xiàn),3-CM實現(xiàn),4-TS優(yōu)化,5-TP直接復用,6-TS開發(fā),7-驅動配置,8-儀器配置,9-PA編碼,10-開發(fā)平臺研制,11-硬件平臺搭建,12-基于平臺的TP開發(fā),13-驅動搭建,14-傳統(tǒng)TP開發(fā),15-UUT的通信。
表3 工作量對比分析
根據(jù)文獻[29]提出的logistic曲線方程結合工程經(jīng)驗,采用式(2)模擬TP直接復用率,表3中M0為一次性的工作量投入;M1(n)為持續(xù)工作量投入,如式(3)所示,產(chǎn)品線累計工作量如式(4)所示。
(2)
M1(n)=496-450×p(n)
(3)
(4)
通用開發(fā)平臺的方法累計開發(fā)工作量為F2(n)=100+(128×n);傳統(tǒng)方法累計工作量為F3(n)=M3×n,其中n為開發(fā)項目個數(shù)。
如圖9所示,產(chǎn)品線方法在第5個項目開始降低工作量,累計開發(fā)第19個項目后產(chǎn)品線效益超過傳統(tǒng)開發(fā)方式,累計開發(fā)30個項目后效益超過通用開發(fā)平臺方法,大幅降低企業(yè)開發(fā)系列產(chǎn)品的成本。
圖9 產(chǎn)品線工作量評估
軟件產(chǎn)品線是一種大粒度的復用技術,能解決特定領域系列產(chǎn)品復用率低、開發(fā)量大的問題。本文通過構建電子對抗自動測試產(chǎn)品線,分析領域需求,設計產(chǎn)品線體系架構、測試子項、硬件平臺等核心資產(chǎn),在應用工程中利用核心資產(chǎn)的組裝配置實現(xiàn)測試資源大粒度復用,提升長遠效益。后續(xù)工作需增加對可變性需求的管理,建立適用的模型分析領域可變性、TS與TP的復用率、核心資產(chǎn)間的復雜依賴關系,進而實現(xiàn)對產(chǎn)品線的高效管理和優(yōu)化。