CN101930362A - 一种ttcn语言与数据描述语言的集成方法 - Google Patents
一种ttcn语言与数据描述语言的集成方法 Download PDFInfo
- Publication number
- CN101930362A CN101930362A CN2010102470535A CN201010247053A CN101930362A CN 101930362 A CN101930362 A CN 101930362A CN 2010102470535 A CN2010102470535 A CN 2010102470535A CN 201010247053 A CN201010247053 A CN 201010247053A CN 101930362 A CN101930362 A CN 101930362A
- Authority
- CN
- China
- Prior art keywords
- file
- ttcn
- language
- ddl
- description language
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 10
- 238000013459 approach Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 abstract 1
- 238000013519 translation Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种TTCN语言与数据描述语言的集成方法,属于软件工程领域。本发明的方法为:1)待集成数据描述语言文件的翻译与序列化;2)采用所选中间语言对TTCN语言文件进行翻译,得到TTCN语言文件的中间代码文件;3)将该数据描述语言文件的数据定义信息向TTCN运行环境注册;4)执行TTCN语言文件的中间代码文件,采用注册的编解码接口,对接收的码流解码为抽象数据值,或对抽象数据进行编码后发送。本方法提供了TTCN与多种数据表示语言的通用描述集成,可以应用于多个领域中单个或多个设备测试和验证、测试环境仿真和验证等。
Description
技术领域
本发明涉及成熟的测试脚本语言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的集成方法,其特征在于:
(1)ASN.1的翻译与序列化;
(2)TTCN的翻译与引用反序列化ASN.1;
(3)ASN.1定义向TTCN运行环境注册;
(4)TTCN脚本中间代码执行。
在步骤(1)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中定义的值,则记录其引用信息;
(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,每一步骤的详细描述如下:
(1)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与多种数据描述语言的集成方法进行了详细的说明,但显然仍然可以做出各种修改和变换而不背离本发明的精神和范围,因此,说明书应被认为是说明性的而非限制性的,其中的各个接口的解释是示意性的,完成类似功能的接口仍然属于本方法的精神和权力要求范围。对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。
Claims (10)
1.一种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相应中间代码中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010247053 CN101930362B (zh) | 2010-08-06 | 2010-08-06 | 一种ttcn语言与数据描述语言的集成方法 |
PCT/CN2011/071888 WO2012016443A1 (zh) | 2010-08-06 | 2011-03-17 | 一种ttcn语言与数据描述语言的集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010247053 CN101930362B (zh) | 2010-08-06 | 2010-08-06 | 一种ttcn语言与数据描述语言的集成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101930362A true CN101930362A (zh) | 2010-12-29 |
CN101930362B CN101930362B (zh) | 2013-04-24 |
Family
ID=43369559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010247053 Expired - Fee Related CN101930362B (zh) | 2010-08-06 | 2010-08-06 | 一种ttcn语言与数据描述语言的集成方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101930362B (zh) |
WO (1) | WO2012016443A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012016443A1 (zh) * | 2010-08-06 | 2012-02-09 | 中国科学院软件研究所 | 一种ttcn语言与数据描述语言的集成方法 |
CN108701257A (zh) * | 2016-08-22 | 2018-10-23 | 甲骨文国际公司 | 用于实时可视模拟内的动态、增量推荐的系统和方法 |
CN111669375A (zh) * | 2020-05-26 | 2020-09-15 | 武汉大学 | 一种电力工控终端在线安全态势评估方法及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103781086B (zh) * | 2013-12-11 | 2017-05-03 | 国家无线电监测中心检测中心 | 基于ttcn‑3对tetra终端进行测试的方法和装置 |
US10725750B2 (en) | 2016-12-01 | 2020-07-28 | Red Hat, Inc. | Compiler integrated intelligent deserialization framework |
CN114327492A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 一种代码翻译方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1417678A (zh) * | 2001-11-07 | 2003-05-14 | 华为技术有限公司 | Ttcn测试用例执行方法 |
CN101408849A (zh) * | 2008-12-01 | 2009-04-15 | 中国科学技术大学 | Ttcn-3语言的编译执行方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930362B (zh) * | 2010-08-06 | 2013-04-24 | 中国科学院软件研究所 | 一种ttcn语言与数据描述语言的集成方法 |
-
2010
- 2010-08-06 CN CN 201010247053 patent/CN101930362B/zh not_active Expired - Fee Related
-
2011
- 2011-03-17 WO PCT/CN2011/071888 patent/WO2012016443A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1417678A (zh) * | 2001-11-07 | 2003-05-14 | 华为技术有限公司 | Ttcn测试用例执行方法 |
CN101408849A (zh) * | 2008-12-01 | 2009-04-15 | 中国科学技术大学 | Ttcn-3语言的编译执行方法及系统 |
Non-Patent Citations (1)
Title |
---|
应群等: "一种面向TTCN-3测试系统的共享内存管理框架", 《计算机应用研究》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012016443A1 (zh) * | 2010-08-06 | 2012-02-09 | 中国科学院软件研究所 | 一种ttcn语言与数据描述语言的集成方法 |
CN108701257A (zh) * | 2016-08-22 | 2018-10-23 | 甲骨文国际公司 | 用于实时可视模拟内的动态、增量推荐的系统和方法 |
US11347482B2 (en) | 2016-08-22 | 2022-05-31 | Oracle International Corporation | System and method for dynamic lineage tracking, reconstruction, and lifecycle management |
US11526338B2 (en) | 2016-08-22 | 2022-12-13 | Oracle International Corporation | System and method for inferencing of data transformations through pattern decomposition |
US11537369B2 (en) | 2016-08-22 | 2022-12-27 | Oracle International Corporation | System and method for dynamic, incremental recommendations within real-time visual simulation |
US11537371B2 (en) | 2016-08-22 | 2022-12-27 | Oracle International Corporation | System and method for metadata-driven external interface generation of application programming interfaces |
CN111669375A (zh) * | 2020-05-26 | 2020-09-15 | 武汉大学 | 一种电力工控终端在线安全态势评估方法及系统 |
CN111669375B (zh) * | 2020-05-26 | 2021-03-16 | 武汉大学 | 一种电力工控终端在线安全态势评估方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2012016443A1 (zh) | 2012-02-09 |
CN101930362B (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930362B (zh) | 一种ttcn语言与数据描述语言的集成方法 | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
CN102647414B (zh) | 协议解析方法、设备及系统 | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN108875757B (zh) | 一种信息审核方法、服务器及系统 | |
CN110287247A (zh) | 基于银联系统的数据存储方法、装置、设备及存储介质 | |
CN103902269B (zh) | 一种通过xml文件生成mib文件的系统及方法 | |
CN109241330A (zh) | 用于识别音频中的关键短语的方法、装置、设备和介质 | |
CN103150200A (zh) | 一种计算机语言转换系统及c语言到msvl语言的转换方法 | |
CN105512182A (zh) | 语音控制方法及智能电视 | |
CN111563075B (zh) | 一种业务校验系统、方法及设备和存储介质 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN108494613B (zh) | 一种警用数字集群系统间互联互通的测试系统和方法 | |
CN103036641A (zh) | 数据交换方法、系统及反序列化方法 | |
CN108388606A (zh) | 一种校验Sql语句中库表字段名的方法以及计算机设备 | |
CN104360988A (zh) | 中文字符的编码方式的识别方法和装置 | |
CN100403039C (zh) | 对电路原理图进行审查的方法 | |
CN106095772A (zh) | 一种http协议信息提取的方法和装置 | |
CN109063006A (zh) | 一种Excel实现整车软件配置编码计算及解析的方法 | |
CN101304565B (zh) | 移动终端识别方法和单元以及增值服务提供方法和系统 | |
CN116996601A (zh) | 报文格式的转换方法、装置、电子设备及存储介质 | |
CN101908985A (zh) | 一种报文校验的方法及装置 | |
CN107506339B (zh) | 一种基于字符偏移的scd节点校验出错定位方法及装置 | |
CN102521291B (zh) | 一种基于antlr的lin网络描述文件ldf的导入方法 | |
KR20080051080A (ko) | Xml 공통 형식을 이용한 이기종 센서 데이터 스트림처리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 |