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.