Testing, Interoperability and Technical Quality

Servicesbreadcrumb separatorCentre for Testing & Interoperabilitybreadcrumb separatorETSI Approachbreadcrumb separatorSpecification Languagesbreadcrumb separatorSDL

Specification and Description Language (SDL)

Specification and Description Language (SDL) is a standardized language used for the description system architecture, behaviour of system components. SDL is based on experience within the telecommunications industry in describing systems as communicating state machines. It is developed and maintained by ITU-T as ITU Recommendation Z.100. The latest version of the standard was published in 2016.

Due to its suitability for real-time, stimulus-response systems, SDL has been used extensively within the telecommunications industry by both standards makers and manufacturers. SDL has also been used as a real-time design language outside the communications industry.

Started as an informal drawing technique SDL has evolved to a full-blown visual and precise language, equally applicable to specification tasks and design activities. SDL is intuitive and helps in visualizing relationships, thanks to its simple conceptual basis (communicating extended finite state machines), and its graphical representation. The graphical abstractions that originally led to its popularity when used informally are semantically well-defined and tools exist to allow complete code generation directly from SDL descriptions.

SDL specification use

To specify the properties of complex systems, several classes of constructs are needed in order to represent:

  • the system architecture
  • the communications within the system and with the environment
  • the behaviour of each of the parts 
  • internal information affected by and affecting the behaviour of the system 

Levels of SDL use

SDL can be applied at various levels: from simple diagrams that illustrate the prose description of a protocol, to complete models that can simulate behaviour at normative interfaces.

Each level of SDL use can bring clarity to a specification. However, the full power of the language, in terms of precise, unambiguous description of the intended behaviour, can be exploited only with models that respect all language rules. For such models the static analysis tools can reveal syntax and semantic errors, while simulation and validation tools may reveal dynamically erroneous behaviour.

ETSI Guidance on the use of SDL

EG 202 106 drafted by ETSI technical committee Methods for Testing and Specification (MTS), gives advice on using SDL in ETSI deliverables. The main issue dealt with in this guide is achieving precise specifications while maintaining readability.

For those who wish to use the wider range of SDL capabilities, EG 201 383 provides guidance on its general use in telecommunications standards. An SDL checklist is available to indicate which SDL concepts are dangerous to use in the context of protocol standardization.

Example SDL specification

The SDL diagrams below are taken from an ETSI standard specifying the Radio Link Control protocol layer.

The system diagram below shows the architecture with two parts communicating over a normative interface.

The process diagram here below shows part of the state diagram where the behavior of one of the communication entities is defined. The comments highlight parts of the behavior that is considered normal in contrast to exceptional behavior. In this case the exceptional behavior is linked with messages lost in transmission.