Syntax-driven partitioning for model-checking of Esterel programs Eric Vecchié - INRIA Tick.

Slides:



Advertisements
Similar presentations
Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
Advertisements

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
1 Title Page Implicit and Explicit Reachable State Space Exploration Of Esterel Logical Circuits Advisor :
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
Give qualifications of instructors: DAP
Control Flow Analysis (Chapter 7) Mooly Sagiv (with Contributions by Hanne Riis Nielson)
Analyzing and Verifying Esterel Programs Taisook Han , Division of Computer Science, KAIST.
1 Implicit and explicit exploration of the reachable state space of Esterel logical circuits December 12 th, 2002 Yannis BRES Advisor: Gérard BERRY PhD.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Syntax-driven partitioning for model-checking of Esterel programs Eric Vecchié - INRIA Aoste.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
Optimized State Encoding for Esterel Programs Dumitru POTOP-BUTUCARU.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Equivalence Checking Using Cuts and Heaps Andreas Kuehlmann Florian Krohm IBM Thomas J. Watson Research Center Presented by: Zhenghua Qi.
Binary Decision Diagrams1 BINARY DECISION DIAGRAMS.
Representing programs Goals. Representing programs Primary goals –analysis is easy and effective just a few cases to handle directly link related things.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture Wei-Kai Cheng Youn-Long Lin* Computer & Communications.
Boolean Functions and their Representations
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
A Mystery Esterel –small no type inference, subtyping, … no recursion, functions, … no pointers, malloc, GC, … no complex data structures, libraries,
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Counting with Sequential Logic Experiment 8. Experiment 7 Questions 1. Determine the propagation delay (in number of gates) from each input to each output.
Final Exam Review Instructor : Yuan Long CSC2010 Introduction to Computer Science Apr. 23, 2013.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Compiling ESTEREL circuits into finite states machines BRES Yannis Stage de DEA d’Informatique 1998/1999.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Cost-Optimal Symbolic Pattern Database Planning with State Trajectory and Preference Constraints Stefan Edelkamp University of Dortmund.
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
Algorithmic Software Verification V &VI. Binary decision diagrams.
Desynchronization and distributed deployment of synchronous systems Albert Benveniste – Inria 2002.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Detecting Equality of Variables in Programs Bowen Alpern, Mark N. Wegman, F. Kenneth Zadeck Presented by: Abdulrahman Mahmoud.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Verification & Validation By: Amir Masoud Gharehbaghi
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
ILPc: A novel approach for scalable timing analysis of synchronous programs Hugh Wang Partha S. Roop Sidharta Andalam.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
On Partitioning and Symbolic Model Checking FM 2005 Subramanian Iyer, UT-Austin Debashis Sahoo, Stanford E. Allen Emerson, UT-Austin Jawahar Jain, Fujitsu.
FLOWCHARTING AND ALGORITHMS
SPLST'20098/26/ Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti Valmari Tampere University of Technology Department.
Flow Control in Imperative Languages. Activity 1 What does the word: ‘Imperative’ mean? 5mins …having CONTROL and ORDER!
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
Hybrid BDD and All-SAT Method for Model Checking
Planning as model checking, (OBDDs)
SS 2017 Software Verification CTL model checking, BDDs
Research Status of Equivalence Checking at Zhejiang University
Discrete Controller Synthesis
Program Flow.
State Abstraction Techniques for the Verification of Reactive Circuits
Lesson 3. Controlling program flow. Loops. Methods. Arrays.
Presentation transcript:

Syntax-driven partitioning for model-checking of Esterel programs Eric Vecchié - INRIA Tick

Introduction Esterel –Synchronous reactive structural programming (structure = sequence, parallel, if-then-else...) –circuit translation (gates+registers) Objective –Efficient Reachable State Space computation Contribution –Rely on program structural syntax to reduce the size of intermediate computations

The Wristwatch example ALARM_SET TIME_SET STOPWATCH DISPLAY

abort P when S; present T then Q1 else Q2 end; R RSS : Breadth-First Search P Q2 R Q1

P Partitioning - overview Q1 Q2 R S

Partitioning - detail

Sequence / if-then-else P1P1 P2P2 P3P3 P1P1 P2P2 Q S S S

Parallel and signals || P1P1 Q1Q1 R1R1 P2P2 Q2Q2 Q3Q3 R2R2 S1 S2

How to partition ? Frontiers synthesized from signal receptions present statements abort statements Only enlarging (removing frontiers) but applying to pending states past "last" frontier Generated from control flow graph Partition register structure according to program blocks

Symbolic methods Boolean functions Sets (in a finite universe) Partitioned Transition Relations (according to individual target registers) Binary Decision Diagrams (BDDs) allow to represent :

Cofactoring Given a domain D, reduce the BDD of a function f : f ↑D (x) = f(x) if x belongs to D Reduces individual transition functions relative to source domain

pause pause loopend || abort when S present T then else end ; Control Flow Graph construction || pause ;

Problem on loops P Q

Conclusion Program verification following program syntax Sequences, if-then-else Signals in parallels Less memory required Smaller intermediate BDDs Lighter transition relation Lighter image computation