Introduction to SDL Bibliography: [Doldi2001] L. Doldi, (2001), SDL Illustrated. [Edwards2001] S. Edwards, (2001), SDL,

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.
Introduction to PHP MIS 3501, Fall 2014 Jeremy Shafer
Remote Procedure Call (RPC)
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
George Blank University Lecturer. CS 602 Java and the Web Object Oriented Software Development Using Java Chapter 4.
Concurrency in Ada What concurrency is all about Relation to operating systems Language facilities vs library packages POSIX threads Ada concurrency Real.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
Copyright © 2001 Stephen A. Edwards All rights reserved SDL Prof. Stephen A. Edwards.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Slide 1 Specification & Description Language (SDL) - Part I.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
Slide 1 Specification & Description Language (SDL) - Part I.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
CHAPTER 6 FILE PROCESSING. 2 Introduction  The most convenient way to process involving large data sets is to store them into a file for later processing.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Timing analysis of an SDL subset in UPPAAL Anders Hessel Institution of Information Technology Department of Computer Systems Uppsala University M.Sc.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Fundamentals of Python: From First Programs Through Data Structures
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Design Synopsys System Verilog API Donations to Accellera João Geada.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
SDS Foil no 1 How to make real systems: Implementation design, deployment and realisation.
Introduction to LabVIEW
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
INTRODUCTION TO PROGRAMMING STRUCTURE Chapter 4 1.
Designing a Discrete Event Simulation Tool Peter L. Jackson School of Operations Research and Industrial Engineering March 15, 2003 Cornell University.
Introduction to Computational Linguistics Programming I.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
The Java Programming Language
CMPS 211 JavaScript Topic 1 JavaScript Syntax. 2Outline Goals and Objectives Goals and Objectives Chapter Headlines Chapter Headlines Introduction Introduction.
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.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
Specification and Description Language Lecture 5 SDL Department of Software Engineering.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Winter 2007SEG2101 Chapter 111 Chapter 11 Implementation Design.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
FDT Foil no 1 Basic SDL Specification and Description Language Basic SDL.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C.
CCSA 221 Programming in C CHAPTER 3 COMPILING AND RUNNING YOUR FIRST PROGRAM 1 ALHANOUF ALAMR.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
Studio modeling basics
Servlets.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
OPERATING SYSTEMS CS 3502 Fall 2017
ECE 353 Lab 3 Pipeline Simulator
Java Primer 1: Types, Classes and Operators
Programming the Web Using Visual Studio .NET
Ch > 28.4.
Submission Title: [Add name of submission]
Chapter 5 SDL - Data 2007, rev. 08 SEG2101 Chapter 5.
Presentation transcript:

Introduction to SDL Bibliography: [Doldi2001] L. Doldi, (2001), SDL Illustrated. [Edwards2001] S. Edwards, (2001), SDL, 02/presentations/sdl.ppt. [ABS2002] A. Alkhodre, J.-P. Babau, and J.-J. Schwarz, "Modelling of real- time constraints using SDL for embedded systems design," Computing & Control Engineering Journal, vol. 13, pp , /presentations/sdl.ppt

Dept. of Software and IT Engineering Introduction to SDL 2 SDL: Specification and Description Language ITU-T (International Telecommunication Union) Recommendation Z.100 Created for the specification of communication protocols Two forms: Textual (SDL/PR) et Graphic (SDL/GR)

Dept. of Software and IT Engineering Introduction to SDL 3 SDL Two aspects: 1. Structure of a specification in SDL 2. Behavior of a specification in SDL

Dept. of Software and IT Engineering Introduction to SDL 4 Structure: Basic components Three basic components in SDL  System  Block  Process

Dept. of Software and IT Engineering Introduction to SDL 5 System: Highest level

Dept. of Software and IT Engineering Introduction to SDL 6 Block: middle level(s)

Dept. of Software and IT Engineering Introduction to SDL 7 Process: lowest level

Dept. of Software and IT Engineering Introduction to SDL 8 Communication in SDL Signal  Models an event that is communicated between processes, blocks, or systems Channel  Models the means of transferring a signal between two blocks, or a block and the external environment Signal route  Models the means of transferring a signal between two processes

Dept. of Software and IT Engineering Introduction to SDL 9 SDL Signals General format: Signal_name(parameters) Simplest format  start Format with values  A(true) (message with a Boolean argument)  dial(number)  get_request(file, username) Parameters in SDL can be rather complex if necessary (supports ASN.1)

Dept. of Software and IT Engineering Introduction to SDL 10 Signal address Source address (process that sent it)  Useful when there are more than one instance of the same process e.g., in the case of a server that handles many requests from different clients, each request can be run in a separate concurrent process, which are different instances of the same process

Dept. of Software and IT Engineering Introduction to SDL 11 SDL Channels Signal channel, between blocks  communication delays are uncertain Signal route, in the same block (computer), between processes  Almost instantaneous

Dept. of Software and IT Engineering Introduction to SDL 12 SDL Channels (2) A signal can travel across several channels on its way from the source to destination

Dept. of Software and IT Engineering Introduction to SDL 13 SDL: Behavior A process in SDL is modeled as a finite- state machine (actually extended, communicating FSM).  System behavior A process can be created or terminated dynamcially

Dept. of Software and IT Engineering Introduction to SDL 14 Specification in SDL An SDL specification is a group of communicating modules An SDL specification is a group of ECFSM (extended communication finite- state machines)

Dept. of Software and IT Engineering Introduction to SDL 15 Finite State Machines A finite state machine has:  States  Inputs (events)  Transition function  Outputs (events) Examples…

Dept. of Software and IT Engineering Introduction to SDL 16 FSM: Example

Dept. of Software and IT Engineering Introduction to SDL 17 (Some) properties of FSM Deterministic Non-deterministic Complete Partial Connected …

Dept. of Software and IT Engineering Introduction to SDL 18 Extended Finite State Machine It’s an FSM that has state variables For complex problems, the state-space can explode  Can be reduced by using state variables 3 additional features  Input/Output events can have parameters  Use of predicates for firing transitions  Variables can be modified during a transition Examples…

Dept. of Software and IT Engineering Introduction to SDL 19 Example of EFSM

Dept. of Software and IT Engineering Introduction to SDL 20 Extended Communicating Finite State Machine (ECFSM) It’s an EFSM that can communicate with other EFSM Each EFSM has it’s own (input) queue If M1 sends a message to M2, the message is put in M2’s queue

Dept. of Software and IT Engineering Introduction to SDL 21 ECFSM: Example - Means a message is sent + means a message is received 1 2 -B +A -C 1 2 +B-A M2 M1

Dept. of Software and IT Engineering Introduction to SDL 22 SDL Process A process in SDL is an ECFSM Execution rule: take the next signal (message) from the queue and...  Update variables  Process branch decisions  Send a new signal  …  Determine the next state  End

Dept. of Software and IT Engineering Introduction to SDL 23 SDL Process (2) Text and graphic forms state Wait; input Money(a); task x := a; nextstate Pay; input Cancel; nextstate Wait; endstate; Wait Money Pay Cancel Waitx := a

Dept. of Software and IT Engineering Introduction to SDL 24 SDL Process (3) Transition rules  At any given state, remove a signal from the input queue  If a transition is defined for this signal, then Fire the transition  Output signal(s)  Modify internal variables, etc.  Else (no transition defined for this signal) Ignore the signal and stay in the same state

Dept. of Software and IT Engineering Introduction to SDL 25 State symbol Indicates either the current state or the next state, depending on its use inactive ready

Dept. of Software and IT Engineering Introduction to SDL 26 Start State Indicates the start of a process Nameless ready...

Dept. of Software and IT Engineering Introduction to SDL 27 Receive symbol Follows a State symbol Indicates the Signal activating a transition [Edwards2001] Idle CoinChoiceClear...

Dept. of Software and IT Engineering Introduction to SDL 28 Receiving a signal Set of valid signals  Contains all signals a process can receive  Any signal not in this set will produce an error At a given state, only certain signals can activate a transition  If a (valid) signal is received but it has no defined transition, the signal is destroyed without causing a transition  This is called an implicit transition

Dept. of Software and IT Engineering Introduction to SDL 29 Save symbol Allows a signal to be accepted and stored again into the input queue (without losing it)  Useful when signals can get re-ordered [Edwards2001] Idle CoinClear Choice A “Choice” signal that arrives in this state will be deferred to the next

Dept. of Software and IT Engineering Introduction to SDL 30 Output symbol Sends a signal to another process  Explicit forms « VIA channel » et « TO process » The channel by which the signal is sent is determined by the signal’s type A(s)

Dept. of Software and IT Engineering Introduction to SDL 31 Explicit output VIA channel or TO process  e.g., a process that needs to resend the same signal it has received  To avoid receiving again the same signal, a channel can be specified  There are other cases… “VIA” the channel named MB

Dept. of Software and IT Engineering Introduction to SDL 32 Local variables A process has local variables Shared variables  Modified only by the process itself  Read by other processes (in certain cases) Declared textually

Dept. of Software and IT Engineering Introduction to SDL 33 Important! There are no global variables in SDL!!!

Dept. of Software and IT Engineering Introduction to SDL 34 Variable types integer, Boolean, real, character, string  Operators +, -, *, etc. Arrays, enumerations et sets

Dept. of Software and IT Engineering Introduction to SDL 35 Task symbol Assignment statements, expressions Informal text  Incomplete specification, to be detailed later  Useful during simulation

Dept. of Software and IT Engineering Introduction to SDL 36 Decision symbol Branch according to a condition  Expression form a=e  Informal ‘message’

Dept. of Software and IT Engineering Introduction to SDL 37 Process Creation symbol Creates (instantiates) a new process after a transition  Channels aren’t duplicated  Make sure that a message is sent to the right instance Specification of the number of instances CallHandler CallHandler(0,63) [Edwards2001]

Dept. of Software and IT Engineering Introduction to SDL 38 Process creation Convention: independent handling of a request  Like a daemon in Unix (lpd, httpd, etc.)  e.g., create a new server process to handle a file-transfer request The process “dies” when the file has been sent Set the maximum number of process instances because resources are limited

Dept. of Software and IT Engineering Introduction to SDL 39 Process creation Process is running at all times (one and only one instance) Process starts out as inactive. No more than one instance. No processes running at first, but up to 64 instances. CallHandler(1,1) CallHandler(0,1) CallHandler(0,64)

Dept. of Software and IT Engineering Introduction to SDL 40 Terminating a process Only a process can terminate ‘last task’

Dept. of Software and IT Engineering Introduction to SDL 41 Timers att_ack TB(r) reset(T) Timer T; A(s)... set (now+10, T) A(s) Once a timer has expired, the process receives a message. A timer is declare like a variable Duration of timer is specified here Timer is deactivated

Dept. of Software and IT Engineering Introduction to SDL 42 SDL: Inside information… SDL has two “close cousins”  ASN.1  MSC They are always together on projects that are serious.

Dept. of Software and IT Engineering Introduction to SDL Examples 43 Documenting Software Architectures: Views and Beyond by Paul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith StaffordPaul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith Stafford Publisher: Addison-Wesley Professional Pub Date: September 26, 2002

Dept. of Software and IT Engineering Introduction to SDL Examples 44 Documenting Software Architectures: Views and Beyond by Paul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith StaffordPaul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith Stafford Publisher: Addison-Wesley Professional Pub Date: September 26, 2002

Dept. of Software and IT Engineering Introduction to SDL Example: (MSC) 45 Documenting Software Architectures: Views and Beyond by Paul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith StaffordPaul Clements; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Robert Nord; Judith Stafford Publisher: Addison-Wesley Professional Pub Date: September 26, 2002

Dept. of Software and IT Engineering Introduction to SDL Exercise bremen.de/typo3site/uploads/media/Ex ercise6.pdfhttp:// bremen.de/typo3site/uploads/media/Ex ercise6.pdf 46