specification and description language luigi bozzo may 2002 couse of software engineering ii aa...

Post on 20-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Specification and Description Language

Luigi Bozzo May 2002

COUSE OF SOFTWARE ENGINEERING II AA 2001/02

2

Summary What is SDL

Intro History Goal SDL Characteristics

SDL Structure Example – La lotteria algebrica Glossary References

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

4

What is SDL

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

Useful for specifying the normative requirements of telecommunications protocol standards

Wide spectrum language - specification to implementation

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

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

7

Application area

Type of systems:

Type of information: Level of abstraction:

Real time Interactive Distributed Heterogeneous

Behavior, structure Overview to details

8

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

9

Goals

Provide a better way to describe behaviour

Support human communication and understanding

Easy verification conformance of implementation of specifications

Design optimization Analyzing specifications for

completeness and correctness

10

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

11

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, open, reusable

12

Examples

Cellular phones Switches GPRS UMTS GSM ISDN

13

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

14

SDL Structure Comprises four main hierarchical levels:

System Block Process Procedure

15

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

16

SDL Structure

Repeated block partitioning result in a block tree structure

Partitioned blocks do not contain any process

17

SDL Structure

Leaf-blocks of a block tree structure are not partitioned, and contain only process

18

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

System

Channel

19

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

1

2

3

5

21

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

22

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

1

2

5

4

3

24

Process A process in SDL is an extended finite state machine The behaviour 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

25

Process

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

26

Process Example

Process P

dcl c character;

procedure proc;

c

Proc

FPAR v1 Integer

Proc

1

2

3

4

5

c

27

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

28

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

29

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

30

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

31

Describing behavior with SDL

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

32

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

33

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

34

Implicit Addressing

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

A

35

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

36

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

37

Example – La lotteria Algebrica

system L-AL

GestoreCartaCredito_p

PostaElettronica_p

GestoreAccessi_p

Cliente_u Giocatore_u

Direttore_u

lal_clientelal_giocatore

lal_Direttore

lal_GA

lal_PElal_GCC

* * 1

1

11[ … ]

[ … ]

[ … ]

[ … ]

[ … ]

[ … ]

38

Example – La lotteria Algebrica

system L-AL

GestioneCollegamenti

DatiGiocatore

1(X)

controlla

codiceOk[ ]

collega][L-AL_GA

DatiGiocatore_GCC

signal collegami(DatiGiocatore,Codice), collega(Integer,Integer), controlla(DatiGiocatore, Codice), codiceOk(DatiGiocatore, Codice, Chiave), seiCollegato(Chiave)

[ ]collegami

seiCollegato

L-AL_Giocatore

39

Example – La lotteria Algebrica

DatiGiocatori

Giocatore_u

GestoreAccessi_p

collegami(gu,D,cod)

controlla(D,cod)

codiceOk(D,cod,ch)

collega(cod,ch)

seiCollegato(ch)

GestioneCollegamenti

40

Example – La lotteria Algebrica

Block GestioneCollegamenti

P1 (DatiGiocatore,Codice)

P2 (DatiGiocatore,Codice,Chiave)

L-AL_Giocatore

L-AL_GA

DatiGiocatore_GCC

[collegami]

[controlla]codiceOk

collega][

[seiCollegato]

signal collegami(DatiGiocatore,Codice), collega(Integer,Integer), controlla(DatiGiocatore, Codice), codiceOk(DatiGiocatore, Codice, Chiave), seiCollegato(Chiave)

41

Example – La lotteria Algebrica

process P1FPAR v1 DatiGiocatore, v2 Codice

controlla (v1,v2)

process P2FPAR v1 DatiGiocatore, v2 Codice, v3 Chiave

collega (v2,v3)

seiCollegato (v3)

42

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

43

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

The End

48

ITU-T The International Telecommunication Union (ITU) is

the United Nations specialized agency in the field of telecommunications

The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU

ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis

50

SDL & UML UML is a language that is good at describing

classes/types and relationships between them in a simple and intuitive manner

It does a good job in the early phases of the development process but in the implementation phases it lacks in structural behavioral constructs

51

SDL & UML

SDL is more coherent than UML and also has a sound semantics foundation but is less expressive and widely accepted than UML

However, SDL is strong exactly where UML is weak.

Combining SDL with UML provides a modelling paradigm for visual software engineering that is more robust and effective than either language alone

52

SDL & UML

SDL bridges the gap between UML modeling and the target implementation

Requirements analysis

System specification

Design

Implementation

Target

53

SDL & UML

Convergence of UML and SDL

54

Why use SDL & UML ?

Standardized notation without sacrificing specialized model data

Common language that can be used from product conception to delivery, from system to detailed design levels

Reduced learning curve across projects Increased domain and design model reuse Increased customer involvement

/understanding of problem translation to product solution

56

MSC

The Message Sequence Charts (MSC) is a trace language for specification and description of the communication behavior of communicating systems

Shows chronological sequences of messages

sent between different system components (entities) and their environment

Well suited for presenting a complex dynamic behavior in a clear, unambiguous and easily understandable way

57

MSC Features

Formal Standardized Graphical Use Cases Simulation trace

(through automatically generated MSC) Regression Testing (checking old functionality)

58

MSC Example

Giocatore_s E Giocatore_u GestoreAccessi_p

collegami(gu,D,cod)

controlla(D,cod)

codiceOk(D,cod,ch)

collega(ch)

seiCollegato(ch)

60

ASN.1 ASN.1 (Abstract Syntax Notation One) is the

ISO-ITU standardized language for defining data types an values

Designed for describing structured information that is conveyed across some interface or communication medium, independently from the transfer format

Used in conjunction with Basic Encoding Rules (BER), defining the so-called “transfer syntax”, the rapresentation of values as a bit stream to be transmitted

61

ASN.1 Features

Formal Standardized Complete data type definition apparatus Constraints, class definitions and

parametrization Extensibility Automatic encoder/decoder generation Automatic implementation language

representation generation

62

ASN.1 examplePersonName ::= [16] IMPLICIT OCTET STRING

Person ::= SEQUENCE { title [1] OCTET STRING, name [2] PersonName, height [3] Height OPTIONAL, weight [4] INTEGER OPTIONAL

}

AddressBookEntry ::= CHOICE { [10] Person, [11] Company, [12] Group

}

64

TTCN TTCN (Tree and Tabular Combined Notation)

is a globally adopted standard test notation for the specification of test cases

In TTCN, a test case is used for testing special functionality such as non-termination

The sintax is similar to conventional programming languages and incorporates features like synchronous and asynchronous communication mechanisms as well as dynamic parallel test configuration

65

TTCN

A TTCN test suite consists of four parts: Overview part

An index and page references of the different part Declaration part

Declaration of PDUs with ASN.1 Constraints part

Describe the value that re sent or received Dynamic part

Describe the actual execution behavior of test suiteContains all test cases and default table for

66

TTCN Features

PortabilityTTCN is platform independent

ReusabilitySince an Abstract Test Suite uses only the external

(standardized) interfaces, it is highly reusable

ModularityTest cases can share a common set of definitions, and be

added incrementally

ASN.1 integrationASN.1 is used for representation of data (PDUs)

67

TTCN Example

Each test case or test step is a so-called behavior tree

68

TTCN Example

A behavior table describes the behavior tree in a tabular format

Test Case Dynamic Behavior

Test Case Name: Basic Connect

Purpose: Check that a normal Call connection can be established

Nr Label Behavior Description Cref V

1 L!LiftHook

2 L?DialTone

3 L!Digits CallSubsr2

4 L?CallToneL?

5 LineConnect ConnSubscr2

6 L!DropHook P

7 L?BusyTone

8 L!DropHook I

9 L?NoTone F

Detailed Comments:

Verdict: Pass, Inconclusive, Fail

top related