Rec. ITU-T Z.104 (10/2019) Specification and Description Language – Data and action language in 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 Terms defined in this Recommendation
4 Abbreviations and acronyms
5 Conventions
6 General rules
7 Organization of Specification and Description Language 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 expressions
          8.1.3 Abstract types
          8.1.4 Gates with encoding rules and anonymous choice data type for a gate
               Gate-definition :: Gate-name
                ::=
                ::=
                ::=
     8.2 Type references and operation references
     8.3 Context parameters
     8.4 Specialization
9 Agents
10 Communication
     10.1 Channel
     10.2 Connection
     10.3 Signal
     10.4 Signal list area
     10.5 Remote procedures
     10.6 Remote variables
     10.7 Communication path encoding rules, encode and decode
          10.7.1 The set of text encoding rules
          10.7.2 The sets of encoding rules standardized in the ITU-T X.69x series
11 Behaviour
     11.1 Start
     11.2 State
     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.12 Transition
     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.15 Timer
12 Data
     12.1 Data definitions
          12.1.1 Data type definition
          12.1.2 Interface definition
                ::=
          12.1.3 Operation signature
          12.1.4 Generic data type operations
          12.1.5 Pid and pid sorts
          12.1.6 Data type constructors
               12.1.6.1 Literals
               12.1.6.2 Structure data types
               12.1.6.3 Choice data types
          12.1.7 Behaviour of operations
          12.1.8 Additional data definition constructs
               12.1.8.1 Syntypes
               12.1.8.2 Constraint
               12.1.8.3 Synonym definition
               12.1.8.4 Restricted visibility
          12.1.9 Specialization of data types
     12.2 Use of data
          12.2.1 Expression and expressions as actual parameters
          12.2.2 Literal
          12.2.3 Extended primary
          12.2.4 Equality expression
          12.2.5 Conditional expression
          12.2.6 Operation application
          12.2.7 Range check expression
          12.2.8 Synonym
     12.3 Active use of data
          12.3.1 Variable definition
          12.3.2 Variable access
          12.3.3 Assignment
               12.3.3.1 Extended variable
               12.3.3.2 Default initialization
          12.3.4 Imperative expression
               12.3.4.1 Now expression
               12.3.4.2 Pid expression
               12.3.4.3 Timer active expression and timer remaining duration
               12.3.4.4 Active agents expression
               12.3.4.5 Import expression
               12.3.4.6 Any expression
               12.3.4.7 State expression
               12.3.4.8 Signal expression
               12.3.4.9 Signallist expression
          12.3.5 Value returning procedure call
13 Generic system definition
14 Package Predefined
     14.1 Boolean sort
          14.1.1 Definition
          14.1.2 Usage
     14.2 Character sort
          14.2.1 Definition
          14.2.2 Usage
     14.3 String sort
          14.3.1 Definition
          14.3.2 Usage
     14.4 Charstring sort
          14.4.1 Definition
          14.4.2 Usage
     14.5 Integer sort
          14.5.1 Definition
          14.5.2 Usage
     14.6 Natural syntype
          14.6.1 Definition
          14.6.2 Usage
     14.7 Real sort
          14.7.1 Definition
          14.7.2 Usage
     14.8 Array sort
          14.8.1 Definition
          14.8.2 Usage
     14.9 Vector
          14.9.1 Definition
     14.10 Powerset sort
          14.10.1 Definition
          14.10.2 Usage
     14.11 Duration sort
          14.11.1 Definition
          14.11.2 Usage
     14.12 Time sort
          14.12.1 Definition
          14.12.2 Usage
     14.13 Bag sort
          14.13.1 Definition
          14.13.2 Usage
     14.14 ASN.1 Bit and Bitstring sorts
          14.14.1 Definition
     14.15 ASN.1 Octet and Octetstring sorts
          14.15.1 Definition
     14.16 Pid sort
          14.16.1 Definition
     14.17 Encoding sort
     14.18 Support for ASN.1 character, symbol string and NULL types
     14.19 Predefined exceptions
Annex A  Abstract data types and axioms
     A.1 Introduction
     A.2 Notation
          A.2.1 Axioms
          A.2.2 Conditional equations
          A.2.3 Equality
          A.2.4 Boolean axioms
          A.2.5 Conditional term
          A.2.6 Error term
          A.2.7 Unordered literals
          A.2.8 Literal equations
          A.2.9 Name class
          A.2.10 Name class mapping
Annex B  Specification of the set of text encoding rules
     B.1 Boolean
     B.2 Character
     B.3 String
     B.4 Charstring, IA5String, NumericString, PrintableString, VisibleString
     B.5 Integer
     B.6 Natural
     B.7 Real
     B.8 Array
     B.9 Vector
     B.10 Powerset
     B.11 Duration
     B.12 Time
     B.13 Bag
     B.14 Bit, Bitstring
     B.15 Octet, Octetstring
     B.16 Pid, pid sorts
     B.17 Null
     B.18 Enumerated (literal list)
     B.19 Structures
     B.20 Choice
     B.21 Inherits and syntype
Annex C  Language binding
     C.1 C Language binding
          C.1.1 Extensions to lexical rules
               C.1.1.1 C keywords
               C.1.1.2 C integer constants
               C.1.1.3 C composite specials
               C.1.1.4 C character constants
               C.1.1.5 C string literals
               C.1.1.6 C identifiers, name resolution and visibility
               C.1.1.7 Macros and pre-processing
          C.1.2 Data type definition
               C.1.2.1 Data type specifier
               C.1.2.2 Struct or union specifier
               C.1.2.3 Enum specifier
               C.1.2.4 Sizeof data types
          C.1.3 Use of C variable definitions
          C.1.4 Use of C expressions
               C.1.4.1 Assignment expression
               C.1.4.2 Conditional expression
               C.1.4.3 Logical and bitwise operation expressions
               C.1.4.4 Equality and relational expressions
               C.1.4.5 Bit shift expressions
               C.1.4.6 Binary operation expressions
               C.1.4.7 Cast expressions
               C.1.4.8 Unary operation expression
               C.1.4.9 Postfix expression
               C.1.4.10 Primary expression
          C.1.5 Use of C statements
               C.1.5.1 Compound statement
               C.1.5.2 Non-terminating and terminating statement
               C.1.5.3 Labeled statement
               C.1.5.4 C statement
               C.1.5.5 C selection statement
               C.1.5.6 C iteration and jump statements
          C.1.6 Package C_Predefined
               C.1.6.1 Numerical limits
                    C.1.6.1.1 Private limits
                    C.1.6.1.2 Sizes of integer types
                    C.1.6.1.3 Characteristics of floating types
                    C.1.6.1.4 Sizes of package Predefined types
               C.1.6.2 Parameterized types for integers
                    C.1.6.2.1 Integern for a generic integer type with n bits
                    C.1.6.2.2 Integers for a signed integer type with n bits
                    C.1.6.2.3 Integeru for an unsigned integer type with n bits
               C.1.6.3 Types for void and pointers
               C.1.6.4 C signed and unsigned char types
               C.1.6.5 C signed and unsigned short types
               C.1.6.6 C signed and unsigned int types
               C.1.6.7 C signed and unsigned long types
               C.1.6.8 C signed and unsigned long long types
               C.1.6.9 C floating numbers types
               C.1.6.10 Parameterized type for arrays Cvector
               C.1.6.11 Package end
Bibliography