




已阅读5页,还剩59页未读, 继续免费阅读
(系统分析与集成专业论文)测试程序开发环境分析与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
坝l 。学位论文摘要 摘要 本课题任务是完成a t l a s ( a b b r e v i a t e d t e s tl a n g u a g ef o ra l ls y s t e m ) 语言 集成开发环境的研究与设计。 a t l a s 语言是一种非常出色的通用测试系统语言,具有设备无关性。目前, a t l a s 作为一种自然语言在美国和欧洲的各个领域,尤其在航空和电子的设备 测试系统中应用广泛。a t l a s 语言专用开发工作平台p a w s ( p r o f e s s i o n a l a t l a s w o r k s t a t i o n ) 是t y x 公司的产品,它是集编辑、编译、运行调试等为一体的开发 环境。在我国,这项研究才刚刚起步,所以深入研究p a w s 机理和技术框架, 研制和开发具有我国知识产权的a t l a s 语言集成开发环境,在测试领域中,具 有相当深远的意义。 本论文首先使用面向对象的软件思想对于开发目标进行简要的分析,然后 提出了目标软件的窗体设计过程包括主窗口和r t s 窗口,在基于消息的处理基 础之上详细的讨论了设计过程中动态指针的使用技巧,同时讨论了树视图在设 计中的应用。并简要的提出了使用e x e 文件制作帮助信息。接着提出了系统的3 个模块划分。并构造了编译器。举例说明了课题完成的编译器的工作情况。在 后面的文章中,提出了一个真正的编译器的设想。最后提出使用线程的思想实 现执行器完成数据的并行效果,并使用原子增量对于并行机制进行仿真。 课题的完成分成两个部分:第一部分是学习、分析并使用a t l a s 测试语言, 研究t y x 公司的a t l a s 开发环境p a w s 的功能与机理为下一步的工作奠定基 础。第二部分是完成测试开发环境的设计及对未完成的部分的设想。 关键词:自动测试系统,a t l a s 测试语言,测试程序,设备无关性,开发环 境,编辑,编译,运行,调试 顺i 学位论文 a b s t r a c t t b j st a s ki st o c o m p l e t e t h e i n v e s t i g a t i o n a n dd e s i g no ff i l l i n t e g r a t i o n d e v e l o p i n g e n v i r o n m e n tf o r 7 l 4 s ( a b b r e v i a t e dt e s tl a n g u a g ef o ra l ls y s t e m ) p r o g r a r a s a 1 1 一a si sak i n do fe x c e l l e n tc u r r e n tl a n g u a g ef o rt e s t i n gs y s t e m s 。p r o v i d e d w i t hh a r d w a r e i n d e p e n d e n tc h a r a c t e r i s t i c a tp r e s e n t , a t l a si sa p p l i e da b r o a di n v a r i o u sd o m a i n si nu s aa n de u r o p e , e s p e c i a l l yi na u t o m a t i ct e s t i n ge q u i p m e n t so f a v i a t i o na n de l e c t r o n i ci n d u s t r i e s p r o f e s s i o n a la t l a s w o r k s t a t i o n ( p a w s ) i st h e p r o d u c t o f t y x c o r p o r a t i o n i ti sat e s t i n gd e v e l o p e r s t u d i oa n dac o l l e c t i o no f e d i t o r , c o m p i l e r , d e b u g g e r , e t c t h er e s e a r c hi no u rc o u n t r yi so n l ya ts t a r t t h e r e f o r ei t s n e c e s s a r yt od e v e l o pa ni n t e g r a t i o nd e v e l o p i n gp l a t f o r mw i t ho u ro w nk n o w l e d g e p r o p e r t yr i g h t i th a si m p o r t a n ts i g n i f i c a n ti nt h ed e m o n o f t e s ts y s t e m 1 1 1 i sp a p e rf i r s t l ya n a l y s e st h e t a r g e tw i t ho o p t h 蚰i n t r o d u c e st h ep r o c e d u r e o fd e s i g n i n gt h ei n t e r f a c eo ft h es o t t w a r e , i n c l u d i n gt h em a i nf o r ma n dt h er t s b a s e do nt h em e s s a g e e x c h a n g e d i s c u s s e st h e t e c h n i q u eo f u s i n g t h e d y n a m i cp o i n t e r a n dt h e u s i n go f t h e t r e e v i e w i n t r o d u c e sb r i e f l yt h em a k i n g o f h e l p i n f o r m a t i o nw i t h e x gf i l e s t h e nb r i n g sf o r w a r dt h et h r e em o d u l eo ft h ew h o l e s y s t e m c o n s t r u c ta s i m p l ec o m p i l e rl a t e r i na d d i t i o n ,s e ta ne x a m p l et os h o wt h ec o m p i l e rt h et a s k a c c o m p l i s h e s f o l l o w st h ea s s u m p t i o no far e a lc o m p i l e r i nt h ee n d ,d i s c u s s e s d e e p l yt h ec o n s t r u c t i o no f t h ei n t e r f a c et oe x c h a n g ed a t au s i n gt h et h o u g h t so f t h r e a d a n d u s i n g a t o m st os i m u l a t et h es y n c h r o n i z a t i o n n e a c c o m p l i s h m e n to f t h i st a s ki sd i v i d e di n t ot w op a r t s :t h ef i r s tp a r t , ih a v e w r i t t e nt h ec o n r s eo fm ys t u d y , a n a l y z ea n da p p l ya 7 n ,a s a n di a l s os t u d yt h e f u n c t i o n sa n dt h e t e c h n i q u e o f p a w s o f t 以c o r p o r a t i o n 1 1 1 i sp a r ti st h ef o u n d a t i o n o ft h en e x ts t e p i nt h es e c o n d p a r t ,ip r e s e n tt h ed e s i g no f t h ed e v e l o p e rs t u d i oa n d i n l a l ;:i n a t i o no ft h eu n f i n i s h e dw o r k i n d u d i n gt h ea p p e n d i x 。t h i sp a p e ri sc o m p n s e d 颂i ? 学位论文摘要 o f n i n e p a r t s k e y w o r d s : a u t o m a t i c t e s t i n gs y s t e m ,a t l a s 、t e s tp r o g r a m , h a r d w a r e i n d e p e n d e n t ,d e v e l o p e re n v i r o n m e n t 。e d i t ,c o m p i l e ,r u n ,d e b u g l 坝1 学位论文测试程序开发环境分析,设计 第一章绪论 1 1 自动测试系统的发展情况 1 1 1 自动测试系统的发展与自动测试的意义 自第一个微处理器问世以来,以微处理器为核心构成的微型计算机以各种 各样的形式,渗透到生产、生活、科研等各个领域,带来了各个领域的“智能”。 在仪器仪表及检测系统中应用微型计算机,不仅能解决传统仪器不能和不易解 决的问题,而且能简化电路、增强功能、提高精度和可靠性、降低成本和售价、 加快新产品的开发速度。 随着科学技术的发展,各种检测系统的组成越来越复杂,对参数的测量精 度和可靠性要求也愈来愈高。一方面要求检测系统具有更高的精度、可靠性和 自动化水“t ,以便减少人力和提高工作效率;另一方面,要求检测系统具有更 火的灵活性和适应性,并且向多功能化、智能化方向发展:此外,还要求尽量 缩短研制周期和降低成本。微型计算机技术的发展及其在检测中的应用,为实 现i 二述要求创造了条件。 通常把以计算机为核心,能够在程序控制下,自动完成特定测试任务的仪 器系统称为自动测试系统( a t s ,a u t o m a t i ct e s ts y s t e m ) 。在自动测试系统 中,整个测试工作通常都是在预先编制好的测试程序统一指挥下自动完成的。 而工作人员的任务主要是根据测试任务组建系统和编制测试软件。系统一旦正 常工作,它的各种操作一般都由系统本身自动完成。 自动测试系统的发展大体经历了三个阶段l i i : 1 第一代自动测试系统 早期的自动测试系统多为专用系统,针对某项具体任务而设计的。主要用于 要求大量重复测试及可靠性高的复杂测试,或者是为了提高测试速度及人员不 易停留的场合。常见的第一代自动测试系统主要有数据自动采集系统、产品自 动检验系统、自动分析及监测系统等。它们能完成大量的、复杂的测试任务, 承担繁重的数据分析、信息处理工作,快速、准确地给出测试结果。在功能、 坝i 学位论义 测试程序开发环境分析j 设计 性能、使用等许多方词比入工测试有明显改进,可以完成不少人工测试无法完 成的任务,显示出很大的优越性。 但是系统的组建和设计存在不少的困难。因为这一代自动测试系统的接口电 路不具备通用性,因此系统适应性差,改变测试内容一般需要重新设计电路。 2 第二代自动测试系统 自动测试系统在解决了标准化的通用接口问题后,就进入了目前最广泛的第 二代。目前,普遍使用的一种可程控的仪器接口系统,是1 9 7 2 年美国惠普公司 首先提出的,后来定名为h p i b 。之后,为美国电气与电子工程师学会( i e e e ) 及国际电工委员会( 1 e c ) 接受并正式颁发标准文件。这个系统在美国常被称为 i e e e 4 8 8 ,g p i b 和h p 1 b ,在欧洲和日本称为g p i b 或者i e c 6 2 5 。但是基本 内容是一样的,作为i e c 6 2 5 的母线系统比i e e e - 4 8 8 标准及h p i b 多了一条地 线。g p i b 主要用于受干扰较小的实验室生产测试条件下的台式自动测试系统, 它可以将不葡凼家、不同厂家生产的仅器设备,用通用的标准接口和母线连接 起来,避免了以往组建系统时需要设计接口的复杂工作。 第二代自动测试系统的主要特征是各设备都使用标准化的接口和母线连接, 组建方便,有专门的通用接口电路,更改、增加测试内容也很灵活。 3 第三代自动测试系统 m 然第一、二代自动测试系统比人工测试显示出前所未有的优越性,但是这 些系统中的计算机并没有充分发挥作用,整个系统和它的工作过程基本上还是 对人工测试的模拟。在第三代自动测试系统中,用强有力的计算机软件代替传 统仪器f l j 某些硬件,用人的智力资源代替很多物质资源。特别是在这种系统中 用微机直接参与测试信号的生成和测量特性的分析,即通过计算机直接产生测 试信号和测试功能。这样,仪器中的一些硬件,甚至整件仪器从系统中“消失” 了,而山计算机及其软件来完成它们的功能,形成所谓“虚拟仪器”( v i r t u a l i n s t r u m e n t s ) 。可以肯定的是,充分发挥计算机的作用,用计算机的软、硬件资 源代替测量仪器及系统中的大量硬件,与计算机技术紧密结合,已成为当今仪 器与测量技术发展的主流1 2 i 。 自动测试系统的发展离不行总线技术的支持,除了i e e e 4 8 8 、g p i b 总线以 外,在v m e 和g p 1 b 总线的基础上发展起来的一种新型仪器系统总线一v x i 2 坝l + 学位论文测试程序开发环境分析设计 总线标准的出现,使系统丌放式结构、模块化设计、紧凑的机械结构、良好的 电磁兼容性,以及高可靠性、小型便携和灵活的通讯能力等一系列优良的性质 衙以实现。尤其满足了军事领域对测试与测量的需求。例如美国的i f t e ( 中间 级战场测试设备) 系统,可用于几乎所有主要类型的陆军武器装备,为了提高 系统的灵活性和适应能力,i f t e 设备设有1 8 种9 0 个v x i 模块1 3 i 。 总之,自动测试是一门新兴技术,涉及的领域广,将计算机技术、软件技术、 总线和接口技术有机的结合一一起。随着科技的发展,对于电子测量和仪器的要 求越来越商测试项目和测试范围与日俱增,测试对象也逐渐复杂参数繁多, 只有采用自动测试技术,才能满足测试的高精度、短周期与高可靠性的要求。 1 1 2 可互换虚拟仪器( i v i ) 的提出 v p p ( v x ip l u g p l a y ) 规范定义了v i s a ( v i r t u a li n s t r u m e n ts o f t w a r e a r c h i t e c t u r e ) 接口,对g p i b 总线、串行总线、v x l l 4 1 等总线仪器的操作提供统一 的接口,从而提高了仪器的可互换性。为进一步提高仪器驱动器的执行性能,达 到真正的仪器互换性,1 9 9 8 年8 月由9 家公司成立i v i 基金会,在v p p 的基础上 为仪器驱动器制定新的编程接口标准,使应用程序可以实现完全独立于硬件,并 增加了仪器仿真等机制,使仪器执行效率大大提高巧 。1 v i 规范( i n t e r c h a n g e a b l e v i r t u a li n s t r u m e n t ) 分仪器类驱动器、具体仪器驱动器和i 引擎1 i 三部分,i v i 规范是建立在v p p 基础上的又一个国际标准。 1 v i 作为仪器测试系统的组成部分( 如图1 1 ) ,它位于程序结构的v i s ai o 层之上,并且与系统的应用开发环境有机地结合起来。 i v i 将传统的仪器驱动器结构分成两个部分:具体的仪器驱动器和仪器类驱 动器。具体的仪器驱动器在沿袭了过去传统仪器驱动器的功能基础上,另外具 有一个底层的结构,这个结构经过了性能优化且包括仪器仿真;仪器类驱动器 包含了控制该类仪器的一般函数,这些函数可以直接调用相关具体仪器驱动器 中的函数。在编写测试程序时,可以采用具体的仪器驱动器和仪器类驱动器两 种方法。由于使用后一种方法编写测试程序不涉及到仪器硬件的细节,因此将 来在更换仪器时就4 i 必修改测试程序。 可互换仪器性与设备无关性是同一概念,具有很多优点及广泛的应用领域。 滑l 试程序开发环境分析j 5 计 山一j 二采川了叮互换的虚拟仪器设备,i | i | 9 试系统丌发人员丌发的测试程序能够对 性能挺商的新设备和旧设备同样有效。 图1 - 1 仪器测试系统的组成 1 v i 驱动器的可互换性可以通过一个称为通用仪器类驱动器来实现。类驱动 器足一组用米控制具体一类仪器属性的函数。 蹦1 - 2i v i 基本结构 从图1 2 中可以看出类驱动器含有控制数字多用表的通用函数。具体的驱 动器包含了控制特定仪器的信息,如:命令字符串、分析代码、仪器的有效范 围设簧。 i v i 驱动器共有五类一示波器、数字多用表、任意波形函数发生器、继 4 f i ! ; l 学位论文测试程序开发环境分析1 改计 电器和电源。每一类驱动器调用具体的仪器驱动来控制实际的仪器。具体的仪 器驱动包括了控制一个特定仪器的信息:命令字符串、分析码及仪器的有效范 围设簧。在测试程序中,调用类驱动程序中的函数,类驱动器是与具体仪器相 联系的,并且町以实现在系统中仪器类的范围内更换具体仪器驱动器( 及仪器) , 而不会影响到测试代码的执行订1 。 1 1 3i v l 驱动器的使用方法简介 1 标准仪器编程接口仪器类 仪器类被定义为仪器属性和对这些属性编程的标准a p i 的集合。例如示波 器类包含了对所有示波器共同的属性,如:垂直范围、偏移量、时闯基准、触 发方式等等。这个类也包含了程序员设置属性和从仪器上获取数据的函数。例 h l :c o n f i g u r e v e r t i c a l ,c o n f i g u r eh o r i z o n t a l ,r e a d w a v e f o r m 等等。由于对示波器 的每个函数和属性都有一个标准定义,这样编写出来的测试程序就可以用于任 何一个示波器。因为并非所有仪器都具有相同的功能,所以不可能创建一个单 的程序接口对所有仪器都有效。基于这个原因,仪器类划分成了基本功能属 性和扩展功能属性。 基本功能属性是这种仪器类中大多数仪器( 一个特定类9 5 的仪器) 共有 的功能属性。例如,可以很容易地概括出一个示波器的基本功能属性:设嚣水平、 垂直范围、获得测量值。 扩展功能属性表示某一个仪器类的特有属性。例如,虽然所有的示波器在水 平、垂直设簧上相似,但示波器的触发方式是多种多样的。i v i 基金会规定示 波器的扩展功能包括:v i d e o ,r u n t , w i d t h 触发方式等。对于扩展功能部分,i v i 基 金会创建了“标准”编程接口,因此,每一个接收v i d e o 信号的示波器都将遵 循i v i 所规定的v i d e o 信号扩展功能和属性规范。 2 系统配簧 为了能在测试程序使用i v i 类驱动器,就必须首先配置系统以便类驱动器可 以与具体的仪器驱动进行交互。这一步是通过使用m a x ( m e a s u r e m e n t a u t o m a t i o ne x p l o r e r ) 来完成的。 m a x 是所有硬件及相关软件的国际仪器标准配置工具。首先配置的是逻辑 倾j 学化论义测试程序开发环境分析1 璇计 名,逻辑名是指在应用中所使用的虚拟仪器。一个虚拟仪器哺1 是物理仪器、仪 器驱动器和选择设置的组合。改变逻辑名所指的虚拟仪器,就可以改变仪器而 1 ;j j 改变测试程序,这个机制是通过类驱动器中的初始化函数引发的。例如: 当使 目一个类驱动器初始化一个仪器时,并没有将形如:“g p i b :2 :i n s t r ”的标 准v i s a 资源字符串传递给驱动器,而给出一个“d m m l ”这样的逻辑名。m a x 包含了仪器驱动器的位置及初始化配置的信息,其中: ( 1 ) 逻辑名文件央包含了用户定义的所有逻辑名,这些逻辑名用来区分程 序- 巾用到的仪器。文件央包含了驱动器属性的初始化配置,如:s t a t ec a c h i n g , s i m u l a t i o n 等等。 ( 2 ) 仪器驱动器文件央包含了有关在哪星能找到每一个虚拟驱动器( v i r t u a l d r i v e r s ) 文件央中的仪器的具体驱动器信息。文件央包含的信息是以v i s a 资源 形式描述的物理仪器地址。 这些文件央的信息随着系统增加驱动器而更新,需要更换仪器,只要简单 地在逻辑:名( l o g i c a ln a m e s ) 文件夹处改变具体仪器对应的逻辑名即可。 1 1 4 编写测试程序 一旦完成了系统配置,就可以调用i v i 类驱动器,程序完全脱离具体的驱动 器而与仪器进行交互。 程序的编写涉及到编程语言的选择,目前流行的有两种: 1 c 语言编写测试程序在l a b w i n d o w s c v i 开发工具上编辑、编译。 例如:没鼹一个数字多用表并获得浚d m m 的测量值,可以在程序c p 调用函 数。 i v i d m m _ i n i t i a l i z “d m m1 ”,& d m m h a n d l e ) ; l v i d m m _ c o n f i g u r e ( d m m h a n d l e ,i v i d m m _ v a ld cv o l t s , i v i d m m _ v a l _ a u t o _ r a n g e _ o n ,i v i d m m v a l - 4 _ 5 d i g i t a l s ) ; i v i d m m _ r e a d ( d m m h a n d l e ,5 0 0 0 ,& r e a d i n g ) ; 当数字多用表“d m m l ”初始化时,类驱动器在m a x 中寻找d m m l 的入 门。自动找到具体的驱动器,将其动态载入内存,并通过引用类驱动器的指针 调川具体的驱动器动态连接库相应的函数。从这一点上,类驱动器函数是直接 6 f i | j i + 学位论文测试程序开发环境分析i 设计 简单地传递到具体驱动器,利用相同函数来实现具体仪器的输入输出编程。 2 使用p a w s ( p r o f e s s i o n a l a t l a s w o r k s t a t i o n ) 平台编辑、编译a t l a s ( a b b r e v i a t e dt e s tl a n g u a g ef o ra l ls y s t e m s ) 语言。a t l a s 具有设备无关性, 进行测试时,只要规定测量没备的连接及回读信号存储的位簧即可。更加体现 了测试程序通用性。例如: 3 0s e n s e ,( v a l u e i n t o r e s p d a t a ) ,o n d s e n c n xh lj 2 一d 4j 2 - d 5j 2 - d 6j 2 一d 7l oj 2 - g n d $ o u t p u t ,t o d i s p l a y ,c r e s p d a t a :$ 1 2 课题的提出及意义 本课题的任务是完成a t l a s ( a b b r e v i a t e d t e s tl a n g u a g ef o r a l ls y s t e m ) 语 言集成丌发环境的研究与设计。a t l a s 语言是一种通用的测试系统语言,具有 设备无关性 1 0 1 0 目前,a t l a s 作为一种自然语言在美国和欧洲的各个领 域尤其在航空和f l l 子的设备测试系统中广泛应用。a t l a s 语言专用开发平台 p a w s ( p r o f e s s i o n a la t l a sw o r k s t a t i o n ) 是t y x 公司的产品,它是集合编辑、编 译、运行调试等为一体的丌发环境。 降低测试成本,缩短测试系统的开发时间以及把风险减少到最低限度,这 是组建自动测试系统的基本要求和主要目标。要达到国际上先进的、成熟的工 业标准、保证功能模块的兼容性,软件设计也应遵循易用与通用等的标准,采 刚成熟的商业应用软件平台,使测试在公丌、通用、多样、统一的测试平台上 运行。i nn l 在自动测试设备( a t e ,a u t o m a t i ct e s ts y s t e m ) 中的应用开发环境有 l a b w i n d o w s c v l ,l 曲v i e w ,h pv e e ,v b ,v c + + 等等。但是这些丌发环境都 是把测试和仪器的驱动集中在一起解决的,是面向编辑解决方案的环境。在自 动测试领域,标准化已经集中在高级语言中,即面向测试的语言,测试工程师 的工作重点是在测试方法的描述。p a w s 丌发平台就是这样的开发环境,它具 有层次化的体系结构,用a t l a s 语言开发测试程序( t p ) ,向系统发出服务请 求;设备库、开关库、接口适配器数据库为测试程序提供服务,完成仪器的驱 动和连接;j i :- 台系统完成设备的自动分配,运行平台完成测试软件的执行。测 7 l j j i f i j 学位论文测试程序开发环境分析t ,设计 试工程师把重点放在测试的描述上而不足设备驱动上,大大增加了软件的移植 性,缩短了丌发周期。p a w s 软件在我国的使用尚在起步阶段,1 1 2 1 加强这方面 的介绍和应月】将有助于加快我国测试技术赶超国际水平。 然而p a w s 这一优异的自动测试程序集成) 1 :发平台价格极其昂贵,一 般米说,在国内高校与科研单位很难获得。另外,由于测试程序集成开发环境 足一个相当庞大而又复杂的系统,在我国,这项研究才刚刚起步,所以深入研 究p a w s 机理和技术框架,研制和开发具有我国知识产权的a t l a s 语言集成开 发环境,在测试领域中,具有相当深远的意义。 1 3 课题研究与系统科学的关系 首先提出几个概念: 系统科学是以系统及其机理为对象,研究系统的类型,性质和运动规律 的科学| i ”。 系统工程是一门统筹全局综合协调研究系统的科学,是系统开发、设计、 实施和运用的工程技术l l “。是一种对所有系统都具有普遍意义的科学方法。它 从系统整体出发,根据总体要求进行设计协调。 技术制订并执行合理的工程决策以达到理想日的的能力l 峙i 。 为达到相应的工程目标,工程人员需要进行概念设计。所谓概念设计,就 是刈系统进行整体描述,概念设计又称为工程整合。合理的设计能够减少各个 模块错误的发生率。 以航天系统工程为例i i 引,由总体设计部对航天工程系统进行技术管理。总 体设计部所设计的是系统总体方案,通过总体分析、设计和总体协调,并采用 计算机系统建模、仿真和测试。作为复杂的大型a t e 必然需要使用系统科学的 方法x t - t 二系统进行构造。 本课题是对于自动测试程序的集成开发环境的分析与开发,它是一个集软 件硬件为一体的复杂系统,需要以系统科学的观点,使用系统工程的方法进行 分析,分层次研究机理,确定设计的系统需求和设计的框架,增强系统的可靠 性,提高测试精度,并进行系统的正确维护。 坝f 。学位论义 测试程序开发环境分析设计 1 4 论文的组织安排 1 4 1 研究的内容 在课题中,我完成的主要工作足:熟悉自动测试系统的有关概念;了解测试 程序在测试系统中的地位和作用;学习a t l a s 语言及其使用方法;对p a w s 的功能进行较全面地了解和认议;研究p a w s 机理和技术框架并作为后期研究 工作的铺拙;研究并设计一个自己的a t l a s 集成开发环境,使它具备p a w s 所能完成的基本功能。 1 4 2 论文的组织 沦文主要内容介绍如下: 第一部分介绍课题的由来与意义、自动测试系统的概况,并且说明在可互 换仪器的使川叫】,测试程序的殴备无关性;以及编写测试程序的不同方法等。 第:二部分分两部分,前半部分简要介绍n i 公司的测试开发环境l a b v l e w 、 l a b w i n d o w s c v l ,后半部分介绍了t y x 公司的p a w s 测试环境和相关功能, 并洋细介绍了p a w s 机理和技术框架,作为论文后面设计a t l a s 开发环境的基 们l j 。 第三部分是我对a t l a s 语言及应用的理解。 第四部分是使用湎向对象的软件开发思想对于集成开发环境的分析。 第血部分深入探讨了a t l a s 语言集成开发环境的设计方法与过程。包括集 成环境的平台的界面丌发,对编译器设计和实现,并且使用线程的思想对执行 器进行了分析。 第六部分是对课题完成情况的总结和对本课题的展望。 9 f ! i 岸位论文测试程序开发环境分析1 j 设计 第二章测试开发环境简介 n i ( n a t i o n a li n s t r u m e n t ) 公司提供了两种比较好的测试开发环境和工具, 它们把必要的硬件、软件组合成一个单一的集成丌发环境,并带有高级的特定 仪器驱动程序、数据分析和显示工具。这两种- 丌发工具又各有侧重, l a b w i n d o w s c v l 适合于习惯用c c + + 或者b a s i c 进行程序设计的用户“”,而 l a b v l e w 适合于偏好图形化设计而不是传统的文本式编程的用户。 2 1l a b v l e w 和l a b w i n d o w s c v i 软件开发平台简介 2 1 1 图形化编程开发平台一l a b v i e w l a b v i e w 是n i 公司推出的一种基于图形开发、调试和运行程序的集成环 境,足日前国际上唯一编译型的图形化编程语言。它使用一种称为g 的数据流 编程模式,有别于基于文本的线性结构。在l a b v i e w 中,执行程序的顺序是山 块之问的数据流决定的,而不是传统文本语言中按照命令行次序连续执行的方 式。l a b v l e w 是直观的前面板与流程图式的编程方法的结合。 l a b v l e w 有以下一些主要功能和特点。 1 图形化编程方式和环境。它使用“所见即所得”的可视化技术建立人机 界面。针对测试、测量及过程控制等领域,l a b v i e w 提供了面板上所必须的许 多显示和控f | ;, l x , j 象,如旋转、表头、图表等。用户还可以方便地将现有控制对 象改成适合自己需要的控制对象。 2 内置程序编译器。3 2 位程序按编译方式运行,拥有数据采集、仪器控制、 数值分析和信号处理及强大的网络功能。 3 灵活的程序调试手段。用户可以在源代码中设置断点,单步执行源代码, 在源代码的数据流上设黄探针,在程序运行中观察数据流的变化。 4 具有功能强火的函数库。l a b v l e w 提供了大量现成函数供用户直接调 j i j ,从底层v x l 、g p i b 、串口及数据采集板的控制子程序到大量的仪器驱动程 序,从基本的功能函数到高级分析库,涵盖了仪器设计中几乎所有需要的函数。 l a b v l e w 提供d l l 接口、c i n 节点以及仪器驱动器,可以通过网络通信与其 o i ! i j 学位沦义 测试程序开发环境分析j 醴h 他应用程序和外部设备进行连接。 5 网络功能及在线帮助。l a b v i e w 支持t c p i p ,d d e ,i a c 等功能,具 柏多剃帮助选择功能和在线帮助功能。 2 1 2l a b w i n d o w s c v l l a b w i n d o w s c v l 是面向仪器与测试过程的交互式c ,c + + 丌发平台,它是一 个川c 语言构建仪器系统的交互式软件开发环境,以模块化方式对c 语言进行 编辑、编译、连接和调试。l a b w i n d o w s c v l 包含了g p - i b ,r s - 2 3 2 ,v x i 总线, 数据采集和分析库。l a b w i n d o w s c v i 提供了许多厂家的3 0 0 多种仪器的驱动程 序,并且在构建和控制软件用户接口之外,只创建了一个层次,使用户能容易 地生成各种应用程序。其特点是: 1 集成开发平台。l a b w i n d o w s c v i 将源程序编程、3 2 位标准c 编译、连 接、调试以及标准a n s ic 库等集成在一个交互式开发平台中,因此,用户可以 快挑地编写、凋、试和修改应j ;:j 程序,并生成可执行文件。 2 交互式编程方法。l a b w i n d o w s c v i 编程技术采用事件驱动方式和回调 阑数方式。对每一个函数都提供了一个函数面板,用户可以通过函数面板交互 地输入函数的每一个参数。在脱离主程序c 源代码的情况下,可直接在函数面 板。p 执行函数操作,并能方便地把函数语句嵌入到c 程序源代码中,还可以通 过变量声明窗口交互声明变量。这种交互式编程技术大大地减少了源代码语句 的输入量,减少了程序语法出错的机会,提高了设计的效率和可靠性。 3 助能强大的函数库。针对测控领域的需要,可供用户直接调用的函数库 靠: 夺丛木的数字函数、字符串处理、函数数据、运算函数、文件i o 函数。 夺商级数据分析幽数,包括信号处理函数、滤波器设计、线性代数、概率 论和数理统计、曲线拟合等函数,涵盖了几乎所有仪器设计中所用到的 函数。 夺各种驱动函数库 4 简单直观的图形用户界面设计。l a b w i n d o w s c v i 具有人机交互式界 m i 编辑器。通过弹出菜单定义界面对象与c 程序代码的通信属性,发计好人机 顺i 学位论史测试程序开发环境分析1 j 址计 交互界面( 虚拟仪器面板) ,c v i 自动生成源代码文件,声明界面对象常量及相 应的凹调函数。 5 完善的兼容性。程序员可以用自己熟悉的c 编程环境开发自己的测试程 序。l a b w i n d o w s c v l 可以将仪器及子程序编译成3 2 位的动态链接库,以便用 于任何3 2 位的c c + + 环境及l a b v i e w 或者v i s u a lb a s i c 中。 6 多种灵活的程序调试手段。提供变量显示窗口可以观察程序变量和表达 式值的变化情况,还提供单步执行、断点执行、过程跟踪、参数检查、运行时 内存检查等多种调试手段。 7 网络功能。支持t c p i p 、动态数据交换( d d e ) 等网络功能。 2 _ 2p a w s 测试环境简介 2 2 1 概述 图2 - 1p a w sd e v e l o p e rs t u d i o 的主窗1 2 1 p a w sd e v e l o p e r ss t u d i o 是t y x 公司a t l a s 集成开发环境( 如图2 1 是 p a w sd e v e l o p e rs t u d i o 的主窗口) ,用来,r 发a t l a s 测试程序集( a t l a st e s t p r o g r a ms e t ) 。t p s 执行a t e ( a u t o m a t i ct e s te q u i p m e n t ) 工作站对不同仪器的 1 2 坝h 学位论史 湖i 试程序开发环境分析o ,设计 测试“”。t y x 公司成立于1 9 8 2 年,是第一家为a t l a sa t e 团体提供测试程序集 ( t p s ) 丌发工具的供应商,而且是唯一能够提供测试执行s c h e m a t i cd e s i g n 完 整解决方案的供应商,在1 9 9 7 和1 9 9 8 年成为世界软件业5 0 0 强之一。t y x 公司 的产- 诮包括:p a w s ( 专业a 1 1 l a s 工作站简称) 和t e s t b a s e 。p a w s 软件是一套合 并了支持自动测试每一阶段所有工具的全部兼容产品,它提供给用户一种测试 框架的没计,允许用j 。在测试办案设计的每一步输出和输入信息。 t p s 足执行a t l a s 的一套软件工具,这套工具提供了建模、开发完整测试 程序的能力,包括编辑、编译,执行流程分析、分配资源、调试、仿真以及a t l a s 程序文档化。 图2 - 2r t s 在测试中的作_ h :j p a w s 包括了r t s ( r u nt i m es y s t e m ) ,r t s 是用来执行、控制t p s 的。 图2 2 说明了r t s 在测试中的作用,圈中n a m ( 非a t l a s 模块) 含有a t l a s - 扣所没有的函数。 2 2 2p a w s 界面组成 p a w s 主窗口包括: 1 主菜单栏( m a i nm e n ub a r ) 与工具栏( t 0 0 1 b a r ) 使用下拉式菜单,菜单功能组与组之间是由分割线来分割的,还支持多层 弹出菜单a 如果第一层菜单项还有一个子弹出菜单与之相连,那么在该菜单项 r r 0 4 ;边就会订一个右箭头符号。包括:“f i l e ”、“e d i t ”、“v i e w ”、“b u i l d ”、“d e b u 2 ”、 坝i :# 他论证= 删试程序开发环境分析j 垃计 “o p t i o n ”、“w i n d o w ”、“h e l p ”各子项。工具栏提供了常硒功能的快捷访f i :i 】方 式。 2 项翻管理1 :作区( p r o j e c tw o r ks p a e e ) 项目管理工作区包含两个标签:项目标签( p r o j e c t t a b ) 和工具标签( t o o l s t a b ) 。项目标签提供了一个项目文件的树视图控件,列出了近期打,r 项目的列 表;双击项目文件名,就可以进入编辑区编辑该项目文件。工具标签提供了一 个p a w s 可用工具列表。 3 编辑区( e d i ta r e a ) 编辑区提供了编辑a t l ,d d b ,s d b ,i t a 及c + + 程序文件的窗口。但是目标文件 例如d e v i c e d b d e v 及s w i t c h d b s w x 不能在编辑窗口打开。编辑窗口的大小 可调,在缺省情况下,编辑窗口使用不同颜色显示所编辑的文本文件的关键字: 表2 - | p a w s 编辑窗l i 关键字颜色显示表 l 颜色显示的关键词 f 红色动词 绿色名词 粉红色修饰词 栗色变量及常量 蓝色 其他关键i 司 黄绿色注释 编辑窗口有: + a t l 编辑窗口:编辑a t l a s 源文件 td d b 编辑窗口:编辑设备数据库文件 + s d b 编辑窗口:编辑开关数据库文件 + i t a 编辑窗口:编辑适配器数据库文件 4 消息窗l z l ( m e s s a g e w i n d o w ) 消息窗口为用户显示p a w sd e v e l o p e r ss t u d i o 提供的消息:编译器的错误 信息,可以通过双击错误信息回到错误发生的源代码处,并且源程序相应的行 商兜皿示,行数在状态栏l i = | 显示。消息窗口大小可调。 5 状态栏( s t a t u sb a r ) 4 f i ! ;! i j 学 江论且:测试程序开发环境分析设计 左边显示工具的状态,右边有四项显示内容:( 自左向右的顺序) 鼠标在当前工作编辑窗口的位置行数; + 指示重打模式; ,指示大写锁定键的状态; + 指示数字锁定键的状态。 图2 - 3r t s 的主窗u 选择d e b u g 或者使用r t s 就进入了p a w s 的d e b u g 模式显示打开: ( 1 ) p a w s 的r t s 主窗e l ( 如图2 3 所示) 。 ( 2 ) 编辑窗口当前装入的a t l a s 源代码程序。 在通常情况下,d e b u g 模式的主窗口可以移动,调整大小,并且项目工作 区、: 具栏及变量监视跟踪窗口可以移动( 浮动或者停靠) 在屏幕的任何位置 ( 可以在主窗口之内或者以外) 。项目工作区、消息窗口、工具栏和状态栏可以 通过“v i e w ”菜单显示或者隐减。在d e b u g 状态,如果通过“v i e w ”菜单选 择消息窗口会影响变量监视跟踪窗口,使两个窗口合二为一。 2 3 使用p a w s 开发测试系统的流程 p a w s ! :f 1 :发测试系统的程序处理流程如图2 - 4 所示: i ( | i f l 。学位论文 测试程序开发环境分析设计 设备开关数据库 c i l l 卜酣h 童忡升 ra t m a c f 0 t s c o d e 斗 e w c e m 语法数据厍 图2 _ 4p a w s7 l 二发测试系统的程序处理流程 在设备数据库、丌关数据库秘语法数据库的作用下,t p s 对a t l a s 程序进 行编译,得到可执行目标文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论