Rec. ITU-T Z.102 (10/2019) Specification and Description Language – Comprehensive SDL-2010
Summary
History
FOREWORD
Table of Contents
1 Scope and objective
     1.1 Objective
     1.2 Application
2 References
3 Definitions
     3.1 Terms defined elsewhere
     3.2 Term defined in this Recommendation
4 Abbreviations and acronyms
5 Conventions
6 General rules
     6.1 Lexical rules – UCS extended character set
     6.2 End terminator and comment
     6.3 Empty clause
     6.4 Solid association symbol
     6.5 The metasymbol is followed by and flow line symbols
     6.6 Visibility rules, names and identifiers – additional scope units
          Path-item = Package-qualifier
          Compound-node-qualifier :: Interface-name
          Compound-node-name = Name
           ::=
     6.7 Macro
          6.7.1 Additional lexical rules
                ::=
          6.7.2 Macro definition
                ::=
                ::=
                ::=
                ::=
                ::=
          6.7.3 Macro call
                ::=
                ::=
                ::=
               Example
7 Organization of Specification and Description Language specifications
     7.1 Framework
     7.2 Package
           ::=
           ::=
           ::=
8 Structural concepts
     8.1 Types, instances and gates
          8.1.1 Structural type definitions
               8.1.1.1 Agent types
                    Agent-type-definition :: Agent-type-name
                     ::=
                     ::=
                     ::=
               8.1.1.2 System type
               8.1.1.3 Block type
               8.1.1.4 Process type
               8.1.1.5 Composite state type
                    Composite-state-type-definition :: State-type-name
                     ::=
                     ::=
                     ::=
                     ::=
                     ::=
          8.1.2 Type expression
                ::=
          8.1.3 Abstract type
               Abstract :: {}
                ::=
          8.1.4 Gate
                ::=
                ::=
                ::=
                ::=
                ::=
     8.2 Type references and operation references
     8.3 Context parameters
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
          8.3.1 Agent type context parameter
                ::=
                ::=
          8.3.2 Agent context parameter
                ::=
                ::=
                ::=
          8.3.3 Procedure context parameter
                ::=
                ::=
                ::=
                ::=
                ::=
          8.3.4 Remote procedure context parameter
                ::=
          8.3.5 Signal context parameter
                ::=
                ::=
                ::=
                ::=
          8.3.6 Variable context parameter
                ::=
                ::=
                ::=
          8.3.7 Remote variable context parameter
                ::=
                ::=
          8.3.8 Timer context parameter
                ::=
                ::=
                ::=
          8.3.9 Synonym context parameter
                ::=
                ::=
                ::=
          8.3.10 Sort context parameter
                ::=
                ::=
                ::=
          8.3.11 Composite state type context parameter
                ::=
                ::=
                ::=
          8.3.12 Gate context parameter
                ::=
                ::=
          8.3.13 Interface context parameter
                ::=
                ::=
                ::=
     8.4 Specialization
          8.4.1 Adding properties
                ::=
          8.4.2 Virtuality and virtual type
                ::=
                ::=
          8.4.3 Virtual transition/save
9 Agents
      ::=
      ::=
      ::=
      ::=
      ::=
      ::=
      ::=
      ::=
      ::=
     9.1 System
     9.2 Block
     9.3 Process
     9.4 Procedure
          Procedure-definition :: Procedure-name
           ::=
           ::=
           ::=
           ::=
           ::=
10 Communication
     10.1 Channel
     10.2 Connection
     10.3 Signal
          Signal-definition :: Signal-name
           ::=
     10.4 Signal list area
           ::=
     10.5 Remote procedure
           ::=
           ::=
           ::=
           ::=
     10.6 Remote variable
           ::=
           ::=
           ::=
           ::=
11 Behaviour
     11.1 Start
          Named-start-node :: State-entry-point-name
          State-entry-point-name = Name
           ::=
     11.2 State
          State-node :: State-name
          State-timer :: Time-expression
           ::=
           ::=
           ::=
           ::=
           ::=
     11.3 Input
          Input-node :: [ Priority-name ]
          Priority-name = Nat
           ::=
     11.4 Priority Input
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
     11.5 Continuous signal
          Continuous-signal :: Continuous-expression
          Continuous-expression = Boolean-expression
           ::=
           ::=
           ::=
     11.6 Enabling condition
          Provided-expression = Boolean-expression
           ::=
           ::=
           ::=
           ::=
     11.7 Save
           ::=
     11.8 Empty clause
     11.9 Spontaneous transition
          Spontaneous-transition :: [Provided-expression]
           ::=
           ::=
     11.10 Label (connector name)
     11.11 State machine and composite state
          11.11.1 Composite state graph
               Composite-state-graph :: State-transition-graph
               State-transition-graph :: [State-start-node]
               Entry-procedure-definition = Procedure-definition
               Exit-procedure-definition = Procedure-definition
                ::=
                ::=
                ::=
          11.11.2 State aggregation
               State-aggregation-node :: State-partition-set
               State-partition :: Name
               Connection-definition :: Entry-connection-definition | Exit-connection-definition
               Entry-connection-definition :: Outer-entry-point Inner-entry-point
               Outer-entry-point :: State-entry-point-name
               Inner-entry-point :: Nextstate-parameters
               Exit-connection-definition :: Outer-exit-point Inner-exit-point
               Outer-exit-point :: State-exit-point-name
               Inner-exit-point :: State-exit-point-name
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
          11.11.3 State connection point
               State-entry-point-definition :: Name
               State-exit-point-definition :: Name
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
          11.11.4 Connect
               Connect-node :: [State-exit-point-name]
               State-exit-point-name = Name
                ::=
                ::=
                ::=
     11.12 Transition
          11.12.1 Transition body
               Graph-node :: { Task-node
               Terminator :: { Nextstate-node
                ::=
                ::=
          11.12.2 Transition terminator
               11.12.2.1 Nextstate
                    Nextstate-parameters :: Actual-parameters
                     ::=
               11.12.2.2 Join
               11.12.2.3 Stop
               11.12.2.4 Return
                    Return-node = Action-return-node
                    Named-return-node :: State-exit-point-name
                     ::=
     11.13 Action
          11.13.1 Task
          11.13.2 Create
          11.13.3 Procedure call
               Call-node :: [ THIS ]
               Value-returning-call-node :: [ THIS ]
                ::=
          11.13.4 Output
                ::=
          11.13.5 Decision
               Decision-node = Decision-body
               Any-decision :: Transition-set
                ::=
     11.14 Statement lists
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
           ::=
          11.14.1 Compound and loop statements
               Compound-node :: Connector-name
               Init-graph-node = Graph-node
               While-graph-node =  Expression*
               Finalization-node = Graph-node
               Step-graph-node = Graph-node
               Continue-node :: Connector-name
               Break-node :: Connector-name
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
          11.14.2 Decision statement
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
                ::=
     11.15 Timer
           ::=
12 Data
     12.1 Data definitions
          Value-data-type-definition :: Sort
     12.2 Use of data
     12.3 Active use of data
          12.3.1 Variable definition
                ::=
                ::=
                ::=
          12.3.2 Variable access
                ::=
          12.3.3 Assignment
          12.3.4 Imperative expression
          12.3.5 Value returning procedure call
13 Generic system definition
     13.1 Optional definition