1、 ETSI TS 102 219 V1.1.1 (2003-06)Technical Specification Methods for Testing and Specification (MTS);The IDL to TTCN-3 MappingETSI ETSI TS 102 219 V1.1.1 (2003-06) 2 Reference DTS/MTS-00080 Keywords IDL, testing, TTCN ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92
2、 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice Individual copies of the present document can be downloaded from: http:/www.etsi.org The present document may be made available i
3、n more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specif
4、ic network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at http:/portal.etsi.org/tb/status/status.asp If you find errors i
5、n the present document, send your comment to: editoretsi.org Copyright Notification No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institute 2003. All rights
6、reserved. DECTTM, PLUGTESTSTM and UMTSTM are Trade Marks of ETSI registered for the benefit of its Members. TIPHONTMand the TIPHON logo are Trade Marks currently being registered by ETSI for the benefit of its Members. 3GPPTM is a Trade Mark of ETSI registered for the benefit of its Members and of t
7、he 3GPP Organizational Partners. ETSI ETSI TS 102 219 V1.1.1 (2003-06) 3 Contents Intellectual Property Rights5 Foreword.5 Introduction 5 1 Scope 7 2 References 7 3 Abbreviations .7 4 Approach 8 5 Lexical Conventions.8 5.0 General .8 5.1 Comments.8 5.2 Identifiers .8 5.3 Keywords .8 5.4 Literals8 6
8、Pre-processing 9 7 IDL specification9 7.0 General .9 7.1 Module declaration.9 7.2 Interface declaration.9 7.3 Value declaration10 7.4 Constant declaration.10 8 Type declaration.11 8.0 General .11 8.1 IDL basic types.11 8.1.0 General11 8.1.1 Integer and floating-point types11 8.1.2 Char and wide char
9、 type .11 8.1.3 Boolean type .12 8.1.4 Octet type12 8.1.5 Any type .12 8.2 Constructed types .12 8.2.0 General12 8.2.1 Struct.12 8.2.2 Discriminated unions 13 8.2.3 Enumerations 13 8.3 Template types .13 8.3.0 General13 8.3.1 Sequence.13 8.3.2 String and wstring.14 8.3.3 Fixed types14 8.4 Complex de
10、clarator 14 8.4.0 General14 8.4.1 Arrays .14 8.4.2 Native types 14 9 Exception declaration.15 10 Operation declaration .15 11 Attribute declaration.16 12 Names and scoping.16 ETSI ETSI TS 102 219 V1.1.1 (2003-06) 4 Annex A: Void 18 Annex B (informative): Examples.19 B.1 Example19 B.1.0 General .19 B
11、.1.1 IDL specification19 B.1.2 Derived TTCN-3 specification.20 Annex C (informative): Mapping Lists.25 C.1 IDL keyword and concept mapping list .25 C.2 Comparison of IDL, ASN.1, TTCN-2 and TTCN-3 data types .26 Annex D (informative): Bibliography.27 History 28 ETSI ETSI TS 102 219 V1.1.1 (2003-06) 5
12、 Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Propert
13、y Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web server (http:/webapp.etsi.org/IPR/home.asp). Pursuant to the ETSI IPR Policy, no investigation, includ
14、ing IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become, essential to the present document. Foreword This Technical Specification (TS) has
15、 been produced by ETSI Technical Committee Methods for Testing and Specification (MTS). Introduction Object-based technologies (such as CORBA, DCOM, DCE) and component-based technologies (such as CCM, EJB, .NET) use interface specifications to describe the structure of an object-/component-based sys
16、tem and its operations and capabilities to interact with the environment. These interface specifications support interoperability and reusability of objects/components. The techniques used for interface specifications are often called Interface Definition Language (IDL), for example CORBA IDL, Micro
17、soft IDL or DCE IDL. These languages are comparable in their abilities to define system interfaces, operations at system interfaces and system structures to various extends. They differ in details of the object/component model. When considering the testing of object-/component-based systems with TTC
18、N-3, one is faced with the problem of accessing the systems to be tested via the system interfaces as described in an IDL specification. In particular, for TTCN-3 based test systems a direct import of IDL specifications into the test specifications for the use of e.g. systems interface, operation an
19、d exception definitions is prevalent to any manual transformation into TTCN-3. The present document discusses the mapping of CORBA IDL specifications into TTCN-3. This mapping rules out the principles not only for CORBA IDL, but also for other interface specification languages. The mapping can be ad
20、apted to the details of other interface specification languages. The Interface Definition Language (IDL) (chapter 3 in 4) is a base of the whole Common Object Request Broker Architecture (CORBA) 4 and an important point in developing distributed systems with CORBA. It allows the reuse and interopera
21、bility of objects in a system. A mapping between IDL and a programming language is defined in the CORBA standard. IDL is very similar to C+ containing pre-processor directives (include, comments, etc.), grammar as well as constant, type and operation declarations. There are no programming language f
22、eatures like, e.g. if-statements. The core language of TTCN-3 is defined in ES 201 873-1 1 and provides a full text-based syntax, static semantics and operational semantics as well as a definition for the use of the language with ASN.1. The IDL mapping provides a definition for the use of the core l
23、anguage with IDL (figure 1). ETSI ETSI TS 102 219 V1.1.1 (2003-06) 6 TTCN-3 Core Language Presentation formatnTTCN-3 User ASN.1 types and values Other types and valuesnGraphical format IDL types and values The shaded boxes are not defined in this document Tabular format Figure 1: Users view of the c
24、ore language and the various presentation formats It makes no difference for the mapping if requested or provided interfaces are required by the test system and SUT. Hence, TTCN can be used on client and server side without modifications to the mapping rules. The further document is structured simil
25、ar to the IDL specification document to provide easy access to the mapping of each IDL element. ETSI ETSI TS 102 219 V1.1.1 (2003-06) 7 1 Scope The present document defines the mapping rules for CORBA IDL (as defined in chapter 3 in 4) to TTCN-3 (as defined in ES 201 873-1 1) to enable testing of CO
26、RBA-based systems. The principles of mapping CORBA IDL to TTCN-3 can be also used for the mapping of interface specification languages of other object-/component-based technologies. The specification of other mappings is outside the scope of the present document. 2 References The following documents
27、 contain provisions which, through reference in this text, constitute provisions of the present document. References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For a specific reference, subsequent revisions do not apply. For a non
28、-specific reference, the latest version applies. Referenced documents which are not found to be publicly available in the expected location might be found at http:/docbox.etsi.org/Reference. 1 ETSI ES 201 873-1 (V2.2.1): “Methods for Testing and Specification (MTS); The Testing and Test Control Nota
29、tion version 3; Part 1: TTCN-3 Core Language“. 2 ISO/IEC 646: “Information technology - ISO 7-bit coded character set for information interchange“. 3 ISO/IEC 10646: “Information technology - Universal Multiple-Octet Coded Character Set (UCS)“. 4 OMG Formal Document FORMAL/2001-12-01 (2001): “The Com
30、mon Object Request Broker - Architecture and Specification“, Version 2.6. 5 ITU-T Recommendation X.680: “Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation“. 3 Abbreviations For the purpose of the present document, the following abbreviations apply: ASN.1
31、Abstract Syntax Notation One CCM CORBA Component Model (by OMG) CORBA Common Object Request Broker Architecture (by OMG) DCE Distributed Computing Environment (by OSF) EJB Enterprise JavaBeans (by Sun) IDL Interface Definition Language .NET XML-based component technology (by Microsoft) OMG Object Ma
32、nagement Group OSF Open Software Foundation SUT System Under Test TTCN Testing and Test Control Notation XML Extended Markup Language ETSI ETSI TS 102 219 V1.1.1 (2003-06) 8 4 Approach Two different approaches can be identified: The use of either implicit or explicit mapping. The implicit mapping ma
33、kes use of the import mechanism of TTCN-3, denoted by the keywords language and import. It facilitates the immediate use of data specified in other languages. Therefore, the definition of a specific data interface for each of these languages is required. Currently, ASN.1 data can be used besides the
34、 native TTCN-3 types (see clause D.1 in 1). The present document follows the approach of explicit mapping, i.e. IDL data are translated into appropriate TTCN-3 data. And only those TTCN-3 data are further used in the test specification. 5 Lexical Conventions 5.0 General The lexical conventions of ID
35、L define the comments, identifiers, keywords and literals conventions which are described below. 5.1 Comments Comment definitions in TTCN-3 and IDL are the same and therefore, no conversion of comments is necessary. 5.2 Identifiers IDL identifier rules define a subset of the TTCN-3 rules in which no
36、 conversion is necessary. 5.3 Keywords When IDL is used with TTCN-3 the keywords of TTCN-3 shall not be used as identifiers in an IDL module. 5.4 Literals The definition of literals differs slightly between IDL and TTCN-3 why some modifications have to be made. Table 1 gives the mapping for each lit
37、eral type. Table 1: Literal Mapping Literal IDL TTCN Integer no “0“ as first digit no “0“ as first digit Octet “0“ as first digit FF96O Hex “0X“ or “0x“ as first digits AB01DH Floating 1222.44E5 (Base 10) 1222.44E5 (Base 10) Char A “A“ Wide char L“A“ A Boolean TRUE, FALSE true, false String “text“ “
38、text“ Wide string L“text“ “text“ Fixed point 33.33D (see useful type IDLfixed) IDL uses the ISO Latin-1 character set for string and wide string literals and TTCN-3 uses ISO/IEC 646 2 for string literals and ISO/IEC 10646 3 for wide string literals. ETSI ETSI TS 102 219 V1.1.1 (2003-06) 9 6 Pre-proc
39、essing Pre-processor statements are not matched to TTCN-3 because the IDL specification must be used after pre-processing it. 7 IDL specification 7.0 General The module, interface, value and constant declaration are described now and the type and exception declaration as well as the bodies of interf
40、aces are described later. 7.1 Module declaration IDL modules are mapped to TTCN-3 modules. Nested IDL modules must be flattened accordingly to TTCN-3 modules. IDL Example: module identifier body TTCN Example: module identifier body 7.2 Interface declaration Interfaces are flattened and all interface
41、 definitions are stored in one group. Import of single interface definitions from other modules via the importing group statement is possible. This can be used if inheritance is used in the IDL specification. For each interface, a procedure-based port type is defined for the test specification. It i
42、s associated with signatures translated from attributes and operations of the interface. Since an interface can be used in operation parameters to pass object references, an address type is also declared in the data part. Components are used as collection of interfaces, or objects. IDL Example: inte
43、rface identifier body TTCN Example: group identifierInterface . body definitions . type port identifier procedure . type address identifierObject; Interface inheritance is executed by rolling out all inherited elements. Thus, they have to be handled as defined in the interface itself. Multiple inher
44、itance elements have to be inherited only once! Forward references of interfaces are provided by forward referencing the according port of the interface. Local interfaces are treated as normal interfaces. ETSI ETSI TS 102 219 V1.1.1 (2003-06) 107.3 Value declaration In contrast to type interface, th
45、e IDL type value has local operations that are not used outside the object, and are therefore not relevant from the functional testing point of view. However, since the public attributes of value instances are used to communicate object states, the IDL value type is mapped to the record type in TTCN
46、-3 The example below shows how to map valuetype and was used from section 5.2.5 in 4. IDL Example: valuetype EmployeeRecord / note this is not a CORBA:Object / state definition private string name; private string email; private string SSN; / initializer factory init( in string name, in string SSN );
47、 ; TTCN Example: type record EmployeeRecord iso8859string name, iso8859string email, iso8859string SSN 7.4 Constant declaration Constant declarations can be transformed by use of literal (see table 1) and operator mapping for floating-point and integer values (see table 2). Table 2: Operators for co
48、nstant expressions Operator IDL TTCN Unary floating-point Positive + + Negative - - Binary floating-point Addition + + Subtraction - - Multiplication * * Division / / Unary integer Positive + + Negative - - Bit-complement not4b Binary integer Addition + + Subtraction - - Multiplication * * Division
49、/ / Modulo % mod Shift left Bitwise and / 017 = 0xF = 15 const long size = ( ( number Name; TTCN Example: type record of NameComponent Name; ETSI ETSI TS 102 219 V1.1.1 (2003-06) 148.3.2 String and wstring string and wstring types are sequences of char and wchar. Therefore, string and wstring are mapped to the useful type iso8859string and universal charstring. IDL Example: const string name = “My String“; const wstring wideName = L“My String“; TTCN Example: const iso8859string name := “My
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1