Chapter 4
description
Transcript of Chapter 4
![Page 1: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/1.jpg)
Winter 2007 SEG2101 Chapter 4 1
Chapter 4
SDL – Structure and Behavior
![Page 2: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/8.jpg)
Winter 2007 SEG2101 Chapter 4 8
![Page 9: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/12.jpg)
Winter 2007 SEG2101 Chapter 4 12
System LevelThe first issue is to decide where to draw the system boundary.
![Page 13: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/13.jpg)
Winter 2007 SEG2101 Chapter 4 13
Block
Blocks are system components and are connected by channel.
![Page 14: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/21.jpg)
Winter 2007 SEG2101 Chapter 4 21
Sketch of LocalStation
![Page 22: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/22.jpg)
Winter 2007 SEG2101 Chapter 4 22
Block Type LocalStation
![Page 23: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/23.jpg)
Winter 2007 SEG2101 Chapter 4 23
Correspondence between formal description and informal description
![Page 24: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/27.jpg)
Winter 2007 SEG2101 Chapter 4 27
Behavior of FSM
![Page 28: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/28.jpg)
Winter 2007 SEG2101 Chapter 4 28
Description of FSM by a Process Diagram
![Page 29: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/31.jpg)
Winter 2007 SEG2101 Chapter 4 31
Sketch of Panel
![Page 32: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/32.jpg)
Winter 2007 SEG2101 Chapter 4 32
Block Panel
![Page 33: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/33.jpg)
Winter 2007 SEG2101 Chapter 4 33
Process and SignalRouteProcess symbols are connected by signalroutes.
![Page 34: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/34.jpg)
Winter 2007 SEG2101 Chapter 4 34
![Page 35: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/35.jpg)
Winter 2007 SEG2101 Chapter 4 35
Block LSControl
![Page 36: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/37.jpg)
Winter 2007 SEG2101 Chapter 4 37
Process LSControl (I)
![Page 38: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/38.jpg)
Winter 2007 SEG2101 Chapter 4 38
Process LSControl (II)
![Page 39: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/40.jpg)
Winter 2007 SEG2101 Chapter 4 40
Start and State SymbolThere is only one start symbol for a process.
*-
![Page 41: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/41.jpg)
Winter 2007 SEG2101 Chapter 4 41
Input and Output Symbol
![Page 42: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/42.jpg)
Winter 2007 SEG2101 Chapter 4 42
Output Destination
![Page 43: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/43.jpg)
Winter 2007 SEG2101 Chapter 4 43
Comment and Asterisk Input
* means any other input than listed.
![Page 44: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/44.jpg)
Winter 2007 SEG2101 Chapter 4 44
4.8: SDL Symbol Summary
![Page 45: Chapter 4](https://reader036.fdocuments.us/reader036/viewer/2022062814/5681681d550346895dddac3a/html5/thumbnails/45.jpg)
Winter 2007 SEG2101 Chapter 4 45
SDL Symbol Summary (II)