SDL Memo
(October 2004)

SDL stands for Specification and Description Language. It is used for industrial telecommunication softwares.
The SDL concept is that the developer describes several entities which exchange signals. Such an entity is called a process and is basically a state machine.
This article gives examples of SDL code.
The functional aspect of these examples need not be understood as it is widely incomplete and the main focus of this article is syntax and graphical rules.
Table of contents

System View

Block View

Process View

Ressources on the Web

System View


Here is the corresponding text translation:
SYSTEM NetworkSimulator;

  SIGNAL Connect(Charstring, Integer);
  SIGNAL Disconnect(Integer);
  /* other signals not shown here */

  CHANNEL NetworkChannel_1 FROM RemoteStation TO Network WITH Send;
    FROM Network TO RemoteStation WITH Connect, Disconnect, Receive;
  ENDCHANNEL NetworkChannel_1;

  /* NetworkChannel_2 not shown here */

  BLOCK MainStation;
    ...
  ENDBLOCK MainStation;

  BLOCK RemoteStation;
    ...
  ENDBLOCK RemoteStation;

  BLOCK Network;
    ...
  ENDBLOCK Network;

ENDSYSTEM NetworkSimulator;

Block View


Text translation:
BLOCK MainStation;

  SIGNAL Terminated(Integer);
  /* other signals not shown here */

  SIGNALROUTE RouteDown FROM Yclient TO ENV WITH Send;
    FROM ENV TO Yclient WITH Connect, Disconnect, Receive;

  CONNECT RouteDown AND NetwokChannel_1;

  /* other routes not shown */
  
  PROCESS Yserver;
    ...
  ENDPROCESS Yserver;

  PROCESS Yclient;
    ...
  ENDPROCESS Yclient;

ENDBLOCK MainStation;

Process View


Text translation:
PROCESS Yclient;
  FPAR Up Pid;

  DCL Cause Integer;
  DCL LocalAddress, RemoteAddress Charstring;
  /* other declarations not shown here */

  START;
    TASK LocalAddress := '127.0.0.1',
         Hostname := 'Patrick',
         LocalTCPPort := 6523;
    NEXSTATE Idle;

  STATE Idle;
    INPUT Connect(RemoteAddress, RemotePort);
    NEXSTATE Connected;

    /* others states not shown here */

ENDPROCESS Yclient;

Ressources on the Web

www.sdl-forum.org