Specification and Description Language
The Specification and Description Language ( SDL , English Specification and Description Language ) is one of the ITU-T, d. H. the telecommunications standardization sector of the International Telecommunication Union , modeling language defined in the so-called standards (recommendations) Z.100ff .
It is widespread in the telecommunications sector to describe (distributed) systems using extended state machines (processes). The various processes are connected via channels and can use them to exchange signals and thus influence each other.
A system specified in SDL can be represented either as text (Textual Phrase Representation / PR) or in graphic form (Graphic Representation / GR).
Structure of an SDL specification
Structure and process
An SDL specification is generally structured hierarchically in system , blocks and processes . Since SDL-2000, blocks and processes have been standardized into agents that differ in terms of the precise semantics of their concurrency . There are also libraries ( library package ) and procedures. Other concepts such as macros and services should no longer be used.
System, block and process have defined access points ( gate ), connections to other agents are established with channels ( channel ). These (only) the signals defined for this channel and this gate run .
All structural elements mentioned are typified and there can be several instances of them in a system. Even an apparently untyped instance always defines an implicit type.
A process (in SDL-2000 every agent) has a state machine. State transitions (transitions) are triggered by the receipt of signals. In addition, spontaneous state transitions can be defined in order to be able to depict nondeterminism. In addition, SDL has its own concept of time: It can timer ( timer ) are set and the expired timer as signals are received.
Data
In SDL there are predefined data types such as PId , Integer and Charstring , which can also be combined into structures or stored in lists, quantities, etc.
The underlying data type concept is semantically equivalent to ACT ONE and the data type concept of LOTOS . New data types can be defined axiomatically . However, there is no tool support for this and so the axiomatic definition does not matter in practice.
Sample specification
The adjacent figures show an SDL specification for the DeamonGame as it was first described in Turner 1993 . The present variant is taken from Piefel 2011 . In this variant there is no explicit demon, but the change of the internal state is controlled with a timer.
Norms and standards
- Z.100: Specification and Description Language (SDL)
- Z.104: Encoding of SDL data
- Z.105: SDL combined with ASN.1 modules (SDL / ASN.1 )
- Z.106: Common interchange format for SDL
- Z.107: SDL with embedded ASN.1 (withdrawn)
- Z.109: SDL-2000 combined with UML
- Z.121: Specification and Description Language (SDL) data binding to Message Sequence Charts (MSC)
See also
literature
- F. Belina, D. Hogrefe, A. Sarma: SDL With Applications from Protocol Specification - 1991.
- KJ Turner (Ed.): Using Formal Description Techniques - An Introduction to Estelle, LOTOS and SDL. - New York, 1993.
- M. Piefel: CeeJay - A metamodel for code generation. - Berlin, 2011.