1、 ETSI ES 201 873-8 V4.7.1 (2017-05) Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 8: The IDL to TTCN-3 Mapping ETSI STANDARD ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)2 Reference RES/MTS-201873-8 ed471IDL Keywords IDL, testing, TTCN ETSI 650 Route de
2、s Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 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 The present document can be downloaded from: http:/www.etsi.org/
3、standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in co
4、ntents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of stat
5、us. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx C
6、opyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI.
7、The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institute 2017. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks o
8、f ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. oneM2M logo is protected for the benefit of its Members GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)3 Contents Intellectual Property
9、Rights 5g3Foreword . 5g3Modal verbs terminology 5g31 Scope 6g32 References 6g32.1 Normative references . 6g32.2 Informative references 6g33 Abbreviations . 7g34 General considerations . 7g34.1 Introduction 7g34.2 Approach 8g34.3 Conformance and compatibility . 8g35 Lexical Conventions . 9g35.0 Gener
10、al . 9g35.1 Comments. 9g35.2 Identifiers . 9g35.3 Keywords . 9g35.4 Literals 9g36 Pre-processing 9g37 Importing from IDL specifications . 9g37.0 General . 9g37.1 Importing module declaration 10g37.2 Importing interface declaration 10g37.3 Importing value declaration 11g37.4 Importing constant declar
11、ation . 12g38 Importing type declaration . 12g38.0 General . 12g38.1 IDL basic types . 12g38.1.0 General approach 12g38.1.1 Integer and floating-point types 13g38.1.2 Char and wide char type . 13g38.1.3 Boolean type . 13g38.1.4 Octet type 13g38.1.5 Any type . 13g38.2 Constructed types . 14g38.2.0 Ge
12、neral approach 14g38.2.1 Struct . 14g38.2.2 Discriminated unions 14g38.2.3 Enumerations 15g38.3 Template types . 15g38.3.0 General approach 15g38.3.1 Sequence . 16g38.3.2 String and wstring . 16g38.3.3 Fixed types 16g38.4 Complex declarator 16g38.4.0 General approach 16g38.4.1 Arrays . 16g38.4.2 Nat
13、ive types 17g39 Importing exception declaration . 17g310 Importing operation declaration . 18g3ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)4 11 Importing attribute declaration . 20g312 Names and scoping . 20g3Annex A (informative): Examples . 22g3A.1 The example . 22g3A.2 IDL specification 22g3A.3 Derive
14、d TTCN-3 specification . 23g3Annex B (informative): Mapping lists 28g3B.1 IDL keyword and concept mapping list . 28g3B.2 Comparison of IDL, ASN.1, TTCN-2 and TTCN-3 data types . 29g3Annex C (informative): Bibliography . 30g3History 31g3ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)5 Intellectual Property R
15、ights 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 Property Rights (IPRs); Essenti
16、al, 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 (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out
17、 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 ETSI Standard (ES) has been produced by ETSI Technical Committee Metho
18、ds for Testing and Specification (MTS). The present document is part 8 of a multi-part deliverable. Full details of the entire series can be found in part 1 1. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“, “can“ a
19、nd “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)6 1 Scope The present docume
20、nt defines the mapping rules for CORBA IDL (as defined in clause 3 in 4) to TTCN-3 (as defined in ETSI ES 201 873-1 1) to enable testing of CORBA-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-/compon
21、ent-based technologies. The specification of other mappings is outside the scope of the present document. 2 References 2.1 Normative references References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For specific references, only th
22、e cited version applies. For non-specific references, the latest version of the referenced document (including any amendments) applies. Referenced documents which are not found to be publicly available in the expected location might be found at http:/docbox.etsi.org/Reference. NOTE: While any hyperl
23、inks included in this clause were valid at the time of publication, ETSI cannot guarantee their long term validity. The following referenced documents are necessary for the application of the present document. 1 ETSI ES 201 873-1: “Methods for Testing and Specification (MTS); The Testing and Test Co
24、ntrol Notation version 3; Part 1: TTCN-3 Core Language“. 2 Recommendation ITU-T T.50: “International Reference Alphabet (IRA) (Formerly International Alphabet No. 5 or IA5) - Information technology - 7-bit coded character set for information interchange“. 3 ISO/IEC 10646:2014: “Information technolog
25、y - Universal Coded Character Set (UCS)“. 4 CORBA3.0: “The Common Object Request Broker: Architecture and Specification“. NOTE: Available at http:/www.omg.org/spec/CORBA/. 2.2 Informative references References are either specific (identified by date of publication and/or edition number or version nu
26、mber) or non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the referenced document (including any amendments) applies. NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarant
27、ee their long term validity. The following referenced documents are not necessary for the application of the present document but they assist the user with regard to a particular subject area. i.1 ETSI ES 201 873-7: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation
28、version 3; Part 7: Using ASN.1 with TTCN-3“. i.2 Void. i.3 Void. i.4 Void. ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)7 i.5 ETSI ES 202 781: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Configuration and Deployment Support“. i
29、.6 ETSI ES 202 782: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: TTCN-3 Performance and Real Time Testing“. i.7 ETSI ES 202 784: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3
30、; TTCN-3 Language Extensions: Advanced Parameterization“. i.8 ETSI ES 202 785: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Behaviour Types“. i.9 ETSI ES 202 786: “Methods for Testing and Specification (MTS); The Testing a
31、nd Test Control Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals“. 3 Abbreviations For the purposes of the present document, the following abbreviations apply: ASN.1 Abstract Syntax Notation One CCM CORBA Component Model NOTE: By OMG. CORBA Common Object
32、Request Broker Architecture NOTE: By OMG. DCE Distributed Computing Environment NOTE: By OSF. EJB Enterprise JavaBeansTMNOTE: By Sun. IDL Interface Definition Language NET XML-based component technology NOTE: By Microsoft. OMG Object Management Group OSF Open Software Foundation SUT System Under Tes
33、t TTCN Testing and Test Control Notation XML eXtended Markup Language 4 General considerations 4.1 Introduction Object-based technologies (such as CORBA, DCOM, DCE) and component-based technologies (such as CCM, EJB, Microsoft.NET) use interface specifications to describe the structure of an object-
34、/component-based system 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 exam
35、ple CORBA IDL, MicrosoftIDL 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. ETSI ETSI ES 201 873-8 V4.7.1 (2017-05)8 When conside
36、ring the testing of object-/component-based systems with TTCN-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 specif
37、ications for the use of e.g. systems interface, operation and 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 ot
38、her interface specification languages. The mapping can be adapted to the details of other interface specification languages. The Interface Definition Language (IDL) (clause 3 in 4) is a base of the whole Common Object Request Broker Architecture (CORBA) 4 and an important point in developing distrib
39、uted systems with CORBA. It allows the reuse and interoperability 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
40、operation declarations. There are no programming language features like, e.g. if-statements. The core language of TTCN-3 is defined in ETSI ES 201 873-1 1 and provides a full text-based syntax, static semantics and operational semantics. The IDL mapping provides a definition for the use of the core
41、language with IDL (figure 1). TTCN-3 Core Language Presentation formatn TTCN-3 User ASN.1 Types module identifier2 typedef string mystring2; typedef mylong1 mylong2; module identifier3 typedef mylong1 long_from_module_1; typedef mystring2 string_from_module_2; typedef mylong2 long_from_module_1_2; ;
42、 ; ; TTCN EXAMPLE: module identifier1 type long mylong1; module identifier1_identifier2 import from identifier1 all; type iso8859string mystring2; type identifier1.mylong1 mylong2; module identifier1_identifier2_identifier3 import from identifier1 all; import from identifier1_identifier2 all; type i
43、dentifier1.mylong1 long_from_module_1; type identifier1_identifier2.mystring2 string_from_module_2; type identifier1_identifier2.mylong2 long_from_module_1_2; ; 7.2 Importing interface declaration Interfaces are flattened and all interface definitions are stored in one group. In contrast to interfac
44、es in IDL, groups in TTCN-3 do not create a scope. Therefore, prefixes for all identifiers of type definitions inside of the interface shall be used, which are a combination of the interface name and two underscores as the prefix. Import of single interface definitions from other modules via the imp
45、orting 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 is associated with signatures translated from attributes and operations of the interface. ETSI ETSI ES 201 8
46、73-8 V4.7.1 (2017-05)11 An IDL attribute is mapped to two signatures: one for the setting of a value and one for getting it. These signatures have names composed of the prefix (interface name and two underscores), attribute name and the word “Set“ (except for “readonly“) or “Get“ correspondingly. Si
47、nce an interface can be used in operation parameters to pass object references, an address type is also declared in the data part - the concrete implementation is left to the user. Components are used as collection of interfaces or objects. IDL EXAMPLE: interface identifier attribute long attributeI
48、d ; void operationname ( in string param_value ) raises ( ExceptionType ) ; . other body definitions . ; TTCN EXAMPLE: group identifierInterface signature identifier_attributeIdGet () return long exception ( . /* and all system exceptions defined in clause 9 */ ); signature identifier_attributeIdSet
49、 (in long identifier_attributeId) exception ( . /* and all system exceptions defined in clause 9 */ ); signature identifier_operationname ( in iso8859string identifier_param_value ) exception ( ExceptionType, . /* and all system exceptions defined in clause 9 */ ) ; .other body definitions . type port identifier procedure . type charstring identifierObject; /* a possible definition for the address type */ type identifierObject address; Interface inheritance is executed by rolling out all