收藏 分销(赏)

基于构件的并行测试系统TPS设计与实现.doc

上传人:xrp****65 文档编号:7655192 上传时间:2025-01-11 格式:DOC 页数:4 大小:850.50KB 下载积分:10 金币
下载 相关 举报
基于构件的并行测试系统TPS设计与实现.doc_第1页
第1页 / 共4页
基于构件的并行测试系统TPS设计与实现.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
基于构件的并行测试系统TPS设计与实现收稿日期:2007-02-00;修订日期:2007-00-00 基金项目:总装“十一五”重点预研项目(51317030103);电子测试技术国防科技重点实验室基金项目(51487020305JB3201) 作者简介:夏锐(1982-),男,安徽含山人,博士研究生,主要研究方向:武器系统检测自动化与智能化;肖明清(1963-),男,湖南常德人,教授,博导,主要研究方向:自动测试系统设计与开发;付新华(1980-),男,湖南攸县人,博士研究生,主要研究方向:武器系统检测自动化与智能化;程进军(1979-),男,湖北襄樊人,博士,讲师,主要研究方向:自动测试系统设计与开发 夏锐,肖明清,付新华,程进军 (自动测试系统实验室 空军工程大学工程学院 陕西 西安 710038) 联系作者e-mail: xiaruiww@ 摘 要: 并行测试技术是未来自动测试系统的重点发展方向之一,而目前国内外尚无成熟实用的并行测试系统测试程序集(Test Program Set, TPS)的开发方法。本文详细介绍的基于COM构件的并行测试系统TPS的分析、设计和实现方法。首先分析了并行测试系统的体系结构,给出了并行测试系统TPS的用例模型。接着建立了其基于构件的层次式框架,最后介绍了基于COM接口的支持并发操作构件的实现方法。 关键词: 并行测试;自动测试系统;TPS;多线程;构件 中图法分类号: TP274   文献标识码: A Parallel TPS Design and Application Based on Components XIA Rui, XIAO Ming-qing, FU Xin-hua, CHENG Jin-jun (ATS Lab, Engineering School of the Air Force Engineering University, Xi’an 710038, China) Abstract: Parallel Test is a new hot direction for the future Auto Test System. At present, there are no practical and mature R&D methods for the parallel test system’s Test Program Set (TPS) both at home and abroad. The parallel TPS’s design and implementation process based on components is introduced in this paper in detail. First, the architecture of parallel test system’s TPS is presented, and the user case model is set up based on it. Then, the framework of multi component layers is proposed. Last, the application of parallel processing components based on COM is introduced. Key words: parallel test; automatic test system; test program set; muti-thread; component 0 引言 并行测试技术(Parallel Test)是自动测试系统(Automatic Test System, ATS)在进一步减少测试时间、降低测试成本的发展趋势下兴起的一项新技术,是美军下一代ATS“NxTest”的关键技术之一。它正以不可比拟的优势成为未来ATS发展的热点,将是下一代ATS的主要特征之一[1-4]。 并行测试主要由多个工作线程同步或异步地并发执行多项测试任务来实现。然而,这些线程往往会竞争共享资源,容易产生死锁、饿死等错误,且问题难以复现,增加了并行测试系统测试程序集(Test Program Set, TPS)的复杂性。因此并行测试技术的关键在于其TPS的设计。 目前,较大规模的复杂应用系统一般采用基于构件的软件开发方法。基于构件的软件开发不仅具有诸如方便开发和维护、可移植性强、复用性好等优势,而且积累了支持开发实时并发系统的丰富经验和方法模式。因此,本文采用“应用程序框架+支持并发构件”的开发方法,设计了并行测试系统TPS的构件框架,介绍了基于COM接口的支持并行操作构件的实现,为并行测试系统TPS的快速开发打下良好的基础。同时,基于构件的TPS提高了系统的可靠性,方便了系统的测试、维护与升级,使并行测试系统的应用了具有良好的可扩展性。 1并行测试系统的体系结构 基于多线程结构的并行测试系统是目前并行测试实现的主要形式,图1为其体系结构图。 系统结构可分为三层,最高层为并行测试应用程序。调度器按一定的调度策略来分配多个测试工作线程在单个或多个处理器上的运行时间,从而在宏观上表现出多个测试任务同时运行的效果。测试任务的工作流程通过调用测试数据库来完成,测试结果也保存到其中。该层底层是仪器及激励的驱动层,用来管理和控制系统中的仪器设备;第二层I/O接口层是系统软件与硬件间执行通信的底层函数库。最底层是硬件资源层,通过并行测试适配器将被测件(UUT)与系统进行电气连接,并可执行多个UUT间的切换。 图1 多线程并行测试系统体系结构 分析系统体系结构的目的是在系统的应用与开发之间形成统一、完整的功能视图,作为建模、设计和规划系统的基础。 2基于构件的并行测试系统TPS架构 从并行测试系统的体系结构分析可以看出,并行测试系统设计的核心在其TPS的设计开发。首先分析了并行测试系统的用例模型,接着设计了并行测试系统TPS的构件框架,最后通过实例介绍了支持并行操作构件的实现方法。 2.1并行测试系统TPS用例模型 用例模型开发是并行测试系统需求分析阶段的首要任务,图2为系统的Use Case图。 从用户的角度来看,并行测试系统应可进行传统的单UUT测试、单步测试和并行测试。测试前能够对系统进行自检;测试后可调用测试数据库查看测试结果,分析数据以进行故障诊断。系统按UUT一定的测试流程进行数据测量,测试流程通过调用测试数据库实现。这样可以提高系统的通用性,测试不同的UUT只需调用不同的数据库,而不必重新修改代码。并行调度是并行测试系统的核心用例,它通过一定的策略来控制多个测试线程、对共享资源进行调度使用,从而实现线程间的同步并避免产生死锁、饿死等问题。 图2 并行测试系统用例图 2.2并行测试系统TPS构件框架 针对并行测试系统的功能特点,按分层设计的原则[5],提出了如图3所示的基于构件的并行测试系统TPS的层次式框架,如图3所示。 整个TPS分为四个层次。从上至下依次为: 1)用户界面层。主要由各种界面构件组成,全面实现系统与用户间的交互。通过它用户能够进行测试信息的输入、测试任务的选择以及测试信息的保存、打印和历史记录查询等功能。该层有成熟的构件库供应。 2)测试管理层。该层是交互式界面的后台执行者,它能够响应用户的操作,由并行测试调度器管理调度多个工作线程通过一定的调度算法,调用系统中的可用资源,完成用户指定的操作。各工作线程调用下层的功能构件完成相应功能任务。 3)测试应用层。该层以构件的形式封装了并行测试系统中各种可用资源,如数据库操作构件、电源控制构件、红外目标控制构件等各种对测试仪器、设备的操作构件,提供给上层应用程序框架调用。该层可从以往建立的测试功能构件库中进行裁取或改造。可最大限度地实现代码重用,加速了系统的开发。 4)仪器驱动层。该层由仪器生产厂家提供的仪器驱动程序以及自研设备的驱动程序组成。通过TPS外部下层的I/O接口层,该层实现TPS与硬件资源的通讯并能驱动硬件资源执行相应的功能。该层已有的IVI驱动库、ODAS等都是基于COM构件接口的,可方便地实现与上层的无缝连接。 这四个层次之间是层层调用的关系:测试应用层中的各个功能构件通过调用仪器驱动层的服务构件来完成对硬件资源的操作。构成系统应用界面的界面构件通过调用测试管理层中的构件完成用户定义的各项测试任务。测试管理层中的并行测试调度器构件在一定的调度算法的控制下,对多个测试工作线程进行调度,调用各个功能构件,完成各项测试任务。 图3 基于构件的并行测试系统TPS层次式框架 2.3支持并行操作的构件设计 由并行测试的需求分析确定了构件的并行性要求。支持并行操作的构件要求采取一定的机制,避免由于多个工作线程的同时调用而对共享资源的使用产生冲突[6-8]。本文通过使用锁的方法来实现支持并行操作构件的设计。以AD仪器模块的使用构件的开发为例进行说明,其构件结构图如下图4。 图4 AD功能构件结构图 由于AD仪器模块执行AD转换的特殊性,它不能同时被两个线程调用,因此必须设置锁机制来同步两个以上线程对AD功能构件的调用。锁机制通过互斥类Mutex来实现。 限于篇幅,本文采用基于COM接口的构件实现主体框架简略如下: //AD仪器类、ScanList类、FIFO类的定义 class ADInstrument : public instrument { public: Initialize (); Rest (); ReadFIFO (); … private: … }; class ScanList class FIFO //具体定义略 //AD构件接口定义 Interface IADScan : IUnknown { Virtual void _ _ stdcall FADScan (); } //AD功能构件定义 Class CADScan : public IADScan { public: //IUnknown接口定义略 //IADScan接口实现 Virtual void _ _ stdcall FADScan () { AD参数定义及动作函数实现 } private: CMutex Mutex (FALSE, NULL, NULL); ScanList ADscanlist; FIFO ADfifo; … }; 其协作工作模式如图5所示。 图5 AD功能构件顺序图 3系统实现 专用的测试工程语言如LabWindows/CVI、LabVIEW及TestStand等目前还不支持面向对象的开发,因此还需要一定的工作量。VC++语言功能强大,可靠性高,可移植性好,且提供了丰富的支持多线程的并行机制,用它编写多线程程序简单、方便和安全。由分析设计阶段得到的UML可视化模型还可以在VC++中自动生成代码框架,实现了系统的快速开发。 4结束语 传统ATS的TPS体系结构的面向对象、基于构件及模式等设计方法已越来越走向规范和成熟。并行测试系统作为新兴系统,其TPS的设计与开发目前国内外尚无统一的模式和标准。因此,持续深入地开展并行测试系统TPS开发设计的方法及模型研究,对推动并行测试技术的发展是十分必要和重要的。 参考文献: [1] 夏锐. 并行测试系统设计与应用[D]. 硕士, 空军工程大学工程学院, 2005. [2] 夏锐,肖明清,朱小平等. 并行测试技术在自动测试系统中的应用[J]. 计算机测量与控制. 2005, 13(1):7-10. [3] 朱小平,肖明清,夏锐. 基于RUP过程的并行测试建模分析与设计[J]. 空军工程大学学报(自然科学版). 2005, 6(6):63-65. [4] 夏锐,肖明清,赖根. 并行测试设计与开发[J]. 计算机测量与控制. 2006, 14(7):841-843. [5] 黄柳青,王满红. 构件中国[M]. 北京: 清华大学出版社, 2006. [6] HASSAN GOMAA著,吕庆中等译. 用UML设计并发、分布式、实时应用[M]. 北京: 北京航空航天大学出版社, 2004. [7] BRUCE POWEL DOUGLASS著,麦中凡,陶伟译. 实时设计模式[M]. 北京: 北京航空航天大学出版社, 2004. [8] CAMERON HUGHES & TRACEY HUGHES著,肖和平等译. C++并行与分布式编程[M]. 北京: 中国电力出版社, 2004.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服