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