语义分析是编译中的重点,在语义分析中不仅要进行程序的上下文语义一致性的检查,还要为目标代码生成提供足够的信息本文介绍了ATLAS语义分析的实现方法,并对ATLAS系统的实现技术,运行环境的实现方法进行了简单的介绍
对于ATLAS语义中要求的特殊问题,我们采用了面向对象技术加以实现,并取得了很好的结果具体的实现采用静态语义分析和动态语义分析相结合的方法本文对ATLAS系统中的设备管理系统,运行环境系统等也进行了简单的介绍,为ATLAS系统的进一步开发奠定了基础
目 录
第一章 系统简介
11 ATLAS 系统简介
C/ATLAS是全系统公共/简明测试语言(Common / Abbreviated Test Language for All Systems)的缩写,它是一种功能十分强大的全系统标准测试语言,在军事,航空事业中具有广泛的应用
20世纪60年代,ARINC公司为了对航空器上的电子设备系统进行测试,主办开发了一个测试语言ATLAS,当时ATLAS的含义是指Abbreviated Test Language for Avionics Systems 随后,美国陆军,海军,航空部队以及北大西洋公约组织也加入到这个语言的开发
1976年,C/ATLAS的控制权由ARINC移交给IEEE,此时ATLAS的含义更为广泛:Abbreviated Test Language for All Systems 同时ARINC发布了IEEE格式的ARINC416-13A标准1988年,IEEE发布了ATLAS716-1988/9标准,同年ARINC也发布了标准ARINC626-1988/9,之后IEEE和ARINC每三,四年就更新一次各自的标准2000年,IEEE发布了C/ATLAS的最新版本ATLAS2000标准,我们实现的系统采用的就是IEEE的ATLAS2000标准
C/ATLAS具有如下的特点:
一,它是一个标准的测试语言为了防止语言的日益庞大和不利于维护,该语言由IEEE负责发布相应的标准,以达到语言的规范和统一参与该标准的主要用户有美国国防部,德国国防部,法国国防部,英国国防部,瑞典国防部和航空工业的航空无线电公司等
二,C/ATLAS具有和测试设备无关的特性,可应用于所有的测试系统用ATLAS语言编写的程序可以测试各种仪器设备,测试的代码中不包括任何测试所采用的硬件信息也就是说,只要测试使用的自动测试设备(ATE)支持ATLAS,便可以不经过修改地使用在另外一个测试系统中编写的ATLAS程序
三,ATLAS的功能十分强大,提供了真正的自动测试在以往的测试中,测试人员不仅要考虑测试的算法和流程,还要花很多精力用于选择测试使用的设备甚至设计测试所需的硬件等,进行不同的测试需要不同的测试设备和相应的测试流程在ATLAS中则不需要测试人员考虑测试硬件,而由ATLAS系统自动处理,这样测试人员就能够更加专心地进行测试算法和测试流程设计ATLAS系统的ATE(自动测试资源)中提供了大量的测试设备,一个ATE能进行很多测试,这样不仅简化了测试系统的规模,也大大提高了测试的效率和水平
111 进行ATLAS 测试的硬件环境
ATLAS语言可以应用于各种电子类和非电类仪器设备的测试,随着测试技术和测试设备的不断发展,ATLAS语言也在不断的进行修改在遵循IEEE标准的基础上,为了方便用户的使用,ATLAS语言自身提供了一种的扩展机制,以完成由于当前标准的限制而不能进行的测试
ATLAS 语言中不提供测试硬件信息用户使用过程中,ATLAS系统根据程序中的设备特征信息,自动地进行设备分配并调用相应的硬件 *** 作来完成对UUT(被测试单元)的测试可以说ATLAS系统是一个对测试软件和硬件进行管理的虚拟机,它不仅负责对ATLAS源程序编译,生成机器码;还要对测试资源设备进行管理,设备管理包括:添加和删除设备,管理被测试单元(UUT)到自动测试系统(ATE)设备的开关连接通路;此外,ATLAS系统还要在测试的执行过程中,处理测试中产生的事件,并监控测试资源的工作情况
下图是ATLAS测试的硬件环境
,ATLAS测试系统硬件结构图
ATLAS测试系统硬件主要有以下几个部分组成:
ATE(auto test equipment):自动测试设备,使整个测试系统的核心,采用VXI或IEEE488 总线将设备连接到主机上ATE机柜中的设备主要包括:1)测试使用的资源,如各种可控直流电源,可控信号发生器,数字万用表,示波器等;2)开关设备,用于连接ATE外部的阵列接口和ATE内部的设备3)ATE阵列接口,是ATE的输出接口,外接测试使用的适配器
UUT(unit under test):被测试单元,即测试的对象,在测试过程中和ATE外部的适配器相连接
适配器:用于连接ATE和UUT在测试过程中,ATE负责提供给UUT (被测试单元)电源,输入的激励信号,并从UUT (被测试单元)中读出测试点的内容适配器的作用就是进行从ATE(自动测试设备)到UUT(被测试单元)建立相应的连接,并根据UUT 情况进行电气转换,电信号到非电信号的转换等
VXI 总线等:用于连接主机和ATE(自动测试资源)中的测试设备,可控开关等,进行ATE控制和数据通信
主机:测试主控计算机,其上面运行ATLAS系统
112ATLAS 系统结构
ATLAS系统负责编译执行ATLAS编写的测试程序,提供调试环境,测试仿真环境,管理ATE中的各种设备和开关ATLAS系统由ATLAS编译器,ATLAS运行环境,ATLAS环境管理程序,设备库,扩展协议,总线描述文件,设备描述文件,开关描述文件和适配器描述文件组成
系统的结构如下图所示:
ATLAS系统测试流程图
ATLAS 环境管理程序将测试使用的设备描述文件,开关描述文件,总线描述文件和适配器描述文件转换为内部的设备信息,开关信息,总线信息和适配器引脚信息
ATLAS编译器将测试程序编译成可执行的目标代码,并交给ATLAS运行系统执行在编译的过程中,ATLAS编译器根据系统中的设备信息,开关信息,总线和适配器引脚信息,进行测试设备的分配,生成相应测试设备的 *** 作代码,并在测试结束后回收设备
ATLAS运行系统负责执行目标代码,完成最终的测试在运行系统中要监控设备的执行情况,处理来自测试设备的信号和中断,管理测试执行的进程,并给程序员提供相应的调试环境
在执行中,ATLAS的运行系统调用设备DLL库中的设备函数来执行测试设备管理系统负责添加测试设备,修改开关通路,修改测试设备信息,删除测试设备等等添加和修改一个设备则相应的修改设备DLL库
ATLAS编译器根据源程序中设备的特征信息,结合系统内部的设备信息,引脚信息和开关信息,来查找设备如果找到满足条件的设备,则分配该设备并调用这个设备的 *** 作如果更改系统的设备,比如添加新设备或修改当前设备的某些信息,这时要修改系统内部的设备信息,以便在ATLAS编译时能够找到满足条件的设备
12 本文完成的工作
本文介绍的工作是我们的项目——ATLAS系统的一部分,主要是ATLAS语言的语义分析部分,给出了ATLAS形式化语义,ATLAS编译环境,运行环境,ATLAS的动态语义分析技术和静态语义分析技术本文完成的工作有:
实现了ATLAS语言的语义分析
利用面向对象的技术[5][6]解决了ATLAS要求的语义扩展和设备无关性
阐述了ATLAS系统的组成和各部分的功能
实现了ATLAS的语义分析器[7],给出了ATLAS静态语义检查和动态语义检查的内容,并利用属性文法加以描述
第二章 ATLAS语言
21 ATLAS 2000
ATLAS是一个十分有趣的语言,与一般的过程式语言不同,ATLAS更接近于自然语言在这个语言中每一个语句由动词,名词和它们的修饰信息组成,一个ATLAS语句中至少包含一个动词和一个名词[2]
ATLAS2000语句结构如下图所示:
固定域 分隔符
,
固定域中的标志域,用来说明这条语句的含义,如果忽略标志说明是一条普通的语句,是注释语句则标志为"C" 或"B",如果是"E"表示可以从标志的这条语句开始执行测试,而与前面的测试无关
VERB动词,包括ATLAS中的动词和动词修饰词动词有:APPLY,DEFINE,DECLARE,REQUIRE,DISCONNECT,REMOVE,DO等动词的修饰词用来辅助动词如:"DO ,SIMULTANEOUS" 语句中的SIMULANEOUS,信号语句中的"THEN RESET"等
分隔符,在ATLAS中不同的语法成分由分隔符","隔开
每一条都有一个终止符"$"
每个语句的语句剩余部分根据情况而定
ATLAS2000结构:
ATLAS2000 是一个有多层结构的语言[4],一个ATLAS程序由核子原语,语句,模型,TTF和模块组成ATLAS核子部分和ATLAS原语构成了这个语言的基础,用户通过预定义和这些基本语素来建立测试项目的需求模型结构使用户通过对底层部件的 *** 作组合,抽象出具有更高层次的结构并对更复杂的测试功能加以描述TTF(Test Technology Frameworks)测试技术框架,ATLAS2000测试技术框架包括并定义一些由ATLAS2000基础组成的特殊的测试环境模块用来封装那些可重复使用的测试代码具体结构如下图所示:
ATLAS 2000 结构图
注释:
ATLAS核子部分(NUCLEUS)定义了ATLAS语言典型的性能和功能ATLAS核子由形式语法,保留字和规则三个部分组成
ATLAS原语(PRIMITIVES)是描述和说明ATLAS信号,动作,属性和性能必需的元素这些基本元素不能再分,其中包括名词,名词修饰词,动词,动词修饰词, *** 作符以及它们的功能定义
ATLAS模型(MODELS)是一系列函数和过程的表示,在ATLAS中,模型用来描述测试设备和被测试单元(UUT)的特征ATLAS模型是文法元素的描述基础,ATLAS关键字根据ATLAS2000模型来定义,所有的关键字必须模型化一旦一个模型被定义并且成为测试技术框架(TTF)的一部分,就可以在ATLAS的语句中作为一个关键字来使用
ATLAS的模块(MODULE)是包含在ATLAS程序中的一个实体,可以说它是一个包含ATLAS过程和非ATLAS过程的容器在ATLAS中用"INCLUDE"语句来使用模块在模块内通过声明过程的属性是全局的还是局部的,来决定过程的作用域,全局的过程可以在模块外使用在模块内部可使用本模块定义的所有过程,通过对其它的模块进行引用声明,也可使用外部过程
22 ATLAS 语义分析特点
ATLAS语言是用于测试的标准语言尽管在ATLAS语言中没有关于测试设备硬件的具体信息,如设备的物理地址,设备驱动程序和设备的 *** 作函数等,但是ATLAS提供了描述设备特征的原语和模型[1][3],其中包括:名词,动词,修饰词,连接和信号保留字等ATLAS编译器正是根据在ATLAS程序中的由这些原语和模型组成的信息,来自动地完成设备查找,设备分配,去配和 *** 作
和常见的程序语言相比,ATLAS最大的特点就是包括了一些与测试设备或被测单元相关的信息和语句[1],而对测试设备进行 *** 作也就是ATLAS语义的重要部分现在我们来对比一个非ATLAS语言和ATLAS语言是如何编写测试程序的
我们从C语言的测试程序和ATLAS语言编写的同样功能的程序进行一下对比
例:将一个电压是28v的直流电源连接到被测试设备(UUT)上
实现:
用C语言编写测试程序的具体 *** 作步骤是:首先将要使用的电源连接到测试系统上,将电源到UUT的开关置为连接,然后设置电源电压为28V,接下来检查电源的输出电压是否是28V,工作电流是否小于1A,如果满足条件则允许该电源工作
在ATLAS中,通过一条简单的语句就可以完成了这些 *** 作,在ATLAS程序中不需要指出要使用哪一个电源,我们可以看出ATLAS和C语言的不同之处在C的程序中由测试员指定要使用的电源并连接这个电源的使用的开关这样来完成测试,在ATLAS这些工作中则由编译器自动完成
C语言和ATLAS语言编写的代码比较如下:
摘自:softlabjlueducn/temp/thesis/2004liuleidoc开放世界是近些年来很热门的一种 游戏 类型,这类 游戏 没有固定的玩法,没有必须完成的任务,这样的设计给了玩家很高的主观能动性,从而受到了大量玩家的欢迎。下面我来给各位玩家推荐10款优秀的开放世界 游戏 ,它们品质卓越画面好,被无数玩家视为最佳作品。
《ATLAS》
《ATLAS》是Steam海盗战争 游戏 的代表作品,这款 游戏 涵盖了无数种玩法,每一种玩法都有其独特之处,不过要说玩家的最爱,那还是要属PVP玩法,这款 游戏 运用超网格技术,成功的将数千位玩家们汇聚在了一个战场上,在这里,玩家们要在一片诺大的战场上与数千位敌人交战,想要在这场盛大的海盗战争中战胜对手并不容易,可只要玩家能获胜,敌人的一切就都是你的。
为了再现当年的海盗战争,《ATLAS》在 游戏 中建立了一个完善的职业体系,在 游戏 中玩家们可以接触到16种职业与天赋,这些职业之间有紧密的联系,比如玩家能够用驯兽术驯服生物,这些生物能够帮助农夫耕地,农夫种植出来的菜可以被厨师烹饪出美味的佳肴,而这些佳肴则能大幅提升海盗们的这样的战斗力,毫无疑问,当玩家把《ATLAS》的职业融会贯通之后,玩家们获得海战的概率会巨额提升。
《巫师3》
截止到今日,《巫师3》已经上线了有6年时间了,可是它的热度到今天为止却并没有下降,原因在于这款 游戏 的剧情设计的很精美, 游戏 中每一个角色都设计的十分真实,在打完这款 游戏 之后,不少玩家都会主动的去寻找关于《巫师3》的背景故事来看,这足以说明《巫师3》的世界多么的有吸引力。
《GTA5》
《GTA5》是Steam上的一款有名的开放世界 游戏 ,在这款 游戏 里,玩家们能够进入到一个真实无比的城市,享受自由自在的生活。 游戏 准备了很多职业给玩家,在这里玩家能成为警察、消防员、出租车司机,享受不一样的 游戏 人生。
今天10款开放世界 游戏 就先说到这里,剩下的 游戏 ,以后再向各位玩家慢慢介绍。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)