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
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
| Specification | Title |
|---|---|
| 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 |