(1.西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129; 2.空軍駐江西地區(qū)軍事代表室,江西 南昌 330024)
隨著時(shí)代和科學(xué)技術(shù)的飛速發(fā)展,通用自動(dòng)測(cè)試系統(tǒng) (Automatic Test System,ATS) 逐漸興起。在自動(dòng)測(cè)試系統(tǒng)內(nèi)部,各個(gè)組件之間緊密連接,同時(shí)進(jìn)行必要的數(shù)據(jù)交換,系統(tǒng)資源信息的規(guī)范化描述就變得尤為重要,它是保障自動(dòng)測(cè)試系統(tǒng)通用性的前提。
IEEE標(biāo)準(zhǔn)委員會(huì)下的測(cè)試信息集成(TestInformation Intergration)分委員會(huì)發(fā)布了自動(dòng)測(cè)試標(biāo)記語(yǔ)言(Automatic Test Markup Language,ATML)標(biāo)準(zhǔn)集[1,2],該語(yǔ)言標(biāo)準(zhǔn)的使用可擴(kuò)展標(biāo)記語(yǔ)言 (eXtensible Markup Language,XML) 來(lái)進(jìn)行ATS組成單元之間測(cè)試信息的標(biāo)準(zhǔn)化交換。
ATML標(biāo)準(zhǔn)的優(yōu)點(diǎn)體現(xiàn)在3個(gè)方面:
① 概括了自動(dòng)測(cè)試系統(tǒng)內(nèi)部的必要元素;
② 對(duì)ATS內(nèi)部系統(tǒng)資源提供了規(guī)范化描述,提高了系統(tǒng)的通用性,便于系統(tǒng)間的數(shù)據(jù)交換;
③ ATML將系統(tǒng)劃分為各個(gè)子組件,便于組件建模,同時(shí)也可通過XML進(jìn)行數(shù)據(jù)交換。
文獻(xiàn)[3]提出了以稀疏矩陣和單鏈表為基礎(chǔ)的資源匹配算法;文獻(xiàn)[4]提出了一種ATS軟件建模技術(shù),實(shí)現(xiàn)了兼容ATML標(biāo)準(zhǔn)所需的建模流程設(shè)計(jì)、模型識(shí)別及模型運(yùn)行流程設(shè)計(jì);文獻(xiàn)[5]提出了以多屬性決策理論研究?jī)x器能力與測(cè)點(diǎn)需求的匹配,并建立了匹配函數(shù),量化衡量測(cè)點(diǎn)與儀器的匹配優(yōu)劣;文獻(xiàn)[6]利用ATML Schema組件內(nèi)容及其相互關(guān)系的關(guān)鍵XML技術(shù)所體現(xiàn)的先進(jìn)軟件工程的思想體現(xiàn)的繼承、多態(tài)、消息映射等概念開發(fā)自定義的測(cè)試信息描述Schema;文獻(xiàn)[7]介紹了ATML的需求背景、體系組成以及在自動(dòng)測(cè)試系統(tǒng)中的實(shí)際應(yīng)用案例;文獻(xiàn)[8]介紹了ATML標(biāo)準(zhǔn)在空空導(dǎo)彈研究中的應(yīng)用;文獻(xiàn)[9]提出了一種運(yùn)行時(shí)服務(wù)設(shè)計(jì)方案,完成了運(yùn)行時(shí)服務(wù)功能;文獻(xiàn)[10]和文獻(xiàn)[11]通過分析資源描述文檔來(lái)判斷測(cè)試系統(tǒng)內(nèi)部?jī)x器是否滿足需求;文獻(xiàn)[12]提出了利用ATML的關(guān)鍵信息搜索測(cè)試通道的方法;文獻(xiàn)[13]提出了一種面向信號(hào)的自動(dòng)測(cè)試系統(tǒng)資源分配方法,通過信號(hào)匹配為UUT端口分配儀器資源。
本文針對(duì)ATML標(biāo)準(zhǔn)對(duì)ATS系統(tǒng)資源進(jìn)行分析,將資源劃分為6個(gè)子組件進(jìn)行組件建模,并分別設(shè)計(jì)了建模工具對(duì)資源信息進(jìn)行ATML描述。在此基礎(chǔ)上對(duì)運(yùn)行時(shí)服務(wù)(Runtime Service,RTS)進(jìn)行功能設(shè)計(jì),通過多屬性匹配完成虛擬資源映射,并通過廣度優(yōu)先搜索算法完成了路由通道選擇。
ATML標(biāo)準(zhǔn)的出現(xiàn)成功地解決了測(cè)試系統(tǒng)資源信息的通用性問題,提高了系統(tǒng)之間信息的共享效率。ATML標(biāo)準(zhǔn)以XML技術(shù)為基礎(chǔ),開發(fā)符合測(cè)試領(lǐng)域適用的XSD格式的系統(tǒng)資源描述文件。
ATML體系結(jié)構(gòu)主要包括三大部分:ATML框架、ATML組件和ATML相關(guān)標(biāo)準(zhǔn)[14]。ATML主體框架通過ATML子組件的形式進(jìn)行定義,其包括了通用信息、測(cè)試結(jié)果、測(cè)試描述、測(cè)試配置、儀器描述、測(cè)試站描述、測(cè)試適配器描述、被測(cè)設(shè)備(UUT)描述。同時(shí),子組件由3部分組成:標(biāo)準(zhǔn)、XSD文件和實(shí)例文檔。XSD文件規(guī)定了對(duì)應(yīng)XML文件的結(jié)構(gòu)框架和屬性,對(duì)相應(yīng)的XML文件的正確性進(jìn)行判斷[5-6],ATML標(biāo)準(zhǔn)為系統(tǒng)內(nèi)部硬件資源信息的存儲(chǔ)規(guī)定了基本結(jié)構(gòu)框架,ATML解析工具可以方便地解析按照ATML標(biāo)準(zhǔn)存儲(chǔ)的數(shù)據(jù)。
ATS系統(tǒng)由硬件平臺(tái)和軟件平臺(tái)共同組成。ATML標(biāo)準(zhǔn)主要對(duì)系統(tǒng)的軟硬件資源進(jìn)行標(biāo)準(zhǔn)化描述。根據(jù)ATML標(biāo)準(zhǔn)對(duì)ATS系統(tǒng)資源進(jìn)行描述,將系統(tǒng)資源分為6個(gè)子組件進(jìn)行建模:測(cè)試描述、儀器、UUT、測(cè)試適配器、測(cè)試站和系統(tǒng)連接關(guān)系,各個(gè)子組件之間通過標(biāo)準(zhǔn)規(guī)范進(jìn)行數(shù)據(jù)交換。各模塊之間的信息互聯(lián)如圖1所示。
ATML標(biāo)準(zhǔn)與系統(tǒng)資源對(duì)應(yīng)關(guān)系如下。
(1) 測(cè)試描述(IEEE 1671.1)

圖1 模塊之間互聯(lián)關(guān)息
測(cè)試描述文件對(duì)測(cè)試信息進(jìn)行了存儲(chǔ),包括接口信息、測(cè)試動(dòng)作、測(cè)試序列、UUT相關(guān)信息等。
(2) 儀器描述(IEEE 1671.2)。
儀器描述對(duì)測(cè)試系統(tǒng)內(nèi)部?jī)x器資源自身信息進(jìn)行了定義,主要包括儀器能力、接口和儀器內(nèi)部端口的連接關(guān)系。儀器能力以信號(hào)特征描述,符合IEEE 1641的信號(hào)標(biāo)準(zhǔn)。
(3) UUT描述(IEEE 1671.3)。
UUT描述對(duì)UUT的信息進(jìn)行了定義,包括UUT對(duì)外提供的接口信息、UUT基本信息、引腳的信號(hào)需求等。
(4) 測(cè)試適配器描述(IEEE 1671.5)
測(cè)試適配器的主要作用就是匹配測(cè)試站和UUT,內(nèi)部包括信號(hào)調(diào)理電路和連接開關(guān)。測(cè)試適配器描述主要對(duì)其內(nèi)部連接關(guān)系、適配器端口和內(nèi)部電氣特性進(jìn)行描述。
(5) 測(cè)試站描述(IEEE 1671.6)。
測(cè)試站作為ATS主要硬件平臺(tái),內(nèi)部含有測(cè)試系統(tǒng)中的各種資源。測(cè)試站描述主要是對(duì)外部接口、內(nèi)部連接關(guān)系、儀器資源進(jìn)行描述。
(6) 系統(tǒng)連接關(guān)系描述
系統(tǒng)連接關(guān)系描述定義了測(cè)試站與測(cè)試適配器、測(cè)試適配器和UUT之間的外部連接關(guān)系。
本文以儀器建模為例,對(duì)資源建模進(jìn)行了說明。在自動(dòng)測(cè)試系統(tǒng)中,儀器的主要功能是實(shí)現(xiàn)對(duì)UUT測(cè)點(diǎn)信號(hào)需求的產(chǎn)生和測(cè)量。儀器資源模型應(yīng)該全面細(xì)致地反映自動(dòng)測(cè)試過程中所需要儀器的各種信息。
儀器信息通過符合ATML標(biāo)準(zhǔn)的XML文件進(jìn)行存儲(chǔ),保證了儀器在自動(dòng)測(cè)試系統(tǒng)之間的通用性。儀器資源模型主要包括儀器的基本信息、通道信息和能力信息。ATML標(biāo)準(zhǔn)通過Instrument Description.xsd文件對(duì)儀器ATML文檔進(jìn)行規(guī)范[15]。
儀器描述模式文檔通過樹形結(jié)構(gòu)層次化地展示了信息間的相互關(guān)系,允許用戶對(duì)儀器信息進(jìn)行保存,儀器描述文檔以InstrumentDescription為根節(jié)點(diǎn),包含了儀器的基本信息、接口信息及其他關(guān)鍵信息。儀器描述文件視圖如圖2所示。

圖2 儀器描述文檔邏輯視圖
ATML標(biāo)準(zhǔn)最初制定時(shí)為了保證資源信息的全面性,描述模式文檔的信息冗余量比較大,在應(yīng)用中,考慮到具體測(cè)試任務(wù)的需要,開發(fā)者可選取所需要的關(guān)鍵信息對(duì)資源進(jìn)行描述。本文選取典型的3個(gè)節(jié)點(diǎn)對(duì)儀器描述文檔進(jìn)行說明。
(1) 接口信息(Interface)。
接口通過Interface元素進(jìn)行描述。接口信息主要包括連接器(Connectors)和端口(Ports)。Connectors元素描述硬件設(shè)備的物理連接信息,主要包含ID、位置、類型和模型名稱,在XML文件中采用樹形結(jié)構(gòu),可以很方便地表述多個(gè)連接器之間的相互關(guān)系。
(2) 內(nèi)部連接信息(NetworkList)。
內(nèi)部連接信息描述了與硬件內(nèi)部各個(gè)端口之間的連接關(guān)系,它是硬件內(nèi)部各個(gè)端口之間的一種物理連接方式,其通過NetworkList元素來(lái)描述。
(3) 能力信息(Capabilities)。
儀器信號(hào)能力在Capabilities節(jié)點(diǎn)下描述,包括信號(hào)能力和資源能力映射。在儀器內(nèi)部,資源是一種產(chǎn)生信號(hào)能力的邏輯實(shí)體,包括資源名稱和資源端口兩部分;而信號(hào)能力就是資源能夠產(chǎn)生的信號(hào)特征的描述。在儀器能力建模時(shí),為了表征儀器某個(gè)端口的信號(hào)能力,需要完成信號(hào)端口到資源端口、資源端口到儀器邏輯端口的映射。
在整個(gè)測(cè)試系統(tǒng)建模組件的開發(fā)中,考慮到建模工具可為用戶提供良好的圖形交互環(huán)境,又考慮到采用面向?qū)ο蟮腃++語(yǔ)言可以方便程序的開發(fā),選用Qt5.8開發(fā)系統(tǒng)資源建模組件,同時(shí)Qt含有QDomDocument和QXmlStreamReader等類庫(kù),可以方便地對(duì)XML文件進(jìn)行讀寫操作。
儀器建模軟件旨在通過良好的人機(jī)交互界面建立符合ATML標(biāo)準(zhǔn)的儀器描述模型。儀器建模軟件根據(jù)儀器模式描述文檔特點(diǎn),采用樹形結(jié)構(gòu)表征模型,對(duì)于描述文檔所需元素,其以一定的圖元進(jìn)行表示,并建立子組件。儀器建模軟件包含多個(gè)子組件,各個(gè)子組件分別對(duì)不同元素建模,最后根據(jù)樹形結(jié)構(gòu)進(jìn)行綜合。儀器建模軟件中關(guān)鍵模塊為模型轉(zhuǎn)換模塊,開發(fā)人員輸入模型數(shù)據(jù)后,模型轉(zhuǎn)換模塊按照ATML模型結(jié)構(gòu)將數(shù)據(jù)動(dòng)態(tài)轉(zhuǎn)換為ATML文件,實(shí)現(xiàn)資源建模。
儀器建模軟件通過可視化的界面,將開發(fā)人員輸入的儀器數(shù)據(jù)動(dòng)態(tài)轉(zhuǎn)化為符合ATML標(biāo)準(zhǔn)的儀器描述文檔,快速實(shí)現(xiàn)儀器建模 。通過儀器建模軟件,開發(fā)人員可以在僅了解所需儀器的性能、接口信息的前提下,實(shí)現(xiàn)儀器的ATML描述,減少了自動(dòng)測(cè)試過程中人力資源的投入,使資源建模更加靈活通用。儀器建模軟件的工作流程如圖3所示。

圖3 儀器建模工具工作流程
本文以信號(hào)能力和資源建模為例,對(duì)組件部分界面的設(shè)計(jì)進(jìn)行介紹。資源能力建模主要信息如表2所示。

表2 資源能力建模信息
根據(jù)信號(hào)能力和資源的必要信息,信號(hào)能力建模工具界面設(shè)計(jì)如圖4所示,對(duì)儀器信號(hào)能力建模過程中,引用STD標(biāo)準(zhǔn)[16-17]對(duì)信號(hào)屬性進(jìn)行建模。

圖4 信號(hào)能力建模工具界面
用戶通過儀器建模組件,可以方便地對(duì)儀器的相關(guān)信息進(jìn)行錄入,以生成符合規(guī)范的ATML描述文件。例如,在對(duì)儀器能力建模過程中,用戶可通過界面錄入儀器的信號(hào)能力屬性特征及資源端口,并以XML文件的格式保存在計(jì)算機(jī)內(nèi)存中。
運(yùn)行時(shí)服務(wù)模塊是面向信號(hào)的測(cè)試環(huán)境中進(jìn)行資源管理的關(guān)鍵環(huán)節(jié)。
本質(zhì)上來(lái)說,測(cè)試程序是一系列信號(hào)操作的集合,例如創(chuàng)建信號(hào)、初始化信號(hào)和控制信號(hào)。在儀器驅(qū)動(dòng)層上,各種儀器驅(qū)動(dòng)通過IVI-Signal標(biāo)準(zhǔn)封裝成COM組件,通過傳入信號(hào)的具體參數(shù)來(lái)調(diào)用儀器。在這個(gè)過程中,運(yùn)行時(shí)服務(wù)系統(tǒng)根據(jù)具體的測(cè)試需求來(lái)進(jìn)行儀器能力的映射,并找到一條最佳的信號(hào)通路,完成虛擬資源映射和路由通道選擇。
(1) 虛擬資源映射。
在測(cè)試描述文檔中,用戶所需的測(cè)試需求通過信號(hào)的方式進(jìn)行描述,體現(xiàn)了當(dāng)前測(cè)試任務(wù)對(duì)信號(hào)能力的需求,系統(tǒng)資源描述文檔中的信號(hào)能力以信號(hào)形式描述,體現(xiàn)了當(dāng)前儀器所能提供的信號(hào)特征,因此RTS要完成測(cè)試信號(hào)需求與儀器能力的匹配。
(2) 路由通道選擇。
完成虛擬資源映射之后,通過系統(tǒng)中資源文件確定UUT被測(cè)點(diǎn)以及儀器能力端口,RTS通過加載所有的資源描述文檔,存儲(chǔ)系統(tǒng)中的引腳連接關(guān)系,根據(jù)資源連接關(guān)系為UUT的被測(cè)點(diǎn)確定一條最佳信號(hào)通路,即路由通道選擇。
系統(tǒng)中具有完善的內(nèi)部資源描述信息是運(yùn)行時(shí)服務(wù)系統(tǒng)正常工作的前提,包括測(cè)試站、UUT、測(cè)試適配器、儀器和系統(tǒng)連接關(guān)系的信息。測(cè)試程序執(zhí)行過程中,RTS通過解析各個(gè)資源描述文檔并通過信號(hào)匹配算法完成虛擬資源映射,RTS引用各個(gè)系統(tǒng)資源描述文檔如圖5所示。

圖5 RTS引用系統(tǒng)資源描述文檔示意圖
3.2.1 虛擬資源映射設(shè)計(jì)
虛擬資源映射的目的是檢查測(cè)試系統(tǒng)提供的測(cè)試能力是否能夠滿足測(cè)試需求。如果測(cè)試系統(tǒng)不能滿 足UUT的測(cè)試需求,則表示該測(cè)試系統(tǒng)不能對(duì)指定UUT進(jìn)行測(cè)試,系統(tǒng)應(yīng)給出相應(yīng)的提示。運(yùn)行時(shí)服務(wù)系統(tǒng)工作時(shí),首先完成虛擬資源映射,將測(cè)試信號(hào)需求映射到信號(hào)能力,得到物理端口信息,通過多屬性匹配算法完成資源映射。主要實(shí)現(xiàn)步驟如下:
① 提取測(cè)試信號(hào)需求。通過解析描述文件得到需求信號(hào)的特征和信號(hào)類型。
② 提取測(cè)試站能力。解析測(cè)試站描述文檔,根據(jù)測(cè)試站描述文檔中Capability元素的子元素Sign-alDescription,獲取測(cè)試站所有的信號(hào)能力和端口。
③ 匹配信號(hào)能力。通過信號(hào)匹配算法,將測(cè)試信號(hào)需求和信號(hào)能力特征進(jìn)行匹配,匹配成功則記錄對(duì)應(yīng)儀器名稱和儀器端口。匹配過程如圖6所示。
多屬性匹配算法將測(cè)試需求信號(hào)及測(cè)試站能力內(nèi)部屬性進(jìn)行匹配,算法執(zhí)行過程中對(duì)各類屬性進(jìn)行分類匹配,完全匹配則資源映射成功。基于此匹配方法的測(cè)試軟件平臺(tái)能夠自行判斷系統(tǒng)是否有能力執(zhí)行一個(gè)給定的測(cè)試任務(wù),并自動(dòng)匹配測(cè)試儀器。在系統(tǒng)測(cè)試程中實(shí)現(xiàn)可用儀器的快速查找,保證了資源匹配過程中的有序性和準(zhǔn)確性。

圖6 多屬性匹配過程
3.2.2 路由通道選擇設(shè)計(jì)
路由通道選擇的目的是獲取能力端口和UUT被測(cè)端口之間的最佳通路。在系統(tǒng)內(nèi)部資源描述文檔中,各個(gè)硬件設(shè)備的端口在Interface元素下的子元素Ports中定義,硬件內(nèi)部連接關(guān)系在NetworkList元素中定義,系統(tǒng)間的連接關(guān)系在系統(tǒng)連接描述文檔中通過WireList元素定義,測(cè)試系統(tǒng)內(nèi)部端口的連接關(guān)系構(gòu)成關(guān)系圖,為了方便查找,基于圖論的思想,采用圖結(jié)構(gòu)對(duì)端口間的連接關(guān)系進(jìn)行存儲(chǔ),并通過廣度優(yōu)先搜索算法搜索,主要實(shí)現(xiàn)步驟如下:
① 遍歷系統(tǒng)資源描述文檔,提取端口間的連接關(guān)系,并通過圖結(jié)構(gòu)進(jìn)行存儲(chǔ)。
② 起點(diǎn)為信號(hào)能力端口,終點(diǎn)為UUT被測(cè)端口,通過廣度優(yōu)先搜索算法對(duì)連接網(wǎng)絡(luò)圖進(jìn)行遍歷。
③ 以最短路徑為指標(biāo),選擇出最佳的信號(hào)通路。
自動(dòng)測(cè)試測(cè)試系統(tǒng)內(nèi)部資源端口間連接關(guān)系通過連接關(guān)系圖直觀表示,通過圖論的思想,路由通道選擇模塊解析資源描述文件,將連接關(guān)系存儲(chǔ)在內(nèi)存中,構(gòu)建系統(tǒng)端口連接關(guān)系圖,通過廣度優(yōu)先搜索遍歷端口連接圖,可準(zhǔn)確確定是否存在信號(hào)能力端口到UUT被測(cè)端口的信號(hào)通路,極大縮短了傳統(tǒng)方法中頻繁解析ATML文件所浪費(fèi)的時(shí)間,提高了測(cè)試效率。
假設(shè)儀器1自身能夠產(chǎn)生兩種信號(hào),分別為0~12 V的直流信號(hào)和一個(gè)幅值為0~16 V,頻率為200~1000 Hz的正弦信號(hào),通過兩個(gè)端口輸出。測(cè)試系統(tǒng)內(nèi)部連接關(guān)系在此不再贅述。測(cè)試信號(hào)需求為幅值為6 V的直流信號(hào),該信號(hào)被施加在連接器引腳J1-P-in0、J1-Pin1上,對(duì)應(yīng)UUT端口為uut_power,通過RTS虛擬資源映射,對(duì)測(cè)試需求信號(hào)和測(cè)試站能力進(jìn)行多屬性匹配,匹配到的測(cè)試站中的instrument儀器端口dcpower符合該信號(hào)能力,通過路由通道選擇找到了儀器端口dcpower到UUT端口uut_ power的最佳信號(hào)通路。RTS運(yùn)行結(jié)果如圖7所示。

圖7 RTS運(yùn)行結(jié)果
ATML標(biāo)準(zhǔn)規(guī)定了測(cè)試系統(tǒng)內(nèi)部資源的通用化描述。在ATML標(biāo)準(zhǔn)下,資源信息以規(guī)定的格式存儲(chǔ),保證了系統(tǒng)內(nèi)部的數(shù)據(jù)交換和系統(tǒng)間的互操作性。本文對(duì)系統(tǒng)資源建模進(jìn)行了分析和建模工具的設(shè)計(jì),實(shí)現(xiàn)了資源信息的可視化、規(guī)范化建模,提高了ATML文件的書寫效率;并在已有資源描述文件基礎(chǔ)上,提出了一種運(yùn)行時(shí)服務(wù)的設(shè)計(jì)方案,完成了虛擬資源映射和路由通道選擇的算法設(shè)計(jì),具有一定的實(shí)際應(yīng)用意義。