Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In...
-
Upload
felix-wilkins -
Category
Documents
-
view
219 -
download
0
description
Transcript of Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In...
![Page 1: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/23.jpg)
1
2
3
5
![Page 24: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/26.jpg)
1
2
5
4
3
![Page 27: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/33.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/34.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/35.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/36.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/37.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/38.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/39.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/40.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/41.jpg)
41
![Page 42: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/42.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/43.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/44.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/45.jpg)
45
![Page 46: Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/46.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/47.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/48.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/49.jpg)
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.](https://reader036.fdocuments.in/reader036/viewer/2022062503/5a4d1b0d7f8b9ab05998c66d/html5/thumbnails/50.jpg)
The End