Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL.

Slides:



Advertisements
Similar presentations
Automatic Verification Book: Chapter 6. How can we check the model? The model is a graph. The specification should refer the the graph representation.
Advertisements

Heuristic Search techniques
Lab 08: SR Flip Flop Fundamentals:
Bit-State Space Exploration It’s a variation on reachability analysis The reachability analysis: –Keeps track of the already explored states –Performs.
Reducing DFA’s Section 2.4. Reduction of DFA For any language, there are many DFA’s that accept the language Why would we want to find the smallest? Algorithm:
Partial Order Reduction: Main Idea
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Lecture 8: Asynchronous Network Algorithms
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
6. Deadlocks 6.1 Deadlocks with Reusable and Consumable Resources
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Monitors & Blocking Synchronization 1. Producers & Consumers Problem Two threads that communicate through a shared FIFO queue. These two threads can’t.
Termination Detection of Diffusing Computations Chapter 19 Distributed Algorithms by Nancy Lynch Presented by Jamie Payton Oct. 3, 2003.
1 Depth First Search dfs(0, 0) open site blocked site reachable from top via open sites.
CS 603 Handling Failure in Commit February 20, 2002.
CSI5118 W2001 Outline –Review Verification & Validation –Introduction to EFSM Models –Introduction to SDL e.g. EggTimer –Principles of Validation & Verification.
Operating Systems Principles Process Management and Coordination Lecture 6: Deadlocks 主講人:虞台文.
CSC 322 Operating Systems Concepts Lecture - 29: by
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 23, 2008 FSM Equivalence Checking.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Slide 1 MSC and SDL. Slide 2 Relationship of MSC to SDL An MSC describes one or more traces of an SDL system specification. An entity in MSC may map to.
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Advanced Behavioral Modeling
F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.
Representing Systems Sixth Meeting. Modeling Systems Models block-diagram Used throughout engineering Represents behavior and structure of systems. Only.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
程建群 博士(Dr. Jason Cheng) 年03月
SDS Foil no 1 V&V&S Verification, Validation and Synthesis: doing away with defects Verification, Validation and Synthesis: doing away with defects.
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
1 VeriSoft A Tool for the Automatic Analysis of Concurrent Reactive Software Represents By Miller Ofer.
Server Sockets: A server socket listens on a given port Many different clients may be connecting to that port Ideally, you would like a separate file descriptor.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
© Telelogic 2000 Scheduling in SDL Simulation AEROSPATIALE-MATRA AIRBUS SAM Scheduling in SDL Simulation Application to Future Air Navigation Systems.
Chapter 12 Transmission Control Protocol (TCP)
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 9: May 6, 2002 FSM Equivalence Checking.
Implementing software in IEC Languages in IEC IEC uses the following languages Instruction List – Assembly level programming using.
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
Modeling and Simulation Discrete-Event Simulation
Simulation of a Generic Cellular Manufacturing System Using Rockwell Arena Simulation Software This document provides a generic simulation model of a cellular.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
SDS Foil no 1 V&V&S Verification, Validation and Synthesis: doing away with defects Verification, Validation and Synthesis: doing away with defects.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Configuration Mapper Sonja Vrcic Socorro,
Model Checking Ariane 5 Flight Program: Bozga, Mounier, FMICS 2001 I guess most of us remember when Ariane 5 rocket blew up on the sky. This happened on.
Sensitivity Analysis A systematic way of asking “what-if” scenario questions in order to understand what outcomes could possibly occur that would effect.
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
1 Chapter 11 Global Properties (Distributed Termination)
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:
ICS Deadlocks 6.1 Deadlocks with Reusable and Consumable Resources 6.2 Approaches to the Deadlock Problem 6.3 A System Model –Resource Graphs –State.
Studio modeling basics
Dr. Eng Amr T. Abdel-Hamid
Lab 08: SR Flip Flop Fundamentals:
Finite State Machines Dr K R Bond 2009
The Gradient Descent Algorithm
State Space Representation
PROTOCOL CORRECTNESS Tutorial 3 Theoretical
Chapter 2 : Data Flow Diagram
Automatic Verification
State Space Analysis UNIT-V.
Can you put the symbols in?
Operating Systems Principles Process Management and Coordination Lecture 6: Deadlocks 主講人:虞台文.
ECE 352 Digital System Fundamentals
Presentation transcript:

Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL system. The diagrams on the following slides show the interface between a pair of processes A and B in the system.

The SDL Block containing two processes

Two communicating SDL Processes

To perform the reachability analysis, the first step is to transform the process graph into transition charts. In a transition chart, each input is prefixed with a “?” and each output by a “!”. Each transition consists of either an input or an output. Reachability analysis (How to do a State Space exploration)

The Transition chart for the SDL Processes

Assuming that there is a maximum queue size of 1, this is the global graph for the transition charts. State space exploration

State Space exploration graph

Possible errors Unspecified receptions –An unspecified reception occurs when a state in the global behavior is scheduled to receive a message that it does not know how to handle Queue overflow –This occurs when there is an attempt to put a signal in a queue that is already full

Possible errors(continued) Deadlocks –deadlocks can also occur when 2 or more processes are unable to proceed because they wait endlessly for signals from each other. Livelocks –livelocks occur when processes send signals endlessly without making any progress.

Deriving role behaviours Now the global behaviour graph grows very rapidly. For large systems, we need to simplify the job. One method is deriving role behaviours.

Deriving role behaviours Steps to follow: –Mark the transitions that involve signals to and from the environment with the special symbol. These transitions are called invisible transitions. –Find the set of nodes reachable from a given node by following one or more -transitions (called -ambiguities) and group them together. –We have a reduced transition chart. Then, proceed as usual.

The Modified Transition chart with -transitions

(without the -transitions)

The new State-Space exploration graph

Tau tool We can explore the state space by using the validator in Telelogic Tau tool. When a random walk is done, the tool will randomly select a branch and move down the graph until it reaches an unspecified reception,a deadlock or the end of the graph (maximum depth specified). It then selects randomly another branch. The following is the output given when the random walk was done on the egg timer system.

Click here to Start the Bit-State or Random Walk state space exploration or to go step by step through the specification use the navigator

A bit-state can also be done. The bit-state will attempt to find all the possible outcomes from the top node. From these, it will repeat the same operation and go through their possible outcomes. The following is the output of the bit-state search in the validator.