Specification and Description Language
Le Specification and Description Language (SDL) ou Langage de description et de spécification (LDS) est un standard de l'Union internationale des télécommunications (ITU-T) sous la référence Z.100. Ce langage a pour objectif de décrire de manière non ambiguë les protocoles de télécommunications. On retrouve ainsi des descriptions SDL dans les standards de l'ETSI tels que le X.25 ou le GSM.
Versions
SDL est mis à jour tous les 4 ans et on considère que sa première version stable et utilisable est sa version de 1988. On notera les étapes importantes suivantes :
- 1988 : première version stable et complète.
- 1992 : introduction de l'orientation objet.
- 1996 : Introduction des Remote procedure call.
- 2000 : Introduction de diagrammes UML.
- 2004 : Addendum pour assurer la compatibilité ascendante et alignement pour un futur profile UML.
- 2007 : Profil UML basé sur SDL (Z.109) standardisé par l'ITU-T.
- 2010 : Nouvelle organisation du standard de la Z.101 qui décrit le "Basic SDL" jusqu'à la Z.106.
Domaines d'utilisation
Le langage SDL est ce qu'on appelle un langage de modélisation qui permet de décrire les protocoles de télécommunications mais de manière plus générale il est aussi utilisé pour modéliser des applications temps réels. Ceci vient du fait que la sémantique du langage s'appuie sur des services qui sont ceux que l'on retrouve dans les systèmes d'exploitation temps réels tels que
- Description sous forme de machines d'état
- Échange d'information via des messages asynchrones (dénommés SIGNAL en SDL)
- Utilisation de timers (temporisateurs)
Particularités
Comme beaucoup de langages de modélisation, le SDL propose une abstraction graphique de concepts et services utilisés dans les protocoles de télécommunications. Ainsi l'envoi de message depuis une machine d'état est représenté par un symbole graphique. Mais surtout le SDL définit des types de données abstraits (TDA) et une syntaxe de manipulation ce qui permet de décrire le système de manière formelle; c’est-à-dire de manière complète et non ambiguë.
Quatre vues
Architecture
Un système SDL est composé de blocks fonctionnels et chaque block peut être décomposé en sous-blocks et ainsi de suite. Le block de plus bas niveau est composé de un ou plusieurs process qui sont décrits sous forme de machines d'états.
Communication
Les blocks de l'architecture sont connectés entre eux par des channels qui décrivent les différents messages (ou signaux) qui sont échangés entre les blocks.
Comportement
Le comportement est décrit graphiquement sous forme d'une machine d'état étendue.
Dans cet exemple MyVariable de type INTEGER est la seule variable locale au process. La première transition est la transition start qui initialise la variable locale. Un message de demande de connexion est envoyé (conReq), un timer de 5 secondes est démarré (conReqTimer), et l'automate se met dans l'état connecting. Dans l'état connecting si le timer claque -ce qui est l'équivalent de la réception d'un message- on renvoie la demande de connexion jusqu'à 10 fois. Si on reçoit une confirmation de connexion, l'automate passe dans l'état connected. C'est un scenario typique dans les protocoles de télécommunications.
Les symboles disponibles sont les suivants:
Données
Les types de données abstraits SDL offrent les types de base comme INTEGER, REAL, CHARSTRING et des types structurés comme les structures (STRUCT), les énumérés (LITERALS), les constantes (SYNONYMS). La syntaxe ressemble à celle du Pascal, par exemple une assignation s'écrira ':='.
Voir aussi
Technologies connexes
- MSC Message Sequence Chart. Un autre standard de l'UIT qui permet de décrire la dynamique du système.
- ASN.1 Abstract Syntax Notation One. Un standard de l'ISO qui permet de décrire les types de données qui seront utilisées en SDL.
- TTCN-3 Testing and Test Control Notation version 3. Un langage de test standardisé par l'UIT et écrit par l'ETSI.
- Unified Modeling Language Une notation générique de modélisation. Un profil a été standardisé basé sur le SDL.
Outils
- (en) PragmaDev PragmaDev Studio
- (en) IBM Rational SDL Suite - Anciennement Telelogic SDL Suite, anciennement SDT (SDL Design Tool) (COMMERCIAL)
- (en) Cinderella SDL
- (en) Solinet
- (en) SanDriLa Visio add-ons
- (en) Jade gratuit pour une utilisation personnelle
- Portail des télécommunications