电子信息装备测试系统软件框架设计与实现

发表时间:2021/4/2   来源:《科学与技术》2020年第31期   作者:王玺,徐立
[导读] 针对电子信息装备测试应用领域的需求,对其测试系统软件框架进行了层次化分析和对象建模
        王玺,徐立
        西南电子设备研究所,四川成都 610000
        【摘要】针对电子信息装备测试应用领域的需求,对其测试系统软件框架进行了层次化分析和对象建模。以对象模型为基础,按照面向对象和测试信号特征的方法,设计和实现了软件框架。框架具有很好的复用性,极大的提高了测试应用系统和测试软件的开发效率。
        关键词:测试系统、框架、面向对象、面向信号
Design and Implementation of Software Framework for Electronic Information
Equipment Test System
Wang Xi,Xu Li
(Southwest Electronic Equipment Research Institute, Chengdu, 610000, China)
Abstract:According to the requirements of electronic information equipment testing application field, the software framework of the test system is analyzed hierarchically and modeled by object. Based on the object model, according to the method of object-oriented and test signal characteristics, the software framework is designed and implemented. The framework has good reusability and greatly improves the development efficiency of test application system and test software.
Keywords:test system、framework、object-oriented、signal-oriented
        
        
一、引言
随着测试技术在电子信息装备的研制、生产和使用的全寿命周期中扮演越来越重要的角色,电子信息装备测试系统的用途由单纯产品功能、性能指标的自动测试演变为:
(1)面向新一代电子信息装备新概念、新技术的测试验证,要求测试系统能够灵活配置,满足不同级别的测试需求,系统、分机和模块的测试能够在统一的系统架构下快速、高效的完成,适应新技术验证过程中测试需求变更频繁,反复迭代的特点;
(2)面向电子信息装备生产过程中的各项功能与性能指标的测试验证,要求增强测试系统硬件资源的互换性,实现基于框架的测试软件开发,提高测试程序的可移植性和互操作能力,方便生产过程中测试系统的快速组建,提高生产效率;
(3)面向电子信息装备的使用保障,要求测试系统不仅具有系统、分机检测的功能,而且还要具备训练、模拟的功能,综合化的要求使得测试系统规模越来越大。
测试系统的上述功能需求,都与其软件设计相关。如何更好、更快地开发测试系统软件,首先就需要构建一个先进的测试软件框架。这个框架与一般通用软件框架有很大的区别,除了具备支持软件资源重用的通用软件框架特征以外,还需要面向测试领域的应用,通过框架的抽象和实例化,使得以此为基础的测试软件合理分层配置,使其具有面向被测设备、与具体测试仪器无关、测程序可移植性号等优点[1] 。
一个良好的具有可复用、分层特点的体系框架是测试系统与测试系统软件的核心和灵魂,其设计和实现,是高效开发测试系统的关键。框架的开发和实现可以简化测试程序(TP)开发人员的开发难度,使测试程序(TP)开发人员只需关注测试策略和测试的逻辑流程,极大的提高测试程序的开发效率。
二、框架的需求分析和建模
从电子信息装备的测试需求看,主要具有以下几个特点:
(1)测试对象多,技术体制复杂,相互之间差异大,需要的测试资源几乎涵盖了测试领域所有的通用硬件资源,包括射频、微波类的信号源、频谱仪,数字类的A/D、D/A和离散数字I/O设备,视频类的示波器、视频信号发生器等,当然还包括实现自动测试的各类开关模块、程控电源等;
(2)测试内容多,测试项目繁杂,例如电子信息装备的典型测试项目包括:各类控制功能(含适应不同平台的通信接口:RS232/RS422、LAN、1553B、Arinc429、FC等)、输出增益、输出功率、通道幅度一致性、灵敏度、动态范围、测频精度等;
(3)在电子信息装备研制、生产和维护的全寿命周期过程中,均需对各阶段、各对象、各项目的测试数据进行详细记录和有效管理,同时需要测试数据能够方便地导入、导出、查询、浏览和统计;
(4)电子信息装备宽频带、多微波信号通道的特点,使得测试过程的通道插入损耗需要精确校正、动态补偿。同时,为了保证测试的可信度,测试系统本身还必须具有良好的自检测能力。
因此,从某种意义上说,适应电子信息装备测试需求的测试系统,不论是硬件构成,还是测试软件框架都具有针对军用电子信息装备的最大普适性。以电子信息装备为代表的测试系统,其基本架构如图1所示。

图1电子信息装备测试系统基本架构
从电子信息装备测试系统抽象出的分层架构可以看出,要解决测试系统对多测试对象的适应,必须对测试需求进行有效管理;要提高测试系统、测试程序的可移植、互操作能力,必须将多硬件设备资源的驱动控制,抽象成面向测试应用的信号和数据调用接口;要提高测试程序的开发效率,必须将与测试逻辑无关的测试控制、校准补偿、设备管理、数据管理、数据显示等功能,从测试程序中剥离出来,交给测试系统软件框架来实现[2]。
所谓软件框架是面向领域的、可复用的半成品,它实现该领域的共性部分,并提供一些定义良好的可变点以保证灵活性和可扩展性:(1)提供领域应用的核心体系结构和热点的抽象设计及缺省的实现代码,减少代码编写量;(2)实现所有领域应用的体系结构设计复用和大粒度的软件复用;(3)利用框架中定义的良好结构,特别是热点的灵活设计,通过扩展和特例化热点可以方便地建立各种具体的领域应用。
因此,测试系统多功能、测试资源和测试内容多样性的测试需求演变为对测试系统软件框架的开发需求,符合软件框架对特定领域问题求解的特征。对应电子信息装备测试系统的基本架构,测试系统软件框架的层次结构如图2所示。
        
图2电子信息装备测试软件框架层次结构
以上层次结构中,测试程序层重点只关注测试方法和测试逻辑,不属于测试系统软件框架要实现的部分,是框架的扩展点或热点。因此,测试软件框架只集成可复用的设计方法和构件,封装测试应用领域中相对固定的部分,提供大粒度的复用,而测试应用系统开发以框架为基础,通过扩展实现一个完整的应用系统。
对上述测试系统软件框架层次结构按照面向对象的思想进一步抽象,可以得到框架的结构对象图,如图3所示。

图3电子信息装备测试系统软件框架对象图
下面对电子信息装备测试系统软件框架模型中的主要对象进行说明:
(1)测试需求管理对象:对于系统适用的所有测试对象及测试项目进行集中统一管理,测试需求的配置信息以数据库记录形式保存,当测试需求变更时,只需更新数据库脚本配置文件,不需修改对象属性和操作方法[3];
(2)测试控制对象:实现框架的主控制逻辑,既能够对测试任务的进行执行调用,又能够对测试任务的执行状态进行监视,及时响应操作人员对测试任务执行过程的干预和控制;
(3)测试信号接口对象:实现测试应用中信号及信号通道到硬件测试资源、开关通道的映射,为测试程序(TP)的开发和运行提供面向信号的服务支持。同时,面向信号的硬件资源驱动对测试系统扩展或升级表现出良好的适应性;
(4)测试数据接口对象:实现与测试程序执行过程的数据自动交换功能,将测试程序的测试信息发送给测试数据管理对象进行记录,同时发送给人机交互对象进行显示,是测试程序执行过程的数据综合处理服务器;
(5)人机交互界面对象:提供规范统一的人机交互界面,用户操作简单方便,测试数据、测试信息和测试结论显示格式统一。
三、框架的设计与实现
电子信息装备测试系统的开发,主要工作在测试方法的研究和测试软件的设计上,其中,测试方法作为测试系统的灵魂也是通过测试软件最终得以实现。因此,对测试软件框架的设计与实现,就是为了提高测试软件的开发效率,同时使得测试软件的移植性、复用性、可靠性和可维护性得到大的提升。
测试系统软件框架的设计和实现要解决的关键问题是将对象模型进行抽象和泛化,同时利用封装、继承、重载等手段对整个框架的对象属性和功能特性进行规定和实现,从而获得整个测试软件框架的实现。以下分别对框架的关键类组进行说明:
1.测试信号接口类组的设计与实现
由于电子信息装备测试系统需要的仪器资源几乎涵盖了测试领域所有的通用硬件资源,因此测试软件框架必须实现面向测试的信号建模,为表达测试需求和仪器硬件的驱动能力提供一个共用的抽象描述,即类的设计和实现。目的是全面描述测试应用所需的信号特征,以便测试任务执行时,实现这些虚拟的信号资源向测试系统实际的仪器资源映射,使得测试程序设计与硬件无关,增加测试软件的可移植性和测试系统硬件仪器的可互换性。
按照软件框架层次化的模型,测试信号接口类是对测试信号接口对象的抽象,最终为测试程序对象实例化调用的。为了实现硬件资源驱动向虚拟信号接口的映射,测试信号接口类需要聚合硬件资源应用映射类,同时逐次继承硬件资源设备类和硬件资源驱动类,因此,测试信号接口类的设计与实现是一组有相关依存关系的类的设计与实现。
采用自下而上的设计思路,首先构建硬件资源驱动类。对于硬件资源驱动类的设计,可以借鉴目前大仪器厂商支持的IVI-C、IVI-COM技术[4],从类的属性上定义硬件资源类别、型号、总线地址等特征,同时定义初始化、关闭、复位、自检、查询、动作等操作方法。硬件资源驱动类表征了信号接口对硬件的实际驱动方式和能力。
硬件资源设备类继承硬件资源驱动类,在类的属性上增加了设备序号的定义,当测试系统为扩展测试能力增加同类硬件设备时,通过设备序号来识别。另外,为了增强测试系统的兼容性,使其在不更换硬件驱动的条件下,通过修改配置信息,实现对多种型号同类硬件资源的兼容。另外,硬件资源设备类在操作方法上还需根据设备型号实现硬件设置参数范围的检查。
硬件资源应用映射类继承硬件资源设备类,通过对测试系统开关通道和测试接线关系的解析,实现面向测试应用的虚拟信号资源向实际硬件资源的映射。类的主要操作方法包括设备序号查询、开关通道查询、信号参数传递、设备驱动调用等。
测试信号接口类聚合了各种硬件资源应用映射类的实例化对象,完全面向测试应用,对测试应用的每一种信号需求进行完整描述。其中,类的属性定义包括信号幅度、信号频率、调制周期、调制脉宽、通信端口、通信速率等。类的私有成员包括相应的硬件资源映射对象。类的操作方法包括:参数配置、信号测量、信号激励、状态监视等。
测试软件框架中测试信号接口类、硬件资源应用映射类、硬件资源设备类和硬件资源驱动类以及相互依赖关系的实现,使得基于框架开发的测试程序不再直接面向硬件资源驱动,不再因为硬件资源的换型而影响测试程序的移植性,同时,测试程序开发过程只关心与测试有关的测试逻辑和信号特征,大大提高开发效率。测试信号接口类组的结构图如图4所示。

图4测试信号接口类组结构图
2.测试控制类组的设计与实现
测试控制类是对软件框架中测试控制对象的抽象和泛化。测试控制类能够对框架的各类管理对象、任务执行对象进行综合调度,因此,测试控制类与测试需求管理类、测试设备管理类、测试数据管理类、人机界面交互类等相互依存。
测试需求管理类主要是对测试对象的特征进行描述,类的属性包括:测试对象名称、测试对象类别、检测级别、测试项目等。测试需求管理类解决了框架针对电子信息装备测试应用中,测试对象多,测试项目多,检测级别不同的问题,将这些多样化的需求进行有效管理。
测试控制类把测试需求管理对象的类别、检测级别和测试项目属性作为测试任务执行的输入,是框架自动运行的控制引擎,对测试程序对象、设备管理对象、数据管理对象进行调用,控制每一个测试序列的启动、暂停和停止等,同时对测试状态进行监控,对测试信息进行记录,对每一项与测试任务相关的通道校准信息进行查询,并在测试任务执行时自动对测试数据进行修正。
测试设备管理类和测试数据管理类,都是测试软件框架中实现系统管理功能的部分。测试设备管理类的属性定义了整个测试系统设备的信息,包括设备名称、型号、序号、地址和状态等,操作方法主要是实现设备信息的查询、更新以及全系统设备自检等。测试数据管理类定义了与测试项目相关的类别、测试时间、数据容器对象等属性,通过操作方法实现测试数据查询、记录、显示、统计和打印等功能[5]。
测试控制类组的结构图如图5所示,通过该组类的设计和实现,将测试系统开发的需求管理、设备管理、数据管理等纳入了测试软件框架的范畴。

图5测试控制类组结构图
以上述两组关键类的设计为基础,可以对测试软件框架进行代码级实现。需要说明的是,整个框架的配置信息和对象间交互的数据信息都是以数据库为基础的,特别是与测试需求有关的测试对象信息、测试项目信息、测试判据、测试预置数据,例如:初值、步进、测试点数等,都以数据库脚本文件方式进行配置,使得框架具有面向测试的最大灵活性。
四、结束语
根据电子信息装备测试领域中测试对象差异大、不同对象的测试项目多,对测试系统硬件资源要求频带宽、信号特征复杂等特点,电子信息装备测试系统软件框架的设计紧密结合了该领域的应用需求,合理地将测试程序从框架中剥离,作为框架的扩展点,通过框架实现了测试过程面向信号的描述。
具体实现中,将测试需求管理、测试控制、测试系统管理、测试数据管理甚至是人机界面都纳入了框架的范畴,为测试系统软件的开发提供了最大粒度的复用,同时使测试程序的开发仅需关注测试逻辑流程,既满足了测试系统构建硬件资源可以灵活更换的要求,又大大提高了测试程序的可移植性、互操作性和开发效率。


参考文献
1、牛双诚等. 面向信号测试系统的信号类型可扩展性研究. 计算机测量与控制,  2015.23(11)
2、武君胜等. 机载机电系统自动测试平台的设计与实现. 计算机测量与控制,  2017.25(4)
3、范书义等. ATML测试资源与测试需求自动匹配方法研究. 计算机测量与控制,  2016.24(6)
4、李恩辉等. 支持自动测试系统并行测试的软件设计. 测控技术,  2008.27(3):7-9
5、段海军等. 航空电子设备自动测试系统的软件架构设计. 计算机测量与控制,  2016.24(9)
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: