CONTENTS

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