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

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

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.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Automatic Verification Book: Chapter 6. How can we check the model? The model is a graph. The specification should refer the the graph representation.
1 Title Page Implicit and Explicit Reachable State Space Exploration Of Esterel Logical Circuits Advisor :
Fixed Points and The Fixed Point Algorithm. Fixed Points A fixed point for a function f(x) is a value x 0 in the domain of the function such that f(x.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Hardware and Petri nets Symbolic methods for analysis and verification.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Equivalence of Extended Symbolic Finite Transducers Presented By: Loris D’Antoni Joint work with: Margus Veanes.
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)
Timed Automata.
Analyzing and Verifying Esterel Programs Taisook Han , Division of Computer Science, KAIST.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
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.
Hybrid Approach to Model-Checking of Timed Automata DAT4 Project Proposal Supervisor: Alexandre David.
CS 267: Automated Verification Lecture 7: SMV Symbolic Model Checker, Partitioned Transition Systems, Counter-example Generation in Symbolic Model Checking.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
Syntax-driven partitioning for model-checking of Esterel programs Eric Vecchié - INRIA Tick.
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.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture # 11.
Binary Decision Diagrams1 BINARY DECISION DIAGRAMS.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
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.
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.
Compositional correctness of IP-based system design: Translating C/C++ Models into SIGNAL Processes Rennes, November 04, 2005 Hamoudi Kalla and Jean-Pierre.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Problem (hard) Solution CNF Satisfied assignment Encoding FINITE DOMAIN PROBLEM SOLVING Model Constraint Model Direct Constraint / Bits relation lost.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
An introduction to Esterel and its compilation
Cost-Optimal Symbolic Pattern Database Planning with State Trajectory and Preference Constraints Stefan Edelkamp University of Dortmund.
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 9: May 6, 2002 FSM Equivalence Checking.
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
Algorithmic Software Verification V &VI. Binary decision diagrams.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Detecting Equality of Variables in Programs Bowen Alpern, Mark N. Wegman, F. Kenneth Zadeck Presented by: Abdulrahman Mahmoud.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 Verification of FSM Equivalence Goal: Verify that two sequential circuit implementations always produce the same sequence of outputs given the same sequence.
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.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
To Split or to Conjoin: The Question in Image Computation 1 {mooni, University of Colorado at Boulder 2 Synopsys.
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
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
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.
Hybrid BDD and All-SAT Method for Model Checking
Planning as model checking, (OBDDs)
Automatic Verification
SS 2017 Software Verification CTL model checking, BDDs
Discrete Controller Synthesis
An explicit state model checker
State Abstraction Techniques for the Verification of Reactive Circuits
Presentation transcript:

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

Motivation Build the Reachable State Space… …following the syntax abort P when S; Q Reachable State Space allows –Model-checking –Code optimization –Test sequence generation –…–…

R ← INIT new ← R while ( new ≠ ø ) do new ← Image(new) \ R R ← R U new end while Reachable State Space Breadth First Search algorithm Symbolic methods (BDDs)

What is done

Size of Computations Solution : Rely on program structural syntax BDD size states reached non-saturated states set

What we do

Example : Wristwatch display watch time_setalarm_set stopwatch

Example : Wristwatch

How to partition ? According to program blocks –Separated by frontiers –Synthesized from signal receptions Build a control flow graph –Encoding frontiers –Guiding the RSS computation

Preemption / if-then-else P Q P1P1 P2P2 Q S S

abort P when S; present T then Q1 else Q2 end; R P Q2 R Q1 Partitioning Example

Parallel Constructs Avoid cartesian product –{P 1, P 2 }  {Q 1, Q 2 } Use signal information || P1P1 Q1Q1 P2P2 Q2Q2

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

Only increasing  Avoid the cross product Can be not satisfying on loops –…but on rare cases Parallel and signals

Loops P Q

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

Symbolic methods Boolean functions Sets (in a finite universe) Partitioned Transition Relations 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 Cofactoring is used 2 ways –Reduce the domain according to our frontiers –Transition function applied on new states

Experiments A medium-sized design : sequencer A big design : cabin

BDD sizes in “sequencer”

A big design : “cabin” Default methodPartitioning 534 states states 3 steps (11.85s)123 steps (35h40)

Conclusion Program verification following program syntax Preemptions, if-then-else Signals in parallels Smaller intermediate BDDs Lighter transition functions Lighter image computations  Less memory required

The End

Motivation Model-checking Code optimization Test sequence generation … Reachable State Space (RSS)

R ← INIT new ← R while ( new ≠ ø ) do new ← Image(new) \ R R ← R U new end while Reachable State Space (RSS) Breadth First Search algorithm Symbolic methods (BDDs)

Introduction Esterel Synchronous reactive structural programming –sequence, if-then-else –Parallelism, preemption Circuit translation (model-checking level)

Partitioning - detail