ETSI ES 202 789 V1.5.1 (2020-05)
Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Extended TRI
Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Extended TRI
RES/MTS-202789ed151
Metode za preskušanje in specificiranje (MTS) - 3. različica zapisa preskušanja in krmiljenja preskusov - Razširitev nabora jezikov TTCN-3: razširjeni TRI
General Information
Buy Standard
Standards Content (Sample)
ETSI ES 202 789 V1.5.1 (2020-05)
ETSI STANDARD
Methods for Testing and Specification (MTS);
The Testing and Test Control Notation version 3;
TTCN-3 Language Extensions: Extended TRI
---------------------- Page: 1 ----------------------
2 ETSI ES 202 789 V1.5.1 (2020-05)
Reference
RES/MTS-202789ed151
Keywords
interface, testing, TTCN-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 enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
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 perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
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
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
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 authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3 ETSI ES 202 789 V1.5.1 (2020-05)
Contents
Intellectual Property Rights . 4
Foreword . 4
Modal verbs terminology . 4
1 Scope . 5
2 References . 5
2.1 Normative references . 5
2.2 Informative references . 6
3 Definition of terms, symbols and abbreviations . 6
3.1 Terms . 6
3.2 Symbols . 6
3.3 Abbreviations . 7
4 Package conformance and compatibility . 7
5 Package concepts for the core language . 7
6 Package semantics . 7
7 TRI extensions for the package . 8
7.0 Introduction . 8
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error handling . 8
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection handling operations . 9
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations. 9
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations . 11
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure based communication operations . 11
7.5A Addition to clause 5.5.5 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.6 Changes to clause 5.6.3 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.7 Changes to clause 6 of ETSI ES 201 873-5, Java language mapping . 19
7.8 Changes to clause 7 of ETSI ES 201 873-5, C language mapping . 22
7.9 Changes to clause 8 of ETSI ES 201 873-5, C++ language mapping . 24
7.10 Changes to clause 9 of ETSI ES 201 873-5, C# language mapping . 27
8 TCI extensions for the package . 28
Annex A (informative): Bibliography . 29
History . 30
ETSI
---------------------- Page: 3 ----------------------
4 ETSI ES 202 789 V1.5.1 (2020-05)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables 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); 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 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.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This ETSI Standard (ES) has been produced by ETSI Technical Committee Methods for Testing and Specification
(MTS).
The use of strike through (deleted text) highlights the differences between base document and extended
documents.
The present document relates to the multi-part standard ETSI ES 201 873 covering the Testing and Test Control
Notation version 3, as identified in ETSI ES 201 873-1 [1].
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 the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 4 ----------------------
5 ETSI ES 202 789 V1.5.1 (2020-05)
1 Scope
The present document defines the Extended TRI package of TTCN-3. TTCN-3 can be used for the specification of all
types 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
CORBA based platforms, APIs, etc. TTCN-3 is not restricted to 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 additional TTCN-3 concepts, which are not mandatory as concepts in the
TTCN-3 core language or in its interfaces TRI and TCI, but which are optional as part of a package which is suited for
dedicated applications and/or usages of TTCN-3.
This package defines a more efficient handling of software values by a version of TRI, that does not use binary encoded
messages for the communication with the SUT, but uses the values as they are; meaning e.g. that software objects or
serialized data can be passed directly between the SUT and the TE.
While the design of TTCN-3 package has taken into account the consistency of a combined usage 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 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 any amendments) applies.
Referenced documents which are not found to be publicly available in the expected location 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 201 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 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 (TCI)".
[5] Recommendation ITU-T X.290: "OSI conformance testing methodology and framework for
protocol Recommendations for ITU-T applications - General concepts".
NOTE: The corresponding ISO/IEC standard is ISO/IEC 9646-1: "Information technology -- Open Systems
Interconnection -- Conformance testing methodology and framework -- Part 1: General concepts".
ETSI
---------------------- Page: 5 ----------------------
6 ETSI ES 202 789 V1.5.1 (2020-05)
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 any 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 particular subject area.
[i.1] Void.
[i.2] Void.
[i.3] 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".
[i.4] ETSI ES 201 873-8: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; Part 8: The IDL to TTCN-3 Mapping".
[i.5] 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.6] ETSI ES 201 873-10: "Methods for Testing and Specification (MTS); The Testing and Test
Control Notation version 3; Part 10: TTCN-3 Documentation Comment Specification".
[i.7] 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.8] ETSI ES 202 784: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Advanced Parameterization".
[i.9] 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.10] 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.11] ETSI ES 202 786: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals".
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the terms given in ETSI ES 201 873-1 [1], ETSI ES 201 873-4 [2], ETSI
ES 201 873-5 [3], ETSI ES 201 873-6 [4] and Recommendation ITU-T X.290 [5] apply.
3.2 Symbols
Void.
ETSI
---------------------- Page: 6 ----------------------
7 ETSI ES 202 789 V1.5.1 (2020-05)
3.3 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], ETSI ES 201 873-6 [4], Recommendation ITU-T X.290 [5] and the following apply:
XTRI eXtended TRI
4 Package conformance and compatibility
The package has no package tag as the choice to use TRI and/or XTRI affects the test adaptor only, but not the test
specifications in TTCN-3.
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 present document, 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] (V4.5.1)
ETSI ES 201 873-4 [2] (V4.4.1)
ETSI ES 201 873-6 [4] (V4.5.1)
ETSI ES 201 873-7 [i.3] (V4.5.1)
ETSI ES 201 873-8 [i.4] (V4.5.1)
ETSI ES 201 873-9 [i.5] (V4.5.1)
ETSI ES 201 873-10 [i.6] (V4.5.1)
If later versions of those parts are available and should be used instead, the compatibility of the package defined in the
present document has to be checked individually.
The package defined in the present document is also compatible to:
ETSI ES 202 784 [i.8] (V1.3.1)
ETSI ES 202 781 [i.7] (V1.2.1)
ETSI ES 202 782 [i.10] (V1.2.1)
ETSI ES 202 785 [i.9] (V1.3.1)
ETSI ES 202 786 [i.11] (V1.2.1)
and can be used together with those packages.
If later versions of those packages are available and should be used instead, the compatibility to the package defined in
the present document has to be checked individually.
5 Package concepts for the core language
Not applicable.
6 Package semantics
Not applicable.
ETSI
---------------------- Page: 7 ----------------------
8 ETSI ES 202 789 V1.5.1 (2020-05)
7 TRI extensions for the package
7.0 Introduction
Historically, TTCN has been used to test communication protocols which typically use encoded messages. This has
been reflected in the TRI SA and TCI CD design of TTCN-3 by encoding and decoding messages to and from
bitstrings. However, TTCN-3 also supports signature-based communication for which the transformation of objects into
bitstrings and vice versa is cumbersome. Furthermore, some protocols use also structured messages for which the
bitstring encoding is not helpful.
Therefore, an alternative API is being defined in this extension package of TTCN-3 along which TTCN-3 values can be
directly passed to/from the SUT. It is defined by redefining the operations in TRI SA and PA as follows.
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error
handling
The SA or PA can in addition provide notifications about unrecoverable error situations by use of the operations
xtriSAErrorReq and xtriPAErrorReq, respectively.
5.2.1 triSAErrorReq xtriSAErrorReq
void xtriSAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
void
Return Value
Constraint Shall be called whenever an error situation has occurred in the SA with the exception of errors
occurring when processing SA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the SA and may forward
the error indication to the test management.
5.2.2 triPAErrorReq xtriPAErrorReq
void xtriPAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
Void
Return Value
Constraint Shall be called whenever an error situation has occurred in the PA with the exception of errors
occurring when processing PA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the PA and may forward
the error indication to the test management.
ETSI
---------------------- Page: 8 ----------------------
9 ETSI ES 202 789 V1.5.1 (2020-05)
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection
handling operations
5.5.2.3 triMapParam xtriMapParam
TriStatusType xtriMap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be mapped
tsiPortId identifier of the test system interface port to be mapped
paramList parameters of the parameterized map
Out Parameters n.a.
Return Value The return status of the triMap operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 map operation.
Effect The SA can establish a dynamic connection to the SUT for the referenced TSI port.
The triMap operation returns TRI_Error in case a connection could not be established
successfully, TRI_OK otherwise. The operation should return TRI_OK in case no dynamic
connection needs to be established by the test system.
xtriUnmapParam
5.5.2.5 triUnmapParam
TriStatusType xtriUnmap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be unmapped
tsiPortId identifier of the test system interface port to be unmapped
paramList parameters of the parameterized map
Out n.a.
Parameters
Return Value The return status of the triUnmap operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes any TTCN-3 unmap operation.
Effect The SA shall close a dynamic connection to the SUT for the referenced TSI port.
The triUnmap operation returns TRI_Error in case a connection could not be closed successfully
or no such connection has been established previously, TRI_OK otherwise. The operation should
return TRI_OK in case no dynamic connections have to be closed by the test system.
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
5.5.3.1 triSend xtriSend
TriStatusType xtriSend(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddress (optional) destination address value within the SUT
sendMessage the value to be sent
Out n.a.
Parameters
Return Value The return status of the triSend operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
ETSI
---------------------- Page: 9 ----------------------
10 ETSI ES 202 789 V1.5.1 (2020-05)
Constraints This operation is called by the TE when it executes a TTCN-3 unicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can send the message to the SUT.
The triSend operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.2 triSendBC xtriSendBC
TriStatusType xtriSendBC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
sendMessage the value to be sent
Out n.a.
Parameters
Return Value The return status of the triSendBC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 broadcast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can broadcast the message to the SUT.
The triSendBC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.3 triSendMC xtriSendMC
TriStatusType xtriSendMC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in TciValueList SUTaddresses,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddresses destination address values within the SUT
sendMessage the values to be sent
Out n.a.
Parameters
Return Value The return status of the triSendMC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 multicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can multicast the message to the SUT.
The triSendMC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
ETSI
---------------------- Page: 10 ----------------------
11 ETSI ES 202 789 V1.5.1 (2020-05)
5.5.3.4 triEnqueueMsg xtriEnqueueMsg
void xtriEnqueueMsg(in TriPortIdType tsiPortId,
Signature
in any SUTaddress,
in TriComponentIdType componentId,
in any receivedMessage)
In Parameters tsiPortId identifier of the test system interface port via which the message is enqueued
by the SUT Adaptor
SUTaddress (optional) source address value within the SUT
componentId identifier of the receiving test component
receivedMessage the received value
Out n.a.
Parameters
Return Value void
Constraints This operation is called by the SA after it has received a message from the SUT. It can only be used
when tsiPortId has been either previously mapped to a port of componentId or has been referenced
in the previous triExecuteTestCase statement.
Effect This operation shall pass the message to the TE indicating the component componentId to which the
TSI port tsiPortId is mapped.
The decoding of receivedMessage has to be done in the TE.
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
In order to interpret unknown values along a type hypothesis, an additional xtriConvert operation is defined. It can be
used in all cases where the type of the incoming value is not known. Please note that typically the value type is known
in procedure-based communication and sometimes in message-based communication.
5.5.3.5 xtriConvert
Value xtriConvert(in any value, in Type typeHypothesis)
Signature
In Parameters value the value to be converted
typeHypothesis the type hypothesis
Out n.a.
Parameters
Return Value Returns the converted value, if the value is of a compatible type as the typeHypothesis, else the
distinct value null.
Constraints This operation shall be called whenever the TE has to convert a value. The TE might convert
immediately after reception of the value, or might for performance considerations postpone the
conversion until the actual access to the value.
Effect This operation converts a value and returns a value according to the type hypothesis if it matches.
The typeHypothesis determines whether the value can be converted. If not, the distinct null
value shall be returned.
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure
based communication operations
5.5.4.1 triCall xtriCall
TriStatusType xtriCall(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in TriSignatureIdType signatureId,
in TciParameterListType parameterList)
ETSI
---------------------- Page: 11 ----------------------
12 ETSI ES 202 789 V1.5.1 (2020-05)
In Parameters componentId identifier of the test component issuing the procedure call
tsiPortId identifier of the test system interface port via which the procedure call is
sent to the SUT Adaptor
SUTaddress (optional) destination address within the SUT
signatureId identifier of the signature of the procedure call
parameterList a list of parameters which are part of the indicated signature. The
parameters in parameterList are ordered as they appear in the TTCN-3
signature declaration
Out Parameters n.a.
Return Value The return status of the triCall operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 unicast call operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 call operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
The procedure parameters are the parameters specified in the TTCN-3 signature template.
Effect On invocation of this operation the SA can initiate the procedure call corresponding to the signature
identifier signatureId and the TSI port tsiPortId.
The triCall operation shall return without waiting for the return of the issued procedure call (see
note). This TRI operation returns TRI_OK on successful initiation of the procedure call, TRI_Error
otherwise. No error shall be indicated by the SA in case the value of any out parameter is non-null.
Notice that the return value of this TRI operation does not make any statement about the success
or failure of the procedure call.
Note that an optional timeout value, wh
...
Final draft ETSI ES 202 789 V1.5.1 (2020-02)
ETSI STANDARD
Methods for Testing and Specification (MTS);
The Testing and Test Control Notation version 3;
TTCN-3 Language Extensions: Extended TRI
---------------------- Page: 1 ----------------------
2 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
Reference
RES/MTS-202789ed151
Keywords
interface, testing, TTCN-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 enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
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 perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
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
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
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 authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
Contents
Intellectual Property Rights . 4
Foreword . 4
Modal verbs terminology . 4
1 Scope . 5
2 References . 5
2.1 Normative references . 5
2.2 Informative references . 6
3 Definition of terms, symbols and abbreviations . 6
3.1 Terms . 6
3.2 Symbols . 6
3.3 Abbreviations . 7
4 Package conformance and compatibility . 7
5 Package concepts for the core language . 7
6 Package semantics . 7
7 TRI extensions for the package . 8
7.0 Introduction . 8
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error handling . 8
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection handling operations . 9
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations. 9
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations . 11
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure based communication operations . 11
7.5A Addition to clause 5.5.5 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.6 Changes to clause 5.6.3 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.7 Changes to clause 6 of ETSI ES 201 873-5, Java language mapping . 19
7.8 Changes to clause 7 of ETSI ES 201 873-5, C language mapping . 22
7.9 Changes to clause 8 of ETSI ES 201 873-5, C++ language mapping . 24
7.10 Changes to clause 9 of ETSI ES 201 873-5, C# language mapping . 27
8 TCI extensions for the package . 28
Annex A (informative): Bibliography . 29
History . 30
ETSI
---------------------- Page: 3 ----------------------
4 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables 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); 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 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.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This final draft ETSI Standard (ES) has been produced by ETSI Technical Committee Methods for Testing and
Specification (MTS), and is now submitted for the ETSI standards Membership Approval Procedure.
The use of strike through (deleted text) highlights the differences between base document and extended
documents.
The present document relates to the multi-part standard ETSI ES 201 873 covering the Testing and Test Control
Notation version 3, as identified in ETSI ES 201 873-1 [1].
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 the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 4 ----------------------
5 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
1 Scope
The present document defines the Extended TRI package of TTCN-3. TTCN-3 can be used for the specification of all
types 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
CORBA based platforms, APIs, etc. TTCN-3 is not restricted to 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 additional TTCN-3 concepts, which are not mandatory as concepts in the
TTCN-3 core language or in its interfaces TRI and TCI, but which are optional as part of a package which is suited for
dedicated applications and/or usages of TTCN-3.
This package defines a more efficient handling of software values by a version of TRI, that does not use binary encoded
messages for the communication with the SUT, but uses the values as they are; meaning e.g. that software objects or
serialized data can be passed directly between the SUT and the TE.
While the design of TTCN-3 package has taken into account the consistency of a combined usage 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 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 any amendments) applies.
Referenced documents which are not found to be publicly available in the expected location 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 201 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 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 (TCI)".
[5] Recommendation ITU-T X.290: "OSI conformance testing methodology and framework for
protocol Recommendations for ITU-T applications - General concepts".
NOTE: The corresponding ISO/IEC standard is ISO/IEC 9646-1: "Information technology -- Open Systems
Interconnection -- Conformance testing methodology and framework -- Part 1: General concepts".
ETSI
---------------------- Page: 5 ----------------------
6 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
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 any 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 particular subject area.
[i.1] Void.
[i.2] Void.
[i.3] 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".
[i.4] ETSI ES 201 873-8: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; Part 8: The IDL to TTCN-3 Mapping".
[i.5] 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.6] ETSI ES 201 873-10: "Methods for Testing and Specification (MTS); The Testing and Test
Control Notation version 3; Part 10: TTCN-3 Documentation Comment Specification".
[i.7] 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.8] ETSI ES 202 784: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Advanced Parameterization".
[i.9] 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.10] 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.11] ETSI ES 202 786: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals".
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the terms given in ETSI ES 201 873-1 [1], ETSI ES 201 873-4 [2], ETSI
ES 201 873-5 [3], ETSI ES 201 873-6 [4] and Recommendation ITU-T X.290 [5] apply.
3.2 Symbols
Void.
ETSI
---------------------- Page: 6 ----------------------
7 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
3.3 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], ETSI ES 201 873-6 [4], Recommendation ITU-T X.290 [5] and the following apply:
XTRI eXtended TRI
4 Package conformance and compatibility
The package has no package tag as the choice to use TRI and/or XTRI affects the test adaptor only, but not the test
specifications in TTCN-3.
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 present document, 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] (V4.5.1)
ETSI ES 201 873-4 [2] (V4.4.1)
ETSI ES 201 873-6 [4] (V4.5.1)
ETSI ES 201 873-7 [i.3] (V4.5.1)
ETSI ES 201 873-8 [i.4] (V4.5.1)
ETSI ES 201 873-9 [i.5] (V4.5.1)
ETSI ES 201 873-10 [i.6] (V4.5.1)
If later versions of those parts are available and should be used instead, the compatibility of the package defined in the
present document has to be checked individually.
The package defined in the present document is also compatible to:
ETSI ES 202 784 [i.8] (V1.3.1)
ETSI ES 202 781 [i.7] (V1.2.1)
ETSI ES 202 782 [i.10] (V1.2.1)
ETSI ES 202 785 [i.9] (V1.3.1)
ETSI ES 202 786 [i.11] (V1.2.1)
and can be used together with those packages.
If later versions of those packages are available and should be used instead, the compatibility to the package defined in
the present document has to be checked individually.
5 Package concepts for the core language
Not applicable.
6 Package semantics
Not applicable.
ETSI
---------------------- Page: 7 ----------------------
8 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
7 TRI extensions for the package
7.0 Introduction
Historically, TTCN has been used to test communication protocols which typically use encoded messages. This has
been reflected in the TRI SA and TCI CD design of TTCN-3 by encoding and decoding messages to and from
bitstrings. However, TTCN-3 also supports signature-based communication for which the transformation of objects into
bitstrings and vice versa is cumbersome. Furthermore, some protocols use also structured messages for which the
bitstring encoding is not helpful.
Therefore, an alternative API is being defined in this extension package of TTCN-3 along which TTCN-3 values can be
directly passed to/from the SUT. It is defined by redefining the operations in TRI SA and PA as follows.
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error
handling
The SA or PA can in addition provide notifications about unrecoverable error situations by use of the operations
xtriSAErrorReq and xtriPAErrorReq, respectively.
5.2.1 triSAErrorReq xtriSAErrorReq
void xtriSAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
void
Return Value
Constraint Shall be called whenever an error situation has occurred in the SA with the exception of errors
occurring when processing SA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the SA and may forward
the error indication to the test management.
5.2.2 triPAErrorReq xtriPAErrorReq
void xtriPAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
Void
Return Value
Constraint Shall be called whenever an error situation has occurred in the PA with the exception of errors
occurring when processing PA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the PA and may forward
the error indication to the test management.
ETSI
---------------------- Page: 8 ----------------------
9 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection
handling operations
5.5.2.3 triMapParam xtriMapParam
TriStatusType xtriMap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be mapped
tsiPortId identifier of the test system interface port to be mapped
paramList parameters of the parameterized map
Out Parameters n.a.
Return Value The return status of the triMap operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 map operation.
Effect The SA can establish a dynamic connection to the SUT for the referenced TSI port.
The triMap operation returns TRI_Error in case a connection could not be established
successfully, TRI_OK otherwise. The operation should return TRI_OK in case no dynamic
connection needs to be established by the test system.
xtriUnmapParam
5.5.2.5 triUnmapParam
TriStatusType xtriUnmap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be unmapped
tsiPortId identifier of the test system interface port to be unmapped
paramList parameters of the parameterized map
Out n.a.
Parameters
Return Value The return status of the triUnmap operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes any TTCN-3 unmap operation.
Effect The SA shall close a dynamic connection to the SUT for the referenced TSI port.
The triUnmap operation returns TRI_Error in case a connection could not be closed successfully
or no such connection has been established previously, TRI_OK otherwise. The operation should
return TRI_OK in case no dynamic connections have to be closed by the test system.
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
5.5.3.1 triSend xtriSend
TriStatusType xtriSend(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddress (optional) destination address value within the SUT
sendMessage the value to be sent
Out n.a.
Parameters
ETSI
---------------------- Page: 9 ----------------------
10 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
Return Value The return status of the triSend operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 unicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can send the message to the SUT.
The triSend operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.2 triSendBC xtriSendBC
TriStatusType xtriSendBC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
sendMessage the value to be sent
Out n.a.
Parameters
Return Value The return status of the triSendBC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 broadcast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can broadcast the message to the SUT.
The triSendBC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.3 triSendMC xtriSendMC
TriStatusType xtriSendMC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in TciValueList SUTaddresses,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddresses destination address values within the SUT
sendMessage the values to be sent
Out n.a.
Parameters
Return Value The return status of the triSendMC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 multicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can multicast the message to the SUT.
The triSendMC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
ETSI
---------------------- Page: 10 ----------------------
11 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
5.5.3.4 triEnqueueMsg xtriEnqueueMsg
void xtriEnqueueMsg(in TriPortIdType tsiPortId,
Signature
in any SUTaddress,
in TriComponentIdType componentId,
in any receivedMessage)
In Parameters tsiPortId identifier of the test system interface port via which the message is enqueued
by the SUT Adaptor
SUTaddress (optional) source address value within the SUT
componentId identifier of the receiving test component
receivedMessage the received value
Out n.a.
Parameters
Return Value void
Constraints This operation is called by the SA after it has received a message from the SUT. It can only be used
when tsiPortId has been either previously mapped to a port of componentId or has been referenced
in the previous triExecuteTestCase statement.
Effect This operation shall pass the message to the TE indicating the component componentId to which the
TSI port tsiPortId is mapped.
The decoding of receivedMessage has to be done in the TE.
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
In order to interpret unknown values along a type hypothesis, an additional xtriConvert operation is defined. It can be
used in all cases where the type of the incoming value is not known. Please note that typically the value type is known
in procedure-based communication and sometimes in message-based communication.
5.5.3.5 xtriConvert
Value xtriConvert(in any value, in Type typeHypothesis)
Signature
In Parameters value the value to be converted
typeHypothesis the type hypothesis
Out n.a.
Parameters
Return Value Returns the converted value, if the value is of a compatible type as the typeHypothesis, else the
distinct value null.
Constraints This operation shall be called whenever the TE has to convert a value. The TE might convert
immediately after reception of the value, or might for performance considerations postpone the
conversion until the actual access to the value.
Effect This operation converts a value and returns a value according to the type hypothesis if it matches.
The typeHypothesis determines whether the value can be converted. If not, the distinct null
value shall be returned.
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure
based communication operations
5.5.4.1 triCall xtriCall
TriStatusType xtriCall(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in TriSignatureIdType signatureId,
in TciParameterListType parameterList)
ETSI
---------------------- Page: 11 ----------------------
12 Final draft ETSI ES 202 789 V1.5.1 (2020-02)
In Parameters componentId identifier of the test component issuing the procedure call
tsiPortId identifier of the test system interface port via which the procedure call is
sent to the SUT Adaptor
SUTaddress (optional) destination address within the SUT
signatureId identifier of the signature of the procedure call
parameterList a list of parameters which are part of the indicated signature. The
parameters in parameterList are ordered as they appear in the TTCN-3
signature declaration
Out Parameters n.a.
Return Value The return status of the triCall operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 unicast call operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 call operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
The procedure parameters are the parameters specified in the TTCN-3 signature template.
Effect On invocation of this operation the SA can initiate the procedure call corresponding to the signature
identifier signatureId and the TSI port tsiPortId.
The triCall operation shall return without waiting for the return of the issued procedure call (see
note). This TRI operation returns TRI_OK on successful initiation of the procedure call, TRI_Error
otherwise. No error shall be indicated by the
...
SLOVENSKI STANDARD
SIST ES 202 789 V1.5.1:2020
01-julij-2020
Metode za preskušanje in specificiranje (MTS) - 3. različica zapisa preskušanja in
krmiljenja preskusov - Razširitev nabora jezikov TTCN-3: razširjeni TRI
Methods for Testing and Specification (MTS) - The Testing and Test Control Notation
version 3 - TTCN-3 Language Extensions: Extended TRI
Ta slovenski standard je istoveten z: ETSI ES 202 789 V1.5.1 (2020-05)
ICS:
33.040.01 Telekomunikacijski sistemi na Telecommunication systems
splošno in general
SIST ES 202 789 V1.5.1:2020 en
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
---------------------- Page: 1 ----------------------
SIST ES 202 789 V1.5.1:2020
---------------------- Page: 2 ----------------------
SIST ES 202 789 V1.5.1:2020
ETSI ES 202 789 V1.5.1 (2020-05)
ETSI STANDARD
Methods for Testing and Specification (MTS);
The Testing and Test Control Notation version 3;
TTCN-3 Language Extensions: Extended TRI
---------------------- Page: 3 ----------------------
SIST ES 202 789 V1.5.1:2020
2 ETSI ES 202 789 V1.5.1 (2020-05)
Reference
RES/MTS-202789ed151
Keywords
interface, testing, TTCN-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 enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
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 perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
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
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
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 authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 4 ----------------------
SIST ES 202 789 V1.5.1:2020
3 ETSI ES 202 789 V1.5.1 (2020-05)
Contents
Intellectual Property Rights . 4
Foreword . 4
Modal verbs terminology . 4
1 Scope . 5
2 References . 5
2.1 Normative references . 5
2.2 Informative references . 6
3 Definition of terms, symbols and abbreviations . 6
3.1 Terms . 6
3.2 Symbols . 6
3.3 Abbreviations . 7
4 Package conformance and compatibility . 7
5 Package concepts for the core language . 7
6 Package semantics . 7
7 TRI extensions for the package . 8
7.0 Introduction . 8
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error handling . 8
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection handling operations . 9
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations. 9
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message based communication operations . 11
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure based communication operations . 11
7.5A Addition to clause 5.5.5 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.6 Changes to clause 5.6.3 of ETSI ES 201 873-5, Miscellaneous operations . 18
7.7 Changes to clause 6 of ETSI ES 201 873-5, Java language mapping . 19
7.8 Changes to clause 7 of ETSI ES 201 873-5, C language mapping . 22
7.9 Changes to clause 8 of ETSI ES 201 873-5, C++ language mapping . 24
7.10 Changes to clause 9 of ETSI ES 201 873-5, C# language mapping . 27
8 TCI extensions for the package . 28
Annex A (informative): Bibliography . 29
History . 30
ETSI
---------------------- Page: 5 ----------------------
SIST ES 202 789 V1.5.1:2020
4 ETSI ES 202 789 V1.5.1 (2020-05)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables 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); 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 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.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This ETSI Standard (ES) has been produced by ETSI Technical Committee Methods for Testing and Specification
(MTS).
The use of strike through (deleted text) highlights the differences between base document and extended
documents.
The present document relates to the multi-part standard ETSI ES 201 873 covering the Testing and Test Control
Notation version 3, as identified in ETSI ES 201 873-1 [1].
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 the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
ETSI
---------------------- Page: 6 ----------------------
SIST ES 202 789 V1.5.1:2020
5 ETSI ES 202 789 V1.5.1 (2020-05)
1 Scope
The present document defines the Extended TRI package of TTCN-3. TTCN-3 can be used for the specification of all
types 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
CORBA based platforms, APIs, etc. TTCN-3 is not restricted to 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 additional TTCN-3 concepts, which are not mandatory as concepts in the
TTCN-3 core language or in its interfaces TRI and TCI, but which are optional as part of a package which is suited for
dedicated applications and/or usages of TTCN-3.
This package defines a more efficient handling of software values by a version of TRI, that does not use binary encoded
messages for the communication with the SUT, but uses the values as they are; meaning e.g. that software objects or
serialized data can be passed directly between the SUT and the TE.
While the design of TTCN-3 package has taken into account the consistency of a combined usage 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 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 any amendments) applies.
Referenced documents which are not found to be publicly available in the expected location 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 201 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 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 (TCI)".
[5] Recommendation ITU-T X.290: "OSI conformance testing methodology and framework for
protocol Recommendations for ITU-T applications - General concepts".
NOTE: The corresponding ISO/IEC standard is ISO/IEC 9646-1: "Information technology -- Open Systems
Interconnection -- Conformance testing methodology and framework -- Part 1: General concepts".
ETSI
---------------------- Page: 7 ----------------------
SIST ES 202 789 V1.5.1:2020
6 ETSI ES 202 789 V1.5.1 (2020-05)
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 any 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 particular subject area.
[i.1] Void.
[i.2] Void.
[i.3] 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".
[i.4] ETSI ES 201 873-8: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; Part 8: The IDL to TTCN-3 Mapping".
[i.5] 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.6] ETSI ES 201 873-10: "Methods for Testing and Specification (MTS); The Testing and Test
Control Notation version 3; Part 10: TTCN-3 Documentation Comment Specification".
[i.7] 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.8] ETSI ES 202 784: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Advanced Parameterization".
[i.9] 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.10] 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.11] ETSI ES 202 786: "Methods for Testing and Specification (MTS); The Testing and Test Control
Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals".
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the terms given in ETSI ES 201 873-1 [1], ETSI ES 201 873-4 [2], ETSI
ES 201 873-5 [3], ETSI ES 201 873-6 [4] and Recommendation ITU-T X.290 [5] apply.
3.2 Symbols
Void.
ETSI
---------------------- Page: 8 ----------------------
SIST ES 202 789 V1.5.1:2020
7 ETSI ES 202 789 V1.5.1 (2020-05)
3.3 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], ETSI ES 201 873-6 [4], Recommendation ITU-T X.290 [5] and the following apply:
XTRI eXtended TRI
4 Package conformance and compatibility
The package has no package tag as the choice to use TRI and/or XTRI affects the test adaptor only, but not the test
specifications in TTCN-3.
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 present document, 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] (V4.5.1)
ETSI ES 201 873-4 [2] (V4.4.1)
ETSI ES 201 873-6 [4] (V4.5.1)
ETSI ES 201 873-7 [i.3] (V4.5.1)
ETSI ES 201 873-8 [i.4] (V4.5.1)
ETSI ES 201 873-9 [i.5] (V4.5.1)
ETSI ES 201 873-10 [i.6] (V4.5.1)
If later versions of those parts are available and should be used instead, the compatibility of the package defined in the
present document has to be checked individually.
The package defined in the present document is also compatible to:
ETSI ES 202 784 [i.8] (V1.3.1)
ETSI ES 202 781 [i.7] (V1.2.1)
ETSI ES 202 782 [i.10] (V1.2.1)
ETSI ES 202 785 [i.9] (V1.3.1)
ETSI ES 202 786 [i.11] (V1.2.1)
and can be used together with those packages.
If later versions of those packages are available and should be used instead, the compatibility to the package defined in
the present document has to be checked individually.
5 Package concepts for the core language
Not applicable.
6 Package semantics
Not applicable.
ETSI
---------------------- Page: 9 ----------------------
SIST ES 202 789 V1.5.1:2020
8 ETSI ES 202 789 V1.5.1 (2020-05)
7 TRI extensions for the package
7.0 Introduction
Historically, TTCN has been used to test communication protocols which typically use encoded messages. This has
been reflected in the TRI SA and TCI CD design of TTCN-3 by encoding and decoding messages to and from
bitstrings. However, TTCN-3 also supports signature-based communication for which the transformation of objects into
bitstrings and vice versa is cumbersome. Furthermore, some protocols use also structured messages for which the
bitstring encoding is not helpful.
Therefore, an alternative API is being defined in this extension package of TTCN-3 along which TTCN-3 values can be
directly passed to/from the SUT. It is defined by redefining the operations in TRI SA and PA as follows.
7.1 Changes to clause 5.2 of ETSI ES 201 873-5, Error
handling
The SA or PA can in addition provide notifications about unrecoverable error situations by use of the operations
xtriSAErrorReq and xtriPAErrorReq, respectively.
5.2.1 triSAErrorReq xtriSAErrorReq
void xtriSAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
void
Return Value
Constraint Shall be called whenever an error situation has occurred in the SA with the exception of errors
occurring when processing SA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the SA and may forward
the error indication to the test management.
5.2.2 triPAErrorReq xtriPAErrorReq
void xtriPAErrorReq(in string message, in any cause)
Signature
In Parameters message A string value, i.e. the error phrase describing the problem.
cause (Optional) cause of the problem.
Void
Return Value
Constraint Shall be called whenever an error situation has occurred in the PA with the exception of errors
occurring when processing PA calls initiated by the TE. These errors are reported in the
operation return. The optional cause parameter can be used to provide information in addition
to the error phrase in message.
Effect The TE will be notified about an unrecoverable error situation within the PA and may forward
the error indication to the test management.
ETSI
---------------------- Page: 10 ----------------------
SIST ES 202 789 V1.5.1:2020
9 ETSI ES 202 789 V1.5.1 (2020-05)
7.2 Changes to clause 5.5.2 of ETSI ES 201 873-5, Connection
handling operations
5.5.2.3 triMapParam xtriMapParam
TriStatusType xtriMap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be mapped
tsiPortId identifier of the test system interface port to be mapped
paramList parameters of the parameterized map
Out Parameters n.a.
Return Value The return status of the triMap operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 map operation.
Effect The SA can establish a dynamic connection to the SUT for the referenced TSI port.
The triMap operation returns TRI_Error in case a connection could not be established
successfully, TRI_OK otherwise. The operation should return TRI_OK in case no dynamic
connection needs to be established by the test system.
xtriUnmapParam
5.5.2.5 triUnmapParam
TriStatusType xtriUnmap(in TriPortIdType compPortId,
Signature
in TriPortIdType tsiPortId,
in TciParameterListType paramList)
In Parameters compPortId identifier of the test component port to be unmapped
tsiPortId identifier of the test system interface port to be unmapped
paramList parameters of the parameterized map
Out n.a.
Parameters
Return Value The return status of the triUnmap operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes any TTCN-3 unmap operation.
Effect The SA shall close a dynamic connection to the SUT for the referenced TSI port.
The triUnmap operation returns TRI_Error in case a connection could not be closed successfully
or no such connection has been established previously, TRI_OK otherwise. The operation should
return TRI_OK in case no dynamic connections have to be closed by the test system.
7.3 Changes to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
5.5.3.1 triSend xtriSend
TriStatusType xtriSend(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddress (optional) destination address value within the SUT
sendMessage the value to be sent
Out n.a.
Parameters
Return Value The return status of the triSend operation. The return status indicates the local success (TRI_OK)
or failure (TRI_Error) of the operation.
ETSI
---------------------- Page: 11 ----------------------
SIST ES 202 789 V1.5.1:2020
10 ETSI ES 202 789 V1.5.1 (2020-05)
Constraints This operation is called by the TE when it executes a TTCN-3 unicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can send the message to the SUT.
The triSend operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.2 triSendBC xtriSendBC
TriStatusType xtriSendBC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
sendMessage the value to be sent
Out n.a.
Parameters
Return Value The return status of the triSendBC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 broadcast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can broadcast the message to the SUT.
The triSendBC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
5.5.3.3 triSendMC xtriSendMC
TriStatusType xtriSendMC(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in TciValueList SUTaddresses,
in Value sendMessage)
In Parameters componentId identifier of the sending test component
tsiPortId identifier of the test system interface port via which the message is sent to the
SUT Adaptor
SUTaddresses destination address values within the SUT
sendMessage the values to be sent
Out n.a.
Parameters
Return Value The return status of the triSendMC operation. The return status indicates the local success
(TRI_OK) or failure (TRI_Error) of the operation.
Constraints This operation is called by the TE when it executes a TTCN-3 multicast send operation on a
component port, which has been mapped to a TSI port. This operation is called by the TE for all
TTCN-3 send operations if no system component has been specified for a test case, i.e. only a MTC
test component is created for a test case.
Effect The SA can multicast the message to the SUT.
The triSendMC operation returns TRI_OK in case it has been completed successfully. Otherwise
TRI_Error shall be returned. Notice that the return value TRI_OK does not imply that the SUT has
received sendMessage.
ETSI
---------------------- Page: 12 ----------------------
SIST ES 202 789 V1.5.1:2020
11 ETSI ES 202 789 V1.5.1 (2020-05)
5.5.3.4 triEnqueueMsg xtriEnqueueMsg
void xtriEnqueueMsg(in TriPortIdType tsiPortId,
Signature
in any SUTaddress,
in TriComponentIdType componentId,
in any receivedMessage)
In Parameters tsiPortId identifier of the test system interface port via which the message is enqueued
by the SUT Adaptor
SUTaddress (optional) source address value within the SUT
componentId identifier of the receiving test component
receivedMessage the received value
Out n.a.
Parameters
Return Value void
Constraints This operation is called by the SA after it has received a message from the SUT. It can only be used
when tsiPortId has been either previously mapped to a port of componentId or has been referenced
in the previous triExecuteTestCase statement.
Effect This operation shall pass the message to the TE indicating the component componentId to which the
TSI port tsiPortId is mapped.
The decoding of receivedMessage has to be done in the TE.
7.4 Addition to clause 5.5.3 of ETSI ES 201 873-5, Message
based communication operations
In order to interpret unknown values along a type hypothesis, an additional xtriConvert operation is defined. It can be
used in all cases where the type of the incoming value is not known. Please note that typically the value type is known
in procedure-based communication and sometimes in message-based communication.
5.5.3.5 xtriConvert
Value xtriConvert(in any value, in Type typeHypothesis)
Signature
In Parameters value the value to be converted
typeHypothesis the type hypothesis
Out n.a.
Parameters
Return Value Returns the converted value, if the value is of a compatible type as the typeHypothesis, else the
distinct value null.
Constraints This operation shall be called whenever the TE has to convert a value. The TE might convert
immediately after reception of the value, or might for performance considerations postpone the
conversion until the actual access to the value.
Effect This operation converts a value and returns a value according to the type hypothesis if it matches.
The typeHypothesis determines whether the value can be converted. If not, the distinct null
value shall be returned.
7.5 Changes to clause 5.5.4 of ETSI ES 201 873-5, Procedure
based communication operations
5.5.4.1 triCall xtriCall
TriStatusType xtriCall(in TriComponentIdType componentId,
Signature
in TriPortIdType tsiPortId,
in Value SUTaddress,
in TriSignatureIdType signatureId,
in TciParameterListType parameterList)
ETSI
---------------------- Page: 13 ----------------------
SIST ES 202 789 V1.5.1:2020
12 ETSI ES 202 789 V1.5.1 (2020-05)
In Parameters componentId identifier of the test component issuing the procedure call
tsiPortId identifier of the test system interface port via which the procedure call is
sent to the SUT Adaptor
SUTaddress (optional) destination address within the SUT
signatureId identifier of the signature of the procedure call
parameterList a list of parameters which are part of the indicated signature. The
parameters in parameterList are ordered as they appear in the TTCN-3
signature declaration
Out Parameters n.a.
Return Value The return status of the triCall opera
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.