一种ttcn语言与数据描述语言的集成方法

文档序号:6607326阅读:233来源:国知局
专利名称:一种ttcn语言与数据描述语言的集成方法
技术领域
本发明涉及成熟的测试脚本语言TTCN与其它数据描述语言的集成技术,即允许 TTCN引用其它数据描述语言的数据类型和值定义,属于软件工程领域。
背景技术
TTCN作为一项成熟的测试脚本语言,其应用遍布嵌入式测试、协议栈测试、Web Service测试和电信测试等领域。TTCN已经被看作是实现高效、低成本评价测试的关键元 素。TTCN标准集,除了定义了 TTCN脚本语言规范外,还定义了脚本语言的运行环境和可视 化建模方法,使得TTCN工具更加简单易用。所以TTCN测试语言,正在世界各地迅速普及。同时在电信、互联网、嵌入式等领域,随着标准化进程的加快,各种传输数据的表 示、编码、传输、解码的数据描述语言标准应用而生。如ASN. 1被用来描述电信通信的协议 数据单元,在UMTS的接入和非接入层也有广泛的应用。由于ASN. 1和XML等数据描述语言能力非常强,并且已经成为工业标准,TTCN测 试语言应用在以上领域时,通常需要引用上述数据描述语言定义的类型和值,因此,需要集 成TTCN和数据描述语言。国内TTCN与多种数据语言的描述集成、研究和应用都还处于起 步阶段。只有个别研究,通过扩展TTCN数据表示能力,针对特定数据描述标准集成。但如 此,使得扩展后的TTCN通用性降低,复杂度提高。

发明内容
针对现有技术上的缺陷,本发明目的是提出一种TTCN与多种数据描述语言的通 用描述集成方法。该方法回避了针对不同数据描述语言,对TTCN测试语言需要进行扩充的 要求,使TTCN和数据描述语言翻译后的中间代码保持相互独立。该方法不需要针对具体应 用扩展TTCN的类型表示和定义的语义,只需要将数据描述语言的定义序列化,并以此序列 化文件作为TTCN和数据描述语言联系的纽带,即可完成TTCN与数据描述语言的集成。为完成上述发明目的,本发明采用下述的技术方案,数据描述语言以ASN. 1为例, 其它数据描述语言与ASN. 1类似。一种TTCN与ASN. 1的集成方法,其特征在于(l)ASN. 1的翻译与序列化;(2) TTCN的翻译与引用反序列化ASN. 1 ;(3) ASN. 1定义向TTCN运行环境注册;(4) TTCN脚本中间代码执行。在步骤(l)ASN. 1的翻译与序列化中,其特征在于(11)针对ASN. 1文件构建其语法树;(12)把语法树数据定义信息,序列化存储到文件中;(13)根据语法树,翻译ASN. 1文件得到ASN. 1的中间代码。在步骤(2) TTCN的翻译与引用反序列化ASN. 1中,其特征在于
(21)针对TTCN文件构建其语法树;(22)分析语法树,假如在TTCN中引用ASN. 1类型定义,则反序列化(12)的数据文 件,根据TTCN中引用ASN. 1的类型与值的规则,将ASN. 1的相应类型序列信息转换成TTCN 中的语法树,并进行语法检查和语义检查;如果引用的是ASN. 1中定义的值,则记录其引用 fn息;(23)根据语法树,翻译TTCN文件到TTCN的中间代码。在步骤(3)ASN. 1定义向TTCN运行环境注册中,满足以下三点(31)当ASN. 1文件被引用时,对应的ASN. 1值定义相关的设置值函数、获取值函数 和类型的编解码函数分别在TTCN运行环境注册;(32)注册在TTCN运行环境后,在TTCN中引用的ASN. 1值可以通过注册环境查询 其对应的ASN. 1中对应中间代码获取值函数得到其翻译值;(33)运行时TTCN环境需要满足TRI、TCI相关标准定义,把编解码信息和传输信 息等传递给对应模块;步骤(4) TTCN脚本中间代码执行时,其特征在于发送抽象数据或接收码流时(发送或接收的值都由ASN. 1类型定义,TTCN无编 解码规则),采用注册的编解码接口对抽象数据进行编码,或对接收的码流解码为抽象数据值。在(13)翻译ASN. 1文件为中间代码时,其特征在于(131)中间代码对每种类型的类型信息如类型标识、类型约束、类型标签(TAG)等 完全保存;(132)中间代码对每种值保存时对值类型标识和抽象值信息完全保存;(133)对于每种类型,都分别生成编码接口和解码接口 ;在(31)对应的ASN. 1定义和操作函数在TTCN运行环境注册时,其特征在于(311)当ASN. 1类型被引用时,其对应的类型信息会在TTCN中生成相应的语法树 结点,将其对应的编解码接口注册在与此结点对应的TTCN中间代码中;(312)当引用ASN. 1值时,将此值所对应的类型编解码接口注册在TTCN相应中间 代码中;(313)TTCN运行环境可以同时接受多个用数据描述语言描述的数据文件的注册。与现有技术相比,本发明的积极效果为本方法针对TTCN与多种数据表示语言的通用描述集成,可以应用于如下领域的 单个或多个设备测试和验证、测试环境仿真和验证等>嵌入式测试;>协议栈测试;>电信测试;> Web Service 测试;>汽车电子测试。


图1是TTCN与ASN. 1集成方法流程示意图2是ASN. 1运行时环境注册流程示意图;图3是TTCN运行时引用ASN. 1数据流程示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明作更进一步的说明为了更清楚地理解本发明,特此将本方案的具体实施过程描述如下(数据描述语 言以ASN. 1为例)如图1所示,TTCN与多种数据描述语言的集成方法包括数据描述语言描述的数 据文件翻译与序列化、TTCN脚本翻译与引用反序列化后的数据描述文件、数据描述语言定 义和操作函数注册、TTCN引用数据语言描述数据四个步骤。以下描述中,数据描述语言以 ASN. 1为例,但并不只限于ASN. 1,每一步骤的详细描述如下(l)ASN. 1翻译与序列化,需要经过以下三个步骤(11)针对ASN. 1文件构建其语法树。用数据描述语言如ASN. 1描述的数据文件, 需要经过词法分析和语法分析,根据数据描述语言的词法语法规则,构建其数据文件的语 法树,以便语义提取和翻译。(12)根据(11)的语法树信息,提取所有的语义信息,例如类型定义、变量定义、传 输方式等,按照某种格式规范如XML等,把这些语义信息存储到指定文件中。(13)根据(12)的语义信息,和预定义的语义动作,把ASN. 1描述的数据文件,翻译 为中间语言描述的中间代码。中间代码需要满足的特征在于(131)中间代码对ASN. 1文件中定义的每种类型的类型信息如类型标识、类型约 束、类型标签(TAG)等完全保存;(132)中间代码对ASN. 1文件中定义的每种值保存时对值类型标识和抽象值信息 完全保存;(133)对于每种类型,都分别生成编码接口和解码接口 ;在步骤(2) TTCN的翻译与引用反序列化ASN. 1中,其特征在于(21)针对TTCN文件构建其语法树。假如在TTCN中引用ASN. 1类型定义,则反序 列化(12)的数据文件,根据TTCN中引用ASN. 1的类型与值的规则,将ASN. 1的相应类型序 列信息转换成TTCN中的语法树,并进行语法检查和语义检查;如果引用的是ASN. 1中定义 的值,则记录其引用信息;(22)根据(21)的生成,和预定义的语义动作,把TTCN文件,翻译为中间语言描述 的中间代码。(3) ASN. 1定义向TTCN运行环境注册,主要特征如下(31)当ASN. 1文件被TTCN引用时,ASN. 1在TTCN文件中被引用的定义,对其引用 的类型的编解码接口在TTCN运行环境注册。注册要满足以下基本约束(311)当引用ASN. 1类型时,其对应的类型信息会在TTCN中生成相应的语法树结 点,将其对应的编解码接口注册在与此结点对应的TTCN中间代码中;(312)当引用ASN. 1值时,将此值所对应的类型编解码接口注册在TTCN相应中间 代码中;(313)TTCN运行环境可以同时接受,同构或者异构的多个用数据描述语言描述的数据文件的注册。例如TTCN文件同时引用了 XML和ASN. 1描述的数据文件,则TTCN环境 必须可以同时接受两者数据定义注册,此为异构多数据文件注册;例如多个ASN. 1文件注 册在运行环境中,即是同构注册。(32)注册在TTCN运行环境后,被TTCN引用的ASN. 1类型和值,可以查询其对应的 编解码和传输函数。即在运行环境中,实现了数据基本定义,和其对应的操作函数的映射。(33)运行时环境需要满足TRI、TCI相关标准定义,把编解码信息和传输信息等传 递给对应模块。其中编解码信息传递到TCI定义的CD模块(编解码模块),传输信息传递 到TRI定义的SA模块(系统适配器模块)上面对本发明所述的一种TTCN与多种数据描述语言的集成方法进行了详细的说 明,但显然仍然可以做出各种修改和变换而不背离本发明的精神和范围,因此,说明书应被 认为是说明性的而非限制性的,其中的各个接口的解释是示意性的,完成类似功能的接口 仍然属于本方法的精神和权力要求范围。对于本技术领域的一般技术人员来说,在不背离 本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本 发明的保护范围之内。
权利要求
一种TTCN语言与数据描述语言的集成方法,其步骤为1)构建待集成数据描述语言文件的语法树;2)将该数据描述语言文件语法树的数据定义信息序列化存储到一指定文件,并采用一中间语言对该数据描述语言文件进行翻译,得到该数据描述语言文件的中间代码文件;3)构建TTCN语言文件的语法树;4)根据TTCN语言文件的语法树,采用所选中间语言对TTCN语言文件进行翻译,得到TTCN语言文件的中间代码文件;5)将该数据描述语言文件的数据定义信息向TTCN运行环境注册;6)执行TTCN语言文件的中间代码文件,采用注册的编解码接口,对接收的码流解码为抽象数据值,或对抽象数据进行编码后发送。
2.如权利要求1所述的方法,其特征在于进行序列化存储的方法为提取该数据描述 语言文件语法树中所有的语义信息,并按照设定格式将其存储到所述指定文件中。
3.如权利要求2所述的方法,其特征在于根据提取的语义信息和该数据描述语言文件 语法树中预定义的语义动作,对该数据描述语言文件进行翻译,得到该数据描述语言文件 的中间代码文件。
4.如权利要求1或3所述的方法,其特征在于所述中间代码保存的信息包括该数据 描述语言文件中每种类型的类型信息、每种值信息;对于每种类型,所述中间代码分别生成 一编码接口和一解码接口。
5.如权利要求4所述的方法,其特征在于所述类型信息包括类型标识、类型约束、类 型标签;所述值信息包括值类型标识及其抽象值信息。
6.如权利要求1所述的方法,其特征在于构建所述TTCN语言文件的语法树时,如果 TTCN语言文件中引用该数据描述语言文件的类型定义,则将相应类型的序列信息转换成 TTCN中的语法树;如果引用的是该数据描述语言文件中定义的值,则记录对应值的引用信 肩、ο
7.如权利要求6所述的方法,其特征在于将相应类型序列信息转换成TTCN中的语法树 的方法为首先反序列化所述指定文件,然后根据TTCN中引用该数据描述语言文件的类型 与值的规则,将该数据描述语言文件中相应类型序列信息转换成TTCN中的语法树,并对语 法树进行语法检查和语义检查。
8.如权利要求1所述的方法,其特征在于将该数据描述语言文件的数据定义信息向 TTCN运行环境注册的方法为1)将该数据描述语言文件中被引用的值定义和类型的编解码函数分别在TTCN运行环 境注册;2)TTCN运行环境将编解码信息传递到TCI定义的编解码模块,将传输信息传递到TRI 定义的系统适配器模块。
9.如权利要求8所述的方法,其特征在于当该数据描述语言文件中的类型被引用时, 将其对应的类型信息在TTCN中生成相应的语法树结点,然后将其对应的编解码接口注册 在与此语法树结点对应的TTCN中间代码中。
10.如权利要求8所述的方法,其特征在于当该数据描述语言文件中的值被引用时,将 其对应的类型编解码接口注册在TTCN相应中间代码中。
全文摘要
本发明公开了一种TTCN语言与数据描述语言的集成方法,属于软件工程领域。本发明的方法为1)待集成数据描述语言文件的翻译与序列化;2)采用所选中间语言对TTCN语言文件进行翻译,得到TTCN语言文件的中间代码文件;3)将该数据描述语言文件的数据定义信息向TTCN运行环境注册;4)执行TTCN语言文件的中间代码文件,采用注册的编解码接口,对接收的码流解码为抽象数据值,或对抽象数据进行编码后发送。本方法提供了TTCN与多种数据表示语言的通用描述集成,可以应用于多个领域中单个或多个设备测试和验证、测试环境仿真和验证等。
文档编号G06F9/44GK101930362SQ20101024705
公开日2010年12月29日 申请日期2010年8月6日 优先权日2010年8月6日
发明者侯玮玮, 薛云志, 赵琛, 郭亮 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1