IBM
Contents Index Previous Next



More about SDL


Theoretical Model

The basic theoretical model of an SDL system consists of a set of extended finite state machines (FSM) that run in parallel. These machines are independent of each other and communicate with discrete signals.

An SDL system consists of the following components:

Structure

Figure 1 shows the four main hierarchical levels in SDL: system, block, process, and procedure.

Figure 1 : The architectural view of an SDL system

In addition, there is a service concept that can be used within processes. Procedures can be used in both processes and services.

Communication

Figure 2 : Sending signals between two processes

In SDL, there is no global data. This approach requires that information between processes, or between processes and the environment, must be sent with signals and optional signal parameters. Signals are sent asynchronously, that is, the sending process continues executing without waiting for an acknowledgment from the receiving process.

Synchronous communication is possible via a shorthand, remote procedure call. This shorthand is transformed to signal sending with an extra signal for the acknowledgment.

Behavior

The dynamic behavior in an SDL system is described in the processes. The system/block hierarchy is only a static description of the system structure. Processes in SDL can be created at system start, or created and terminated dynamically at runtime. More than one instance of a process can exist. Each instance has a unique process identifier (PId). This makes it possible to send signals to individual instances of a process. The concept of processes and process instances that work autonomously and concurrently makes SDL a true real-time language.

Figure 3 : Creation of a new process instance at runtime

Data

The abstract data types concept used within SDL is very well suited to a specification language. An abstract data type is a data type with no specified data structure. Instead, it specifies a set of values, a set of operations allowed on the data type and a set of equations that the operations must fulfil. This approach makes it very simple to map an SDL data type to data types used in other high-level languages.

Alternatively, ASN.1 types can be used in SDL. This is useful when specifying or implementing telecommunication applications that make use of ASN.1. ITU-T Recommendation Z.105 defines how ASN.1 is used in combination with SDL. For more information on ASN.1, see ASN.1 - Abstract Syntax Notation One.

Figure 4 : Abstract Data Type example

Type Concept

The object-oriented concepts of SDL give you powerful tools for structuring and reuse. The concept is based on type definitions. All structural building blocks can be typed. Type definitions can be placed anywhere in the system, and also in packages outside the system.

One of the major benefits of using an object oriented language is the possibility to create new objects by adding new properties to existing objects, or to redefine properties of existing objects. This is what is commonly referred to as specialization.

In SDL, specialization of types can be accomplished in two ways:


http://www.ibm.com/rational
Contents Index Previous Next