Chapter 4

45
Winter 2007 SEG2101 Chapter 4 1 Chapter 4 SDL – Structure and Behavior

description

Chapter 4. SDL – Structure and Behavior. Contents. SDL – CCITT Specification and Description Language Nested blocks Process Innermost block with processes Process behavior Substructure Services SDL symbol summary. 4.1: SDL (Specification and Description Language). Purpose and scope - PowerPoint PPT Presentation

Transcript of Chapter 4

Page 1: Chapter 4

Winter 2007 SEG2101 Chapter 4 1

Chapter 4

SDL – Structure and Behavior

Page 2: Chapter 4

Winter 2007 SEG2101 Chapter 4 2

Contents

• SDL – CCITT Specification and Description Language

• Nested blocks• Process• Innermost block with processes• Process behavior• Substructure• Services• SDL symbol summary

Page 3: Chapter 4

Winter 2007 SEG2101 Chapter 4 3

4.1: SDL (Specification and Description Language)

• Purpose and scope• Basic ideas of SDL

http://www.telelogic.com/products/tau/languages/sdl.cfm

Page 4: Chapter 4

Winter 2007 SEG2101 Chapter 4 4

Purposes 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.

Page 5: Chapter 4

Winter 2007 SEG2101 Chapter 4 5

Scope 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.

Page 6: Chapter 4

Winter 2007 SEG2101 Chapter 4 6

Basic 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.

Page 7: Chapter 4

Winter 2007 SEG2101 Chapter 4 7

Basic Ideas of SDL (II)• Blocks and channels may be decomposed

into blocks and channels recursively until basic components, processes, are reached.

Page 8: Chapter 4

Winter 2007 SEG2101 Chapter 4 8

Page 9: Chapter 4

Winter 2007 SEG2101 Chapter 4 9

Basic 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.

Page 10: Chapter 4

Winter 2007 SEG2101 Chapter 4 10

Basic Ideas of SDL (IV)Each process consists of the input port and an extended finite state machine.

Page 11: Chapter 4

Winter 2007 SEG2101 Chapter 4 11

4.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

Page 12: Chapter 4

Winter 2007 SEG2101 Chapter 4 12

System LevelThe first issue is to decide where to draw the system boundary.

Page 13: Chapter 4

Winter 2007 SEG2101 Chapter 4 13

Block

Blocks are system components and are connected by channel.

Page 14: Chapter 4

Winter 2007 SEG2101 Chapter 4 14

Channel• 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.

Page 15: Chapter 4

Winter 2007 SEG2101 Chapter 4 15

System

System is represented by a frame symbol which represents the boundary of the system.

Page 16: Chapter 4

Winter 2007 SEG2101 Chapter 4 16

Block 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.

Page 17: Chapter 4

Winter 2007 SEG2101 Chapter 4 17

Block 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

Page 18: Chapter 4

Winter 2007 SEG2101 Chapter 4 18

Signal 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.

Page 19: Chapter 4

Winter 2007 SEG2101 Chapter 4 19

Signallist

• 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.

Page 20: Chapter 4

Winter 2007 SEG2101 Chapter 4 20

Block 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.

Page 21: Chapter 4

Winter 2007 SEG2101 Chapter 4 21

Sketch of LocalStation

Page 22: Chapter 4

Winter 2007 SEG2101 Chapter 4 22

Block Type LocalStation

Page 23: Chapter 4

Winter 2007 SEG2101 Chapter 4 23

Correspondence between formal description and informal description

Page 24: Chapter 4

Winter 2007 SEG2101 Chapter 4 24

Gate

• 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.

Page 25: Chapter 4

Winter 2007 SEG2101 Chapter 4 25

4.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.

Page 26: Chapter 4

Winter 2007 SEG2101 Chapter 4 26

Process

• 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.

Page 27: Chapter 4

Winter 2007 SEG2101 Chapter 4 27

Behavior of FSM

Page 28: Chapter 4

Winter 2007 SEG2101 Chapter 4 28

Description of FSM by a Process Diagram

Page 29: Chapter 4

Winter 2007 SEG2101 Chapter 4 29

Form 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.

Page 30: Chapter 4

Winter 2007 SEG2101 Chapter 4 30

4.4: Innermost Block with Processes

• The leaves of the block structure will contain processes.

Page 31: Chapter 4

Winter 2007 SEG2101 Chapter 4 31

Sketch of Panel

Page 32: Chapter 4

Winter 2007 SEG2101 Chapter 4 32

Block Panel

Page 33: Chapter 4

Winter 2007 SEG2101 Chapter 4 33

Process and SignalRouteProcess symbols are connected by signalroutes.

Page 34: Chapter 4

Winter 2007 SEG2101 Chapter 4 34

Page 35: Chapter 4

Winter 2007 SEG2101 Chapter 4 35

Block LSControl

Page 36: Chapter 4

Winter 2007 SEG2101 Chapter 4 36

4.5: Process Behavior

• The SDL way of describing a finite state machine (FSM).

• Dynamic

Page 37: Chapter 4

Winter 2007 SEG2101 Chapter 4 37

Process LSControl (I)

Page 38: Chapter 4

Winter 2007 SEG2101 Chapter 4 38

Process LSControl (II)

Page 39: Chapter 4

Winter 2007 SEG2101 Chapter 4 39

Symbols of SDL Process Diagrams

• A frame surrounding the process diagram page separates a process from its environment.

Page 40: Chapter 4

Winter 2007 SEG2101 Chapter 4 40

Start and State SymbolThere is only one start symbol for a process.

*-

Page 41: Chapter 4

Winter 2007 SEG2101 Chapter 4 41

Input and Output Symbol

Page 42: Chapter 4

Winter 2007 SEG2101 Chapter 4 42

Output Destination

Page 43: Chapter 4

Winter 2007 SEG2101 Chapter 4 43

Comment and Asterisk Input

* means any other input than listed.

Page 44: Chapter 4

Winter 2007 SEG2101 Chapter 4 44

4.8: SDL Symbol Summary

Page 45: Chapter 4

Winter 2007 SEG2101 Chapter 4 45

SDL Symbol Summary (II)