1
Scope
2 References
3 Definitions and abbreviations
3.1 Definitions
3.2 Abbreviations
4 Introduction
4.0 General
4.1 The core language and presentation formats
4.2 Unanimity of the specification
4.3 Conformance
5 Basic language elements
5.0 General
5.1 Ordering of language elements
5.2 Parameterization
5.3 Scope rules
5.4 Identifiers and keywords
6 Types and values
6.0 General
6.1 Basic types and values
6.2 Sub-typing of basic types
6.3 Structured types and values
6.4 The anytype
6.5 Arrays
6.6 Recursive types
6.7 Type compatibility
7 Modules
7.0 General
7.1 Naming of modules
7.2 Module parameters
7.3 Module definitions part
7.4 Module control part
7.5 Importing from modules
8 Test configurations
8.0 General
8.1 Port communication model
8.2 Restrictions on connections
8.3 Abstract test system interface
8.4 Defining communication port types
8.5 Defining component types
8.6 Addressing entities inside the SUT
8.7 Component references
8.8 Defining the test system interface
9 Declaring constants
10 Declaring variables
10.0 General
10.1 Value variables
10.2 Template variables
11 Declaring timers
11.0 General
11.1 Timers as parameters
12 Declaring messages
13 Declaring procedure signatures
13.0 General
13.1 Signatures for blocking and non-blocking communication
13.2 Parameters of procedure signatures
13.3 Value returning remote procedures
13.4 Specifying exceptions
14 Declaring templates
14.0 General
14.1 Declaring message templates
14.2 Declaring signature templates
14.3 Template matching mechanisms
14.4 Parameterization of templates
14.5 Void
14.6 Modified templates
14.7 Changing template fields
14.8 Match Operation
14.9 Valueof Operation
15 Operators
15.0 General
15.1 Arithmetic operators
15.2 String operators
15.3 Relational operators
15.4 Logical operators
15.5 Bitwise operators
15.6 Shift operators
15.7 Rotate operators
16 Functions and altsteps
16.1 Functions
16.2 Altsteps
16.3 Functions and altsteps for different component types
17 Test cases
17.0 General
17.1 Parameterization of test cases
18 Overview of program statements and operations
19 Expressions and basic program statements
19.0 General
19.1 Expressions
19.2 Assignments
19.3 The Log statement
19.4 The Label statement
19.5 The Goto statement
19.6 The If-else statement
19.7 The For statement
19.8 The While statement
19.9 The Do-while statement
19.10 The Stop execution statement
19.11 The Select Case statement
20 Behavioural program statements
20.0 General
20.1 Alternative behaviour
20.2 The Repeat statement
20.3 Interleaved behaviour
20.4 The Return statement
Page
21 Default handling
21.0 General
21.1 The default mechanism
21.2 Default references
21.3 The Activate operation
21.4 The Deactivate operation
22 Configuration operations
22.0 General
22.1 The Create operation
22.2 The Connect and Map operations
22.3 The Disconnect and Unmap operations
22.4 The MTC, System and Self operations
22.5 The Start test component operation
22.6 The Stop test behaviour operation
22.7 The Running operation
22.8 The Done operation
22.9 The Kill test component operation
22.10 The Alive operation
22.11 The Killed operation
22.12 Using component arrays
22.13 Summary of the use of any and all with components
23 Communication operations
23.0 General
23.1 General format of communication operations
23.2 Message-based communication
23.3 Procedure-based communication
23.4 The Check operation
23.5 Controlling communication ports
23.6 Use of any and all with ports
24 Timer operations
24.0 General
24.1 The Start timer operation
24.2 The Stop timer operation
24.3 The Read timer operation
24.4 The Running timer operation
24.5 The Timeout operation
24.6 Summary of use of any and all with timers
25 Test verdict operations
25.0 General
25.1 Test case verdict
25.2 Verdict values and overwriting rules
26 External actions
27 Module control part
27.0 General
27.1 Execution of test cases
27.2 Termination of test cases
27.3 Controlling execution of test cases
27.4 Selection of test cases
27.5 Use of timers in control
28 Specifying attributes
28.0 General
28.1 Display attributes
28.2 Encoding of values
28.3 Extension attributes
28.4 Scope of attributes
28.5 Overwriting rules for attributes
28.6 Changing attributes of imported language elements
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 Character to integer
C.3 Integer to universal character
C.4 Universal character to integer
C.5 Bitstring to integer
C.6 Hexstring to integer
C.7 Octetstring to integer
C.8 Charstring to integer
C.9 Integer to bitstring
C.10 Integer to hexstring
C.11 Integer to octetstring
C.12 Integer to charstring
C.13 Length of string type
C.14 Number of elements in a structured value
C.15 The IsPresent function
C.16 The IsChosen function
C.17 The Regexp function
C.18 Bitstring to charstring
C.19 Hexstring to charstring
C.20 Octetstring to character
string
C.21 Character string to octetstring
C.22 Bitstring to hexstring
C.23 Hexstring to octetstring
C.24 Bitstring to octetstring
C.25 Hexstring to bitstring
C.26 Octetstring to hexstring
C.27 Octetstring to bitstring
C.28 Integer to float
C.29 Float to integer
C.30 The random number generator
function
C.31 The Substring function
C.32 Number of elements in a structured type
C.33 Character string to float
C.34 The Replace function
C.35 Octetstring to character
string
C.36 Character string to octetstring
Annex D (informative) –
Void
Annex E (informative) – Library of useful types
E.1 Limitations
E.2 Useful TTCN-3 types
Annex F
(informative) Operations on
TTCN-3 active objects
F.1 General
F.2 Test components
F.3 Timers
Page
F.4 Ports
Annex G (informative) –
Deprecated language features
G.1 Group style definition of module parameters
G.2 Recursive import
G.3 Using all in port type definitions
BIBLIOGRAPHY