DES/MTS-00113ed111 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

Pričujoči dokument določa podporni paket za preskušanje zmogljivosti TTCN-3 in realno časovno preskušanje. TTCN-3 se lahko uporablja za specifikacijo vseh vrst preskusov reaktivnih sistemov za različne komunikacijske vhode. Značilna področja uporabe so preskušanje protokolov (vključno z mobilnimi in internetnimi protokoli), preskušanje storitev (vključno z dodatnimi storitvami), preskušanje modulov, preskušanje platform na osnovi CORBA, preskušanje API-jev itd. TTCN-3 ni omejen le na preskušanje skladnosti in se lahko uporablja za številne druge vrste preskušanj, vključno z medobratovalnostjo, stabilnostjo, regresijo ter sistemskim in integracijskim preskušanjem. Specifikacija preskusnih naborov za protokole fizičnih slojev je zunaj področja uporabe pričujočega dokumenta. Paketi TTCN-3 so namenjeni opredeljevanju dodatnih konceptov TTCN-3, ki niso obvezni kot koncepti v osnovnem jeziku TTCN-3, ampak so izbirno del paketa, primernega za namenske aplikacije in/ali uporabe TTCN-3. Medtem ko se je pri zasnovi paketa TTCN-3 upoštevala skladnost skupne uporabe osnovnega jezika s številnimi paketi, so konkretne uporabe tega paketa in smernice zanj v kombinaciji z drugimi paketi zunaj področja uporabe pričujočega dokumenta.

General Information

Status
Published
Publication Date
27-Jul-2010
Current Stage
12 - Completion
Due Date
27-Apr-2010
Completion Date
28-Jul-2010

Buy Standard

Standard
ES 202 782 V 1.1.1:2011
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 V0.0.1 (2010-05) - 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 V 1.1.1:2011
01-marec-2011

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: ES 202 782 Version 1.1.1
ICS:
35.060 Jeziki, ki se uporabljajo v Languages used in
informacijski tehniki in information technology
tehnologiji
SIST ES 202 782 V 1.1.1:2011 en

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

---------------------- Page: 1 ----------------------
SIST ES 202 782 V 1.1.1:2011
---------------------- Page: 2 ----------------------
SIST ES 202 782 V 1.1.1:2011
ETSI ES 202 782 V1.1.1 (2010-07)
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: 3 ----------------------
SIST ES 202 782 V 1.1.1:2011
2 ETSI ES 202 782 V1.1.1 (2010-07)
Reference
DES/MTS-00113ed111 T3Ext_Perf
Keywords
performance, testing, TTCN
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
Individual copies of the present document can be downloaded from:
http://www.etsi.org

The present document may be made available in more than one electronic version or in print. In any case of existing or

perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).

In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a 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 except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 2010.
All rights reserved.
TM TM TM TM

DECT , PLUGTESTS , UMTS , TIPHON , the TIPHON logo and the ETSI logo are Trade Marks of ETSI registered

for the benefit of its Members.

3GPP is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.

LTE™ is a Trade Mark of ETSI currently being 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: 4 ----------------------
SIST ES 202 782 V 1.1.1:2011
3 ETSI ES 202 782 V1.1.1 (2010-07)
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 .............................................. 12

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

5.4 The wait statement............................................................................................................................................ 13

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

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

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

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

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

6.5 triEnqueueMsgRT (SA → TE) ......................................................................................................................... 15

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

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

ETSI
---------------------- Page: 5 ----------------------
SIST ES 202 782 V 1.1.1:2011
4 ETSI ES 202 782 V1.1.1 (2010-07)

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: 6 ----------------------
SIST ES 202 782 V 1.1.1:2011
5 ETSI ES 202 782 V1.1.1 (2010-07)
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://webapp.etsi.org/IPR/home.asp).

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 covering the Testing and Test Control Notation version 3, as

identified below:
ES 201 873-1 [1]: "TTCN-3 Core Language";
ES 201 873-2 [i.1]: "TTCN-3 Tabular presentation Format (TFT)";
ES 201 873-3 [i.2]: "TTCN-3 Graphical presentation Format (GFT)";
ES 201 873-4 [2]: "TTCN-3 Operational Semantics";
ES 201 873-5 [3]: "TTCN-3 Runtime Interface (TRI)";
ES 201 873-6 [4]: "TTCN-3 Control Interface (TCI)";
ES 201 873-7 [i.3]: "Using ASN.1 with TTCN-3";
ES 201 873-8 [i.4]: "The IDL to TTCN-3 Mapping";
ES 201 873-9 [i.5]: "Using XML schema with TTCN-3";
ES 201 873-10 [i.6]: "TTCN-3 Documentation Comment Specification".
ETSI
---------------------- Page: 7 ----------------------
SIST ES 202 782 V 1.1.1:2011
6 ETSI ES 202 782 V1.1.1 (2010-07)
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 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.2.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.2.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.2.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.2.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-2: "Methods for Testing and Specification (MTS); The Testing and Test Control

Notation version 3; Part 2: TTCN-3 Tabular presentation Format (TFT)".
ETSI
---------------------- Page: 8 ----------------------
SIST ES 202 782 V 1.1.1:2011
7 ETSI ES 202 782 V1.1.1 (2010-07)

[i.2] ETSI ES 201 873-3: "Methods for Testing and Specification (MTS); The Testing and Test Control

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

[i.3] ETSI ES 201 873-7 (V4.2.1): "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 (V4.2.1): "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 (V4.2.1): "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 (V4.2.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:2010 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.2.1) [1]
ES 201 873-4 (V4.2.1) [2]
ES 201 873-5 (V4.2.1) [3]
ES 201 873-6 (V4.2.1) [4]
ES 201 873-7 (V4.2.1) [i.3]
ES 201 873-8 (V4.2.1) [i.4]
ES 201 873-9 (V4.2.1) [i.5]
ES 201 873-10 (V4.2.1) [i.6]

If later versions of those parts are available and should be used instead, the compatibility to the package presented in the

present document has to be checked individually.
ETSI
---------------------- Page: 9 ----------------------
SIST ES 202 782 V 1.1.1:2011
8 ETSI ES 202 782 V1.1.1 (2010-07)
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 must be able to check whether a message has been received in time and must 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){...};
ETSI
---------------------- Page: 10 ----------------------
SIST ES 202 782 V 1.1.1:2011
9 ETSI ES 202 782 V1.1.1 (2010-07)
Syntactical Structure:
OpCall ::= ConfigurationOps | VerdictOps | TimerOps | TestcaseInstance |

FunctionInstance | TemplateOps | ActivateOp | NowOperation

NowOperation ::= NowKeyword
NowKeyword ::= "now"
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.

ETSI
---------------------- Page: 11 ----------------------
SIST ES 202 782 V 1.1.1:2011
10 ETSI ES 202 782 V1.1.1 (2010-07)

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 .

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] ]

[Note: If several redirect specifications (such as value VariableRef, sender VariableRef) are used, they have to be

separated by a comma (this is not expressed in the above syntax schemas).]
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);}
ETSI
---------------------- Page: 12 ----------------------
SIST ES 202 782 V 1.1.1:2011
11 ETSI ES 202 782 V1.1.1 (2010-07)
EXAMPLE 2:
interleave{
[ ] FrontOut.trigger(ON) -> timestamp f_actv{
if(f_actv>MAX){setverdict(fail);}
};
[ ] RearOut.trigger(ON) -> timestamp r_actv{
if(r_
...

Final draft ETSI ES 202 782 V0.0.1 (2010-05)
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 V0.0.1 (2010-05)
Reference
DES/MTS-00113ed111 T3Ext_Perf
Keywords
performance, testing, TTCN
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
Individual copies of the present document can be downloaded from:
http://www.etsi.org

The present document may be made available in more than one electronic version or in print. In any case of existing or

perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).

In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a 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 except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 2010.
All rights reserved.
TM TM TM TM

DECT , PLUGTESTS , UMTS , TIPHON , the TIPHON logo and the ETSI logo are Trade Marks of ETSI registered

for the benefit of its Members.

3GPP is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.

LTE™ is a Trade Mark of ETSI currently being 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 V0.0.1 (2010-05)
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 .............................................. 12

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

5.4 The wait statement............................................................................................................................................ 13

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

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

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

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

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

6.5 triEnqueueMsgRT (SA → TE) ......................................................................................................................... 15

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

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

ETSI
---------------------- Page: 3 ----------------------
4 Final draft ETSI ES 202 782 V0.0.1 (2010-05)

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 V0.0.1 (2010-05)
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://webapp.etsi.org/IPR/home.asp).

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), and is now submitted for the ETSI standards Membership Approval Procedure.

The present document relates to the multi-part standard covering the Testing and Test Control Notation version 3, as

identified below:
ES 201 873-1 [1]: "TTCN-3 Core Language";
ES 201 873-2 [i.1]: "TTCN-3 Tabular presentation Format (TFT)";
ES 201 873-3 [i.2]: "TTCN-3 Graphical presentation Format (GFT)";
ES 201 873-4 [2]: "TTCN-3 Operational Semantics";
ES 201 873-5 [3]: "TTCN-3 Runtime Interface (TRI)";
ES 201 873-6 [4]: "TTCN-3 Control Interface (TCI)";
ES 201 873-7 [i.3]: "Using ASN.1 with TTCN-3";
ES 201 873-8 [i.4]: "The IDL to TTCN-3 Mapping";
ES 201 873-9 [i.5]: "Using XML schema with TTCN-3";
ES 201 873-10 [i.6]: "TTCN-3 Documentation Comment Specification".
ETSI
---------------------- Page: 5 ----------------------
6 Final draft ETSI ES 202 782 V0.0.1 (2010-05)
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 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.2.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.2.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.2.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.2.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-2: "Methods for Testing and Specification (MTS); The Testing and Test Control

Notation version 3; Part 2: TTCN-3 Tabular presentation Format (TFT)".
ETSI
---------------------- Page: 6 ----------------------
7 Final draft ETSI ES 202 782 V0.0.1 (2010-05)

[i.2] ETSI ES 201 873-3: "Methods for Testing and Specification (MTS); The Testing and Test Control

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

[i.3] ETSI ES 201 873-7 (V4.2.1): "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 (V4.2.1): "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 (V4.2.1): "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 (V4.2.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:2010 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.2.1) [1]
ES 201 873-4 (V4.2.1) [2]
ES 201 873-5 (V4.2.1) [3]
ES 201 873-6 (V4.2.1) [4]
ES 201 873-7 (V4.2.1) [i.3]
ES 201 873-8 (V4.2.1) [i.4]
ES 201 873-9 (V4.2.1) [i.5]
ES 201 873-10 (V4.2.1) [i.6]

If later versions of those parts are available and should be used instead, the compatibility to the package presented in the

present document has to be checked individually.
ETSI
---------------------- Page: 7 ----------------------
8 Final draft ETSI ES 202 782 V0.0.1 (2010-05)
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 must be able to check whether a message has been received in time and must 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){...};
ETSI
---------------------- Page: 8 ----------------------
9 Final draft ETSI ES 202 782 V0.0.1 (2010-05)
Syntactical Structure:
OpCall ::= ConfigurationOps | VerdictOps | TimerOps | TestcaseInstance |

FunctionInstance | TemplateOps | ActivateOp | NowOperation

NowOperation ::= NowKeyword
NowKeyword ::= "now"
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.

ETSI
---------------------- Page: 9 ----------------------
10 Final draft ETSI ES 202 782 V0.0.1 (2010-05)

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 .

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] ]

[Note: If several redirect specifications (such as value VariableRef, sender VariableRef) are used, they have to be

separated by a comma (this is not expressed in the above syntax schemas).]
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);}
ETSI
---------------------- Page: 10 ----------------------
11 Final draft ETSI ES 202 782 V0.0.1 (2010-05)
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);}
};
}
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 (i.e. it matches an incoming call) allocates the given

variable with the reception time of the matched message.
EXAMPLE 1:
p.getcall(proc: {m})-> timestamp myTime;
// yields the reception time of the message call matched by m
if(myTime>MAX){setverdict(fail);}
EXAMPLE 2:
alt{
[ ] p.getcall(proc: {m1})-> timestamp f_actv {
if(f_actv>MAX){setverdict(fail);}
};
[ ] p.getcall(proc: {m2})-> timestamp r_actv {
if(f_actv>MAX){setverdict(fail);}
};
}
Syntactical Structure:
( Port | any port ) "." getcall
...

Questions, Comments and Discussion

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