Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
Timed Automata.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Interface Automata 29-September Modeling Temporal Behavior of Component Component behaves with Environment Traditional (pessimistic) approach –
Timing-Based Communication Refinement for CFSMs Presenters:Heloise Hse, Irene Po Mentors:Jonathan Martin, Marco Sgroi Professor:Alberto Sangiovanni-Vincentelli.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Models of Computation for Embedded System Design Alvise Bonivento.
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Computer Communication & Networks
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Chapter 16 Stream Control Transmission Protocol (SCTP)
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
The Transport Layer  introduction  fundamental problems in networking  communicating reliably over an unreliable channel  congestion and flow control.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
User Datagram Protocol (UDP) Chapter 11. Know TCP/IP transfers datagrams around Forwarded based on destination’s IP address Forwarded based on destination’s.
(Business) Process Centric Exchanges
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.
3 June Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Network Protocols Network Systems Security Mort Anvari.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
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:
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
CS 145A Protocols Netlab.caltech.edu/course. Misc. Extension Extension Textbooks Textbooks.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
ISA 95 Working Group (Business) Process Centric Exchanges Dennis Brandl A Modest Proposal July 22, 2015.
Agenda  Quick Review  Finish Introduction  Java Threads.
Page 1 8/29/2001 Reachability Analysis CFSM: Communicating Finite State Machines C1 C2 +A+A Sender 2 1 -R-R +R+R -A-A Receiver 2 1 CFSM Communicating Finite.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
Requirements Specification
The Transport Layer introduction fundamental problems in networking
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Chapter 23 Introduction To Transport Layer
PROTOCOL CORRECTNESS Tutorial 3 Theoretical
EEC 688/788 Secure and Dependable Computing
Unified Modeling Language
EEC 688/788 Secure and Dependable Computing
Dynamic Modeling Lecture # 37.
CSCI1600: Embedded and Real Time Software
EEC 688/788 Secure and Dependable Computing
Presentation transcript:

Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30

Software Engineering, COMP201 Slide 2 Protocol Engineering

Software Engineering, COMP201 Slide 3 It is difficult to show several/all possible scenarios simultaneously on a chart and that often leads to ambiguity in the specification. The sequence chart is good at capturing the normal/specific scenario of system interactions.

Software Engineering, COMP201 Slide 4 The use of Formal Methods Provide a formal and unambiguous way of designing and documenting protocols. Allow formal analysis (verification/validation/performance analysis) before protocols are implemented. Allow automatic and direct generation of executable programs from the formal specification.

Software Engineering, COMP201 Slide 5 Specification Languages Informal methods – such as the sequence chart Formal methods –State Transition Models -- Finite State Machines (FSM), -- Communicating FSM (CSFM), -- Petri nets –Programming Languages Models -- Abstract Programs -- CCS (Calculus of Communicating systems), CSP -- Temporal logic –Hybrid Models -- Extended FSM (EFSM) Language Standards - SDL (FSM + extensions) - Estelle (EFSM + extended Pascal) - LOTOS (CCS) - ASML

Software Engineering, COMP201 Slide 6 Communicating Finite State Machines (CFSM) Protocol is described as a set of Communicating Finite State Machines. Each CFSM represents a component (or process) of the network (in OSI term, a protocol entity, e.g. sender, receiver). Each CFSM is represented by a directed labelled graph where –Nodes represent states (conditions) of the process; –Edges represent transitions (events) of the process.

Software Engineering, COMP201 Slide 7 Transitions Transitions include actions –taken the process (e.g. the sending a message) or –external stimuli (e.g. the reception of a message). The sending message transition is labelled as -Msg –where Msg is the type of messages being sent. The receiving message transition is labelled as +Msg –where Msg is the head message on the incoming FIFO queue of the CFSM

Software Engineering, COMP201 Slide 8 Network of CFSMs A C B

Software Engineering, COMP201 Slide 9 CFSM operating semantic The channels that connect CFSM's are assumed to be FIFO queues. –An error-prone channel is modelled as a CFSM. Initial node--starting state of a CFSM. –Final node -- no transition. –Receiving node -- all (outgoing) transitions are receiving transitions. If no message or incorrect msg in the channel, the node will be blocked. –Sending node -- all transitions are sending transitions. They are not blocked. –Mix node -- has both receiving and sending transition.

Software Engineering, COMP201 Slide 10 Starting at the initial node, a CFSM traverses the nodes and transitions. –The node currently being visited is called the current node. When a machine traverses a sending transition, it sends/appends a message with the same label to its outgoing channel. A machine at a node cannot traverse its receiving transition unless there is a message matched with the same label on the head of its incoming channel. When a machine traverses a receiving transition, it removes the matched head message of its incoming channel. Among several possible transitions, a machine traverses one non-deterministically

Software Engineering, COMP201 Slide 11 Networks of CFSMs Example 1: Simple request-response protocol. Example 2: What happens if we change the initial node of a CFSM?

Software Engineering, COMP201 Slide 12 Networks of CFSMs Example 3: An aggressive protocol with a self- sending loop.

Software Engineering, COMP201 Slide 13 Networks of CFSMs Example 4: A simple sliding window protocol with a window size of 2.

Software Engineering, COMP201 Slide 14 CFSM Modeling Exercises How to specify the channel behavior as a CFSM which –loses every other packet, –loses packets sometimes, –loses and corrupts the packet sometimes?

Software Engineering, COMP201 Slide 15 CFSM Modeling Exercises How to extend the model to specify CFSMs with the multiple channels?

Software Engineering, COMP201 Slide 16 Pros and Cons of the CFSM model CFSM deals only with the state-transition aspect of protocols; –it does not address the data aspect of protocols, e.g., message content or format. It can not handle protocols where state variables have a wide range of values. –Extended FSM were proposed but EFSM becomes difficult to analyse. The FIFO channels assumption in CFSM is very powerful, –just think about how to model an unbounded or even a large buffer using Petri net.

Software Engineering, COMP201 Slide 17 Pros and Cons of the CFSM model CFSM is an abstract model. –The non-determinism in the execution of transitions of a mix node may result in different implementation. –You can always expand the specification, e.g., replacing node 1 with a subgraph

Software Engineering, COMP201 Slide 18 The Alternating Bit Protocol as CFSMs The Alternating Bit Protocol is used to guarantee the correct data delivery between a sender and receiver connected by an error channel that loses or corrupts messages. –It got the name since it uses only one additional control bit in the message and this control bit only alternates when the previous message is correctly received.....

Software Engineering, COMP201 Slide 19 The Alternating Bit Protocol

Software Engineering, COMP201 Slide 20 Outline for the next lecture Verifying the Alternating Bit Protocol Protocol Verification using Reachability Analysis Protocol Design Errors Protocol Verification Exercises Pros and Cons of Reachability Analysis Tools for specification development