用于反应式系统测试的编解码系统及其编解码器的制作方法

文档序号:7518531阅读:143来源:国知局

专利名称::用于反应式系统测试的编解码系统及其编解码器的制作方法
技术领域
:本发明涉及编解码技术,尤其涉及一种用于反应式系统测试的编解码器。
背景技术
:在反应式系统测试中,需要将概念数据转化成被测系统能识别的码流,这就需要编解码器。目前反应式系统测试以TTCN-3(TestingandTestControlNotationversion3,测试和测试控制表示法第三版)语言为主导,TTCN-3语言在电信等领域被广泛应用。但TTCN-3测试规范只支持TTCN-3,ASN.1等数据语言的直接使用,翻译得到中间表示数据语言的设计也仅仅局限于这几种语言的特点,不能很好的包容新的类型语言,故不能方便的扩充对新的类型语言的支持。另外,目前的各种编解码库的实现都与特定的TTCN-3测试平台紧密相关,它们的实现方法通常是调用与平台相关的TCI接口(终端控制接口),获取需要编解码的类型和值信息,进行相应的编解码操作。由于不同的编译平台对应不同的TCI接口,所以在一种平台上开发的编解码方式,较难移植到另一种编译器平台。如果编译器翻译方案出现变化后,往往需要重新修改已经实现的编解码库。因此,如何实现一个与测试平台相对独立的通用编解码系统,并具有较强的可扩充能力,包括对新的类型语言的扩充以及编码方式的扩充,以适应对未来测试业务的需要,是一个比较迫切的问题。
发明内容本发明的目的旨在至少解决现有技术中的上述问题之一。为此,本发明的实施例提出了一种以XML类型描述为主的其它语言向TTCN-3语言转换器,以方便的在TTCN-3测试平台中使用外部编解码信息。某些特定编解码类型的XMLSchema标准定义文档就可以直接用在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测试平台对应的数据类型生成的二进制字符串作为其对应的通用编/解码的类型。根据本发明进一步的实施例,所述类型转换器包括第一转换模块,用以转换XML文档逻辑结构语言XMLSchema类型为TTCN-3语言类型,所述第一转换模块从Schema文档解析生成的XMLSchema定义的类型信息集中获取Schema文档含有的所有组件;调用相应组件的信息获取类从XMLSchema定义的类型信息集中获得各自需要的组件信息;以及调用相应信息获取类对应的翻译类根据对应的组件信息进行翻译,以生成TTCN-3代码。根据本发明进一步的实施例,所述类型转换器包括第二转换模块,用以转换XML文档类型定义XMLDTD类型为TTCN-3语言类型,所述第二转换模块从DTD文档解析生成的DTD定义的类型信息集中获取DTD文档含有的所有组件;调用相应组件的信息获取类从DTD定义的类型信息集中获得各自需要的组件信息;以及调用相应信息获取类对应的翻译类根据对应的组件信息进行翻译,以生成TTCN-3代码。根据本发明的另一方面,本发明的实施例提出一种用于反应式系统测试的编解码器,所述编解码器包括对外接口模块,所述对外接口模块执行特定TTCN-3测试平台的外部编解码调用,以获取特定TTCN-3测试平台生成的编/解码的类型和值;通用编解码类型与值模块,所述通用编解码类型与值模块将所述编/解码的类型和值转换为与该特定TTCN-3测试平台无关的通用编/解码的中间类型和值;以及编解码实现模块,所述编解码实现模块根据所述通用编/解码的中间类型对应的编解码控制字,选择对应的编解码方式进行编/解码。根据本发明进一步的实施例,所述通用编解码类型与值模块根据各种TTCN-3测试平台对应的数据类型与通用编/解码的中间类型的映射关系表进行转换,其中所述通用编解码类型与值模块通过参考已有的数据描述语言,提取出一个公共的类型集,并将各种TTCN-3测试平台对应的数据类型映射成公共类型集的一个特定的类型,以得到所述映射关系表。另外,在非TTCN-3语言的测试平台上,只要定义了该测试平台的数据类型向通用编解码的中间类型的转换映射表,就仍然可以使用该通用编解码器,实现独立于测试平台的通用特性。根据本发明再一步的实施例,当该特定TTCN-3测试平台对应的数据类型在所述映射关系表不存在对应的映射特定类型时,所述通用编解码类型与值模块根据该特定TTCN-3测试平台对应的数据类型生成的二进制字符串作为其对应的通用编/解码的类型。本发明的编解码系统可以实现各种语言的类型定义(主要是XML类型定义)在TTCN-3测试系统中的直接使用,并能够较好地支持模板赋值和匹配功能。还可以结合通用编解码器实现与测试平台相对独立的通用,并具有较强的可扩充能力,包括对新的类型语言的扩充以及编码方式的扩充,以适应对未来测试业务的需要。支持ASCII,BER,PER,BCD,TLV,SIP,IS08583等编解码方式,支持扩充新类型编解码方式。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图1为本发明实施例的用于反应式系统测试的编解码系统结构示意图;图2(a)和图2(b)分别为本发明实施例的类型转换器的结构框图;图3(a)和图3(b)分别为本发明实施例的信息获取类和翻译类的示例图;图4为本发明实施例的通用编解码器的结构框图;图5为本发明实施例的通用编解码器ASN.1数据类型到中间规范类型的映射关系示意图;图6和图7分别为本发明实施例的通用编解码器中间规范类型和中间规范值的继承层次结构图;图8为本发明实施例的通用编解码器中以BER编码函数为例的接口示意图;图9为本发明实施例的通用编解码器的编码接口调用示意图;图10为本发明实施例的通用编解码器的编码过程流程图;图11为本发明实施例的通用编解码器的解码过程流程图;以及图12为使用本发明实施例通用编解码器的某协议测试流程。具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。参考图1,该图为本发明实施例的用于反应式系统测试的编解码系统结构示意图。如图所示,本发明实施例的编解码系统包括类型转换器10和编解码器30,其中类型转换器10用于将特定语言类型,例如可扩展标识语言(XML)文档逻辑结构(XMLSchema)类型、XML文档类型定义(XMLDTD)类型及/或其它类型语言,转换为TTCN-3(测试和测试控制表示法第三版)测试平台支持的对应TTCN-3语言类型。编解码器30用于根据转换的对应TTCN-3语言进行属性信息解析;以及根据TTCN-3语言属性信息中的编解码控制字所指定的编/解码方式进行编/解码。具体来说,对于TTCN-3测试规范不支持的数据语言,各种语言如ASN.1,XML等若想在TTCN-3测试系统中使用,并能够较好的支持模板赋值和匹配功能,首先由类型转换器10将其转换为对应的TTCN-3语言类型,使用TTCN-3语言的这些功能。为了解决转换过程中出现的信息丢失,需要将丢失的信息保存到对应的TTCN-3类型的自定义属性中。关于类型转换器10的工作原理可以参考图2(a)和图2(b),其中图2(a)为本发明实施例的类型转换器将XMLSchema类型转换为TTCN-3语言类型的结构框图;图2(b)为本发明实施例的类型转换器将XMLDTD类型转换为TTCN-3语言类型的结构框图。实现XML的数据类型定义到TTCN-3类型定义的映射,包括XMLSchema和DTD,可以称作为类型转换器10的XMLtoTTCN-3模块,简称X2T模块。整个转换过程可自动完成,通过X2T模块,将XML的类型定义转换为TTCN-3的类型定义,从而可以在TTCN-3测试平台上实现对XML描述的消息类型进行各种编解码。X2T模块包括Schema的翻译和DTD的翻译,Schema的翻译由X2TSchema实现,而DTD的翻译则由X2TDTD实现。从功能上看,无论是Schema的翻译或是DTD的翻译,都由两部分组成,即文档解析器和翻译器。本模块的实现借助于开源XML解析工具Xerces-c(Xerces-c是一个开源的XML解析器,c语言编写)来解析Scheme和DTD。例如,对于将XMLSchema语言类型转换为TTCN-3语言类型,如图2(a)所示首先将XMLSchema文档经过Xerces-c的解析,保存在语法信息池中。XSD信息集代表Schema文档经过Xerces-c工具解析后,保存在语法池(grammarpool)中的类型信息集。若解析的文档中没有语法错误,则调用X2T控制器14,由控制器14控制整个翻译流程。上述文档解析以及控制器调用由主函数12执行。控制器14从类型信息集中获取Schema文档含有的所有组件,并调用相应组件的信息获取类16来获得该组件的所有信息。例如对于XSDItem类结构中的类,其中XSDItem类16可以是图3(a)所示的类中的一种,这里称作为Iteml...η。这些Item类从XSD类型信息集中获取各自需要的组件定义的所有信息,每个类只获取自己需要的组件信息,并将这些信息传递给TTCN生成器类18。TTCN生成器类18有很多,例如图示的Iteml..η翻译类可以是图3(b)所示类中的一种。翻译类18从信息获取类16获得组件的所有信息(参数传递),并完成TTCN-3代码的生成。对于将XMLDTD类型转换为TTCN-3语言类型,如图2(b)所示,其中与图2(a)不同的是,主函数12’对应的XSD信息集由DTD文档解析生成,相应地,Χ2Τ控制器14’和信息获取类16’、翻译类18’对应的组件信息和信息翻译是在DTD文档解析得到的对应类型信息集的基础上完成。总体来说,XSD信息集代表Schema文档或DTD文档经过Xerces-c工具解析后,保存在语法池中的类型信息集;XSDItem为组件信息获取类层次;X2T控制器联接着类型信息集和组件信息获取类;而TTCN生成器则为组件翻译类层次。在翻译过程中,需要获取翻译中的一些重要信息,一方面可以保证翻译过程的信息不丢失,另一方面则可将这些信息用于编解码中,因此在翻译中添加必要的with属性是必须的。在本发明中主要使用with的variant属性,且根据TTCN-3语言标准,with属性只能修饰type,group禾口module。With属性设计的难点正是由于只能修饰type的限制,使得内层组件的重要信息难以记录,必须将嵌套在内层的组件的with属性在外层记录。本发明中,自行设计一种with属性的表示方式,既能符合TTCN-3标准语法,又能记录翻译过程中的信息。该设计区分对待各种组件,分为被翻译外层组件和内层组件,而内层组件又分为内层有嵌套组件和内层无嵌套组件。现在返回参考图1,对于类型转换器10转换的TTCN-3类型语言,或者TTCN-3测试平台可以直接使用的ASN.1类型语言,在引入TTCN-3测试平台20后,由TTCN-3测试平台20编译生成该特定TTCN-3测试平台20相关的中间语言类型,即特定TTCN-3测试平台20生成需要编/解码的类型和值。对于特定TTCN-3测试平台20,如现有的编解码方式,编解码器30将根据测试平台20提供的需要编解码的类型和值,来生成中间类型和值,再对中间类型进行属性信息解析,对中间值进行编/解码。但是如
背景技术
所述,目前的各种编解码库的实现都与特定的TTCN-3测试平台紧密相关,它们的实现方法通常是调用与平台相关的TCI接口,获取需要编解码的类型和值信息,进行相应的编解码操作。不同的编译平台对应不同的TCI接口,在一种TTCN-3测试平台上开发的编解码方式,较难移植到另一种编译器平台。因此,目前的编解码器依赖于特定的TTCN-3测试平台,无法实现编解码的通用性。因此为了解决上述问题,本发明提出了一种与特定TTCN-3测试平台相对独立的通用编解码器30,关于该通用编解码器30的结构可以参考图4的实施例。如图4所述,通用编解码器30包括对外接口模块32、通用编解码类型与值模块34以及编解码实现模块36。其中,对外接口模块32执行特定TTCN-3测试平台的外部编解码调用,以获取特定TTCN-3测试平台生成的需要编/解码的类型和值;通用编解码类型与值模块34将特定TTCN-3测试平台生成的需要编/解码的类型和值转换为与该特定TTCN-3测试平台无关的通用编/解码的中间类型和值;以及编解码实现模块36根据通用编/解码的中间类型对应的编解码控制字选择对应的编解码方式以进行编/解码。具体来说,通用编解码作为一个支持库,在需要进行编解码操作时被外界平台,即具有不同目标语言的特定TTCN-3测试平台所调用。对外接口模块32向外提供外部平台需要的调用接口。外部平台通过调用对外接口模块32从而对通用编解码器进行相应的操作,进而对外接口模块32获取特定TTCN-3测试平台生成的需要编/解码的类型和值信息,并输入通用编解码类型与值模块34进行处理。通用编解码类型与值模块34提供一套包含已有的常用类型(如TTCN-3,ASN.1,XMLSchema)的极大值,并且具有较好的扩充能力。通过使用该类型与值模块34,将特定TTCN-3测试平台生成的需要编/解码的类型和值转换为与该特定TTCN-3测试平台无关的通用编/解码的中间类型和值,从而通用编解码器能够实现与其集成环境之间的独立性。通用编解码类型与值模块34根据各种TTCN-3测试平台对应的数据类型与通用编/解码的中间类型的映射关系表进行转换。在下文中,称作通用编/解码的中间类型和值分别为中间规范类型和中间规范值。中间规范类型不仅要包含已有的TTCN-3标准类型,而且需要提供将来扩充其它的数据类型语言等功能。通用编解码类型与值模块34通过参考已有的数据描述语言如TTCN-3,ASN.1,XMLSchema/DTD,提取出一个公共的类型集,并使用类型值的设计方案,将每一个特定的数据类型对应成公共类型集的一个特定的类型,以得到所述映射关系表。并且,通过方便的接口提供访问其内部数据成员的功能。该中间规范类型所包含的类型举例主要如下l)boolean类型2)integer类型3)float类型4)bitstring类型5)charstring类型6)hexstring类型7)octetstring类型8)universalcstring类型9)enumerated类型10)field类型11)objid类型12)null类型13)struct类型14)choice类型15)sequence类型16)structof类型17)sequenceof类型公共类型集中的类型都将提供一些可供扩展的数据域,以便以后公共类型集兼容新的数据类型。使用C++类库的设计方案,将中间规范的类型与值都是用类进行封装。将类型与值的信息保存为类的成员变量,编解码功能作为类的接口函数对外提供。设计所有中间规范类型的父类CType,在CType类中定义编解码实现的纯虚函数。使用C++中的继承机制,在CType上派生出所有的中间规范类型,并通过继承来的编解码函数实现对应类型的编解码功能中间规范值的设计与中间规范类型的设计类似,设计所有中间规范值的纯虚基类CValue,使用C++中的继承机制,使中间规范值继承于CValue类,并在继承类型上实现相应的值接口函数。本发明实施例的通用编解码器ASN.1数据类型到中间规范类型的映射关系如图5所示,图6和图7分别为本发明实施例的通用编解码器中间规范类型和中间规范值的继承层次结构图。通用编解码类型与值模块34根据其中保存的已有的外部平台数据类型到中间类型的映射关系表,在编解码操作时根据外部平台的数据类型,查找映射关系表,如果没找到对应的中间类型,实时地生成对应的中间类型,否则直接使用查找得到的中间类型。其中当该特定TTCN-3测试平台对应的数据类型在映射关系表不存在对应的映射特定类型时,通用编解码类型与值模块34根据该特定TTCN-3测试平台对应的数据类型生成的二进制字符串作为其对应的通用编/解码的类型。通用编解码类型与值模块34将通用编解码需要的类型和值信息输入到编解码实现模块36中,对外接口模块32根据通用编/解码的类型对应的TTCN-3语言属性信息中的withencode属性中所指定的编解码方式调用相应的编解码接口函数,称TTCN-3语言的encode属性为“编解码控制字”,并由编解码实现模块36根据通用编/解码的类型对应的编解码控制字对应的编解码方式以进行编/解码。实现编解码功能。编解码实现模块36的各种编解码的实现都是基于中间规范类型与值的,编解码功能通过中间规范类型以响应函数接口提供。目前提供的编解码方式主要包括BER,PER,XER,TLV,HTTP,IS08583,SIP等。编解码实现采用虚函数与继承的方法,由中间规范的基类型提供一个统一的接口,然后每一种中间规范子类型去实现其对应类型的编解码方式。以BER编码函数为例示意接口如图8所示,CType为基类,基类声明抽象BER编码接口,基类并不实现该接口;子类CInteger继承CType类,子类具体的实现该接口。这样,通过一种通用的调用方式“调用基类CType的BER编码接口”,可以实时决定实际调用到的子类的特定BER编码接口。编解码实现模块36的通用编解码中提供非显式的调用编解码方案的编解码接口Encode与Decode,此时,编解码实现模块36会根据类型的encode属性即“编解码控制字”来选择对应的编解码方案。调用示意图如图9所示。本发明实施例的编解码实现模块36已经实现了各种常见的编解码方式,包括ASN.1中的BER,PER与XER,以及IS08583,BCD,Http,TLV等,还有SIP等,并且支持未来在其基础上方便的扩充其他编解码方式。在编解码实现模块36得到通用编解码值信息后,对外接口模块32将该通用编解码值信息(即码流)对外提供给其连接的外部特定TTCN-3测试平台。下面,将结合图10和图11对本发明实施例的通用编解码器的编解码原理作出详细说明,其中图10为本发明实施例的通用编解码器的编码过程流程图;以及图11为本发明实施例的通用编解码器的解码过程流程图。参考图10,首先是TTCN-3测试平台中的执行器在执行可执行的测试套件(ETS,ExecutableTestSuite)中的send操作时,需要对send的对象进行编码,故进入对外接口模块32中,执行TTCN-3测试平台外部编码调用(步骤102)。并且得到TTCN-3测试平台生成的需要编码的类型和值。然后,需要在步骤104,步骤106中先对将特定TTCN-3测试平台的类型和值转换到通用编解码的中间类型和值,即需要通用编解码类型与值模块34的支持,得到通用编解码的中间类型和值的表示。然后,会调用编解码实现模块36,根据类型的encoding方式,即“编解码控制字”选择相应的编解码器进行编解码工作(步骤108),得到相应的编码所得码流。在执行编解码前,被编码消息的类型都已经被X2T模块转化成TTCN-3语言类型。所得码流可以作为现实记录编码结果显示给用户(步骤110),和/或对外接口模块32以调用平台所需的格式,将码流递交给对应的TTCN-3测试平台。现在参考图11,解码流程就是根据已知的类型和码流来构造该类型的值,在特定TTCN-3测试平台发起解码Decode(TciValue&value,TriMessagemsg)操作的调用时,value只是被分配了内存空间且仅仅初始化的一个TciValue类型的值。解码方法是对外接口模块32根据特定TTCN-3测试平台的TTCN-3自定义属性信息指定的方法。进行解码时,对外接口模块32执行TTCN-3测试平台外部解码调用(步骤202)。并且得到TTCN-3测试平台生成的需要解码的类型。然后,将value的类型在通用编解码类型和值模块34的支持下执行与具体的TTCN-3测试平台相关的转换操作,从而转换得到与具体的TTCN-3测试平台无关的通用编解码的中间类型(步骤204),得到通用编解码类型表示。接着,根据encoding属性来调用编解码实现模块36中的相应编解码方式,选择相应的解码器对外部接口模块32输入的码流进行解码(步骤206)。然后,判断解码是否成功(步骤210),若解码未成功,显示记录解码结果给用户(步骤212)。否则,则可以得到通用编解码的值表示,通用编解码类型与值模块34再将该值的表示转换成特定TTCN-3测试平台的值表示(步骤214),并通过外部接口模块32提供给特定TTCN-3测试平台。对于图1来说,编解码系统的类型转换器10和编解码器30这两个部分是相互独立的,它们之间的联系在于类型转换器10生成的TTCN-3属性信息能在编解码时被正确解析。其中类型转换器10将对每一种其他语言类型实现一个exe程序,而编解码器30部分将以dll的形式嵌入各种TTCN-3测试平台中。下面,对于使用本发明实施例编解码系统的反应式系统测试举例如下。(1)对于图12某协议测试流程,其中对于步骤1中“通知提交返奖文件”消息,按照规范要求需要用XML格式编解码,只需要指定该消息类型的“编解码控制字”为XML即可。步骤2中“获取返奖文件”消息需要用TLV和BCD编解码方式,指定其消息类型的“编解码控制字”为TLV和BCD即可,如对长度有特殊要求,还可以指定为BCD-6表示该域占用6个字节并使用BCD编码。其编解码过程将交给通用编解码器完成,相对于传统的需要用到哪一种编解码方式就加载其dll的方案来说,性能开销减少很多。(2)银联测试等金融行业的协议测试,会用到IS08583编解码,通用编解码器支持该编解码方式,支持该类测试,只需在测试脚本中指定其“编解码控制字”为IS08583。(3)Web测试等使用Http协议以及XML编解码方式的,通用编解码器支持Http消息填充和XML编解码方式,可以支持该类测试,只需在用到相应编解码时指定“编解码控制字”为Http或XER。(4)提供BER,PER,BCD,TLV,SIP编解码方式,用到该编解码方式时,只需在测试脚本中指定其“编解码控制字”。(5)在需要新编解码方式时,通用编解码器支持扩展,可以在编解码实现模块中扩展一个相应编解码实现过程,在通用编解码器框架下实现NewEncodeO与NewDecode()接口即可,整体管理过程由通用编解码器完成。本发明具有以下优点和积极效果(1)不依赖于外部的TTCN测试平台通用编解码器中的编解码实现模块是独立于TTCN测试平台的,TTCN平台使用通用编解器时,只需要添加相应的转换接口,比如在Telelogic工具(TelelogicTester是IBM公司的一款TTCN-3编译开发工具)上使用该通用编解码器,只需要有一个Telelogic的类型和值与通用编解码类型和值的转换接口即可,而在其它平台上也只需要添加一个相应的转换接口。这样,相对于直接在已有的TTCN-3测试平台上实现的编解码方案来说,具有更好的可移植性和重用性。(2)编解码实现与集成环境独立编解码的实现可以是任意语言,一种编解码方式集成到编解码器中时,只需在相应编解码器接口实现中调用该编解码的实现即可。例如XML解码实现,在编解码器的XMLDecode()接口的实现中,调用开源的XML解析器即可。类型与值模块的设计,就是为了实现一个与现有的各个TTCN-3测试平台无关的内部数据表示,基于通用编解码器自有的类型和值模块,各种编解码的实现就可以与集成环境独立,实现应用范围的通用性。(3)提供中间类型的管理通用编解码器自身管理中间类型的内存创建与销毁,因为在每次编解码过程中共享中间类型信息,所以由通用编解码器管理中间类型内存更加高效安全。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。权利要求1.一种用于反应式系统测试的编解码系统,其特征在于,所述编解码系统包括类型转换器,所述类型转换器用于将特定语言类型转换为测试和测试控制表示法第三版TTCN-3测试平台支持的对应TTCN-3语言类型;和编解码器,所述编解码器用于根据转换的对应TTCN-3语言进行属性信息解析;以及根据TTCN-3语言属性信息中的编解码控制字所指定的编/解码方式进行编/解码。2.如权利要求1所述的编解码系统,其特征在于,所述编解码器包括对外接口模块,所述对外接口模块执行特定TTCN-3测试平台的外部编解码调用,以获取特定TTCN-3测试平台生成的需要编/解码的类型和值;通用编解码类型与值模块,所述通用编解码类型与值模块将所述特定TTCN-3测试平台生成的需要编/解码的类型和值转换为与该特定TTCN-3测试平台无关的通用编/解码的中间类型和值;以及编解码实现模块,所述编解码实现模块根据所述通用编/解码的中间类型对应的编解码控制字信息选择对应的编解码方式以进行编/解码。3.如权利要求1所述的编解码系统,其特征在于,所述类型转换器包括第一转换模块,用以转换XML文档逻辑结构语言XMLSchema类型为TTCN-3语言类型,所述第一转换模块从Schema文档解析生成的XMLSchema定义的类型信息集中获取Schema文档含有的所有组件;调用相应组件的信息获取类从XMLSchema定义的类型信息集中获得各自需要的组件信息;以及调用相应信息获取类对应的翻译类根据对应的组件信息进行翻译,以生成TTCN-3代码。4.如权利要求1所述的编解码系统,其特征在于,所述类型转换器包括第二转换模块,用以转换XML文档类型定义XMLDTD类型为TTCN-3语言类型,所述第二转换模块从DTD文档解析生成的DTD定义的类型信息集中获取DTD文档含有的所有组件;调用相应组件的信息获取类从DTD定义的类型信息集中获得各自需要的组件信息;以及调用相应信息获取类对应的翻译类根据对应的组件信息进行翻译,以生成TTCN-3代码。5.如权利要求2所述的编解码系统,其特征在于,所述通用编解码类型与值模块根据各种TTCN-3测试平台对应的数据类型与通用编/解码的中间类型的映射关系表进行转换,其中所述通用编解码类型与值模块通过参考已有的数据描述语言,提取出一个公共的类型集,并将各种TTCN-3测试平台对应的数据类型映射成公共类型集的一个特定的类型,以得到所述映射关系表。6.如权利要求5所述的编解码系统,其特征在于,当该特定TTCN-3测试平台对应的数据类型在所述映射关系表不存在对应的映射特定类型时,所述通用编解码类型与值模块根据该特定TTCN-3测试平台对应的数据类型生成的二进制字符串作为其对应的通用编/解码的类型。7.一种用于反应式系统测试的编解码器,其特征在于,所述编解码器包括对外接口模块,所述对外接口模块执行特定TTCN-3测试平台的外部编解码调用,以获取特定TTCN-3测试平台生成的编/解码的类型和值;通用编解码类型与值模块,所述通用编解码类型与值模块将所述编/解码的类型和值转换为与该特定TTCN-3测试平台无关的通用编/解码的中间类型和值;以及编解码实现模块,所述编解码实现模块根据所述通用编/解码的中间类型对应的编解码控制字,选择对应的编解码方式进行编/解码。8.如权利要求7所述的编解码器,其特征在于,所述通用编解码类型与值模块根据各种TTCN-3测试平台对应的数据类型与通用编/解码的中间类型的映射关系表进行转换,其中所述通用编解码类型与值模块通过参考已有的数据描述语言,提取出一个公共的类型集,并将各种TTCN-3测试平台对应的数据类型映射成公共类型集的一个特定的类型,以得到所述映射关系表。9.如权利要求8所述的编解码器,其特征在于,当该特定TTCN-3测试平台对应的数据类型在所述映射关系表不存在对应的映射特定类型时,所述通用编解码类型与值模块根据该特定TTCN-3测试平台对应的数据类型生成的二进制字符串作为其对应的通用编/解码的类型。全文摘要本发明公开了一种用于反应式系统测试的编解码系统,包括类型转换器,所述类型转换器用于将特定语言类型转换为测试和测试控制表示法第三版TTCN-3测试平台支持的对应TTCN-3语言类型;和编解码器,所述编解码器用于根据转换的对应TTCN-3语言进行属性信息解析;以及根据TTCN-3语言属性信息中的编解码控制字所指定的编/解码方式进行编/解码。本发明能够支持各种数据类型描述,尤其着重支持XML类型描述在TTCN-3测试直接使用,并能够实现各种TTCN-3测试平台的通用编解码。文档编号H03M13/01GK102111160SQ20101056599公开日2011年6月29日申请日期2010年11月23日优先权日2010年11月23日发明者杨俊,王峰,王金锭,程绍银,蒋凡申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1