Specification and Description Language

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir SDL et LDS.

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.
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[modifier | modifier le code]

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[modifier | modifier le code]

Comme beaucoup de langage 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[modifier | modifier le code]

Architecture[modifier | modifier le code]

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.

SdlArchitecture.JPG

Communication[modifier | modifier le code]

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.

SdlChannels.png

Comportement[modifier | modifier le code]

Le comportement est décrit graphiquement sous forme d'une machine d'état étendue.

SdlStateMachine.png

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:

SdlSymbols.jpg

Données[modifier | modifier le code]

Les types de données abstraits SDL offrent les types de base comme INTEGER, REAL, CHARSTRING et des types structurés comme les structure (STRUCT), les énumérés (LITERALS), les constantes (SYNONYMS). La syntaxe ressemble à celle du Pascal, par exemple une assignation s'écrira ':='.

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

  • (en) ITU-T Study Group 17
  • (en) ETSI European Telecommunications Standards Institute
  • (en) SDL-RT une extension temps réel du SDL
  • (en) SDL Forum une association de promotion du SDL qui organise des conférences et publie les papiers acceptés

Outils[modifier | modifier le code]