specification and description language lecture 5 sdl department of software engineering

43
pecification and Description Language Lecture 5 SDL Department of Software Engineering

Upload: esther-chase

Post on 05-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Specification and Description Language Lecture 5 SDL Department of Software Engineering

Specification and Description Language

Lecture 5SDL

Department of Software Engineering

Page 2: Specification and Description Language Lecture 5 SDL Department of Software Engineering

2

Summary What is SDL

Intro History Goal SDL Characteristics

SDL Structure Example Glossary References

Page 3: Specification and Description Language Lecture 5 SDL Department of Software Engineering

3

IntroductionWhat is SDL

When designing, languages are used to formalize, partition and

structure the concept, so that it can be divided into more easily implemented pieces. Formal languages are often used to communicate between design engineers.

A key feature is that SDL is used for specification, design and implementation thus avoiding errors introduced when converting between different languages for different phases. It also combines the power of expression and communication of graphical presentation with the formality required to carry out thorough analysis.

Page 4: Specification and Description Language Lecture 5 SDL Department of Software Engineering

4

What is SDL SDL is used to apply to System Design Languages (in

particular the ITU specification and description language and other related languages such as ASN.1( Abstract Syntax Notation One ), MSC(Message Sequence Charts ) and TTCN (Tree and Tabular Combined Notation) from ITU and UML from OMG.

SDL (Specification and Description Language) is an object-oriented, formal language developed and standardized by The International Telecommunication Standardization Sector (ITU-T)

SDL is a broad-spectrum language that can be used from requirements capture to implementation.

proposed for the specification of complex, event-driven, real-time, and interactive application involving many concurrent activities that communicate using discrete signals

Page 5: Specification and Description Language Lecture 5 SDL Department of Software Engineering

5

What is SDL

SDL describe the architecture, behaviour and data of distributed systems in realtime environments

Useful for specifying the normative(THINGS LIKE TO BE) requirements of telecommunications protocol standards

Wide spectrum language - specification to implementation

Page 6: Specification and Description Language Lecture 5 SDL Department of Software Engineering

6

History 1968 Development of SDL arose out of an ITU study

started of the way to handle stored programmed control switching systems.

1972 Result of this study was to agree in 1972 that languages were needed for specification, programming and human machine interaction.

1976 First pre-release :The first, small SDL standard was produced in 1976 as the language for specification

1980-1984Graphics, process semantics, structure, data,definition more thorough, start of tools, user guide

1988 SDL88, the first standard

Page 7: Specification and Description Language Lecture 5 SDL Department of Software Engineering

7

History 1992 SDL92, MSC [ VDM (alias Meta IV) to underpin

the natural language description].

intro of OO and methodology guidelines

1995 SDL with ASN.1

1999 SDL-2000 MSC-2000 Object modelling supportImproved implementation support

2001 SDL-2001 Meeting UML

Page 8: Specification and Description Language Lecture 5 SDL Department of Software Engineering

8

Application area

Type of systems:

Type of information: Level of abstraction:

Real time Interactive Distributed Heterogeneous (diverse number of other areas ranging over aircraft, train control, medical )

Behavior, structure Overview to details

Page 9: Specification and Description Language Lecture 5 SDL Department of Software Engineering

9

Use of SDL

SDL(and MSC)

Interpreted as

C++ etc.

Product

used tocreate

used toproduce

SpecificationIdeas

Customer

modelled byDesign

Engineers

Design

Implementation Software

Engineers

modelled by

made as

executesas

Interpreted as

Tools

transformed by

Page 10: Specification and Description Language Lecture 5 SDL Department of Software Engineering

10

Goals

Provide a better way to describe behavior

Support human communication and understanding

Easy verification conformance of implementation of specifications

Design optimization Analyzing specifications for

completeness and correctness

Page 11: Specification and Description Language Lecture 5 SDL Department of Software Engineering

11

Goals

Use of computer based tools to create, maintain and analyze specifications

Formal high quality descriptions produced better, quicker and cheaper

Provide to programmers an easy way to do verification, validation of the design, failure testing, automatic documentation and simplified maintenance

Page 12: Specification and Description Language Lecture 5 SDL Department of Software Engineering

12

SDL Characteristics

Graphical form Based on communicating processes OO description of components Nonproprietary internationally

standardized language Formality and clarity High degree of testability Portable, scalable (upgraded easily and for

a long time ) , open, reusable

Page 13: Specification and Description Language Lecture 5 SDL Department of Software Engineering

13

Examples

Cellular phones Switches GPRS (General-Packet Radio Service UMTS (Universal Mobile Telecommunications System )

GSM Global System for Mobile Communication

ISDN (Integrated Services Digital Network )

Page 14: Specification and Description Language Lecture 5 SDL Department of Software Engineering

14

SDL & others languages

SDL is well suited to be the core of full-scale projects because of its abilities to interface with other languages.

UML

MSC ASN.1

TTCN

Page 15: Specification and Description Language Lecture 5 SDL Department of Software Engineering

15

Page 16: Specification and Description Language Lecture 5 SDL Department of Software Engineering

16

SDL Structure (MORE DETAIL) Comprises four main hierarchical levels:

System Block Process Procedure

Page 17: Specification and Description Language Lecture 5 SDL Department of Software Engineering

17

SDL Structure (MORE DETAIL)

A system contains one or more blocks, interconnected with each other and with the boundary of the system by channels

The block is the main structuring concept

A block can be partitioned into sub-blocks and channels A channel is a means of conveying signals Channels connected to a block are connected to signal routes within the block Signal routes carry the signals sent by a process

instance of the set to which the route is connected

Page 18: Specification and Description Language Lecture 5 SDL Department of Software Engineering

18

System In SDL/GR the system definition is called system diagram A system diagram usually contains the following elements:

1. system name (Daemongame )2. signal descriptions (for the types of signals

interchanged between the blocks of the system or between the blocks and the environment; Newgame, Probe, etc)

3. channel descriptions (for the channels connecting the blocks of the system to one another and to the environment of the system; Daemonserver, etc.);

4. data type descriptions (for the user defined data types, visible in the whole system and its environment; there are no user defined data types);

5. block descriptions (for the blocks into which the system is partitioned; the system contains only one block: Blockgame)

Page 19: Specification and Description Language Lecture 5 SDL Department of Software Engineering

1

2

3

5

Page 20: Specification and Description Language Lecture 5 SDL Department of Software Engineering

20

System

A signal definition contains a signal name and the types of values conveyed by the signal (the signal Score can convey a value of the type Integer).

Definitions written in the textual syntax (such as the description of signals and user defined data types) are placed inside a text symbol in SDL/GR.

Page 21: Specification and Description Language Lecture 5 SDL Department of Software Engineering

21

Page 22: Specification and Description Language Lecture 5 SDL Department of Software Engineering

22

Block

A block is a part of the system that can be treated as a self-contained object

c_ins

c_outt

P

1(1)block B

routrin

Page 23: Specification and Description Language Lecture 5 SDL Department of Software Engineering

23

Block A block diagram usually contains the following elements:

1. block name (Blockgame )2. signal descriptions or the signals local to the block,

i.e. not visible outside the block; (Gameover, Gameoverack )

3. signal route descriptions (for the signal routes connecting the processes of the block to one another and to the environment of the block; in R1, R2, etc.);

4. channel-to-route connections (the specification of the connections between the channels external to the block and the signal routes internal to the block; Daemonserver to R4, etc.):

5. process descriptions (for the process types that describe the behaviour of the block; Monitor, Game).

Page 24: Specification and Description Language Lecture 5 SDL Department of Software Engineering

1

2

5

4

3

Page 25: Specification and Description Language Lecture 5 SDL Department of Software Engineering

25

Process A process in SDL is an extended finite state machine [The transition can be expressed by an “if statement” consisting of a set of

trigger conditions. If trigger conditions are all satisfied, the transition is fired, bringing the machine from the current state to the next state and performing the specified data operations.The behavior of a finite state machine is described by states and transitions]

A process description is given through a process diagram

In SDL there are five basic constructs for the description of a process

task

Page 26: Specification and Description Language Lecture 5 SDL Department of Software Engineering

26

Process

A process diagram usually contains the following elements:1. Process name2. Formal parameters3. Variable descriptions4. Process graph 5. Procedure Descriptions6. Timer descriptions

Page 27: Specification and Description Language Lecture 5 SDL Department of Software Engineering

27

Process Example

Process P

dcl c character;

procedure proc;

c

Proc

FPAR v1 Integer

Proc

1

2

3

4

5

c

Page 28: Specification and Description Language Lecture 5 SDL Department of Software Engineering

28

Procedure The procedure construct in SDL is similar to the one

known from programming languages

A procedure is a finite state machine[the transition is associated

with a set of input Boolean conditions and a set of output Boolean functions] within a process. It is created when a procedure call is interpreted, and it dies when it terminates

A procedure description is similar to a process description, with some exceptions.

The start symbol is replaced by the procedure start symbol

Page 29: Specification and Description Language Lecture 5 SDL Department of Software Engineering

29

Procedure

A return symbol is introduced:

When a procedure is running, the calling process or procedure is suspended in the transition containing the procedure call

Page 30: Specification and Description Language Lecture 5 SDL Department of Software Engineering

30

Describing behavior with SDL

The behaviour of a system is constituted by the combined behaviour of the processes in the system

A process is defined as finite state machine, that works autonomously and concurrently with other processes

A process reacts to external stimuli in accordance with its description

A process is either in a state waiting, or performs a transition between two states

Page 31: Specification and Description Language Lecture 5 SDL Department of Software Engineering

31

Describing behavior with SDL

The co-operation between the processes is performed asynchronously by discrete messages called signals

Every process has an infinite input queue associated, which acts like a FIFO queue

Any signal arriving at the process is put into its input queue

A

Page 32: Specification and Description Language Lecture 5 SDL Department of Software Engineering

32

Describing behavior with SDL

When a signal has initiated a transition, it is removed from the input queue

Page 33: Specification and Description Language Lecture 5 SDL Department of Software Engineering

33

Process Addressing Every process has a unique address

The address is not determined by the user, but is rather created by some abstract SDL machine during the creation of a process

For any signal sent by a process there must be one and only one destination

Destination can be specified: Implicitly explicitly

Page 34: Specification and Description Language Lecture 5 SDL Department of Software Engineering

34

Explicit Addressing

SDL has the TO construct for the explicit addressing of processes

The keyword TO is used in an output, and it is followed by an expression containing the address of the destination process

A

TO P2_ADDRESS

Page 35: Specification and Description Language Lecture 5 SDL Department of Software Engineering

35

Implicit Addressing

The explicit specification of a destination address is not necessary if the destination is uniquely defined by the system structure

Page 36: Specification and Description Language Lecture 5 SDL Department of Software Engineering

36

Process Creation/Termination

Processes can be created by other processes dynamically at interpretation time

This is indicated in a block diagram by a dashed line from the creating process to the created process

The creating and created process must belong to the same block

Page 37: Specification and Description Language Lecture 5 SDL Department of Software Engineering

37

Process Creation/Termination

A

P2(A,true)

S2

S1

Process P1

Process P2

dcl v3 Integer

V3 = v1 * 2

v3

FPAR v1 Integer, v2 Boolean

Page 38: Specification and Description Language Lecture 5 SDL Department of Software Engineering

38

Glossary ASN.1

Abstract data type CCITT

Comite Consultatif International Telegraphique et Telephonique; the former name of ITU-T

FSMFinite state machine

IDLInterface description language; textual representation that enables

designers to capture interfaces and data types of objects IPC

Interprocess communication ITU

International Telecommunications Union OMG

Object Modeling Technique; a notation for capturing requirements with object analysis

Page 39: Specification and Description Language Lecture 5 SDL Department of Software Engineering

39

Glossary

ITU-TTelecommunications standardization body

OMTObject Modeling Technique; a notation for capturing

requirements with object analysis

SDL-GRGraphical notation for SDL

SDL-PRTextual notation for SDL

Page 40: Specification and Description Language Lecture 5 SDL Department of Software Engineering

40

References SDL Forum Society http://www.sdl-forum.org

Specification and Description Language Tutorialhttp://www.iec.org/online/tutorials/sdl/

SDL 2001: Meeting UML10th International SDL ForumCopenhagen, Denmark, June 2001ProceedingsRick Reed, Jeanne ReedEd Springer

Documenting Software Architecture: Documenting Behaviorhttp://www.sei.cmu.edu/publications/documents/02.reports/02tn001.htmlBachmann, Bass, Clements, Garlan, Ivers, Little, Nord, Stafford

Page 41: Specification and Description Language Lecture 5 SDL Department of Software Engineering

41

References SAM work shop

SDL & MSC workshop (open discussion platform)http://www.irisa.fr/manifestations/2000/sam2000/papers.html

Page 42: Specification and Description Language Lecture 5 SDL Department of Software Engineering

SDL Shapes Name

42

The table below gives the shape names and the corresponding node shapes.

Page 43: Specification and Description Language Lecture 5 SDL Department of Software Engineering

The End