Specification and Description Language Lecture 5 SDL Department of Software Engineering.

Slides:



Advertisements
Similar presentations
Tool support for Distributed Object Technology
Advertisements

Software Requirements
Software Design Deriving a solution which satisfies software requirements.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Specification and Description Language Luigi Bozzo May 2002 COUSE OF SOFTWARE ENGINEERING II AA 2001/02.
Slide 1 Specification & Description Language (SDL) - Part I.
Software Requirements
Slide 1 Specification & Description Language (SDL) - Part I.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Chapter 1 Program Design
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
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.
An Introduction to Rational Rose Real-Time
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
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.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
An Introduction to Software Architecture
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
SE: CHAPTER 7 Writing The Program
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
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
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.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
© 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.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
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.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
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)
Object-Oriented Analysis and Design
Unified Modeling Language
Software Architecture & Design Pattern
Submission Title: [Add name of submission]
UML profiles.
Software Design Methodologies and Testing
Chapter 4 System Modeling.
From Use Cases to Implementation
Presentation transcript:

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 Example Glossary References

3 Introduction What 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.

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)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

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

6 History 1968 Development of SDL arose out of an ITU study started of the way to handle stored programmed control switching systems Result of this study was to agree in 1972 that languages were needed for specification, programming and human machine interaction First pre-release :The first, small SDL standard was produced in 1976 as the language for specification Graphics, process semantics, structure, data, definition more thorough, start of tools, user guide 1988 SDL88, the first standard

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 SDL-2000 MSC-2000 Object modelling support Improved implementation support 2001 SDL-2001 Meeting UML

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

9 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

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

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

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

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 )

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

15

16 SDL Structure (MORE DETAIL) Comprises four main hierarchical levels: System Block Process Procedure

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

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)

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.

21

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

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).

25 Process A process in SDL is an extended finite state machine [T he 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]if statementtrigger conditionsdata operations A process description is given through a process diagram In SDL there are five basic constructs for the description of a process task

26 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

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

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 terminatesBoolean A procedure description is similar to a process description, with some exceptions. The start symbol is replaced by the procedure start symbol

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

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

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

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

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

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

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

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

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

38 Glossary ASN.1 Abstract data type CCITT Comite Consultatif International Telegraphique et Telephonique; the former name of ITU-T FSM Finite state machine IDL Interface 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

39 Glossary ITU-T Telecommunications standardization body OMT Object Modeling Technique; a notation for capturing requirements with object analysis SDL-GR Graphical notation for SDL SDL-PR Textual notation for SDL

40 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

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

SDL Shapes Name 42 The table below gives the shape names and the corresponding node shapes.

The End