APP下载

ATML测试资源与测试需求自动匹配方法研究

2016-11-17范书义姜会霞魏保华

计算机测量与控制 2016年6期
关键词:针脚端口文档

范书义,姜会霞,魏保华,王 成

(军械工程学院,石家庄 050003)



ATML测试资源与测试需求自动匹配方法研究

范书义,姜会霞,魏保华,王 成

(军械工程学院,石家庄 050003)

基于ATML测试描述文档自动生成测试程序过程中,关键是实现测试资源与测试需求的自动匹配;首先对ATML测试描述文档中测试能力、测试需求、开关、端口、能力与资源的映射等基本数据元素的表示方法进行分析研究,定义了与其对应的C++数据类型;然后在研究图论相关理论的基础上,分析了描述文档中测试路径的表示方法,确定了采用邻接矩阵表示测试路径的方法;最后,在以上研究的基础上,提出了以稀疏矩阵和单链表为基础的测试能力与测试需求匹配算法,实现了测试能力与测试需求的自动匹配;该算法在实际测试程序开发中得到了应用,结果表明该算法能够实现基于ATML描述文档的测试资源与测试需求自动匹配,并能极大提供测试程序开发效率。

ATML;测试资源;测试需求;自动匹配

0 引言

在基于自动测试标记语言(automatic test markup language, ATML)中的测试描述文档自动生成测试程序过程中,需要判定一个给定的测试系统能否对指定的UUT进行测试。如果测试系统有能力对指定的UUT进行测试,还需要确定具备测试能力的测试仪器与被测UUT的之间是否有正确的线缆连接。

文献[1]和文献[2]通过分析UUT Description文档、Instrument Description文档、Test Adapter文档和Test Description文档,以确定测试系统中配置的仪器是否满足测试需求。虽然两篇文献提供的方法都可以确定测试系统是否具有某种能力,但均未涉及测试能力到被测UUT端口之间的映射,因此不能判断测试能力与测试需求之间是否存在测试通路,即不能判断测试能力是否能够连接到指定的UUT测试端口。

1 ATML中的能力和测试需求描述

1.1 ATML能力

ATML中“能力(Capabilities)”[3]的概念与日常生活中能力概念有所不同,因为它既包含硬件的测试能力,又包含测试需求。实际上可以这样理解ATML中的能力,它能以某种方式将测试项目映射到测试仪器或测试系统上,使得可以确定一个测试系统是否能执行指定的某项测试。为了与日常生活中的概念相一致和便于描述,后面文章中提到的能力仅仅指测试硬件提供的测试能力,而不包含测试需求,而文中提到的测试需求指测试UUT时需要测试系统提供的测试能力。

ATML通过对测试仪器可产生或可测量的信号的描述来表示测试仪器的能力,通过对需施加给UUT的激励信号或需测量的UUT响应信号的描述来表示测试需求。

描述ATML能力需要的信息包括[4]:

● 需要产生的信号;

● 信号之间的同步;

● 信号施加的位置;

● 测试系统的拓扑结构;

● 测试系统中每种测试仪器可产生的信号的类型、精度;

● 测试系统中每种测试仪器可测量的信号的类型、精度。

1.2 描述能力的主要元素

在描述ATML能力时,用到的主要元素包括连接器(Connector)、针脚(Pin)、端口(Port)、线缆连接(Wire list)和资源(Resource),为了便于理解,首先对这些概念进行介绍。

连接器指硬件(如UUT、仪器、测试适配器、测试平台等)的物理实体,如RS232口、D型口等。端口是一个逻辑实体,它指的是可以映射到一个或一组信号的抽象接口,信号可以流入或流出端口,端口只是表示逻辑上的接口和接口信号的存在。连接器、针脚和端口之间的关系如图1所示。

图1 连接器、端口和针脚

图1中J1为连接器,J1包含14个针脚,分为3个端口P1、P2和P3(注意:这里的端口是第二种类型的端口)。

资源指一个逻辑实体,表示仪器的内在能力。在ATML中,仪器能力是通过一组资源来描述的。一个仪器可以包含一个或多个资源,而一个资源也可以对应一个或多个能力。ATML中资源只是作为一个逻辑实体实现信号到端口的映射,并且它还可以定义对信号的约束以及同一个仪器中不同能力之间的关系。

线缆连接用于描述ATS组件间的互连信息,可以提供信号在ATS中的连接路径。线缆连接除了包含硬件之间的静态连接之外,还包括针对每项具体测试的测试路径线缆连接,利用这些信息可以生成测试图。

1.3 仪器能力和ATML测试需求描述

ATML对仪器能力的描述是通过以下步骤实现的:

1)定义仪器物理接口;

2)定义仪器能力,主要部分为信号定义;

3)定义资源;

4)将能力映射到资源;

5)将资源接口连接到仪器接口。

通过以上步骤就可以将仪器的物理接口与信号连接在一起。

ATML提供了TestDescription.xsd模式文档来描述测试需求。ATML中的测试需求的主要部分是在ATML测试描述文档中利用IEEE Std 1641中定义的信号描述的。ATML支持以下测试需求信息的描述:

● 信号类型,如AC_SIGNAL;

● 信号角色,包括Source、Sensor或Monitor;

● 测量、监视或控制的信号属性,如直流电压等;

● 信号属性值的范围、分辨率、精度;

● 信号同步关系;

● 与UUT针脚的信号连接。

2 ATML测试资源能力与测试需求的匹配算法

2.1 测试设备与UUT间的互连

要实现ATE对特定UUT的测试,需要将UUT连接到测试系统中,大多数情况下还需要使用ITA来匹配ATE和UUT的连接。ATE、ITA和UUT的连接示例如图2所示。

图2 ATE、ITA和UUT之间的互连

图2中的UUT有两个连接器J1和J2,这两个连接器及其针脚信息在ATML UUT描述文档中定义。ITA有3个连接器J1、J2和J3,这3个连接器及其针脚信息在ATML测试适配器描述文档中定义。ATE有一个连接器J1,它在测试平台描述文档中定义。连接ITA和UUT的两根电缆,以及ATE、ITA和UUT的连接都是在ATML的WireLists描述文档中定义的。

此外,WireLists模式文档中还定义了元素TestWireList,该元素用于定义TestDescription文档描述的每项测试的信号激励和测量路径[5]。该元素可用于生成测试程序的测试图,测试图可以提供从测试平台仪器到UUT端口的完整路径。

2.2 基本数据结构定义

根据ATML能力描述,可以判断ATML描述的测试系统是否能够对UUT进行测试,其中包含对测试路径的判断。但ATML文档作为一种半结构化的数据表示方式,检索非常不方便且处理速度慢。而在匹配ATML资源能力与测试需求时,需要用到大量的检索操作,所以直接访问XML格式的ATML文档显然不是一个合理的选择。所以需要将它们换成计算机方便检索的数据存储结构,以方便计算机处理。

2.2.1 连接器、端口、资源、针脚和物理接口

连接器、端口、资源、针脚和物理接口是具有关联关系的,根据这些数据描述文档的特点,宜采用struct类型表示,它们的定义及其关系如图3所示(篇幅所限,图中没有给出每个struct类型的数据域名称和类型)。

图3 连接器、端口、资源、针脚和物理接口

2.2.2 信号和能力

ATML中的能力表示采用了IEEE Std 1641中定义的信号。IEEE Std 1641中基本信号组件库(BSC)和测试信号框架库(TSF)中Signal元素的定义分别如图4和图5所示。

图4 BSC中的信号定义

图5 TSF中的信号定义

比较两图可以看出,这两个库中信号的结构类似,所以可以定义一个统一的信号类型Signal表示这两个库中的信号,通过综合分析各种数据类型的特点和程序开发要求,将其定义为union类型比较合适,这样可以将所有信号统一用一个union类型定义即可,简化了数据类型的种类,方便了使用。

这些类型之间的关系如图6所示。无论是描述仪器、测试平台或测试适配器的能力,还是描述测试需求中的信号需求描述,只要是符合IEEE Std 1641规范,都可以采用上面定义的能力类型来表示。

2.2.3 能力、资源和仪器端口间的映射

能力、资源和仪器端口间的映射关系也需要相应的数据结构表示,由于能力和资源之间、资源和仪器端口之间是多对多的映射关系,并且能力和资源之间的映射可以有多种含义,因此数据结构不但要表示能力与资源之间的关联,还要表示关系的具体含义。

图6 信号类型和能力类型

刺葡萄(Vitis davidii Foex.)[1]是一种野生葡萄,属于被子植物门(Magnoliphyta),双子叶植物纲(Dicotyledoneae),葡萄目 (Vitales),葡萄科 (Vitaleae,Vine Family),葡萄属 (Vitis),真葡萄亚属(EuVitis),东亚种群。刺葡萄是福建省宁德市福安市的特产,是国家农产品地理标志保护产品。福安市穆云畲族乡葡萄产业带以溪塔刺葡萄沟为主产地,遍及虎头、玉林、高岭等16个村,面积400多hm2,年产量逾7 500多t,是农业三大主导产业之一[2]。

ATML中能力、资源和仪器端口之间的映射采用了XML的XPath表达式,XPath采用类似于Window操作系统文件目录的表示方式。能力与资源之间的映射可以采用邻接矩阵[6]的方式进行存储,矩阵中值为1的位置表示对应的能力和资源有关联关系。典型万用表的各种能力和对应的万用表资源的邻接矩阵如表1所示。

从表1可以看出,表中的许多元素都为空,表明该矩阵是稀疏矩阵,这也说明一个能力端口只和一个或少数几个资源端口之间有关联关系,对于稀疏矩阵来说,没有哪一种存储结构是最好的,应结合稀疏矩阵的具体情况来选择存储结构[7-8]。结合测试系统实际应用情况,选择CSR存储需要19个存储单元,如下所示:

存储A中值为1的元素的列坐标数组C={1,3,9,11,2,4,5,7,10,12,6,8,13,14}。

存储A中每一行在数组C中起始元素序号的数组R={1,5,11,14,14}。

为了表示关联之间的具体含义,需要将表示矩阵的数组元素定义为struct类型,利用其中的数据域指明能力和资源之间的关系。实际上,只需区分当一种能力对应多种资源时,能力是否占用资源即可。

与此类似,资源与仪器端口之间的映射,测试平台、适配器内部线缆连接,ATE、ITA和UUT间的连接及测试项目的测试通路同样适宜采用稀疏矩阵进行存储。

2.2.4 开关

自动测试系统中,为了复用测试仪器,不可避免地要使用开关。开关拓扑可根据复杂程度分成三类:简单继电器开关、多路开关和矩阵开关[9]。

无论对于哪种类型的开关,其针脚数量和可能的连接数量都是不确定的,所以定义的开关数据结构应能适应这种要求。因此,可以采用C++支持的标准模板库(standard template library,STL)中的vector容器来存储针脚和可能的连接。最终定义的两种开关数据结构的类C++代码如下所示。

表1 能力、资源邻接矩阵

typedef struct _switch_pin_conn{//定义开关两针脚的连接结构

string conn_description; //连接说明

string pin_from;

string pin_to;

}switch_pin_conn;

typedef struct _switch{ //简单继电器开关

vector pin;

vector pins_conn; //存储开关节点的连接状态

……

}switch;

矩阵开关有可以是单线或多线矩阵开关,可将多线矩阵开关看作是多个单线矩阵开关。有的多路开关模块可以配置成多种模式,如果在测试系统中使用了多种配置方式,应将不同的配置方式看作是不同的资源。

typedef struct _matrix_switch{//矩阵开关

vector rows;

vector cols;

vector pins_conn; //存储当前开关节点的连接状态

……

}matrix_switch;

2.3 能力与测试需求匹配算法

定义数据结构之后,还要根据数据结构设计合适的算法来实现ATML中描述的能力与测试需求之间匹配。能力与测试需求之间匹配的目的是要检查测试系统提供的测试能力是否能够满足测试需求。如果测试系统不能满足UUT的测试需求,则表示该测试系统不能对指定UUT进行测试,系统应给出相应的提示,并停止测试程序的生成过程。

能力与测试需求的匹配包含两方面的内容,一是能力的判断,即测试系统提供的测试能力是否满足UUT的测试需求。二是路径的判断,即满足UUT测试需求的能力与测试需求之间是否存在线缆连接。如果能力不能满足测试需求或不存在测试路径,则表明测试系统提供的测试能力与UUT的测试需求不匹配,否则表示测试系统提供的测试能力与UUT的测试需求匹配,测试系统能够对指定的UUT进行测试。

能力与测试需求匹配算法描述如下:

步骤1:检查测试系统的ATML描述文档是否完整,如不完整,则提示并退出程序;

步骤2:建立表示测试能力与资源、资源与仪器端口或测试设备端口之间映射关系的邻接矩阵。从测试平台描述文档、测试适配器描述文档、仪器描述文档、仪器实例文档中提取这些信息;

步骤3:建立表示ATE、ITA和UUT之间连接关系的邻接矩阵,以及测试项目测试通路邻接矩阵。从WireLists描述文档中提取这些信息;

步骤4:建立测试系统能力链表capLists和UUT测试需求链表reqLists。从测试平台描述文档、测试适配器描述文档、仪器描述文档、仪器实例文档、测试描述文档中提取这些信息;

步骤5:对于reqLists中的每一个测试需求req,根据线缆连接中测试项目线缆连接查找链表capLists中对应的测试能力cap;

步骤6:如果不能找到满足当前req的测试能力,则返回匹配不成功,程序退出;

步骤7:如果找到了满足当前测试需求req的测试能力cap,则返回匹配成功,程序退出。

以上步骤中关键的两点是判断测试能力能否满足测试需求和查找能力映射到的物理端口与测试需求物理端口之间的物理通路。

测试能力能否满足测试需求的判断比较简单,此处不再赘述。能力映射到的物理端口与测试需求物理端口之间的物理通路实际上构成了一个图,所以可以应用离散数学中图论[10]的相关知识来考察测试能力到测试需求间的可达路径。文献11讨论了几种常见的由邻接矩阵求图的可达矩阵[10]算法,也就是图中任意两个顶点之间是否存在通路的算法,其中效率最高的是Warshall算法。

3 结论

本文结合ATML测试描述文档及测试程序自动生成的相关要求,定义了ATML文档中相应元素的数据存储结构。在此基础上,结合图论相关知识设计了测试能力与测试需求的匹配算法。该算法在我院研制的通用机电检测平台测试程序自动生成过程中得到了应用,节约测试程序开发时间成本达70%,体现出了巨大优势,证明了算法的有效性和正确性。本文提出的匹配算法也可以为其它类似研究提供方法指导。

[1] John Ralph.A proposed comprehensive architecture utilizing the automatic test Markup language (IEEE 1671 and 1636.1)[A].IEEE AutoTestCon[C]. 2007:179-185.

[2] Pirker-Frühauf A.A knowledge-based test program following the ATML Standard [A]. IEEE AutoTestCon.[C]. 2009:195-199.

[3] IEEE Std 1671-2010.Standard for Automatic Test Markup Language (ATML) for Exchanging Automatic Test Equipment and Test Information via XML[S].2011,01.

[4] IEEE Std 1671.2.Trial-Use Standard for Automatic Test Markup Language (ATML) for Exchanging Automatic Test Equipment and Test Information via XML: Exchanging Instrument Descriptions[S]. 2008,12.

[5] IEEE Std 1671.5.Trial-Use Standard for Automatic Test Markup Language (ATML) for Exchanging Automatic Test Equipment and Test Information via XML, Exchanging Test Adapter Information[S]. 2008,12.

[6] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2007.

[7] 张永杰,孙 秦.稀疏矩阵存储技术[J].长春工业大学学报,2006,29(3):38-41.

[8] Smailbegovic F, Georgi N. Vassiliadis G S.Sparse matrix storage format [J]. Journal of Signal Processing Systems,2005(4):445-448.

[9] 测试系统信号开关[EB/OL]. http://cp.literature.agilent.com/litweb/pdf/988-8627CHCN.pdf. 2005.

[10] 耿素云,屈婉玲.离散数学[M].北京:北京大学出版社,2003.

[11] 王欣欣,李金保.关于由邻接矩阵求可达性矩阵的方法[J].吉林化工学院学报,2005,22(4):89-93.

Study of Test Resources and Test Requirements Automatic Matching Method in ATML

Fan Shuyi, Jiang Huixia, Wei Baohua, Wang Cheng

(Ordnance Engineering College, Shijiazhuang 050003, China)

In the process of test program automatic generation based on ATML test description documents, the key is to realize the automatic matching of test resources and test requirements. Firstly, the basic data elements, such as ATML test ability, test requirement, switch, port, capability and resource mapping, are analyzed, and the corresponding C++ data types are defined. Then, based on the theory of graph theory, the representation method of the test path is analyzed, and the adjacency matrix is used to represent the test path. Finally, on the basis of above research, a test capabilities and test requirements matching algorithm based on sparse matrix and single linked list is proposed. The automatic matching of test capabilities and test requirements is realized. The algorithm has been applied to the development of real test program. The result shows that the algorithm can realize the automatic matching of test resource and test requirements based on ATML description documents. It also can greatly improve the efficiency of the test program development.

ATML, test resource, test requirements, automatic matching

2015-11-19;

2015-12-14。

国家自然科学基金青年科学基金项目(61501493)。

范书义(1974-),男,河北灵寿人,博士,讲师,主要从事自动测试系统方向的研究。

1671-4598(2016)06-0008-04

10.16526/j.cnki.11-4762/tp.2016.06.002

TP391

A

猜你喜欢

针脚端口文档
吉利帝豪EV汽车手自一体式灯光系统电路检修*
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
一种端口故障的解决方案
端口阻塞与优先级
基于RI码计算的Word复制文档鉴别
诗句如针脚,绣遍倾城旧事
一种继电器单元的设计与应用
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
8端口IO-Link参考设计套件加快开发速度