Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical

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

Models of Concurrency Manna, Pnueli.
Hardware Description Language (HDL)
Slide 1 Specification & Description Language (SDL) - Part II.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Functional Design and Programming Lecture 1: Functional modeling, design and programming.
Slide 1 Specification & Description Language (SDL) - Part II.
Slide 1 Specification & Description Language (SDL) - Part I.
Slide 1 Specification & Description Language (SDL) - Part I.
CS241 PASCAL I - Control Structures1 PASCAL I - Control Structures Philip Fees CS241.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Stepan Potiyenko Verification of Specifications in Modeling Languages using Basic Protocols.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Some general properties of languages 1. Synchronous vs. asynchronous languages.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 SDL Part I Based on Lectures notes from: * Oleg Chistokhvalov, LUT, IT Dep.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
Introduction to SDL Bibliography: [Doldi2001] L. Doldi, (2001), SDL Illustrated. [Edwards2001] S. Edwards, (2001), SDL,
SDL as an Object Oriented Language Lecture 6 Huma Ayub Software Engineering Department 1.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 2: Variables & Data Types.
Higher Grade Computing Studies 3. High Level Language Constructs Higher Computing Software Development S. McCrossan 1 Simple Data Types Integer: An integer.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
I Power Higher Computing Software Development High Level Language Constructs.
JavaScript, Fourth Edition
CCSA 221 Programming in C CHAPTER 8 – PART 1 WORKING WITH FUNCTIONS 1.
Functions: Part 2 of /11/10: Lecture 16 CMSC 104, Section 0101 John Y. Park 1.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
Specification and Description Language Peyman Dodangeh March 2013 Sharif University of Technology In The Name Of God.
Methods Awesomeness!!!. Methods Methods give a name to a section of code Methods give a name to a section of code Methods have a number of important uses.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
Visual Basic Review LBS 126. VB programming Project Form 1Form 2Form 3 Text boxButton Picture box Objects Text box Button Objects.
CSCI 51 Introduction to Programming Dr. Joshua Stough February 24, 2009.
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:
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Code Generation Instruction Selection Higher level instruction -> Low level instruction Register Allocation Which register to assign to hold which items?
Bill Tucker Austin Community College COSC 1315
Dr. Eng Amr T. Abdel-Hamid
Definition of the Programming Language CPRL
“<Fill in your definition here.>”
TrueTime.
Type Checking Generalizes the concept of operands and operators to include subprograms and assignments Type checking is the activity of ensuring that the.
PROTOCOL CORRECTNESS Tutorial 3 Theoretical
Introduction to Computer Science / Procedural – 67130
Java Primer 1: Types, Classes and Operators
Data Types, Arithmetic Operations
Data Structures and Algorithms
Representation, Syntax, Paradigms, Types
Data Types, Identifiers, and Expressions
Submission Title: [Add name of submission]
Chapter 5 SDL - Data 2007, rev. 08 SEG2101 Chapter 5.
Objective of This Course
ECE 434 Advanced Digital System L10
Representation, Syntax, Paradigms, Types
File I/O in C Lecture 7 Narrator: Lecture 7: File I/O in C.
An introduction to UML 2 for modelling communications
` Structured Programming & Flowchart
CS285 Introduction - Visual Basic
Process Identification (PId)
Representation, Syntax, Paradigms, Types
Python Primer 1: Types and Operators
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
Representation, Syntax, Paradigms, Types
Introducing JavaScript
STATE MACHINE AND CONCURRENT PROCESS MODEL
STATE MACHINE AND CONCURRENT
COE 202 Introduction to Verilog
COMPUTING.
Dr. Eng Amr T. Abdel-Hamid
Presentation transcript:

Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical Based on Lecture 3 Protocol Modeling (Dr. Amr Talaat) Eng. Ahmed Badr

Extended FSMs q in?x,y x<y y==0 x>y x=x-y y=y-x out!x input in?x,y x<y y==0 1 3 4 2 5 x>y x=x-y y=y-x out!x input channel output ( assume x ≠ 0)

Specification and Description Language The Specification and Description Language (SDL) is based on Extended FSMs. Originally developed for the specification of telecommunication systems (esp. telephone exchanges). SDL may be used for producing Specification and Design of diverse applications: aerospace, automotive control, electronics, medical systems, Telecommunications Standards and Design for (examples): Call & Connection Processing, Maintenance and fault treatment (for example alarms, automatic fault clearance, routine tests) in general telecommunications systems, Intelligent Network (IN) products, Mobile handsets and base stations, Satellite protocols.

System & Environment SDL System Signals ENVIRONMENT The SDL specification defines how Systems reacts to events in the Environment which are communicated by Signals sent to the System The only form of communication of an SDL system to environment is via Signals Signals ENVIRONMENT

Static & Dynamic SDL Static Dynamic The Static component describes/specifies system structure Functional decomposition to sub- entities A system can be composed of 1 or more blocks A block can be composed of processes and blocks The Dynamic component describes/specifies system operation - behavior SDL Transitions, Transitions Actions Communications Birth, Life and Death of Processes Processes are finite state machines, and define dynamic behavior

Structuring of the System Description System S Block B System S Block B1 Process P11 Process P12 Block B2 Process P21 Process P22 Process P

Process Diagram Components ... state_a STATEs: point in PROCESS where input queue is being monitored for arrived SIGNALs subsequent state transition may or may not have a NEXTSTATE INPUT: indicates that the subsequent state transition should be executed if the SIGNAL matching the INPUT arrives INPUTs may specify SIGNALs and values within those SIGNALs Inputs can also specify timer expiry OUTPUT: specifies the sending of a SIGNAL to another PROCESS sig_a sig_c

Process Diagram Components TASK: description of operations on variables or special operations The text within the TASK body can contain assign statements. do_something make_ decision true false DECISION: tests a condition to determine subsequent PROCESS flow

Process Diagram Components ... SAVE: specifies that the consumption of a SIGNAL be delayed until subsequent SIGNALs have been consumed The effect is that the SAVE-d SIGNAL is not consumed until the next STATE No transition follows a SAVE The SAVE-d SIGNAL is put at the end of the queue and is processed after other SIGNALs arrive START: used to describe behavior on creation as well as indicating initial state Similar shape to state only with semi-circular sides sig_c

Procedure PROCEDURE: similar to a subroutine Allow reuse of SDL code sections. Reduce size of SDL descriptions. Can pass parameters by value (IN) or by reference (IN/OUT). sigA stateC ProcB (SENDER) PROCEDURE ProcB fpar player PId; Gameid to player

Priority & Internal Inputs sig_a Priority inputs are inputs that are given priority in a state If several signals exist in the input queue for a given state, the signals defined as priority are consumed before others (in order of their arrival) sig_a Internal Input/Outputs signals are used for signals sent/received within a same FSM or SW component sig_c There is no formal definition when they should be used.

Shorthands - All Other Input/Save * The input with an asterisk covers all possible input signals which are not explicitly defined for this state in other input or save constructs The Save with an asterisk covers all possible signals which are not explicitly defined for this state in other input or save constructs *

Specification of Data in SDL SDL diagrams can contain variables Variables are declared using the DCL statement in a text box. Variables can set in a task box and read in decisions A data type is called a sort in SDL DCL numthings INTEGER; StateA SigA numthings = numthings +1; numthings > 7

Predefined Sorts (types) in SDL INTEGER: signed integer NATURAL: positive integer REAL: real, float CHARACTER: 1 character CHARSTRING: string of characters BOOLEAN : True or False TIME: absolute time, date DURATION: a TIME minus a TIME PID: to identify a process instance 14/33

Operators on Predefined Sorts Operations := (assignment) , = (equality) and /= (non-equality) are defined for all sorts INTEGER -, +, *, /, >, <, >=, <=, Float (Integer to Real), Mod (modulo), Rem (remainder) REAL -, +, *, /, >, <, >=, <=, Fix (Real to Integer) NATURAL Like Integer CHARACTER Chr (Integer to Char), Num (Char to Integer), >,<,>=,<= CHARSTRING Mkstring (Char to Charstring), Length, First, Last, // (concatenation), Substring BOOLEAN True, False, NOT, AND, OR, XOR PID Self, Sender, Offspring, Parent 15/33

Specification of Timers in SDL Timer T7; SET(NOW +20ms,T7) T7 SigA WaitForTimer RESET(T7) Timer is an object capable of generating an input signal and placing this signal to the input queue of the process. Signal is generated on the expiry of pre-set time. SET(NOW+20ms,T7): sets a T7 timeout in 20ms time. RESET(T7): cancels the specified timeout. 16/33

Text Symbol Text Box Example Text Symbol is used to group various textual declarations It can be located on any type of diagram Text Box Example 17/33

Example System Diagram Signal Descriptions in text symbol SYSTEM s SIGNAL S1, S2, S3, S4,S5 ; C1 [S1,S2] C2 [S3] B1 Signal Lists C4 [S5] C3 [S4] B1 Frame symbol - boundary between system and environment Channels Blocks 18/33

SDL Example Refer to Slide 63 in Lecture 3 (Protocol Modelling).