Title: SDL
1Chapter 4
- SDL Structure and Behavior
2Contents
- SDL CCITT Specification and Description
Language - Nested blocks
- Process
- Innermost block with processes
- Process behavior
- Substructure
- Services
- SDL symbol summary
34.1 SDL (Specification and Description Language)
- Purpose and scope
- Basic ideas of SDL
http//www.telelogic.com/products/tau/languages/sd
l.cfm
4Purposes of SDL
- To specify precisely the functional properties of
a system to be constructed - To describe precisely the functional properties
of a system as it has been constructed.
5Scope of SDL
- Can be used in different phases of the system
life cycle. - May be applied over a range of abstraction levels
- Starting from very user-oriented, moving towards
the very concrete and design dependent. - Not intended as an implementation language and
should not be used to bind the realization. - Defined as a language and not a methodology.
6Basic Ideas of SDL
- SDL models independent behaviors as concurrent
processes. - A precise and unambiguous definition of mutual
dependency is the prime concern. - All dependencies are modeled explicitly as
signals interchange between the processes and
their environments.
- The theoretical foundation is the theory of
finite state machine. - An SDL system and its environment are conceived
of as a structure of blocks connected by channels.
7Basic Ideas of SDL (II)
- Blocks and channels may be decomposed into blocks
and channels recursively until basic components,
processes, are reached.
8(No Transcript)
9Basic Ideas of SDL (III)
- Signalroutes are the connectors between
processes. - Processes in the system and the environment
communicate with each other by sending signals
through the signalroute and channels. - There is one and only one signal input queue
associated with each process.
10Basic Ideas of SDL (IV)
Each process consists of the input port and an
extended finite state machine.
114.2 Nested Blocks
- SDL conceives a system as a structure of blocks
connected by channels and such blocks may again
be partitioned into blocks on lower levels. - SDL systems contain concurrent processes.
- Draw diagram to explain
12System Level
The first issue is to decide where to draw the
system boundary.
13Block
Blocks are system components and are connected by
channel.
14Channel
- Channels convey signals and there may be delay on
transfer of a signal. - Channels connected to frame symbol represents
connections to environment. - Channels may also be specified to have no delay
and the symbol is then equivalent to the signal
route symbol, I.e. the arrow heads are at the end.
15System
System is represented by a frame symbol which
represents the boundary of the system.
16Block Type Definition
- Block type symbol indicates that there is a block
type definition. - Both block reference and block type reference are
graphical shorthands for diagrams. - The reference defines the scope of the name.
17Block Set
- All the block instances within a block set
typically have the same relationship with its
surroundings. - Block set is not a reference. It designates a set
of block instances. - A channel connected to a block set will actually
represent a set of channel instances.
e, C gate
18Signal Declaration
- It is necessary to declare all signals so that
they are visible to the processes which handle
them. - A note is an explanatory text embraced by /
/. - The surrounding frame containing the textual
declaration is called a text symbol. - There is no limit to the numbers of text symbol
in a diagram.
19Signallist
- A signallist is a list of signals which has been
given a name. - If a signallist contains other signallists, the
signallist names will appear in parentheses.
(Fig.4.2) - The signals of a channel are denoted by a list of
signals (and signallist) in brackets.
20Block Nesting
- A singular block may be seen as a block instance
where block instance specification and block type
definition is combined. - Singular block instances may be specified with
reference to a block type omitting cardinality of
block set specification. - Block types may contain a connectivity graph of
block instances connected by channels. - At leaves there are blocks which contain
processes. - Block type may not contain both blocks and
processes at the same time.
21Sketch of LocalStation
22Block Type LocalStation
23Correspondence between formal description and
informal description
24Gate
- Gates are used to indicate which channels of the
block types are supposed to connect to which
channel connecting an instance of type. - e and C
- Gate names are defined by the type and visible
wherever the type name is visible. - Gate symbols have arrows at ends and signal lists
are associated with arrows. - Signallists will ensure the instances of the
block type are connected correctly to their
surroundings.
254.3 What is a Process?
- In SDL a process is an actor object executing his
own actions and having his own local (data)
attributes. - Processes have discrete behavior.
- Processes interact by means of signals.
- Signals are discrete stimuli which are actively
screened and processes by the receiver.
26Process
- SDL processes are described as FSMs.
- Process is closely related to behavior.
- System and block definitions concentrated on
static relationships. - Process descriptions concentrate on what is
changing. - The structure of process is what is stable when
the process behaves.
27Behavior of FSM
28Description of FSM by a Process Diagram
29Form of Process Diagram
- In general, each state transition has the
following form. - In a state transition a process sits in its
current state until an expected input event is
received.
304.4 Innermost Block with Processes
- The leaves of the block structure will contain
processes.
31Sketch of Panel
32Block Panel
33Process and SignalRoute
Process symbols are connected by signalroutes.
34(No Transcript)
35Block LSControl
364.5 Process Behavior
- The SDL way of describing a finite state machine
(FSM). - Dynamic
37Process LSControl (I)
38Process LSControl (II)
39Symbols of SDL Process Diagrams
- A frame surrounding the process diagram page
separates a process from its environment.
40Start and State Symbol
There is only one start symbol for a process.
-
41Input and Output Symbol
42Output Destination
43Comment and Asterisk Input
means any other input than listed.
444.8 SDL Symbol Summary
45SDL Symbol Summary (II)