SDL

Specification and Description Language

Other
Introduced in R99
A formal, graphical language standardized by ITU-T (Z.100 series) for specifying complex, event-driven, real-time, and distributed systems. It is used within 3GPP specifications to define protocols, procedures, and state machine behaviors with unambiguous precision, ensuring consistent implementation across vendors.

Description

Specification and Description Language (SDL) is a formal, object-oriented, graphical modeling language standardized by the International Telecommunication Union (ITU-T) in the Z.100 series. Within the 3GPP standardization context, SDL is employed to provide rigorous, unambiguous specifications for communication protocols, system procedures, and state machine behaviors. Its primary role is to define the dynamic behavior of systems, focusing on the sequence of events, message exchanges, and state transitions that occur in response to stimuli. This formal approach eliminates the ambiguities inherent in natural language text, thereby reducing the risk of misinterpretation and implementation errors across different equipment vendors and network operators.

SDL models a system as a set of concurrent processes that communicate asynchronously via signals. The language uses a hierarchical structure, starting with a system block diagram that defines the overall system and its communication channels. This system is decomposed into blocks, which are further refined into processes. Each process is defined using Extended Finite State Machines (EFSMs), represented by SDL process diagrams. These diagrams consist of states, inputs (triggering signals), outputs (sent signals), tasks (internal actions), decisions, and procedures. The language supports data typing, variables, timers, and the creation of new signal instances, enabling the specification of complex, real-time interactions found in telecommunications protocols.

In 3GPP technical specifications (TS), SDL diagrams are often provided as normative annexes to complement the prose descriptions of protocols. For instance, SDL is extensively used in the specification of layer 3 signaling protocols in both the Core Network and the Radio Access Network, such as Non-Access Stratum (NAS) and Radio Resource Control (RRC) procedures. The language's ability to precisely define timers, message formats, and conditional behavior is crucial for interoperability testing and conformance certification. By providing a visual and formal model, SDL serves as a critical tool for protocol engineers, test developers, and system architects to understand, implement, and verify the correct operation of 3GPP systems.

Purpose & Motivation

The primary purpose of SDL within 3GPP is to achieve unambiguous and precise specification of complex, reactive systems. Telecommunications protocols involve intricate sequences of messages, timers, and state-dependent behaviors. Describing these solely in natural language can lead to multiple interpretations, causing interoperability failures between equipment from different manufacturers. SDL addresses this by providing a formal, graphical notation that defines behavior with mathematical rigor, ensuring all implementers derive the same logical model from the specification.

Historically, as mobile systems evolved from 2G to 3G (UMTS) and beyond, the complexity of protocols increased dramatically. The introduction of packet-switched domains, sophisticated mobility management, and quality of service mechanisms required a more robust specification methodology. SDL, being an ITU-T standard already used in other telecom domains, was adopted to bring this rigor to 3GPP. It solves the problem of specification ambiguity, which is a major source of bugs and delays in multi-vendor network deployments.

Furthermore, SDL models are not just documentation; they can be used for simulation, validation, and even as a basis for automated test generation. This allows standards bodies and equipment vendors to verify the logical consistency of a protocol specification before it is finalized and to develop comprehensive test suites. Thus, SDL's purpose extends beyond static specification to actively improving the quality, reliability, and time-to-market of 3GPP-compliant products.

Key Features

  • Formal graphical notation based on Extended Finite State Machines (EFSMs)
  • Support for concurrent processes communicating via asynchronous signals
  • Hierarchical system decomposition (System, Block, Process)
  • Integrated data modeling with abstract data types and variables
  • Explicit modeling of timers, timeouts, and real-time constraints
  • Ability to generate executable code or simulation models from specifications

Evolution Across Releases

R99 Initial

SDL was introduced as a formal specification tool within 3GPP, primarily for defining the detailed behavior of Core Network and Radio Access Network signaling protocols. Initial use focused on specifying complex state machines and message sequences for UMTS protocols to ensure unambiguous implementation across vendors.

Defining Specifications

SpecificationTitle
TS 21.801 3GPP TS 21.801
TS 21.905 3GPP TS 21.905
TS 29.078 3GPP TS 29.078
TS 29.278 3GPP TS 29.278
TS 36.113 3GPP TR 36.113
TS 36.761 3GPP TR 36.761
TS 36.858 3GPP TR 36.858
TS 36.895 3GPP TR 36.895
TS 37.814 3GPP TR 37.814
TS 38.104 3GPP TR 38.104
TS 38.113 3GPP TR 38.113
TS 38.133 3GPP TR 38.133
TS 38.141 3GPP TR 38.141
TS 38.176 3GPP TR 38.176
TS 38.300 3GPP TR 38.300
TS 38.306 3GPP TR 38.306
TS 38.307 3GPP TR 38.307
TS 38.331 3GPP TR 38.331
TS 38.522 3GPP TR 38.522