1、 ETSI ES 203 022 V1.1.1 (2017-07) Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Advanced Matching ETSI STANDARD ETSI ETSI ES 203 022 V1.1.1 (2017-07) 2 Reference DES/MTS-203022AdvMatch ed111 Keywords conformance, testing, TT
2、CN-3 ETSI 650 Route des 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 fro
3、m: http:/www.etsi.org/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 perc
4、eived difference in contents 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 revi
5、sion or change of status. 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/Commi
6、teeSupportStaff.aspx Copyright 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 a
7、uthorization of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. ETSI 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 of ETSI registered for
8、 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 203 022 V1.1.1 (2017-07) 3 Contents Intellectual Property Rights 4g3Foreword . 4
9、g3Modal verbs terminology 4g31 Scope 5g32 References 5g32.1 Normative references . 5g32.2 Informative references 5g33 Definitions and abbreviations . 6g33.1 Definitions 6g33.2 Abbreviations . 6g34 Package conformance and compatibility 6g35 Package Concepts for the Core Language 7g35.0 General . 7g35
10、.1 Dynamic Matching . 7g35.2 Templates with variable bindings . 8g35.2.0 General 8g35.2.1 Value retrieval from matching 8g35.2.2 Declaring out parameters for template definitions 9g35.3 Additional logical operators for combining matching mechanisms . 11g35.3.0 General 11g35.3.1 Conjunction. 11g35.3.
11、2 Implication 12g35.3.3 Exclusion 13g35.3.4 Disjunction 13g35.4 Repetition . 14g35.5 Equality operator for the omit symbol and templates with restriction omit . 16g35.5.0 General 16g35.5.1 Modifications to ETSI ES 201 873-1, clause 7 (Expressions) 16g36 TCI Extensions for the Package . 17g36.1 Exten
12、sions to clause 7.2.2.2.0 of ETSI ES 201 873-6 Basic rules . 17g36.2 Extensions to clause 7.2.2.3.1 of ETSI ES 201 873-6 The abstract data type MatchingMechanism . 19g36.3 Extensions to clause 7.2.2.3.2 of ETSI ES 201 873-6 The abstract data type MatchingList 19g36.4 Extensions to clause 7.2.2.3 of
13、ETSI ES 201 873-6 The abstract data type MatchingMechanism 19g36.5 Extensions to clause 8 of ETSI ES 201 873-6 JavaTMlanguage mapping 20g36.6 Extensions to clause 9 of ETSI ES 201 873-6 ANSI C language mapping 22g36.7 Extensions to clause 10 of ETSI ES 201 873-6 C+ language mapping 23g36.8 Extension
14、s to clause 12 of ETSI ES 201 873-6 C# language mapping 25g3Annex A (normative): BNF and static semantics 27g3A.1 Modified TTCN-3 syntax BNF productions 27g3A.2 Deleted TTCN-3 syntax BNF productions . 27g3A.3 Additional TTCN-3 syntax BNF productions 27g3History 29g3ETSI ETSI ES 203 022 V1.1.1 (2017-
15、07) 4 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 Pr
16、operty 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 (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no investigation, including IPR s
17、earches, 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 ETSI Standard (ES) has been produced by E
18、TSI Technical Committee Methods for Testing and Specification (MTS). The present document relates to the multi-part standard ETSI ES 201 873 covering the Testing and Test Control Notation version 3, as identified below: Part 1: “TTCN-3 Core Language“; Part 4: “TTCN-3 Operational Semantics“; Part 5:
19、“TTCN-3 Runtime Interface (TRI)“; Part 6: “TTCN-3 Control Interface (TCI)“; Part 7: “Using ASN.1 with TTCN-3“; Part 8: “The IDL to TTCN-3 Mapping“; Part 9: “Using XML schema with TTCN-3“; Part 10: “TTCN-3 Documentation Comment Specification“; Part 11: “Using JSON with TTCN-3“. NOTE: Part 2 is in sta
20、tus “historical“ and part 3 is no longer maintained. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“, “can“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for t
21、he expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI ES 203 022 V1.1.1 (2017-07) 5 1 Scope The present document defines the support of advance matching of TTCN-3. TTCN-3 can be used for the specification of all types
22、of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of OMG CORBA based platforms, APIs, etc. TTCN-3 is not restricted t
23、o conformance testing and can be used for many other kinds of testing including interoperability, robustness, regression, system and integration testing. The specification of test suites for physical layer protocols is outside the scope of the present document. TTCN-3 packages are intended to define
24、 additional TTCN-3 concepts, which are not mandatory as concepts in the TTCN-3 core language, but which are optional as part of a package which is suited for dedicated applications and/or usages of TTCN-3. While the design of TTCN-3 package has taken into account the consistency of a combined usage
25、of the core language with a number of packages, the concrete usages of and guidelines for this package in combination with other packages 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 editi
26、on number or version number) 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. Referenced documents which are not found to be publicly available in the expected locat
27、ion might be found at https:/docbox.etsi.org/Reference/. NOTE: While any hyperlinks 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 2
28、01 873-1: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language“. 2 ETSI ES 201 873-4: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 4: TTCN-3 Operational Semantics“. 3 ETSI ES
29、 201 873-5: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 5: TTCN-3 Runtime Interface (TRI)“. 4 ETSI ES 201 873-6: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 6: TTCN-3 Control Interface (TC
30、I)“. 2.2 Informative references References are either specific (identified by date of publication and/or edition number or version number) or non-specific. For specific references,only the cited version applies. For non-specific references, the latest version of the referenced document (including an
31、y amendments) applies. NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee 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
32、particular subject area. i.1 ETSI ES 201 873-7: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 7: Using ASN.1 with TTCN-3“. ETSI ETSI ES 203 022 V1.1.1 (2017-07) 6 i.2 ETSI ES 201 873-8: “Methods for Testing and Specification (MTS); The Testing an
33、d Test Control Notation version 3; Part 8: The IDL to TTCN-3 Mapping“. i.3 ETSI ES 201 873-9: “Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 9: Using XML schema with TTCN-3“. i.4 ETSI ES 201 873-10: “Methods for Testing and Specification (MTS); Th
34、e Testing and Test Control Notation version 3; Part 10: TTCN-3 Documentation Comment Specification“. 3 Definitions and abbreviations 3.1 Definitions For the purposes of the present document, the terms and definitions given in ETSI ES 201 873-1 1, ETSI ES 201 873-4 2, ETSI ES 201 873-5 3 and ETSI ES
35、201 873-6 4 apply. 3.2 Abbreviations For the purposes of the present document, the abbreviations given in ETSI ES 201 873-1 1, ETSI ES 201 873-4 2, ETSI ES 201 873-5 3 and ETSI ES 201 873-6 4 apply. 4 Package conformance and compatibility The package presented in the present document is identified b
36、y the package tag: “TTCN-3:2017 Advanced Matching“ - to be used with modules complying with the present document. For an implementation claiming to conform to this package version, all features specified in the present document shall be implemented consistently with the requirements given in the pre
37、sent document and in ETSI ES 201 873-1 1 and ETSI ES 201 873-4 2. The package presented in the present document is compatible to: ETSI ES 201 873-1 1, version 4.9.1; ETSI ES 201 873-4 2, version 4.6.1; ETSI ES 201 873-5 3, version 4.8.1; ETSI ES 201 873-6 4, version 4.9.1; ETSI ES 201 873-7 i.1; ETS
38、I ES 201 873-8 i.2; ETSI ES 201 873-9 i.3; ETSI ES 201 873-10 i.4. If later versions of those parts are available and should be used instead, the compatibility to the package presented in the present document has to be checked individually. ETSI ETSI ES 203 022 V1.1.1 (2017-07) 7 5 Package Concepts
39、for the Core Language 5.0 General This package defines advanced matching mechanisms for TTCN-3, i.e. new matching mechanisms which go beyond the matching mechanisms defined in ETSI ES 201 873-1 1. This package realizes the following concepts: Dynamic matching allows to specify matching in a function
40、-like fashion, i.e. statement blocks and functions can be used to define matching. Templates with variable bindings ease the retrieval field values of received messages and signatures. For this the “-“ symbol is used to denote a value assignment to a variable or an out parameter in the scope of a te
41、mplate definition in case of a successful template matching. The additional logical operators conjunction, implication, exclusion and disjunction allow the combination matching mechanisms for advanced matching. Repetition allows to match repetitions of a sub-sequence templates inside values of a cer
42、tain type. Restrictions for the omit symbol and templates with restriction omit are relieved allowing omit symbols and templates with restriction omit as operands for the equality operator. 5.1 Dynamic Matching A dynamic matching is a special matching mechanism. Similar to other matching mechanisms,
43、 it can be considered as a Boolean function that indicates successful matching for the value to be matched by returning the value true and unsuccessful matching by returning the value false. Syntactical Structure dynamic (StatementBlock | FunctionRef) Semantic Description The StatementBlock shall re
44、turn a value of type boolean. The value to be matched is referenced by the special keyword value. When applying this matching mechanism to a value, the StatementBlock is executed and if and only if the execution returns true, the dynamic matching function matches. Unsuccessful matching shall return
45、false. A dynamic matching function can only be used in the context of a template, the value expression inside the StatementBlock shall have the same type as the whole template. The notation dynamic FunctionRef denotes a shorthand for the special case dynamic return FunctionRef(value) where FunctionR
46、ef is a reference to a Boolean function with a single parameter compatible with the templates type. Here, the type of the parameter of the referenced function determines the type context, if this templates place of usage does not provide a type context. Restrictions a) The dynamic matching syntax sh
47、all only be used in a typed context. b) The StatementBlock shall compute a value of type boolean. c) The StatementBlock shall be deterministic and side-effect free and follow the restrictions of clause 16.1.4 of ETSI ES 201 873-1 1. d) The StatementBlock shall not use variables that are declared out
48、side of the StatementBlock. e) The StatementBlock shall not use inout or out parameters. ETSI ETSI ES 203 022 V1.1.1 (2017-07) 8 f) Only if the dynamic matching syntax appears on the right-hand-side of a parameterized template definition, the formal in parameters of that definition may be referenced
49、 inside the StatementBlock. All other formal in parameters shall not be used by the StatementBlock. EXAMPLE: type record of integer Numbers; template Numbers mw_sorted := dynamic / value is of type Numbers for (var integer v_i := 1; v_i valuev_i) return false return true; / mw_sorted(v_recInt) matches all values of type Numbers / if elements of v_recInt do not break an ascending order type record Coordinate float x, float y ; external function fx_distance(Coordinate