虛擬儀器測(cè)試環(huán)境軟件總線體系結(jié)構(gòu)
測(cè)試技術(shù)是貫穿于產(chǎn)品全壽命周期各階段的唯一的一項(xiàng)工程技術(shù),測(cè)試的核心技術(shù)又是 軟件,是實(shí)現(xiàn)貨架產(chǎn)品(Commercial Off-The-Shelf,COTS)的關(guān)鍵。自動(dòng)測(cè)試設(shè)備(Automatic Test Equipment)的軟件平臺(tái)應(yīng)以 “互連、互通、互操作”原則作為基本要求,實(shí)現(xiàn)測(cè)試和診斷信息的融合和共享。
虛擬儀器測(cè)試環(huán)境 (Visual Instrument Test Environment, VITE)是支持IEEE 1226廣域測(cè)試環(huán)境(A Broad –Based Environment for Test)標(biāo)準(zhǔn)的開放式通用測(cè)試軟件平臺(tái)產(chǎn)品,它采用軟總線(對(duì)象總線)的結(jié)構(gòu)形式,利用對(duì)象模型驅(qū)動(dòng)的原理,在各個(gè)對(duì)象模型組件之間,以及組件的使用者 和提供者之間,建立透明的通信通道。其目的是實(shí)現(xiàn)自動(dòng)測(cè)試系統(tǒng)測(cè)試程序集(Test Program Set)開發(fā)與硬件平臺(tái)無關(guān)性,體現(xiàn)系統(tǒng)設(shè)計(jì)的方便性、靈活性、安全性和先進(jìn)性。在軟件信息模型的設(shè)計(jì)上,強(qiáng)調(diào)系統(tǒng)重構(gòu)或重組,能夠根據(jù)被測(cè)對(duì)象或測(cè)試流 程的不同而動(dòng)態(tài)地進(jìn)行重組,降低系統(tǒng)重組的費(fèi)用。
一、VITE標(biāo)準(zhǔn)體系結(jié)構(gòu)分析
虛擬儀器測(cè)試環(huán)境VITE采用開放式的對(duì)象模型驅(qū)動(dòng)結(jié)構(gòu)(Model Driven Architecture),全面支持產(chǎn)品測(cè)試領(lǐng)域的各種軟件接口標(biāo)準(zhǔn),以實(shí)現(xiàn)軟件組件的可移植性、可重用性、互換性、互操作性。標(biāo)準(zhǔn)體系見圖1。
圖1 虛擬儀器測(cè)試環(huán)境標(biāo)準(zhǔn)框架
在整個(gè)標(biāo)準(zhǔn)體系中,根據(jù)產(chǎn)品測(cè)試的特征,劃分為兩個(gè)層次的框架,即信息框架和系統(tǒng)框架,所有相關(guān)的組件標(biāo)準(zhǔn)以即插即用的功能模塊形式掛在框架軟總線上。
產(chǎn)品測(cè)試過程中的各種信息處理圍繞著信息框架展開,分別包括測(cè)試需求建模數(shù)據(jù)、測(cè)試程序文檔、機(jī)內(nèi)測(cè)試數(shù)據(jù)、診斷和維護(hù)數(shù)據(jù)、儀器資源數(shù)據(jù)和數(shù)據(jù)交換格 式數(shù)據(jù)等。其關(guān)鍵是IEEE 1226標(biāo)準(zhǔn)中定義的核心測(cè)試信息模型(Core Test Information Model),充分描述了測(cè)試、測(cè)試說明、測(cè)試需求和其它的廣域測(cè)試領(lǐng)域的信息實(shí)體。各個(gè)組件標(biāo)準(zhǔn)都是基于CTIM的,并根據(jù)各自的特點(diǎn)完成對(duì)CTIM的 擴(kuò)展,從而將其定制到不同應(yīng)用領(lǐng)域。
具體的測(cè)試實(shí)現(xiàn)則圍繞著系統(tǒng)框架展開,包括各種的資源管理服務(wù)、運(yùn)行時(shí)服務(wù)、儀器驅(qū)動(dòng)、診斷處理服務(wù)等。
系統(tǒng)框架負(fù)責(zé)向信息框架提供信息來源,是信息的提供者。而信息框架根據(jù)產(chǎn)品測(cè)試要求,向系統(tǒng)框架發(fā)出信息采集命令,并接收和處理信息。
所謂框架實(shí)質(zhì)上是為簡(jiǎn)化特殊應(yīng)用領(lǐng)域的應(yīng)用開發(fā)和系統(tǒng)管理而設(shè)計(jì)的軟件環(huán)境。從另外一個(gè)視角看這個(gè)標(biāo)準(zhǔn)框架,框架在軟件層次中是一種中間件,它位于操作 系統(tǒng)之上,具體的測(cè)試應(yīng)用之下。圖2顯示了ABBET測(cè)試基本框架(Test Foundation Framework)中的標(biāo)準(zhǔn)的綜合集。
圖2 ABBET測(cè)試基礎(chǔ)標(biāo)準(zhǔn)框架
標(biāo)準(zhǔn)化框架允許測(cè)試應(yīng)用和工具能夠在實(shí)現(xiàn)于ABBET框架服務(wù)之上的異構(gòu)平臺(tái)中得到支持。這些標(biāo)準(zhǔn)圍繞表示測(cè)試主體、測(cè)試資源和測(cè)試環(huán)境的三個(gè)軸進(jìn)行組織。
圖中水平軸所表示的測(cè)試主體標(biāo)準(zhǔn)支持測(cè)試主體信息的獲取和重用。測(cè)試主體信息捕獲對(duì)測(cè)試主體設(shè)計(jì)和測(cè)試需求的說明,這些說明可以避免在初期開發(fā)、維護(hù)和測(cè)試應(yīng)用的重駐過程中進(jìn)行二次開發(fā)。測(cè)試主體信息也包括診斷知識(shí),可在測(cè)試過程中被訪問。
垂直軸所表示的測(cè)試資源標(biāo)準(zhǔn)應(yīng)用于測(cè)試資源和信息。測(cè)試資源控制標(biāo)準(zhǔn)支持對(duì)儀器配置和數(shù)據(jù)獲取等系統(tǒng)服務(wù)的訪問。測(cè)試資源信息標(biāo)準(zhǔn)支持對(duì)測(cè)試應(yīng)用資源需求和測(cè)試儀器能力進(jìn)行規(guī)范。這些標(biāo)準(zhǔn)支持調(diào)整測(cè)試應(yīng)用,以適應(yīng)測(cè)試設(shè)備配置的修改。
斜軸所表示的環(huán)境相關(guān)標(biāo)準(zhǔn),支持測(cè)試應(yīng)用在異構(gòu)測(cè)試環(huán)境之間的互換和重駐。測(cè)試信息以一種中立的、與具體實(shí)現(xiàn)無關(guān)的格式進(jìn)行交換,這種格式對(duì)于數(shù)據(jù)導(dǎo)入、導(dǎo)出服務(wù)很適合。
二、VITE實(shí)現(xiàn)體系結(jié)構(gòu)
開放式虛擬儀器測(cè)試環(huán)境的體系結(jié)構(gòu)中包含了多種標(biāo)準(zhǔn)的開放式軟件接口關(guān)系。軟件功能模塊通過這些接口實(shí)現(xiàn)信息交換,這些帶有標(biāo)準(zhǔn)接口的功能模塊組成了測(cè)試基礎(chǔ)框架。
VITE的實(shí)現(xiàn)以面向?qū)ο蟮慕M件為基礎(chǔ),按照信息框架和系統(tǒng)框架的原則,設(shè)計(jì)實(shí)現(xiàn)了若干個(gè)功能組件。具體結(jié)構(gòu)見圖3。
圖3 VITE組成結(jié)構(gòu)
組件是一種定義良好的獨(dú)立可重用的二進(jìn)制代碼,它可以是一些功能模塊、被封裝的對(duì)象類、軟件框架、軟件系統(tǒng)模型等。目前基于對(duì)象的組件軟件體系結(jié)構(gòu)中的“組件”是指可方便地插入到語(yǔ)言、工具、操作系統(tǒng)、網(wǎng)絡(luò)軟件系統(tǒng)中的二進(jìn)制形式的代碼和數(shù)據(jù)。
軟總線又叫對(duì)象總線或ORB(對(duì)象請(qǐng)求代理),其目的是為組件間或組件使用者與組件提供者之間提供透明的通信通道。圖中的應(yīng)用執(zhí)行、診斷顯示、測(cè)試系統(tǒng)等組件就是掛接在軟總線上的“軟件集成電路(IC)”。
軟總線是聯(lián)結(jié)應(yīng)用程序、各種對(duì)象、服務(wù)、對(duì)象工具集的核心,能夠把各個(gè)組件對(duì)象元素有序地分割開來,用以實(shí)現(xiàn)分布式的軟件集成和應(yīng)用上的即插即用。它包 括兩個(gè)兩個(gè)層次的關(guān)系:1).對(duì)象方法、服務(wù)的“定義” 與它們的“實(shí)現(xiàn)”之間的關(guān)系。通過接口定義語(yǔ)言 OMG IDL 我們可以獲得規(guī)范、通用的對(duì)象方法、服務(wù)定義。借助軟總線,這些定義可以在任何編程語(yǔ)言、代碼模塊中真正實(shí)現(xiàn),這種分割有助于進(jìn)行具體軟件編碼互換,編程 語(yǔ)言互換以及版本互換。2).請(qǐng)求“客戶”與響應(yīng)“服務(wù)器”之間的關(guān)系??蛻魧?duì)其它對(duì)象方法、服務(wù)的請(qǐng)求并不直接傳遞給被請(qǐng)求服務(wù)器,而是轉(zhuǎn)交給軟總線, 由總線監(jiān)察服務(wù)器的位置、狀態(tài),并決定服務(wù)綁定的方式,這種關(guān)系有助于對(duì)分布式對(duì)象進(jìn)行跨平臺(tái)、跨協(xié)議的邏輯集成。
這兩種關(guān)系能夠保 證組件通過總線進(jìn)行通信,解決組件之間的互操作問題。每個(gè)組件通過組件通信單元(也稱適配器)與總線連接,適配器組件解決互不相識(shí)的組件之間的互操作和數(shù) 據(jù)交換問題。從適配器送往總線的數(shù)據(jù)組件對(duì)象能被任一其它適配器自動(dòng)識(shí)別,而且數(shù)據(jù)組件對(duì)象安裝期間可由安裝人員進(jìn)行適當(dāng)?shù)恼{(diào)整從而改變服務(wù)組件的功能和 結(jié)構(gòu),以適應(yīng)新的要求。用戶界面組件提供表示服務(wù),服務(wù)組件提供功能服務(wù)。
結(jié)合第2節(jié)描述的VITE標(biāo)準(zhǔn)體系結(jié)構(gòu)劃分和測(cè)試主體、測(cè)試資源、測(cè)試環(huán)境三者之間的關(guān)系,整個(gè)VITE的實(shí)現(xiàn)分為五個(gè)概念層。
第1層為測(cè)試信息層,主要對(duì)被測(cè)產(chǎn)品進(jìn)行描述,以取得產(chǎn)品設(shè)計(jì)和維護(hù)試驗(yàn)的有關(guān)信息,以及其測(cè)試的特殊需求。圖3中的模型編輯組件主要完成這一層的功能。
第2層為測(cè)試需求和策略層,提供UUT(被測(cè)件)的測(cè)試需求、測(cè)試模式和診斷知識(shí)的標(biāo)準(zhǔn)信息實(shí)體,其目的是產(chǎn)生高效的測(cè)試程序和可靠的數(shù)據(jù)。圖3中的應(yīng)用執(zhí)行組件、診斷引擎組件、數(shù)據(jù)庫(kù)引擎組件等主要完成這一層的功能。
第3層為用戶應(yīng)用程序?qū)?,主要用于幫助開發(fā)TPS程序,定義了與測(cè)試執(zhí)行對(duì)應(yīng)的操作接口,測(cè)試執(zhí)行包括測(cè)試選擇、測(cè)試順序選擇、診斷交互、訪問用戶接口部件以及訪問數(shù)據(jù)日志和文件操作。圖3中的應(yīng)用執(zhí)行組件、診斷顯示組件等主要完成這一層的功能。
第4層為測(cè)試資源管理層,提供了用于全面管理測(cè)試系統(tǒng)資源的基本接口,支持在某一特定ATE條件下執(zhí)行獨(dú)立的ATE測(cè)試的能力,其目的是允許不同廠商制造的儀器和不同種類的儀器可用于同一測(cè)試程序以完成各自的功能。圖3中的COTS測(cè)試語(yǔ)言組件主要完成這一層的功能。
第5層為儀器驅(qū)動(dòng)(控制)層。該層主要提供了ATE可利用的各類總線標(biāo)準(zhǔn)和儀器接口,如IEEE488、SCPI、VISA、IVI等等。圖3中的COTS儀器驅(qū)動(dòng)組件主要完成這一層的功能。
三、VITE核心信息模型結(jié)構(gòu)
VITE的信息框架的基本信息模型是基于核心信息模型結(jié)構(gòu)CTIM的,其目標(biāo)是描述一個(gè)或多個(gè)產(chǎn)品的測(cè)試,提供在不同系統(tǒng)間交換測(cè)試信息的途徑。其描述可以是與測(cè)試器無關(guān)的,這樣可以支持不同平臺(tái)和環(huán)境之間的測(cè)試重用。
核心測(cè)試信息模型是一種描述測(cè)試行為的信息模型,它必須具有下面的功能特征:
a) 描述預(yù)期的產(chǎn)品行為特性
b) 定義測(cè)試需求
c) 定義資源能力和需求
d) 定義測(cè)試策略的行為
e) 引導(dǎo)系統(tǒng)診斷
CTIM模型中有五個(gè)實(shí)體:
a)位置(Location):位置捕獲事件發(fā)生的地點(diǎn)。在當(dāng)前模型中位置沒有被進(jìn)一步定義,在將來與產(chǎn)品信息的綁定中會(huì)進(jìn)一步定義。
b)行為(Behavior):行為捕獲事件發(fā)生的時(shí)間。用來標(biāo)識(shí)事件發(fā)生的時(shí)間間隔,由其開始(start)和結(jié)束(stop)屬性定義。
c)信號(hào)(Signal):信號(hào)捕獲發(fā)生的事件。信號(hào)的類型包括面向信號(hào)的符號(hào)、以及其它的標(biāo)準(zhǔn)編程類型(比如整數(shù)、實(shí)數(shù)或布爾類型)。
d)約束(Constraint):約束定義了約束或限制信號(hào)取值范圍的規(guī)則。
e)時(shí)間(Time):模型中的時(shí)間只是用來支持行為實(shí)體的定義。它是變量(variable,下面將定義)實(shí)體的子類,用來定義行為實(shí)體的開始(start)和結(jié)束(stop)屬性的類型。
圖4 VITE的核心測(cè)試信息模型
本文上節(jié)所述的各個(gè)信息組件都是基于CTIM的,或者是對(duì)CTIM的擴(kuò)展。所有組件能夠在CTIM的基礎(chǔ)上補(bǔ)充了進(jìn)一步的細(xì)節(jié),從而將其定制到不同測(cè)試應(yīng)用領(lǐng)域。
四、可互換虛擬儀器IVI模型
在系統(tǒng)框架的引導(dǎo)下,VITE的儀器驅(qū)動(dòng)按照標(biāo)準(zhǔn)體系的要求,采用IVI(Interchangeable Virtual Instruments)模型。IVI模型是IVI基金會(huì)在VPP(VXI Plug&Play)技術(shù)基礎(chǔ)上制定的一種驅(qū)動(dòng)器設(shè)計(jì)標(biāo)準(zhǔn)。它通過定義類驅(qū)動(dòng)器和專用驅(qū)動(dòng)器實(shí)現(xiàn)了部分通用儀器之間的互換,縮短了程序的開發(fā)時(shí) 間,提高了系統(tǒng)的運(yùn)行性能。
IVI標(biāo)準(zhǔn)的目的是允許用戶把標(biāo)準(zhǔn)的IVI組件集成到不同的軟件、硬件系統(tǒng)中。它支持各種接口,包括 GPIB、VXI、PXI、Serial、USB、Ethernet、Firewire和PC plug-in等,允許同類儀器(可帶不同接口)互換。該技術(shù)的采用能夠支持儀器互換,降低系統(tǒng)成本,改進(jìn)系統(tǒng)運(yùn)行性能和配置能力。
IVI模型采用了IVI-COM通信引擎的專用組件,能夠保證儀器的動(dòng)態(tài)互換。應(yīng)用程序調(diào)用IVI的邏輯名,由引擎負(fù)責(zé)與配置庫(kù)的邏輯名進(jìn)行匹配,連接實(shí)際的物理儀器。
因此,在廣泛收集測(cè)試系統(tǒng)的具體應(yīng)用需求的信息下,遵循IVI標(biāo)準(zhǔn),總結(jié)各類通用測(cè)試儀器的使用情況,以面向?qū)ο蟮膶?shí)現(xiàn)方法,建立各種IVI儀器類,封 裝儀器的屬性、方法和事件,并能夠繼承和重構(gòu)。實(shí)現(xiàn)不用修改測(cè)試程序的測(cè)試儀器的更換。只要測(cè)試儀器的功能相同就可以實(shí)現(xiàn)不用修改測(cè)試程序的測(cè)試儀器的互 換。
虛擬儀器測(cè)試環(huán)境的軟總線體系結(jié)構(gòu)融合了測(cè)試工程項(xiàng)目管理要素(維修性論證、測(cè)試需求分析、診斷能力分配與設(shè)計(jì)、系統(tǒng)綜合與試驗(yàn)、測(cè)試能力成熟 度等)、嵌入式測(cè)試要素(BIT/BITE)、外部測(cè)試要素(維修等級(jí)、自動(dòng)測(cè)試設(shè)備、測(cè)試程序集、人員培訓(xùn)、數(shù)據(jù)庫(kù)、技術(shù)信息收集與分析、后勤技術(shù)保 障)等一系列標(biāo)準(zhǔn)。在VITE平臺(tái)的建設(shè)上,充分保證了:一是以測(cè)試需求分析為基礎(chǔ),二是貫徹綜合診斷信息支持系統(tǒng)(IDSS)的思想,三是嚴(yán)格執(zhí)行標(biāo)準(zhǔn) 化程序,遵循和采用相關(guān)的國(guó)際和國(guó)家標(biāo)準(zhǔn)。這樣的思路和方法使得我們?cè)跇?gòu)造通用測(cè)試平臺(tái)時(shí)獲益匪淺。