CONTENTS

 1     Scope
        1.1     Objective
        1.2     Application
        1.3     System specification
        1.4     Differences between SDL-88 and SDL-92
        1.5     Differences between SDL-92 and SDL‑2000
 2     References
 3     Definitions
 4     Abbreviations
 5     Conventions
        5.1     SDL grammars
        5.2     Basic definitions
                  5.2.1     Definition, type and instance
                  5.2.2     Environment
                  5.2.3     Error
        5.3     Presentation style
                  5.3.1     Division of text
                  5.3.2     Titled enumeration items
        5.4     Metalanguages
                  5.4.1     Meta IV
                  5.4.2     BNF
                  5.4.3     Metalanguage for graphical grammar
 6     General rules
        6.1     Lexical rules
        6.2     Macro
                  6.2.1     Additional Lexical rules
                  6.2.2     Macro definition
                  6.2.3     Macro call
        6.3     Visibility rules, names and identifiers
        6.4     Informal text
        6.5     Drawing rules
        6.6     Partitioning of drawings
        6.7     Comment
        6.8     Text extension
        6.9     Text symbol
 7     Organization of SDL specifications
        7.1     Framework
        7.2     Package
        7.3     Referenced definition
 8     Structural Concepts
        8.1     Types, instances and gates
                  8.1.1     Structural type definitions
                  8.1.2     Type expression
                  8.1.3     Definitions based on types
                  8.1.4     Abstract type
                  8.1.5     Type references
                  8.1.6     Gate
        8.2     Context parameters
                  8.2.1     Agent type context parameter
                  8.2.2     Agent context parameter
                  8.2.3     Procedure context parameter
                  8.2.4     Remote procedure context parameter
                  8.2.5     Signal context parameter
                  8.2.6     Variable context parameter
                  8.2.7     Remote variable context parameter
                  8.2.8     Timer context parameter
                  8.2.9     Synonym context parameter
                 8.2.10     Sort context parameter
                 8.2.11     Exception context parameter
                 8.2.12     Composite state type context parameter
                 8.2.13     Gate context parameter
                 8.2.14     Interface context parameter
        8.3     Specialization
                  8.3.1     Adding properties
                  8.3.2     Virtual type
                  8.3.3     Virtual transition/save
                  8.3.4     Virtual methods
                  8.3.5     Virtual default initialization
        8.4     Associations
 9     Agents
        9.1     System
        9.2     Block
        9.3     Process
        9.4     Procedure
10     Communication
       10.1     Channel
       10.2     Connection
       10.3     Signal
       10.4     Signal list definition
       10.5     Remote procedures
       10.6     Remote variables
11     Behaviour
       11.1     Start
       11.2     State
                 11.2.1     Basic State
                 11.2.2     Composite state application
       11.3     Input
       11.4     Priority Input
       11.5     Continuous signal
       11.6     Enabling condition
       11.7     Save
       11.8     Implicit transition
       11.9     Spontaneous transition
      11.10     Label
      11.11     State machine and Composite state
                11.11.1     Composite State Graph
                11.11.2     State aggregation
                11.11.3     State connection point
                11.11.4     Connect
      11.12     Transition
                11.12.1     Transition body
                11.12.2     Transition terminator
      11.13     Action
                11.13.1     Task
                11.13.2     Create
                11.13.3     Procedure call
                11.13.4     Output
                11.13.5     Decision
      11.14     Statement list
                11.14.1     Compound statement
                11.14.2     Transition actions and terminators as statements
                11.14.3     Expressions as Statements
                11.14.4     If statement
                11.14.5     Decision statement
                11.14.6     Loop statement
                11.14.7     Break and labelled statements
                11.14.8     Empty Statement
                11.14.9     Exception Statement
      11.15     Timer
      11.16     Exception
                11.16.1     Exception handler
                11.16.2     On-Exception
                11.16.3     Handle
12     Data
       12.1     Data definitions
                 12.1.1     Data type definition
                 12.1.2     Interface definition
                 12.1.3     Specialization of data types
                 12.1.4     Operations
                 12.1.5     Any
                 12.1.6     Pid and pid sorts
                 12.1.7     Data type constructors
                 12.1.8     Behaviour of operations
                 12.1.9     Additional data definition constructs
       12.2     Passive use of data
                 12.2.1     Expressions
                 12.2.2     Literal
                 12.2.3     Synonym
                 12.2.4     Extended primary
                 12.2.5     Equality expression
                 12.2.6     Conditional expression
                 12.2.7     Operation application
                 12.2.8     Range check expression
       12.3     Active use of data
                 12.3.1     Variable definition
                 12.3.2     Variable access
                 12.3.3     Assignment and assignment attempt
                 12.3.4     Imperative expressions
                 12.3.5     Value returning procedure call
13     Generic system definition
       13.1     Optional definition
       13.2     Optional transition string
Annex A – Index of non-terminals
Annex B – Reserved for future use
Annex C – Reserved for future use
Annex D – SDL Predefined data
        D.1     Introduction
        D.2     Notation
                  D.2.1     Axioms
                  D.2.2     Conditional equations
                  D.2.3     Equality
                  D.2.4     Boolean axioms
                  D.2.5     Conditional term
                  D.2.6     Error term
                  D.2.7     Unordered literals
                  D.2.8     Literal equations
        D.3     Package Predefined
                  D.3.1     Boolean sort
                  D.3.2     Character sort
                  D.3.3     String sort
                  D.3.4     Charstring sort
                  D.3.5     Integer sort
                  D.3.6     Natural syntype
                  D.3.7     Real sort
                  D.3.8     Array sort
                  D.3.9     Vector
                 D.3.10     Powerset sort
                 D.3.11     Duration sort
                 D.3.12     Time sort
                 D.3.13     Bag sort
                 D.3.14     ASN.1 Bit and Bitstring sorts
                 D.3.15     ASN.1 Octet and Octetstring sorts
                 D.3.16     Predefined Exceptions
Annex E – Reserved for examples
Annex F – Formal Definition
Appendix I – Status of Z.100, related documents and Recommendations
Appendix II – Guidelines for the maintenance of SDL
       II.1     Maintenance of SDL
                 II.1.1     Terminology
                 II.1.2     Rules for Maintenance
                 II.1.3     Change request procedure
Appendix III – Systematic conversion of SDL-92 to SDL-2000