Table of Contents

�1���� Scope������������
�2���� References���
������� 2.1���� Normative references������
������� 2.2���� Informative references���
�3���� Definitions and abbreviations�
������� 3.1���� Definitions���������
������� 3.2���� Abbreviations���
�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 values����
������� B.1���� Template matching mechanisms�
Annex C � Pre-defined TTCN‑3 functions����
������� C.0���� General exception handling procedures������
������� C.1���� Conversion functions�����
������� C.2���� Length/size functions�����
������� C.3� ���Presence checking functions���������
������� C.4���� String/list handling functions��������
������� C.5���� Codec functions��������������
������� C.6���� Other functions
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__���������������
Appendix I � Library of Useful Types����
������� I.1���� Limitations��������
������� I.2���� Useful TTCN‑3 types�������
Appendix II � Operations on TTCN‑3 active objects����
������ II.1���� Test components�������������
������ II.2���� Timers
������ II.3���� Ports���
Appendix III � Deprecated language features����
����� III.1���� Group style definition of module parameters������������
����� III.2���� Recursive import�������������
����� III.3���� Using all in port type definitions���������������
����� III.4���� sizeof for length of lists��
����� III.5���� sizeoftype predefined function����
����� III.6���� Mixed ports������
����� III.7���� External constants����������
�� ���III.8���� Prefixing enumerated values��������
����� III.9���� Record of/arrays not compatible to record; set of not compatible with set��������
Bibliography����