CN101408849A - Ttcn-3语言的编译执行方法及系统 - Google Patents

Ttcn-3语言的编译执行方法及系统 Download PDF

Info

Publication number
CN101408849A
CN101408849A CNA2008102279108A CN200810227910A CN101408849A CN 101408849 A CN101408849 A CN 101408849A CN A2008102279108 A CNA2008102279108 A CN A2008102279108A CN 200810227910 A CN200810227910 A CN 200810227910A CN 101408849 A CN101408849 A CN 101408849A
Authority
CN
China
Prior art keywords
ttcn
module
translation
script
execution
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.)
Pending
Application number
CNA2008102279108A
Other languages
English (en)
Inventor
蒋凡
邢学智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CNA2008102279108A priority Critical patent/CN101408849A/zh
Publication of CN101408849A publication Critical patent/CN101408849A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种TTCN-3脚本的编译执行方法及系统,首先编译器对输入的TTCN-3脚本文件,进行词法语法分析,进行静态语义检查,得到保存脚本信息的内存对象;然后提供两种不同的执行方式:翻译执行和解释执行,在翻译执行的方式下,先利用编译器给出的语法树把TTCN-3格式的文件翻译成C++中间语言,再进一步利用中间语言的编译器,编译成可执行文件,最后在操作系统上运行;在解释执行的方式下,直接在语法树上完成执行语义。这样可以在TTCN-3脚本调试期,提高脚本的生成速度,提高脚本调试效率;在测试实施阶段,免去TTCN-3脚本编译生成的时间,提高TTCN-3执行性能,提高测试效率。

Description

TTCN-3语言的编译执行方法及系统
技术领域
本发明涉及一种高级语言的编译执行技术,尤其涉及一种TTCN-3语言的编译执行方法及系统。
背景技术
TTCN-3是新一代的标准测试语言,相对与TTCN之前版本的树表描述方式,有了可读性更强,更容易维护的高级语言文本格式。TTCN-3已经广泛的应用于协议测试等工业领域。
目前商用的TTCN-3编译执行工具主要可分为两类:基于翻译执行的工具和基于解释执行的工具。基于翻译执行的工具,大多把TTCN-3语言翻译成C、C++或者Java的中间表示,在借助中间表示语言的编译执行环境,来完成执行任务;基于解释执行的工具,通常在编译器产生的内存对象上,完成执行任务。
上述现有技术至少存在以下缺点:
翻译执行方法的编译生成性能较低;解释执行方法的执行效率会受比较大的影响,且不利于调试器的实现。
发明内容
本发明的目的是提供一种编译生成性能较高、且执行效率高、易于实现的TTCN-3语言的编译执行方法及系统。
本发明的目的是通过以下技术方案实现的:
本发明的TTCN-3语言编译执行方法,包括翻译执行和解释执行,具体包括步骤:
对输入的TTCN-3脚本信息,首先进行编译处理,将所述TTCN-3脚本信息存储到内存对象上;
然后,通过所述翻译执行,先利用所述内存对象将所述TTCN-3脚本翻译成中间表示,并生成可执行文件,再完成执行任务;或者,通过所述解释执行,在所述内存对象上直接进行解释执行。
本发明的TTCN-3语言编译执行系统,包括编译器、执行装置;
所述编译器用于对输入的TTCN-3脚本信息进行编译处理,并将所述TTCN-3脚本信息存储到内存对象上;
所述执行装置包括翻译执行装置、解释执行装置;
所述翻译执行装置用于利用所述内存对象将所述TTCN-3脚本翻译成中间表示,并生成可执行文件,进而完成执行任务;
所述解释执行装置用于在所述内存对象上直接进行解释执行。
由上述本发明提供的技术方案可以看出,本发明所述的TTCN-3语言的编译执行方法及系统,由于包括翻译执行和解释执行,在TTCN-3脚本调试阶段,可以采用解释执行的方法,利用解释执行方法编译效率高、便于调试的优点,有效提高TTCN-3脚本调试的效率;在实际利用TTCN-3脚本进行测试的过程中,可以采用翻译执行的方法,利用翻译执行方法的执行效率高、资源需求低的特点,一次生成多次执行,提高执行效率。
附图说明
图1为本发明中TTCN-3语言的编译执行系统的原理框图。
具体实施方式
本发明的TTCN-3语言的编译执行方法,其较佳的具体实施方式是,包括翻译执行和解释执行,具体包括步骤:
对输入的TTCN-3脚本信息,首先进行编译处理,将TTCN-3脚本信息存储到内存对象上,内存对象也就是语法树;
然后,可以通过翻译执行,先利用内存对象将TTCN-3脚本翻译成中间表示,并生成可执行文件,再完成执行任务;或者,也可以通过解释执行,在内存对象上直接进行解释执行。
上述的编译处理可以包括两遍扫描,其中:
第一遍扫描可以包括:扫描TTCN-3脚本,并进行语法分析、建立所述语法树,处理模块间的导入导出、处理引用等,也可以包括其它的处理;
第二遍扫描包括:扫描所述语法树,并进行静态语义检查等,也可以包括其它的处理。
在上述的翻译执行中,可以将经过静态语义检查后的语法树翻译成C++中间表示,并生成可执行文件。也可以翻译成其它的中间表示,再生成可执行文件。对所述可执行文件的执行过程可以包括:
将多个测试组件组成测试组件队列,并根据所述测试组件的状态决定该测试组件是否被调度执行,所述测试组件的状态包括可执行状态、非可执行状态;当所述测试组件处于可执行状态时,按照所述测试组件队列被调度执行。也可以采用其它的执行方式。
具体应用时,可以在所述TTCN-3脚本调试阶段,采用解释执行;在利用TTCN-3脚本进行测试的过程中,采用所述翻译。
本发明的TTCN-3语言编译执行系统,其较佳的具体实施方式如图1所示,包括编译器、执行装置;执行装置可以包括翻译执行装置、解释执行装置;其中:
编译器用于对输入的TTCN-3脚本信息进行编译处理,并将TTCN-3脚本信息存储到内存对象上;
翻译执行装置用于利用内存对象将TTCN-3脚本翻译成中间表示,并生成可执行文件,进而完成执行任务;
解释执行装置用于在内存对象上直接进行解释执行,如解释执行器等。
编译器可以包括以下一个或多个模块:通用元素模块、符号表模块、类型模块、声明模块、表达式和语句模块等。还可以包括其它的模块。
翻译执行装置可以包括翻译器、翻译执行器,其中,翻译器可以包括以下一个或多个模块:通用翻译模块、控制翻译模块、表达式翻译模块、自定义类型翻译模块、常量与值翻译模块、模板翻译模块、函数和外部函数翻译模块、测试例和可选步翻译模块、变量与定时器翻译模块、组件端口定时器翻译模块、行为语句和基本语句翻译模块、基于实体引用翻译模块等。还可以包括其它的模块。
翻译执行器可以包括以下至少一个模块:测试环境模块、类型值模板模块、组件端口定时器模块、翻译支持模块、行为管理模块、日志及错误处理模块等。还可以包括其它的模块。
本发明综合翻译执行和解释执行的TTCN-3语言编译执行方法。能提高TTCN-3测试脚本调试期的脚本生成速度,又能提高测试实施期的TTCN-3脚本执行速度。
本发明中,首先编译器对输入的TTCN-3脚本文件,进行词法语法分析,进行静态语义检查,得到保存脚本信息的内存对象,也可以称之为语法树。然后可以选择不同的执行方式,一方面,在翻译执行的方式下,先利用编译器给出的语法树把TTCN-3格式的文件翻译成C++中间语言,再进一步利用中间语言的编译器,编译成可执行文件,最后在操作系统上运行;另一方面,在解释执行的方式下,直接在语法树上完成执行语义。
采用本发明,可以在TTCN-3脚本调试期,极大的提高脚本的生成速度,提高脚本调试效率;在测试实施阶段,免去TTCN-3脚本编译生成的时间,极大的提高TTCN-3执行性能,提高测试效率。
具体实施例:
如图1所示,在同一个编译器前端,分别构造基于解释和基于翻译的执行器。下面对本发明中的各模块进行详细的说明:
编译器:
通过常用的词法分析语法分析自动生成工具,如ANTLR,建立TTCN-3语言的编译器。TTCN-3语言支持前向引用,支持从其他模块导入定义(import),这两点规定导致编译器在扫描过程中,可能遇到未知定义体(定义体出现在扫描点之后或其他模块),为了让分析过程继续下去,对于这种情况,必须先假设这个未知定义体的引用在语义上是正确无误的,同时生成一个引用体对象,记录未知定义体的名称、类型、模块等信息,并把引用体对象加到语法树相应结点上。在所有的模块都扫描完成,建立起完整的语法树之后,才有了所有定义体的完整信息,并可以处理模块间定义体的导入导出,如果import的处理也没有问题,此时才有足够的信息处理引用体对象,把对未知定义体的引用解析到一个个实际的定义体。在解析完所有的引用之后,才可以判断在特定的上下文环境中这些引用在语法和语义上是不是正确的。
因此本发明的编译器不像大多数编译器那样一遍扫描,同时完成语法分析和大部分静态语义检查。本发明采用两遍扫描:第一遍扫描TTCN-3脚本,语法分析,建立语法树,处理模块间的导入导出,并处理所有的引用;第二遍扫描语法树,静态语义检查。其中语法树用来保存TTCN-3脚本的信息,主要由以下几个模块组成:
通用元素模块:提供值、常数、类型限制,with属性等等通用结构,这些通用结构贯穿于其他模块,包括类型模块和声明模块以及表达式和语句模块,例如常数可能出现于类型定义、赋值、参数定义、模板定义;值可能出现于赋值、类型定义、模板定义;类型限制可能出现于定义子类型、模板定义;with属性可能出现于类型定义、组定义、结构体成员。主要有以下类:
COB语法树中所有定义体的基类,记录定义体的类型、编码、文件名、行号、静态语义检查结果、是否使用、是否常数,是否带有副作用等信息;
CLength表示TTCN3语言中的length(串长度限制);
CNamedValue表示结构类型中的显式赋值;
CPattern表示TTCN3语言中的pattern(匹配字符模式);
CRange表示一个范围;
CWtih表示TTCN3语言中的with属性;
CConst及子类记录模块中出现的常数(整数、浮点数、布尔常数、BitString常数、CharString常数、HexString常数、OctetString常数、verdict常数以及一些特殊的常数例如-(dash)、omit、infinity、-infinity、NULL、常数列表CValueList)。
符号表模块:管理各种定义体名称,主要包括添加、查找和匹配各种符号,在类型和声明模块中出现的定义体名称被添加到符号表中,当表达式和语句引用这些定义体时,符号表负责查找。主要有以下类:
CIdentifier标志符类,记录标志符及对应的定义体;
CIdPool标志符池类,记录定义体的标志符;
CRef引用体类,记录引用的类型,引用对象的名字和引用对象的模块名;
CSymbolTable符号表类,管理所有的identifier和ref;
CLevelChain层次链表类,记录当前层次的定义,和当前层次的直接子块信息;
CBlock块结构类,表示一个块结构,记录块中的局部定义和子块信息;
CTTCNModule TTCN3模块类,实现一个TTCN3 module定义;
CImport模块Import类,记录语法分析阶段的import定义(目标模块及从目标模块引入的具体定义体列表);
CImportItem记录具体的引入体条目;
CItemList记录欲引入或欲排除的某类定义体列表;
Call记录某类欲引入或欲排除的某类全部定义体;
CGroupItem记录欲引入的组定义体;
CGroup只在处理import时需要,并不影响层次结构。
类型模块:处理TTCN-3的类型机制,包括所有的简单类型、用户自定义类型(结构类型和子类型)以及特殊的配置类型(component类型、port类型、address类型),主要的类有:CDeclType用户自定义类型,CSimpleType简单类型,CStructType结构类型,CStructOfType集合类型,CAddress地址类型,CComponentType组件类型,CPortType端口类型,CAnyType任意类型等。
声明模块:处理TTCN-3所有的声明和定义,包括参数声明、变量声明、常量声明、模板声明、定时器声明、成员声明、Label声明、函数声明、可选步声明、测试例声明、数组声明和组声明。主要有以下类:
CDecl所有声明的基类,记录声明的标志符、ID、上下文环境、with属性等共有属性;
CAltStepDecl表示可选步声明,包含可选步参数、runson、语句块等信息;
CArrayDecl表示数组声明,包含下标说明信息;
CFieldDecl表示结构体成员声明,包含是否为optional等信息;
CArrayFieldDecl表示结构体成员数组声明,包含下标说明等信息;
CConstDecl表示常量声明,包含初值和是否为外部变量等信息;
CFunctionDecl表示函数声明,包含参数、返回类型、语句块、runson,以及是否为外部函数等信息;
CGroupDecl表示组声明,包含组内包含的定义体,组名等信息;
CLabelDecl表示Label声明;
CParmDecl表示参数声明,包含传递方向、传递方式、初值等信息;
CTemplateDecl表示模板声明,包含模板参数、值匹配说明、modify说明等信息;
CTestCaseDecl表示测试例声明,包含参数、语句块、主component、system接口说明等信息;
CTimerDecl表示定时器声明,包含定时器持续时间说明等信息;
CVarDecl表示变量声明,包含变量初值、是否为模板变量等信息。
表达式和语句模块:处理TTCN-3中各种表达式、基本语句、行为语句和各种操作。主要的类有:CCommunicationOp通讯操作等。
翻译执行中的翻译器:
在翻译执行的模式下,首先构造翻译器,翻译器接收经过静态检查后的语法树作为输入,输出对应的C++中间表示。C++中间表示保存TTCN-3脚本的执行相关的信息。执行器接收C++中间表示,完成具体的执行语义。C++执行器表现为动态库,它和C++中间表示通过C++编译器,联合编译,生成可执行文件。C++中间表示通过接口调用把执行信息传递给执行器。翻译器由一系列的翻译部件组成。主要分为以下几个模块:
通用子模块:该子模块中定义的类是以下子模块中类的基类,主要提供了通用符号的翻译,比如:逗号,分号等。主要有两个类:CGenerator为虚基类,为翻译器的实现提供接口支持;CCppGenerator则为翻译器的实现提供基类的缺省实现。
模块及模块控制翻译子模块:该子模块完成TTCN-3中的模块及TTCN-3中模块控制的翻译,包括:
CModuleGenerator:模块的翻译;
CModuleCtrlGenerator:模块控制部分的翻译;
COperatorExprGenerator:运算符表达式的翻译;
CSymbolGenerator:特定符号的翻译,包括逗号,分号,冒号,点等。
表达式翻译子模块:该子模块完成TTCN-3中所有运算符表达式的翻译;
自定义类型翻译子模块:该子模块完成TTCN-3中所有自定义类型的翻译;
常量与值翻译子模块:该子模块完成TTCN-3中所有的常量与值的翻译;
模板翻译子模块:该子模块完成TTCN-3中所有的模板的翻译;
函数,外部函数,测试例,可选步翻译子模块:该子模块完成TTCN-3中函数,外部函数,测试例,可选步的翻译;
变量与定时器声明翻译子模块:该子模块完成TTCN-3中所有的变量声明和TTCN-3中的定时器声明的翻译;
组件,端口,定时器操作翻译子模块:该子模块完成TTCN-3中所有操作的翻译,包括配置操作,端口操作和定时器操作;
行为语句与基本语句翻译子模块:该子模块完成TTCN-3中所有的语句的翻译,包括基本语句和行为语句的翻译;
实体引用翻译子模块:该子模块完成TTCN-3中所有的引用体的翻译。
翻译执行中的执行器:
翻译执行模式下的执行器,接收C++中间表示中的执行信息,完成具体的执行操作。它主要分为:测试对象配置,测试行为执行,测试报告三个部分。
测试对象配置是指测试环境的生成,包括执行机、模块、测试例等对象内存结构的生成和配置。一方面涉及到执行机如何管理系统适配器,平台适配器,编解码器,全局判决等测试环境的信息,另一方面还要负责组织模块和测试例的信息结构,以便于执行。所以这部分可以分为如上所述的两个部分。本发明称前者为环境配置部分,后者为测试例配置部分。
测试行为执行是指在测试环境的基础上,执行TTCN-3脚本定义的测试行为。主要包括模块控制部分的行为,测试例行为,函数行为和可选步行为等。而要执行测试行为,必须提供类型、值、模板、组件、端口和定时器的支持。
测试报告是指对测试行为执行结果的处理,主要包括:测试日志、Log语句日志和软件本身的调试日志,还包括错误报告及处理。
本发明将翻译执行模式下的执行器分为6个模块:测试环境模块,类型、值和模板模块,组件、端口和定时器模块,翻译支持模块,行为管理模块,日志及错误处理模块。各个模块的主要功能如下:
测试环境模块:测试环境模块主要负责和测试管理器的通信,用于测试环境和测试例的配置;主要的类有CTEImpl,保存测试环境,管理测试例配置;
类型、值和模板模块:提供基本的类型、值和模板支持;主要的类有:CData数据共有信息保存,CSimpleData简单类型数据,CStructedData结构化数据,CConstraint类型约束信息,CMatchSpec匹配机制信息等;
组件、端口和定时器模块:提供与运行有关的组件、端口和定时器管理;主要的数据有:CTimer计时器,计时器状态类型TIMER_STATE,CPort端口,端口状态类型PORT_STATE等;
翻译支持模块:从各个模块中抽取出来的模块,主要实现一些全局函数,为C++中间表示提供的接口;
行为管理模块:管理测试过程中的行为,包括模块控制部分、函数、可选步和测试例的执行;主要的类有:CPlatformThread线程控制接口,CBehavior行为对象等;
日志及错误处理模块:主要实现执行过程中的信息输出和错误定位,它贯穿于各个模块中。
解释执行中的执行器:
在解释执行的模式下,执行器的输入是优化后的语法树。执行器构造执行时必需的结构,来完成具体的执行语义。执行机负责调度测试组件,在单线程环境下模拟多测试组件的并发运行。执行机维护一个测试组件队列,其中存放当前所有的测试组件。测试组件的状态决定了测试组件是否会被执行机调度执行。测试组件的可能状态有:BLOCKED、ACTIVE、SNAPSHOT、REPEAT。只有当测试组件的状态不是BLOCKED时,测试组件才有可能被调度执行。每个测试组件都由自己的控制栈和值栈。控制栈用来存放可执行对象及其执行状态;值栈用来存放执行的中间结果。测试组件的运行机制如下:取出控制栈顶的可执行对象,执行这个可执行对象若干个“原子步”。考虑到多测试组件的并发运行,有些可执行对象,例如函数对象,不能一次执行完毕。如果函数对象中出现死循环,当试图一次执行完整个函数时,其他的测试组件就得不到调度执行了(因为函数中有死循环,函数调用无法返回)。测试组件的控制栈每变化一次就是一个“原子步”。也可以把控制栈的若干次变化作为一个“原子步”。
执行机用类CTtcnExecutor来实现。
CTtcnExecutor中有一个非常重要的函数:Schedule,包括:
接口:Schedule;
形式:int Schedule(int nStepLength);
输入:nStepLength执行步长,决定了每个测试组件执行的时间片;
输出:无;
返回:测试组件在执行过程中发生的一些“事件”(例如测试例终止、异常等);
描述:根据调度算法,从测试组件队列中选择一个可以执行的测试组件作为当前测试组件,然后让当前测试组件运行一个时间片。
测试组件用类CEntity实现。CEntiy中有一个重要的函数:Run,包括:
接口:Run;
形式:int Run(int nStepLength,CTtcnExecutor*pTtcnExecutor);
输入:nStepLength执行步长,决定了每个测试组件执行的时间片;pTtcnExecutor执行机对象;
输出:无;
返回:测试组件在执行过程中发生的一些“事件”(例如测试例终止、异常等);
描述:取出控制栈顶的可执行对象,并执行这个可执行对象若干个“原子步”。
类似翻译执行中的执行器,解释执行中的执行器也有如下三个部分:测试对象配置、测试行为执行、测试报告等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1、一种TTCN-3语言编译执行方法,其特征在于,包括翻译执行和解释执行,具体包括步骤:
对输入的TTCN-3脚本信息,首先进行编译处理,将所述TTCN-3脚本信息存储到内存对象上;
然后,通过所述翻译执行,先利用所述内存对象将所述TTCN-3脚本翻译成中间表示,并生成可执行文件,再完成执行任务;或者,通过所述解释执行,在所述内存对象上直接进行解释执行。
2、根据权利要求1所述的TTCN-3语言编译执行方法,其特征在于,所述内存对象为语法树,所述编译处理包括两遍扫描,其中:
第一遍扫描包括:扫描TTCN-3脚本,并进行语法分析、建立所述语法树,处理模块间的导入导出、处理引用;
第二遍扫描包括:扫描所述语法树,并进行静态语义检查。
3、根据权利要求2所述的TTCN-3语言编译执行方法,其特征在于,在所述翻译执行中,将经过静态语义检查后的语法树翻译成C++中间表示,并生成可执行文件。
4、根据权利要求3所述的TTCN-3语言编译执行方法,其特征在于,对所述可执行文件的执行过程包括:
将多个测试组件组成测试组件队列,并根据所述测试组件的状态决定该测试组件是否被调度执行,所述测试组件的状态包括可执行状态、非可执行状态;
当所述测试组件处于可执行状态时,按照所述测试组件队列被调度执行。
5、根据权利要求3所述的TTCN-3语言编译执行方法,其特征在于,包括:
在所述TTCN-3脚本调试阶段,采用所述解释执行;在利用所述TTCN-3脚本进行测试的过程中,采用所述翻译。
6、一种TTCN-3语言编译执行系统,其特征在于,包括编译器、执行装置;
所述编译器用于对输入的TTCN-3脚本信息进行编译处理,并将所述TTCN-3脚本信息存储到内存对象上;
所述执行装置包括翻译执行装置、解释执行装置;
所述翻译执行装置用于利用所述内存对象将所述TTCN-3脚本翻译成中间表示,并生成可执行文件,进而完成执行任务;
所述解释执行装置用于在所述内存对象上直接进行解释执行。
7、根据权利要求6所述的TTCN-3语言编译执行系统,其特征在于,所述编译器包括以 下至少一个模块:
通用元素模块、符号表模块、类型模块、声明模块、表达式和语句模块。
8、根据权利要求6所述的TTCN-3语言编译执行系统,其特征在于,所述翻译执行装置包括翻译器、翻译执行器。
9、根据权利要求8所述的TTCN-3语言编译执行系统,其特征在于,所述翻译器包括以下至少一个模块:
通用翻译模块、控制翻译模块、表达式翻译模块、自定义类型翻译模块、常量与值翻译模块、模板翻译模块、函数和外部函数翻译模块、测试例和可选步翻译模块、变量与定时器翻译模块、组件端口定时器翻译模块、行为语句和基本语句翻译模块、基于实体引用翻译模块。
10、根据权利要求8所述的TTCN-3语言编译执行系统,其特征在于,所述翻译执行器包括以下至少一个模块:
测试环境模块、类型值模板模块、组件端口定时器模块、翻译支持模块、行为管理模块、日志及错误处理模块。
CNA2008102279108A 2008-12-01 2008-12-01 Ttcn-3语言的编译执行方法及系统 Pending CN101408849A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008102279108A CN101408849A (zh) 2008-12-01 2008-12-01 Ttcn-3语言的编译执行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008102279108A CN101408849A (zh) 2008-12-01 2008-12-01 Ttcn-3语言的编译执行方法及系统

Publications (1)

Publication Number Publication Date
CN101408849A true CN101408849A (zh) 2009-04-15

Family

ID=40571870

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008102279108A Pending CN101408849A (zh) 2008-12-01 2008-12-01 Ttcn-3语言的编译执行方法及系统

Country Status (1)

Country Link
CN (1) CN101408849A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930362A (zh) * 2010-08-06 2010-12-29 中国科学院软件研究所 一种ttcn语言与数据描述语言的集成方法
CN102035896A (zh) * 2010-12-31 2011-04-27 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN102111160A (zh) * 2010-11-23 2011-06-29 中国科学技术大学 用于反应式系统测试的编解码系统及其编解码器
CN102222013A (zh) * 2010-04-17 2011-10-19 微软公司 用于改变回复力的中间语言支持
CN102426534A (zh) * 2011-11-02 2012-04-25 大唐移动通信设备有限公司 一种实现测试脚本语言转换成可执行指令的方法及系统
CN102521008A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 程序编译装置和程序编译方法
CN102929680A (zh) * 2012-10-19 2013-02-13 普华基础软件股份有限公司 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统
CN103377045A (zh) * 2012-04-27 2013-10-30 国际商业机器公司 用于翻译验证测试的方法和系统
CN103593277A (zh) * 2012-08-15 2014-02-19 深圳市世纪光速信息技术有限公司 日志处理方法及系统
CN103677952A (zh) * 2013-12-18 2014-03-26 华为技术有限公司 编解码器生成装置及方法
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程系统中编程及编译的设计方法
CN105045720A (zh) * 2015-08-25 2015-11-11 中国科学技术大学 基于ttcn-3测试框架的云管理平台通用测试系统
CN107579871A (zh) * 2017-07-24 2018-01-12 清华大学 基于模型检测的分布式测试脚本的生成方法与生成系统
CN111176657A (zh) * 2019-12-12 2020-05-19 上海微波技术研究所(中国电子科技集团公司第五十研究所) 基于ttcn-3测试平台的c语言编解码器实现方法和系统
CN112052006A (zh) * 2020-08-12 2020-12-08 武汉天喻信息产业股份有限公司 一种软件代码编译方法及系统

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222013A (zh) * 2010-04-17 2011-10-19 微软公司 用于改变回复力的中间语言支持
CN102222013B (zh) * 2010-04-17 2016-06-22 微软技术许可有限责任公司 用于改变回复力的中间语言支持
WO2012016443A1 (zh) * 2010-08-06 2012-02-09 中国科学院软件研究所 一种ttcn语言与数据描述语言的集成方法
CN101930362A (zh) * 2010-08-06 2010-12-29 中国科学院软件研究所 一种ttcn语言与数据描述语言的集成方法
CN101930362B (zh) * 2010-08-06 2013-04-24 中国科学院软件研究所 一种ttcn语言与数据描述语言的集成方法
CN102111160A (zh) * 2010-11-23 2011-06-29 中国科学技术大学 用于反应式系统测试的编解码系统及其编解码器
CN102035896A (zh) * 2010-12-31 2011-04-27 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN102035896B (zh) * 2010-12-31 2012-12-05 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN102426534B (zh) * 2011-11-02 2014-06-04 大唐联仪科技有限公司 一种实现测试脚本语言转换成可执行指令的方法及系统
CN102426534A (zh) * 2011-11-02 2012-04-25 大唐移动通信设备有限公司 一种实现测试脚本语言转换成可执行指令的方法及系统
CN102521008B (zh) * 2011-12-28 2014-12-10 用友软件股份有限公司 程序编译装置和程序编译方法
CN102521008A (zh) * 2011-12-28 2012-06-27 用友软件股份有限公司 程序编译装置和程序编译方法
US9417991B2 (en) 2012-04-27 2016-08-16 International Business Machines Corporation Translation verification testing
CN103377045A (zh) * 2012-04-27 2013-10-30 国际商业机器公司 用于翻译验证测试的方法和系统
CN103377045B (zh) * 2012-04-27 2016-12-14 国际商业机器公司 用于翻译验证测试的方法和系统
CN103593277A (zh) * 2012-08-15 2014-02-19 深圳市世纪光速信息技术有限公司 日志处理方法及系统
CN102929680A (zh) * 2012-10-19 2013-02-13 普华基础软件股份有限公司 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统
CN102929680B (zh) * 2012-10-19 2016-03-02 普华基础软件股份有限公司 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统
CN103677952A (zh) * 2013-12-18 2014-03-26 华为技术有限公司 编解码器生成装置及方法
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程系统中编程及编译的设计方法
CN104503754B (zh) * 2014-12-16 2018-05-11 江南大学 一种机器人图形化编程系统中编程及编译的设计方法
CN105045720A (zh) * 2015-08-25 2015-11-11 中国科学技术大学 基于ttcn-3测试框架的云管理平台通用测试系统
CN107579871A (zh) * 2017-07-24 2018-01-12 清华大学 基于模型检测的分布式测试脚本的生成方法与生成系统
CN107579871B (zh) * 2017-07-24 2020-05-01 清华大学 基于模型检测的分布式测试脚本的生成方法与生成系统
CN111176657A (zh) * 2019-12-12 2020-05-19 上海微波技术研究所(中国电子科技集团公司第五十研究所) 基于ttcn-3测试平台的c语言编解码器实现方法和系统
CN111176657B (zh) * 2019-12-12 2023-04-28 上海微波技术研究所(中国电子科技集团公司第五十研究所) 基于ttcn-3测试平台的c语言编解码器实现方法和系统
CN112052006A (zh) * 2020-08-12 2020-12-08 武汉天喻信息产业股份有限公司 一种软件代码编译方法及系统
CN112052006B (zh) * 2020-08-12 2021-06-15 武汉天喻信息产业股份有限公司 一种软件代码编译方法及系统

Similar Documents

Publication Publication Date Title
CN101408849A (zh) Ttcn-3语言的编译执行方法及系统
Lee et al. Cetus–an extensible compiler infrastructure for source-to-source transformation
CN102063324B (zh) 一种实现自动化编程的方法及系统
Cheatham Reusability through program transformations
US7735071B2 (en) Method and system for compiling multiple languages
Gargantini et al. A metamodel-based language and a simulation engine for abstract state machines.
Havlak Interprocedural symbolic analysis
CN101833500A (zh) 一种基于Agent的嵌入式软件智能测试方法
CN102929680A (zh) 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统
CN100351785C (zh) 嵌入式系统的调试方法
CN101458633B (zh) 通过脚本程序访问宿主程序的方法及其系统和装置
Ackermann et al. Jet: An embedded DSL for high performance big data processing
US20070074185A1 (en) Identifier expressions
CN110874213B (zh) 一种静态强类型语言的运行时类型扩展与反射方法
CN110795104B (zh) 一种用于TensorFlow自定义操作生成的方法
Kolovos et al. The epsilon pattern language
Fritzson et al. Metamodelica–a symbolic-numeric modelica language and comparison to julia
Garavel et al. Compiler construction using LOTOS NT
Abramov et al. OpenTS: an outline of dynamic parallelization approach
Dantas et al. Towards aspect-oriented programming for context-aware systems: A comparative study
CN100562008C (zh) 消息处理系统及其处理方法
WO2009106843A2 (en) System representation and handling techniques
Ludewig Espreso—A system for process control software specification
Lilis et al. Supporting compile-time debugging and precise error reporting in meta-programs
Beevi et al. Enhancing flexibility and portability of Execution Preserving Language Transformation using Meta programming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090415