论文部分内容阅读
本论文的研究背景是:①IPv6协议集的测试,特别是对IPv6路由器设备的测试技术已经成为从现有Internet向基于IPv6的NGI(Next Generation Internet)过渡的关键技术之一;②现代路由器以多端口和高速化为特征,对路由器产品的符合协议标准的测试、性能测试难度增加。为了能够模拟路由器的真实工作环境,对路由器的功能与性能指标进行全面的测试,四川省网络通信重点实验室开展了对多端口路由器并发测试技术的研究和测试系统的开发工作。本论文反映的工作是该项目的子系统“双端口测试系统”(TPT—Two Port Tester)中的“测试支撑工具研究”,即如何将用TTCN-3语言描述的测试控制数据转变为测试系统中的可执行测试数据。 传统上这一转换过程可以采用两种方式:解释与编译。目前已有的测试系统中采用解释方式的较多,即“边解释边执行”的测试方法。笔者及其同事在分析了现代高速路由器的测试需要的基础上,在存储空间的占用量和可执行代码修改的方便性,与测试实时性要求的矛盾中,选择了“缩短联机处理时间”优先的策略,采用对TTCN-3描述的测试控制数据进行编译的技术路线。 TTCN-3的编译过程与传统的编译过程类似,包括词法分析、语法分析、语义分析和代码生成4个阶段。为了与测试系统中其它部件整合,编译器采用两步编译的方式,第一步将TTCN-3语言转换成C语言代码,第二步将C代码与测试系统的其它组成部分联合编译,最终生成可执行代码。由于最终的可执行代码将由C编译器完成,因此在TTCN-3/C的编译过程中没有考虑代码生成的优化问题。编译器采用两遍扫描,第一遍扫描读入TTCN-3源程序,并对其进行词法分析、语法分析和语义分析。第二遍遍历第一遍输出的语法树,结合符号表来生成目标C代码。 笔者的工作涉及词法、语法和语义分析,但研究重点在于代码生成部分的设计与实现。由于TTCN-3编译器是双端口测试系统的支撑工具,因此与测试系统相关。编译后的C代码将与单测试例遍历软件(Traverser)和编解码器(E/D-Encoder/Decoder)联合进行C编译,最终形成可执行的单测试例测试代码,因此TTCN-3/C编译器还需要充分考虑与二者的结合问题。鉴于研究中的多端口并发测试必须依赖双端口测试器作为基本测试单元,使其能够集中于对多端口并发西南交通大学硕士研究生学位论文第日页测试的控制问题,而本文反映的工作主要是双端口测试系统支撑工具的研究与开发,也是下一阶段的多端口并发测试系统的基础。关键词:编译器;TTCN一3;语法分析;代码生成子