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

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Advertisements

SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Tool support for Distributed Object Technology
Object-Oriented Analysis and Design
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Introduction To System Analysis and Design
© 2005 Prentice Hall7-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Communication Notation Part V Chapter 15, 16, 18 and 19.
Specification and Description Language Luigi Bozzo May 2002 COUSE OF SOFTWARE ENGINEERING II AA 2001/02.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Slide 1 Specification & Description Language (SDL) - Part I.
Software Requirements
Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623 November 30, 2004.
Slide 1 Specification & Description Language (SDL) - Part I.
Chapter 1 Program Design
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
C++ fundamentals.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
The chapter will address the following questions:
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Chapter 10 Architectural Design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Introduction To System Analysis and Design
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
SE: CHAPTER 7 Writing The Program
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Systems Analysis and Design in a Changing World, 3rd Edition
Introduction to SDL Bibliography: [Doldi2001] L. Doldi, (2001), SDL Illustrated. [Edwards2001] S. Edwards, (2001), SDL,
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Requirements Engineering Methods for Requirements Engineering Lecture-30.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Specification and Description Language Lecture 5 SDL Department of Software Engineering.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
TTCN-3 Testing and Test Control Notation Version 3.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
Chapter 5 System modeling
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
Submission Title: [Add name of submission]
Chapter 4 System Modeling.
From Use Cases to Implementation
Presentation transcript:

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

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

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

5 History 1968 ITU study of stored program control systems 1972 Start of the development 1976 First pre-release Graphics, 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 SDL-2000 MSC-2000 Object modelling support Improved implementation support 2001 SDL-2001 Meeting UML

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

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

9 Application area Type of systems: Type of information: Level of abstraction: Real time Interactive Distributed Heterogeneous Behavior, structure Overview to details

10 Use of SDL SDL (and MSC) Interpreted as C++ etc. Product used to create used to produce Specification Ideas Customer modelled by Design Engineers Design Implementation Software Engineers modelled by made as executes as Interpreted as Tools transformed by

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

12 Examples Cellular phones Switches GPRS UMTS GSM ISDN

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

SDL Grammars two different syntactic forms (equivalent): Graphic Representation (SDL/GR) Phrase Representation (SDL/PR) 14

SDL Grammars (Cont.) A subset of SDL/PR is common with SDL/GR called common textual grammar 15

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 MSCASN.1 TTCN

17 SDL Structure Comprises four main hierarchical levels: System Block Process Procedure

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

19 SDL Structure Repeated block partitioning result in a block tree structure Partitioned blocks do not contain any process

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

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 System Channel

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

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

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

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

28 Process A process diagram usually contains the following elements: 1. Process name 2. Formal parameters 3. Variable descriptions 4. Process graph 5. Procedure Descriptions 6. Timer descriptions

29 Process Example Process P dcl c character; procedure proc; c Proc FPAR v1 Integer Proc c

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

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

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

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

34 Describing behavior with SDL When a signal has initiated a transition, it is removed from the input queue

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

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 A TO P2_ADDRESS

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

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

39 Process Creation/Termination A P2(A,true) S2 S1 Process P1Process P2 dcl v3 Integer V3 = v1 * 2 v3 FPAR v1 Integer, v2 Boolean

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

41

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

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

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

45

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

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

48 References SDL Forum Society Specification and Description Language Tutorial SDL 2001: Meeting UML 10 th International SDL Forum Copenhagen, Denmark, June 2001 Proceedings Rick Reed, Jeanne Reed Ed Springer Documenting Software Architecture: Documenting Behavior Bachmann, Bass, Clements, Garlan, Ivers, Little, Nord, Stafford

49 References SAM work shop SDL & MSC workshop (open discussion platform)

The End