specification and description language peyman dodangeh march 2013 sharif university of technology in...

50
ecification and Description Langua Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Upload: felix-wilkins

Post on 17-Jan-2018

218 views

Category:

Documents


0 download

DESCRIPTION

3 What is SDL SDL (Specification and Description Language) is an object-oriented, formal language developed and standardized by The International Telecommunication Standardization Sector (ITU-T)ITU-T Intended for the specification of complex, event-driven, real-time, and interactive application involving many concurrent activities that communicate using discrete signals

TRANSCRIPT

Page 1: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Specification and Description Language

Peyman Dodangeh March 2013

Sharif University of Technology

In The Name Of God

Page 2: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

2

Summary What is SDL

Intro History Goal SDL Characteristics

SDL Structure References

Page 3: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

3

What is SDL SDL (Specification and Description

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

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

Page 4: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

4

What is SDL SDL describe the architecture, behavior

and data of distributed systems in real time environments

Useful for specifying the normative requirements of telecommunications protocol standards

Wide spectrum language - specification to implementation

Page 5: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

5

History 1968 ITU study of stored program control

systems

1972 Start of the development

1976 First pre-release

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

1988 SDL88, the first standard

Page 6: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

6

History 1992 SDL92, MSC

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 7: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

7

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 8: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

8

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, regression testing, automatic documentation and simplified maintenance

Page 9: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

9

Application area Type of systems:

Type of information: Level of abstraction:

Real time Interactive Distributed Heterogeneous

Behavior, structure Overview to details

Page 10: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

10

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 11: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

11

SDL Characteristics Graphical form Based on communicating processes OO description of components Formality and clarity High degree of testability Portable, scalable, open, reusable SDL-GR

Graphical notation for SDL SDL-PR

Textual notation for SDL

Page 12: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

12

Examples Cellular phones Switches GPRS UMTS GSM ISDN

Page 13: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Commercial SDL Tools both developed by Telelogic: - ObjectGeode - Telelogic Tau SDL Suite

(ObjectGeode has been developed by Verilog, but in 1999, Telelogic has acquired Verilog)

13

Page 14: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

SDL Grammars two different syntactic forms (equivalent):

Graphic Representation (SDL/GR) Phrase Representation (SDL/PR)

14

Page 15: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

SDL Grammars (Cont.) A subset of SDL/PR is common with

SDL/GR called common textual grammar

15

Page 16: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

16

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 17: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

17

SDL Structure Comprises four main hierarchical levels:

System Block Process Procedure

Page 18: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

18

SDL Structure 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

Page 19: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

19

SDL Structure

Repeated block partitioning result in a block tree structure

Partitioned blocks do not contain any process

Page 20: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

20

SDL Structure Leaf-blocks of a block tree structure are not

partitioned, and contain only process

Page 21: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

21

System The system description constitutes the top

level of detail The system is what the SDL description

specifies:an abstract machine communicating with its environment

Environment

SystemChannel

Page 22: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

22

System A system diagram usually contains the

following elements:1. system name 2. signal descriptions 3. channel descriptions 4. data type descriptions 5. block descriptions

Page 23: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

1

2

3

5

Page 24: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

24

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 25: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

25

Block A block diagram usually contains the

following elements: 1. block name 2. signal descriptions 3. signal route descriptions 4. channel-to-route connections 5. process descriptions

Page 26: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

1

2

5

4

3

Page 27: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

27

Process A process in SDL is an extended finite state machine 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 28: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

28

Process A process diagram usually contains the

following elements:1. Process name2. Formal parameters3. Variable descriptions4. Process graph 5. Procedure Descriptions6. Timer descriptions

Page 29: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

29

Process ExampleProcess P

dcl c character;procedure proc;

c

Proc

FPAR v1 Integer

Proc

123

4

5

c

Page 30: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

30

Procedure The procedure construct in SDL is similar to the one

known from programming languages

A procedure is a finite state machine 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 31: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

31

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 32: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

32

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 33: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

33

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

Page 34: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

34

Describing behavior with SDL

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

Page 35: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

35

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 36: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

36

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

ATO P2_ADDRESS

Page 37: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

37

Implicit Addressing The explicit specification of a destination

address is not necessary if the destination is uniquely defined by the system structure

A

Page 38: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

38

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 39: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

39

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 40: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Text and Task Symbols keyword DCL introduces definition of

variables in a text symbol

during transition the process can manipulate its own local variables

a task construct is always an assignment (represented by a task symbol)

40

Page 41: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

41

Page 42: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Decision Symbol question may have various answers only one answer should be correct

42

Page 43: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

decision symbol may have a number of different shapes. Some examples are:

43

Page 44: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

Data Carrying Signals signals can carry data values from one

process to another In the input construct, variables are specified output construct includes data values types of values sent in output construct must

be compatible with types of variables in the corresponding input construct

44

Page 45: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

45

Page 46: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

When signal A is consumed by process p2, the value 5 is assigned to v1 and true is assigned to v2

In the input and output constructs, the order of the data values and variables is important

46

Page 47: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

one or more values may be omitted in an output construct

one or more variables may be omitted in the input construct

(corresponding received values are lost in this case)

47

Page 48: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

48

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 49: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

49

References SAM work shop

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

Page 50: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God

The End