1 Scope
2 References
2.1 Normative references
2.2 Informative references
3 Definitions and abbreviations
3.1 Definitions
3.2 Abbreviations and acronyms
4 Introduction
4.1 The core language and presentation formats
4.2 Unanimity of the specification
4.3 Conformance
5 Basic language elements
5.1 Identifiers and keywords
5.2 Scope rules
5.3 Ordering of language elements
5.4 Parameterization
5.5 Cyclic Definitions
6 Types and values
6.1 Basic types and values
6.2 Structured types and values
6.3 Type compatibility
6.4 Type synonym
7 Expressions
7.1 Operators
7.2 Field references and list elements
8 Modules
8.1 Definition of a module
8.2 Module definitions part
8.3 Module control part
9 Port types, component types and test configurations
9.1 Communication ports
9.2 Test system interface
10 Declaring constants
11 Declaring variables
11.1 Value variables
11.2 Template variables
12 Declaring timers
13 Declaring messages
14 Declaring procedure signatures
15 Declaring templates
15.1 Declaring message templates
15.2 Declaring signature templates
15.3 Global and local templates
15.4 In-line templates
15.5 Modified templates
15.6 Referencing elements of templates or template fields
15.7 Template matching mechanisms
15.8 Template restrictions
15.9 Match operation
15.10 Valueof Operation
15.11 Concatenating templates of string and list types
16 Functions, altsteps and testcases
16.1 Functions
16.2 Altsteps
16.3 Test cases
17 Void
18 Overview of program statements and operations
19 Basic program statements
19.1 Assignments
19.2 The If-else statement
19.3 The Select Case statement
19.4 The For statement
19.5 The While statement
19.6 The Do-while statement
19.7 The Label statement
19.8 The Goto statement
19.9 The Stop execution statement
19.10 The Return statement
19.11 The Log statement
19.12 The Break statement
19.13 The Continue statement
19.14 Statement block
20 Statement and operations for alternative behaviours
20.1 The snapshot mechanism
20.2 The Alt statement
20.3 The Repeat statement
Page
20.4 The Interleave statement
20.5 Default Handling
21 Configuration operations
21.1 Connection operations
21.2 Test case operations
21.3 Test Component Operations
22 Communication operations
22.1 The communication mechanisms
22.2 Message-based communication
22.3 Procedure-based communication
22.4 The Check operation
22.5 Controlling communication ports
22.6 Use of any and all with ports
23 Timer operations
23.1 The timer mechanism
23.2 The Start timer operation
23.3 The Stop timer operation
23.4 The Read timer operation
23.5 The Running timer operation
23.6 The Timeout operation
23.7 Summary of use of any and all with timers
24 Test verdict operations
24.1 The Verdict mechanism
24.2 The Setverdict operation
24.3 The Getverdict operation
25 External actions
26 Module control
26.1 The Execute statement
26.2 The Control part
27 Specifying attributes
27.1 The Attribute mechanism
27.2 The With statement
27.3 Display attributes
27.4 Encoding attributes
27.5 Variant attributes
27.6 Extension attributes
27.7 Optional attributes
Annex A – BNF and static semantics
A.1 TTCN‑3 BNF
Annex B – Matching incoming values
B.1 Template matching mechanisms
Annex C – Pre-defined TTCN‑3 functions
C.0 General exception handling procedures
C.1 Integer to character
C.2 Integer to universal character
C.3 Integer to bitstring
C.4 Integer to hexstring
C.5 Integer to octetstring
C.6 Integer to charstring
C.7 Integer to float
C.8 Float to integer
C.9 Character to integer
C.10 Character to octetstring
C.11 Universal character to integer
C.12 Bitstring to integer
C.13 Bitstring to hexstring
C.14 Bitstring to octetstring
C.15 Bitstring to charstring
C.16 Hexstring to integer
C.17 Hexstring to bitstring
C.18 Hexstring to octetstring
C.19 Hexstring to charstring
C.20 Octetstring to integer
C.21 Octetstring to bitstring
C.22 Octetstring to hexstring
C.23 Octetstring to character string
C.24 Octetstring to character string, version II
C.25 Charstring to integer
C.26 Character string to hexstring
C.27 Character string to octetstring
C.28 Character string to float
C.29 Length of strings and lists
C.30 Number of elements in a structured value
C.31 The IsPresent function
C.32 The IsChosen function
C.33 The Regexp function
C.34 The Substring function
C.35 The Replace function
Page
C.36 The random number generator function
C.37 Enumerated to integer
C.38 The IsValue function
C.39 The encoding function
C.40 The decoding function
C.41 The testcasename function
Annex D – Preprocessing macros
D.1 Preprocessing macro __MODULE__
D.2 Preprocessing macro __FILE__
D.3 Preprocessing macro __BFILE__
D.4 Preprocessing macro __LINE__
D.5 Preprocessing macro __SCOPE__
Annex E – Library of Useful Types
E.1 Limitations
E.2 Useful TTCN‑3 types
Annex F – Operations on TTCN‑3 active objects
F.1 Test components
F.2 Timers
F.3 Ports
Annex G – Deprecated language features
G.1 Group style definition of module parameters
G.2 Recursive import
G.3 Using all in port type definitions
G.4 sizeof for length of lists
G.5 sizeoftype predefined function
G.6 Mixed ports
G.7 External constants
Annex H – Bibliography