RES/MTS-113ed121 T3Ext_Perf

Metode za preskušanje in specificiranje (MTS) - 3. različica preskušanja in zapisa krmilnih preskusov - Razširitev nabora jezikov TTCN-3: Zmogljivosti TTCN-3 in realnočasovno preskušanje

V tem dokumentu je opredeljen paket za podporo realnočasovnem preskušanju in preskušanju zmogljivosti TTCN-3. TTCN-3 je mogoče uporabiti za specifikacijo vseh vrst reaktivnih sistemskih preskusov v okviru različnih komunikacijskih vrat. Običajna področja uporabe so preskušanje protokolov (vključno z mobilnimi in internetnimi protokoli), preskušanje storitev (vključno z dopolnilnimi storitvami), preskušanje modulov, preskušanje platform na osnovi OMG CORBA, programski vmesniki (API) itd. TTCN-3 ni omejen na preskušanje skladnosti in se lahko uporabi za številne druge vrste preskušanja, vključno s preskušanjem interoperabilnosti, robustnosti, regresije, sistema in
integracije. Specifikacija preskuševalnih nizov za protokole fizične plasti ne spada na področje uporabe tega dokumenta.
Paketi TTCN-3 so namenjeni določitvi dodatnih pojmov TTCN-3, ki niso obvezni kot pojmi v temeljnem jeziku TTCN-3, ampak so izbirni kot del paketa, ki je primeren za namenske aplikacije in/ali načine uporabe jezika TTCN-3.
Zasnova paketa TTCN-3 upošteva skladnost kombinirane uporabe temeljnega jezika z več paketi, vendar pa dejanske uporabe tega paketa in smernice zanj v kombinaciji z drugimi paketi ne spadajo na področje uporabe tega dokumenta.

General Information

Status
Published
Publication Date
18-Jun-2014
Current Stage
12 - Completion
Due Date
30-Jun-2014
Completion Date
19-Jun-2014

Buy Standard

Standardization document
ES 202 782 V1.2.1:2016
English language
35 pages
world standards week 20% off
Preview
world standards week 20% off
Preview

e-Library read for
1 day
Standard
ETSI ES 202 782 V1.2.1 (2014-06) - 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
English language
35 pages
world standards week 25% off
Preview
world standards week 25% off
Preview
Standard
ETSI ES 202 782 V1.2.1 (2014-04) - 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
English language
35 pages
world standards week 25% off
Preview
world standards week 25% off
Preview

Standards Content (sample)

SLOVENSKI STANDARD
SIST ES 202 782 V1.2.1:2016
01-julij-2016

0HWRGH]DSUHVNXãDQMHLQVSHFLILFLUDQMH 076 UD]OLþLFDSUHVNXãDQMDLQ]DSLVD

NUPLOQLKSUHVNXVRY5D]ãLULWHYQDERUDMH]LNRY77&1=PRJOMLYRVWL77&1LQ
UHDOQRþDVRYQRSUHVNXãDQMH

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
Ta slovenski standard je istoveten z: ETSI ES 202 782 V1.2.1 (2014-06)
ICS:
35.060 Jeziki, ki se uporabljajo v Languages used in
informacijski tehniki in information technology
tehnologiji
SIST ES 202 782 V1.2.1:2016 en

2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

---------------------- Page: 1 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 2 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 3 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 4 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 5 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 6 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 7 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 8 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 9 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 10 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 11 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 12 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 13 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------------- Page: 14 ----------------------
SIST ES 202 782 V1.2.1:2016
---------------
...

ETSI ES 202 782 V1.2.1 (2014-06)
ETSI Standard
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
---------------------- Page: 1 ----------------------
2 ETSI ES 202 782 V1.2.1 (2014-06)
Reference
RES/MTS-113ed121 T3Ext_Perf
Keywords
performance, real time, 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

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 only prevailing document is the

print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat.

Users of the present document should be aware that the document may be subject to revision or change of status.

Information on the current status of this and other ETSI documents is available at

http://portal.etsi.org/tb/status/status.asp

If you find errors in the present document, please send your comment to one of the following services:

http://portal.etsi.org/chaircor/ETSI_support.asp
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.
© European Telecommunications Standards Institute 2014.
All rights reserved.
TM TM TM

DECT , PLUGTESTS , UMTS and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.

3GPP and LTE™ are Trade Marks of ETSI registered for the benefit of its Members and

of the 3GPP Organizational Partners.

GSM® and the GSM logo are Trade Marks registered and owned by the GSM Association.

ETSI
---------------------- Page: 2 ----------------------
3 ETSI ES 202 782 V1.2.1 (2014-06)
Contents

Intellectual Property Rights ................................................................................................................................ 5

Foreword ............................................................................................................................................................. 5

Modal verbs terminology .................................................................................................................................... 5

1 Scope ........................................................................................................................................................ 6

2 References ................................................................................................................................................ 6

2.1 Normative references ......................................................................................................................................... 6

2.2 Informative references ........................................................................................................................................ 6

3 Definitions and abbreviations ................................................................................................................... 7

3.1 Definitions .......................................................................................................................................................... 7

3.2 Abbreviations ..................................................................................................................................................... 7

4 Package conformance and compatibility .................................................................................................. 7

5 Package concepts for the core language ................................................................................................... 8

5.1 The test system clock ......................................................................................................................................... 8

5.1.1 Accessing the current test system time ......................................................................................................... 8

5.1.2 The precision of the system time .................................................................................................................. 9

5.2 Communication port types for real-time measurements ..................................................................................... 9

5.3 Measuring timing information for dedicated incoming communication events ................................................. 9

5.3.1 Obtain the reception time for messages with the receive statement ............................................................ 10

5.3.2 Obtain the reception time for messages with the trigger statement ............................................................ 10

5.3.3 Obtain the reception time for procedure calls with getcall statement ......................................................... 11

5.3.4 Obtain the reception time for procedure replies with the getreply statement .............................................. 11

5.3.5 Obtain the reception time for exceptions with the catch statement ............................................................. 12

5.4 The wait statement............................................................................................................................................ 12

5.5 Measuring timing information for outgoing communication operations .......................................................... 13

5.5.1 Obtain the sending time for messages with the send statement .................................................................. 13

5.5.2 Obtain the sending time for procedure calls with call statement ................................................................ 13

5.5.3 Obtain the sending time for procedure replies with the reply statement ..................................................... 14

5.5.4 Obtain the sending time for exceptions with the raise statement ................................................................ 14

6 TRI extensions for the package .............................................................................................................. 14

6.1 triStartClock (TE → PA) .................................................................................................................................. 14

6.2 triReadClock (TE → PA) ................................................................................................................................. 15

6.3 triBeginWait (TE → PA) ................................................................................................................................. 15

6.4 triEndWait (PA → TE) ..................................................................................................................................... 15

6.5 triWaitUntil (SA → PA) ................................................................................................................................... 16

6.6 Communication Operations .............................................................................................................................. 16

6.6.1 triSendRT (TE → SA) ................................................................................................................................ 16

6.6.2 triSendBCRT (TE → SA) ........................................................................................................................... 17

6.6.3 triSendMCRT (TE → SA) .......................................................................................................................... 17

6.6.4 triEnqueueMsgRT (SA → TE) ................................................................................................................... 18

6.6.5 triCallRT (TE → SA) ................................................................................................................................. 18

6.6.6 triCallBCRT (TE → SA) ............................................................................................................................ 19

6.6.7 triCallMCRT (TE → SA) ........................................................................................................................... 20

6.6.8 triReplyRT (TE → SA) ............................................................................................................................... 21

6.6.9 triReplyBCRT (TE → SA) ......................................................................................................................... 22

6.6.10 triReplyMCRT (TE → SA) ........................................................................................................................ 23

6.6.11 triRaiseRT (TE → SA) ............................................................................................................................... 24

6.6.12 triRaiseBCRT (TE → SA) .......................................................................................................................... 24

6.6.13 triRaiseMCRT (TE → SA) ......................................................................................................................... 25

6.6.14 triEnqueueCallRT (SA → TE) .................................................................................................................... 25

6.6.15 triEnqueueReplyRT (SA → TE) ................................................................................................................. 26

6.6.16 triEnqueueExceptionRT (SA → TE) .......................................................................................................... 26

ETSI
---------------------- Page: 3 ----------------------
4 ETSI ES 202 782 V1.2.1 (2014-06)

6.7 Definition of Interfaces .................................................................................................................................... 27

6.8 Changes for Java Language Mapping........................................................................................................... 27

6.8.1 Mapping of interface triCommunicationSART .......................................................................................... 27

6.8.2 Mapping of interface triCommunicationTERT ........................................................................................... 28

6.8.3 Mapping of interface triPlatformPART ...................................................................................................... 28

6.8.4 Mapping of interface triPlatformTE ........................................................................................................... 28

6.9 Changes for ANSI C Language Mapping ......................................................................................................... 29

6.10 Changes for C++ Language Mapping .............................................................................................................. 30

6.10.1 Mapping of interface triCommunicationSART .......................................................................................... 30

6.10.2 Mapping of interface triCommunicationTERT ........................................................................................... 31

6.10.3 Mapping of interface triPlatformPART ...................................................................................................... 32

6.10.4 Mapping of interface triPlatformTERT ...................................................................................................... 32

7 TCI extensions for the package .............................................................................................................. 32

Annex A (normative): BNF and static semantics .............................................................................. 33

A.1 Changed BNF Rules ............................................................................................................................... 33

A.2 New BNF Rules ..................................................................................................................................... 33

Annex B (informative): Bibliography ................................................................................................... 34

History .............................................................................................................................................................. 35

ETSI
---------------------- Page: 4 ----------------------
5 ETSI ES 202 782 V1.2.1 (2014-06)
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 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 (http://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.
Foreword

This ETSI Standard (ES) has been produced by ETSI Technical Committee Methods for Testing and Specification

(MTS).

The present document relates to the multi-part standard ES 201 873 covering the Testing and Test Control Notation

version 3, as identified below:
ES 201 873-1: "TTCN-3 Core Language";
ES 201 873-2: "TTCN-3 Tabular presentation Format (TFT)";
ES 201 873-3: "TTCN-3 Graphical presentation Format (GFT)";
ES 201 873-4: "TTCN-3 Operational Semantics";
ES 201 873-5: "TTCN-3 Runtime Interface (TRI)";
ES 201 873-6: "TTCN-3 Control Interface (TCI)";
ES 201 873-7: "Using ASN.1 with TTCN-3";
ES 201 873-8: "The IDL to TTCN-3 Mapping";
ES 201 873-9: "Using XML schema with TTCN-3";
ES 201 873-10: "TTCN-3 Documentation Comment Specification".
Modal verbs terminology

In the present document "shall", "shall not", "should", "should not", "may", "may not", "need", "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: 5 ----------------------
6 ETSI ES 202 782 V1.2.1 (2014-06)
1 Scope

The present document defines the real time and performance testing support 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 OMG 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, 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 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

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

reference document (including any amendments) applies.

Referenced documents which are not found to be publicly available in the expected location might be found at

http://docbox.etsi.org/Reference.

NOTE: While any hyperlinks included in this clause were valid at the time of publication ETSI cannot guarantee

their long term validity.
2.1 Normative references

The following referenced documents are necessary for the application of the present document.

[1] ETSI ES 201 873-1 (V4.6.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 (V4.4.1): "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 (V4.6.1): "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 (V4.6.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 6: TTCN-3 Control Interface (TCI)".

[5] ISO/IEC 9646-1: "Information technology - Open Systems Interconnection - Conformance testing

methodology and framework; Part 1: General concepts".
2.2 Informative references

The following referenced documents are not necessary for the application of the present document but they assist the

user with regard to a particular subject area.

[i.1] ETSI ES 201 873-3 (V3.2.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 3: TTCN-3 Graphical presentation Format (GFT)".

ETSI
---------------------- Page: 6 ----------------------
7 ETSI ES 202 782 V1.2.1 (2014-06)

[i.2] ETSI ES 201 873-7 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 7: Using ASN.1 with TTCN-3".

[i.3] ETSI ES 201 873-8 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 8: The IDL to TTCN-3 Mapping".

[i.4] ETSI ES 201 873-9 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 9: Using XML schema with TTCN-3".

[i.5] ETSI ES 201 873-10 (V4.5.1): "Methods for Testing and Specification (MTS); The 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 ES 201 873-1 [1], ES 201 873-4 [2],

ES 201 873-5 [3], ES 201 873-6 [4] and ISO/IEC 9646-1 [5] apply.
3.2 Abbreviations

For the purposes of the present document, the abbreviations given in ES 201 873-1 [1], ES 201 873-4 [2],

ES 201 873-5 [3], ES 201 873-6 [4] and ISO/IEC 9646-1 [5] apply.
4 Package conformance and compatibility
The package presented in the present document is identified by the package tag:

"TTCN-3:2014 Real Time and Performance Testing" - 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 present document and in ES 201 873-1 [1],

ES 201 873-4 [2], ES 201 873-5 [3] and ES 201 873-6 [4].
The package presented in the present document is compatible to:
ES 201 873-1 (V4.6.1) [1]
ES 201 873-4 (V4.4.1) [2]
ES 201 873-5 (V4.6.1) [3]
ES 201 873-6 (V4.6.1) [4]
ES 201 873-7 (V4.5.1) [i.2]
ES 201 873-8 (V4.5.1) [i.3]
ES 201 873-9 (V4.5.1) [i.4]
ES 201 873-10 (V4.5.1) [i.5]

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. The present document is also compatible with the versions V.4.2.1,

V.4.3.1, V.4.4.1, V.4.5.1 of the above documents.
ETSI
---------------------- Page: 7 ----------------------
8 ETSI ES 202 782 V1.2.1 (2014-06)
5 Package concepts for the core language

Real-time systems have to respect special requirements for timing. Often functional requirements are directly connected

to the timing of the messages and procedure calls. Thus, checking the message values and the message order is not

sufficient here. A test component shall be able to check whether a message has been received in time and shall be able

to control the timing for the stimulation.

Thus, a test language has to provide means to measure time, to specify time points and time spans, to control the timing

of the stimulation, and to calculate and compare time values. Moreover the test execution engine has to ensure that the

specified actions (time measurement, timed stimulation) are executed correctly with respect to the required precision.

To fulfil the requirements for testing real time system we define the following TTCN-3 core language extensions:

• A test system wide available test system clock, that allows the measurement of time during test case execution.

• Means to directly and precisely access the time points of the relevant interaction events between the test

system and the system under test.

Real-time measurements at ports require additional resources (e.g. functionality that monitor ports and collect

timestamps that describe the reception time of messages, calls, replies or exceptions) that may slow down the test

execution. In order to avoid unnecessary delays at ports, such resources may only be provided when needed. An

additional real-time clause for ports shall indicate the need for real-time measurement at a port.

5.1 The test system clock

In RT TTCN-3 time progress is measured with a test system clock. The clock is initialized (set to 0.0) at the beginning

of each test case execution and is available during the complete test run in each component. The clock values are

represented as float values. The system clock and the already available TTCN-3 timer mechanisms are synchronized

with respect to time progress.
5.1.1 Accessing the current test system time

The current value of the test system clock by means of the symbol now. The now symbol is used as a TTCN-3

expression that yields the current test system clock value in seconds. The test system clock value is represented by

means of a float number. The symbol now can be applied in each expression inside of testcase definitions and

function definitions. It is not allowed for the TTCN-3 control part and in guard conditions of alt branches.

EXAMPLE 1:
// Use of now to retrieve the actual time
var float myTimePoint := now;
EXAMPLE 2:
// Use of now to retrieve the send time of a message
var float sendTimePoint;
// ...
p.send(m);
sendTimePoint:= now;
EXAMPLE 3:
// Measuring time progress
var float startTime;
startTime:= now;
p.send(m1);
// ...
p.receive(m2);
if(now-startTime >= 10.0){...};
Syntactical Structure
OpCall ::= ConfigurationOps | VerdictOps | TimerOps | TestcaseInstance |

FunctionInstance | TemplateOps | ActivateOp | NowOperation

NowOperation ::= NowKeyword
NowKeyword ::= "now"
ETSI
---------------------- Page: 8 ----------------------
9 ETSI ES 202 782 V1.2.1 (2014-06)
5.1.2 The precision of the system time

The requirements on the overall precision of the test system clock can be specified by means of the stepsize annotation.

The stepsize annotation is allowed for modules only and can be used to state the minimal necessary precision for time

measurement provided by the test system clock. The precision is defined by means of a charstring value that represents

a decimal number which states the smallest necessary time distance in seconds that is measureable by the test system

clock. A concrete test system has to fulfil the requirements given by the stepsize annotation to be adequate for the

execution of the respective test case definitions. When a test system is not adequate for the test case execution the user

shall be informed, at least test run shall end with an error verdict.
EXAMPLE:
// specifies the requirement on a necessary precision of a millisecond
module myModule{
} with {stepsize “0.001”};

In case of module imports with different stepsize annotation the test system has to respect the stepsize annotation with

the highest precision.
5.2 Communication port types for real-time measurements

This package extends the port type definition of message-based and procedure-based ports with a realtime clause.

Ports facilitate communication between test components and between test components and the test system interface.

Only instances of ports with a realtime clause shall be used for real-time measurements. This means, the redirection

operator -> timestamp shall only be used by receiving operations (i.e. the operations receive, trigger,

getcall, getreply and catch) applied to ports with a realtime clause.
Syntactical Structure
Message-based port:
type port PortTypeIdentifier message [realtime] "{"
{ ( in | out | inout ) { MessageType [ "," ] }+ ";" }
"}"
Procedure-based port:
type port PortTypeIdentifier procedure [realtime] "{"
{ ( in | out | inout ) { Signature [ "," ] }+ ";" }
"}"
5.3 Measuring timing information for dedicated incoming
communication events

Testing real time systems requires exact timing information that relates directly to the communication (reception and

distribution of messages and procedure calls) between the test system and the system under test. The timing information

that can be obtained by the now symbol or the TTCN-3 timer construct is related to the logical structure of the test

program, thus it allows the measurement on TTCN-3 statement level. Time measurement on TTCN-3 statement level

may be affected by blocked queues, decoding and matching procedures. It is not exact with respect to the real timing of

the reception and disposal of messages and procedure calls at the interface between the test system and the SUT.

RT TTCN-3 introduces a mechanism to store the arrival time of messages, procedure calls at system adapter level. The

time points of message reception are automatically registered by the system adapter, communicated to the test

executable and stored with the message. The timing information can be retrieved directly at the communication

statements by means of the redirection operator -> timestamp .
ETSI
---------------------- Page: 9 ----------------------
10 ETSI ES 202 782 V1.2.1 (2014-06)

The existing redirections for getcall, getreply, receive, trigger, catch, and check operations are extended by an optional

clause timestamp. A redirect specification of the form:
-> timestamp VariableRef

specifies the redirection of the time point, which has been measured at message, procedure call, reply or exception

arrival to a given float variable. The redirection is processed when the respective communication statement matches.

Restrictions

The redirection operator -> timestamp shall only be used by receiving operations (i.e. the operations receive,

trigger, getcall, getreply and catch) applied to ports with a realtime clause.
5.3.1 Obtain the reception time for messages with the receive statement

The existing redirections for receive are extended by an optional clause "timestamp VariableRef". A receive statement

that holds a timestamp clause and that is executed successfully (i.e. it matches a message) allocates the given variable

with the reception time of the matched message.
EXAMPLE 1:
p.receive(t)-> timestamp myTime;
// yields the reception time of a message
if(myTime>MAX){setverdict(fail);}
EXAMPLE 2:
interleave{
[ ] FrontOut.receive(ON) -> timestamp f_actv{
if(f_actv>MAX){setverdict(fail);}
};
[ ] RearOut.receive(ON) -> timestamp r_actv{
if(r_actv>MAX){setverdict(fail);}
};
}
Syntactical Structure
( Port | any port ) "." receive ["(" TemplateInstance ")"] [ from AddressRef ]
[ -> [ value VariableRef ] [ sender VariableRef ] [ timestamp VariableRef] ]
5.3.2 Obtain the reception time for messages with the trigger statement

The existing redirections for trigger are extended by an optional clause "timestamp VariableRef". A trigger statement

that holds a timestamp clause and that is executed successfully (i.e. it matches a message) allocates the given variable

with the reception time of the matched message.
EXAMPLE 1:
p.trigger(t)-> timestamp myTime;
// yields the reception time of a message
if(myTime>MAX){setverdict(fail);}
EXAMPLE 2:
interleave{
[ ] FrontOut.trigger(ON) -> timestamp f_actv{
if(f_actv>MAX){setverdict(fail);}
};
[ ] RearOut.trigger(ON) -> timestamp r_actv{
if(r_actv>MAX){setverdict(fail);}
};
}
ETSI
---------------------- Page: 10 ----------------------
11 ETSI ES 202 782 V1.2.1 (2014-06)
Syntactical Structure
( Port | any port ) "." trigger [ "(" TemplateInstance ")" ] [ from AddressR
...

Final draft ETSI ES 202 782 V1.2.1 (2014-04)
ETSI Standard
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
---------------------- Page: 1 ----------------------
2 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
Reference
RES/MTS-113ed121 T3Ext_Perf
Keywords
performance, real time, 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

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 only prevailing document is the

print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat.

Users of the present document should be aware that the document may be subject to revision or change of status.

Information on the current status of this and other ETSI documents is available at

http://portal.etsi.org/tb/status/status.asp

If you find errors in the present document, please send your comment to one of the following services:

http://portal.etsi.org/chaircor/ETSI_support.asp
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.
© European Telecommunications Standards Institute 2014.
All rights reserved.
TM TM TM

DECT , PLUGTESTS , UMTS and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.

3GPP and LTE™ are Trade Marks of ETSI registered for the benefit of its Members and

of the 3GPP Organizational Partners.

GSM® and the GSM logo are Trade Marks registered and owned by the GSM Association.

ETSI
---------------------- Page: 2 ----------------------
3 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
Contents

Intellectual Property Rights ................................................................................................................................ 5

Foreword ............................................................................................................................................................. 5

1 Scope ........................................................................................................................................................ 6

2 References ................................................................................................................................................ 6

2.1 Normative references ......................................................................................................................................... 6

2.2 Informative references ........................................................................................................................................ 6

3 Definitions and abbreviations ................................................................................................................... 7

3.1 Definitions .......................................................................................................................................................... 7

3.2 Abbreviations ..................................................................................................................................................... 7

4 Package conformance and compatibility .................................................................................................. 7

5 Package concepts for the core language ................................................................................................... 8

5.1 The test system clock ......................................................................................................................................... 8

5.1.1 Accessing the current test system time ......................................................................................................... 8

5.1.2 The precision of the system time .................................................................................................................. 9

5.2 Communication port types for real-time measurements ..................................................................................... 9

5.3 Measuring timing information for dedicated incoming communication events ................................................. 9

5.3.1 Obtain the reception time for messages with the receive statement ............................................................ 10

5.3.2 Obtain the reception time for messages with the trigger statement ............................................................ 10

5.3.3 Obtain the reception time for procedure calls with getcall statement ......................................................... 11

5.3.4 Obtain the reception time for procedure replies with the getreply statement .............................................. 11

5.3.5 Obtain the reception time for exceptions with the catch statement ............................................................. 12

5.4 The wait statement............................................................................................................................................ 12

5.5 Measuring timing information for outgoing communication operations .......................................................... 13

5.5.1 Obtain the sending time for messages with the send statement .................................................................. 13

5.5.2 Obtain the sending time for procedure calls with call statement ................................................................ 13

5.5.3 Obtain the sending time for procedure replies with the reply statement ..................................................... 14

5.5.4 Obtain the sending time for exceptions with the raise statement ................................................................ 14

6 TRI extensions for the package .............................................................................................................. 14

6.1 triStartClock (TE → PA) .................................................................................................................................. 14

6.2 triReadClock (TE → PA) ................................................................................................................................. 15

6.3 triBeginWait (TE → PA) ................................................................................................................................. 15

6.4 triEndWait (PA → TE) ..................................................................................................................................... 15

6.5 triWaitUntil (SA → PA) ................................................................................................................................... 16

6.6 Communication Operations .............................................................................................................................. 16

6.6.1 triSendRT (TE → SA) ................................................................................................................................ 16

6.6.2 triSendBCRT (TE → SA) ........................................................................................................................... 17

6.6.3 triSendMCRT (TE → SA) .......................................................................................................................... 17

6.6.4 triEnqueueMsgRT (SA → TE) ................................................................................................................... 18

6.6.5 triCallRT (TE → SA) ................................................................................................................................. 18

6.6.6 triCallBCRT (TE → SA) ............................................................................................................................ 19

6.6.7 triCallMCRT (TE → SA) ........................................................................................................................... 20

6.6.8 triReplyRT (TE → SA) ............................................................................................................................... 21

6.6.9 triReplyBCRT (TE → SA) ......................................................................................................................... 22

6.6.10 triReplyMCRT (TE → SA) ........................................................................................................................ 23

6.6.11 triRaiseRT (TE → SA) ............................................................................................................................... 24

6.6.12 triRaiseBCRT (TE → SA) .......................................................................................................................... 24

6.6.13 triRaiseMCRT (TE → SA) ......................................................................................................................... 25

6.6.14 triEnqueueCallRT (SA → TE) .................................................................................................................... 25

6.6.15 triEnqueueReplyRT (SA → TE) ................................................................................................................. 26

6.6.16 triEnqueueExceptionRT (SA → TE) .......................................................................................................... 26

6.7 Definition of Interfaces .................................................................................................................................... 27

6.8 Changes for Java Language Mapping........................................................................................................... 27

ETSI
---------------------- Page: 3 ----------------------
4 Final draft ETSI ES 202 782 V1.2.1 (2014-04)

6.8.1 Mapping of interface triCommunicationSART .......................................................................................... 27

6.8.2 Mapping of interface triCommunicationTERT ........................................................................................... 28

6.8.3 Mapping of interface triPlatformPART ...................................................................................................... 28

6.8.4 Mapping of interface triPlatformTE ........................................................................................................... 28

6.9 Changes for ANSI C Language Mapping ......................................................................................................... 29

6.10 Changes for C++ Language Mapping .............................................................................................................. 30

6.10.1 Mapping of interface triCommunicationSART .......................................................................................... 30

6.10.2 Mapping of interface triCommunicationTERT ........................................................................................... 31

6.10.3 Mapping of interface triPlatformPART ...................................................................................................... 32

6.10.4 Mapping of interface triPlatformTERT ...................................................................................................... 32

7 TCI extensions for the package .............................................................................................................. 32

Annex A (normative): BNF and static semantics .............................................................................. 33

A.1 Changed BNF Rules ............................................................................................................................... 33

A.2 New BNF Rules ..................................................................................................................................... 33

Annex B (informative): Bibliography ................................................................................................... 34

History .............................................................................................................................................................. 35

ETSI
---------------------- Page: 4 ----------------------
5 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
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 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 (http://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.
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 present document relates to the multi-part standard ES 201 873 covering the Testing and Test Control Notation

version 3, as identified below:
ES 201 873-1: "TTCN-3 Core Language";
ES 201 873-2: "TTCN-3 Tabular presentation Format (TFT)";
ES 201 873-3: "TTCN-3 Graphical presentation Format (GFT)";
ES 201 873-4: "TTCN-3 Operational Semantics";
ES 201 873-5: "TTCN-3 Runtime Interface (TRI)";
ES 201 873-6: "TTCN-3 Control Interface (TCI)";
ES 201 873-7: "Using ASN.1 with TTCN-3";
ES 201 873-8: "The IDL to TTCN-3 Mapping";
ES 201 873-9: "Using XML schema with TTCN-3";
ES 201 873-10: "TTCN-3 Documentation Comment Specification".
ETSI
---------------------- Page: 5 ----------------------
6 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
1 Scope

The present document defines the real time and performance testing support 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 OMG 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, 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 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

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

reference document (including any amendments) applies.

Referenced documents which are not found to be publicly available in the expected location might be found at

http://docbox.etsi.org/Reference.

NOTE: While any hyperlinks included in this clause were valid at the time of publication ETSI cannot guarantee

their long term validity.
2.1 Normative references

The following referenced documents are necessary for the application of the present document.

[1] ETSI ES 201 873-1 (V4.6.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 (V4.4.1): "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 (V4.6.1): "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 (V4.6.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 6: TTCN-3 Control Interface (TCI)".

[5] ISO/IEC 9646-1: "Information technology - Open Systems Interconnection - Conformance testing

methodology and framework; Part 1: General concepts".
2.2 Informative references

The following referenced documents are not necessary for the application of the present document but they assist the

user with regard to a particular subject area.

[i.1] ETSI ES 201 873-3 (V3.2.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 3: TTCN-3 Graphical presentation Format (GFT)".

ETSI
---------------------- Page: 6 ----------------------
7 Final draft ETSI ES 202 782 V1.2.1 (2014-04)

[i.2] ETSI ES 201 873-7 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 7: Using ASN.1 with TTCN-3".

[i.3] ETSI ES 201 873-8 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 8: The IDL to TTCN-3 Mapping".

[i.4] ETSI ES 201 873-9 (V4.5.1): "Methods for Testing and Specification (MTS); The Testing and

Test Control Notation version 3; Part 9: Using XML schema with TTCN-3".

[i.5] ETSI ES 201 873-10 (V4.5.1): "Methods for Testing and Specification (MTS); The 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 ES 201 873-1 [1], ES 201 873-4 [2],

ES 201 873-5 [3], ES 201 873-6 [4] and ISO/IEC 9646-1 [5] apply.
3.2 Abbreviations

For the purposes of the present document, the abbreviations given in ES 201 873-1 [1], ES 201 873-4 [2],

ES 201 873-5 [3], ES 201 873-6 [4] and ISO/IEC 9646-1 [5] apply.
4 Package conformance and compatibility
The package presented in the present document is identified by the package tag:

"TTCN-3:2014 Real Time and Performance Testing" - 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 present document and in ES 201 873-1 [1],

ES 201 873-4 [2], ES 201 873-5 [3] and ES 201 873-6 [4].
The package presented in the present document is compatible to:
ES 201 873-1 (V4.6.1) [1]
ES 201 873-4 (V4.4.1) [2]
ES 201 873-5 (V4.6.1) [3]
ES 201 873-6 (V4.6.1) [4]
ES 201 873-7 (V4.5.1) [i.2]
ES 201 873-8 (V4.5.1) [i.3]
ES 201 873-9 (V4.5.1) [i.4]
ES 201 873-10 (V4.5.1) [i.5]

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. The present document is also compatible with the versions V.4.2.1,

V.4.3.1, V.4.4.1, V.4.5.1 of the above documents.
ETSI
---------------------- Page: 7 ----------------------
8 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
5 Package concepts for the core language

Real-time systems have to respect special requirements for timing. Often functional requirements are directly connected

to the timing of the messages and procedure calls. Thus, checking the message values and the message order is not

sufficient here. A test component shall be able to check whether a message has been received in time and shall be able

to control the timing for the stimulation.

Thus, a test language has to provide means to measure time, to specify time points and time spans, to control the timing

of the stimulation, and to calculate and compare time values. Moreover the test execution engine has to ensure that the

specified actions (time measurement, timed stimulation) are executed correctly with respect to the required precision.

To fulfil the requirements for testing real time system we define the following TTCN-3 core language extensions:

• A test system wide available test system clock, that allows the measurement of time during test case execution.

• Means to directly and precisely access the time points of the relevant interaction events between the test

system and the system under test.

Real-time measurements at ports require additional resources (e.g. functionality that monitor ports and collect

timestamps that describe the reception time of messages, calls, replies or exceptions) that may slow down the test

execution. In order to avoid unnecessary delays at ports, such resources may only be provided when needed. An

additional real-time clause for ports shall indicate the need for real-time measurement at a port.

5.1 The test system clock

In RT TTCN-3 time progress is measured with a test system clock. The clock is initialized (set to 0.0) at the beginning

of each test case execution and is available during the complete test run in each component. The clock values are

represented as float values. The system clock and the already available TTCN-3 timer mechanisms are synchronized

with respect to time progress.
5.1.1 Accessing the current test system time

The current value of the test system clock by means of the symbol now. The now symbol is used as a TTCN-3

expression that yields the current test system clock value in seconds. The test system clock value is represented by

means of a float number. The symbol now can be applied in each expression inside of testcase definitions and

function definitions. It is not allowed for the TTCN-3 control part and in guard conditions of alt branches.

EXAMPLE 1:
// Use of now to retrieve the actual time
var float myTimePoint := now;
EXAMPLE 2:
// Use of now to retrieve the send time of a message
var float sendTimePoint;
// ...
p.send(m);
sendTimePoint:= now;
EXAMPLE 3:
// Measuring time progress
var float startTime;
startTime:= now;
p.send(m1);
// ...
p.receive(m2);
if(now-startTime >= 10.0){...};
Syntactical Structure
OpCall ::= ConfigurationOps | VerdictOps | TimerOps | TestcaseInstance |

FunctionInstance | TemplateOps | ActivateOp | NowOperation

NowOperation ::= NowKeyword
NowKeyword ::= "now"
ETSI
---------------------- Page: 8 ----------------------
9 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
5.1.2 The precision of the system time

The requirements on the overall precision of the test system clock can be specified by means of the stepsize annotation.

The stepsize annotation is allowed for modules only and can be used to state the minimal necessary precision for time

measurement provided by the test system clock. The precision is defined by means of a charstring value that represents

a decimal number which states the smallest necessary time distance in seconds that is measureable by the test system

clock. A concrete test system has to fulfil the requirements given by the stepsize annotation to be adequate for the

execution of the respective test case definitions. When a test system is not adequate for the test case execution the user

shall be informed, at least test run shall end with an error verdict.
EXAMPLE:
// specifies the requirement on a necessary precision of a millisecond
module myModule{
} with {stepsize “0.001”};

In case of module imports with different stepsize annotation the test system has to respect the stepsize annotation with

the highest precision.
5.2 Communication port types for real-time measurements

This package extends the port type definition of message-based and procedure-based ports with a realtime clause.

Ports facilitate communication between test components and between test components and the test system interface.

Only instances of ports with a realtime clause shall be used for real-time measurements. This means, the redirection

operator -> timestamp shall only be used by receiving operations (i.e. the operations receive, trigger,

getcall, getreply and catch) applied to ports with a realtime clause.
Syntactical Structure
Message-based port:
type port PortTypeIdentifier message [realtime] "{"
{ ( in | out | inout ) { MessageType [ "," ] }+ ";" }
"}"
Procedure-based port:
type port PortTypeIdentifier procedure [realtime] "{"
{ ( in | out | inout ) { Signature [ "," ] }+ ";" }
"}"
5.3 Measuring timing information for dedicated incoming
communication events

Testing real time systems requires exact timing information that relates directly to the communication (reception and

distribution of messages and procedure calls) between the test system and the system under test. The timing information

that can be obtained by the now symbol or the TTCN-3 timer construct is related to the logical structure of the test

program, thus it allows the measurement on TTCN-3 statement level. Time measurement on TTCN-3 statement level

may be affected by blocked queues, decoding and matching procedures. It is not exact with respect to the real timing of

the reception and disposal of messages and procedure calls at the interface between the test system and the SUT.

RT TTCN-3 introduces a mechanism to store the arrival time of messages, procedure calls at system adapter level. The

time points of message reception are automatically registered by the system adapter, communicated to the test

executable and stored with the message. The timing information can be retrieved directly at the communication

statements by means of the redirection operator -> timestamp .
ETSI
---------------------- Page: 9 ----------------------
10 Final draft ETSI ES 202 782 V1.2.1 (2014-04)

The existing redirections for getcall, getreply, receive, trigger, catch, and check operations are extended by an optional

clause timestamp. A redirect specification of the form:
-> timestamp VariableRef

specifies the redirection of the time point, which has been measured at message, procedure call, reply or exception

arrival to a given float variable. The redirection is processed when the respective communication statement matches.

Restrictions

The redirection operator -> timestamp shall only be used by receiving operations (i.e. the operations receive,

trigger, getcall, getreply and catch) applied to ports with a realtime clause.
5.3.1 Obtain the reception time for messages with the receive statement

The existing redirections for receive are extended by an optional clause "timestamp VariableRef". A receive statement

that holds a timestamp clause and that is executed successfully (i.e. it matches a message) allocates the given variable

with the reception time of the matched message.
EXAMPLE 1:
p.receive(t)-> timestamp myTime;
// yields the reception time of a message
if(myTime>MAX){setverdict(fail);}
EXAMPLE 2:
interleave{
[ ] FrontOut.receive(ON) -> timestamp f_actv{
if(f_actv>MAX){setverdict(fail);}
};
[ ] RearOut.receive(ON) -> timestamp r_actv{
if(r_actv>MAX){setverdict(fail);}
};
}
Syntactical Structure
( Port | any port ) "." receive ["(" TemplateInstance ")"] [ from AddressRef ]
[ -> [ value VariableRef ] [ sender VariableRef ] [ timestamp VariableRef] ]
5.3.2 Obtain the reception time for messages with the trigger statement

The existing redirections for trigger are extended by an optional clause "timestamp VariableRef". A trigger statement

that holds a timestamp clause and that is executed successfully (i.e. it matches a message) allocates the given variable

with the reception time of the matched message.
EXAMPLE 1:
p.trigger(t)-> timestamp myTime;
// yields the reception time of a message
if(myTime>MAX){setverdict(fail);}
EXAMPLE 2:
interleave{
[ ] FrontOut.trigger(ON) -> timestamp f_actv{
if(f_actv>MAX){setverdict(fail);}
};
[ ] RearOut.trigger(ON) -> timestamp r_actv{
if(r_actv>MAX){setverdict(fail);}
};
}
ETSI
---------------------- Page: 10 ----------------------
11 Final draft ETSI ES 202 782 V1.2.1 (2014-04)
Syntactical Structure
( Port | any port ) "." trigger [ "(" TemplateInstance ")" ] [ from AddressRef ]
[ -> [ value VariableRef ] [ sender VariableRef ] ] [ timestamp VariableRef] ]
5.3.3 Obtain the reception time for procedure calls with getcall statement

The existing redirections for getcall are extended by an optional clause "timestamp VariableRef". A getcall statement

that holds a timestamp clause and that is executed successfully
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.