Hardware and Petri nets Symbolic methods for analysis and verification.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Techniques to analyze workflows (design-time)
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
1 Savitch and Immerman- Szelepcsènyi Theorems. 2 Space Compression  For every k-tape S(n) space bounded offline (with a separate read-only input tape)
BDDs & Theorem Proving Binary Decision Diagrams Dr. Eng. Amr T. Abdel-Hamid NETW 703 Winter 2012 Network Protocols Lectures are based on slides by: K.
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Petri Nets Section 2 Roohollah Abdipur.
Static Single Assignment CS 540. Spring Efficient Representations for Reachability Efficiency is measured in terms of the size of the representation.
Based on: Petri Nets and Industrial Applications: A Tutorial
A Novel Method For Fast Model Checking Project Report.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
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.
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.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
Binary Decision Diagrams1 BINARY DECISION DIAGRAMS.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Reachability Analysis using AIGs (instead of BDDs?) 290N: The Unknown Component Problem Lecture 23.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Program Analysis Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
Binary Decision Diagrams (BDDs)
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Algorithmic Software Verification V &VI. Binary decision diagrams.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Hardware Design and The Petri Net Abhijit K. Deb SAM, LECS, IMIT, KTH Kista, Stockholm.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Verification & Validation By: Amir Masoud Gharehbaghi
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
To Split or to Conjoin: The Question in Image Computation 1 {mooni, University of Colorado at Boulder 2 Synopsys.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
SPLST'20098/26/ Good to Know about the Efficiency of State Space Methods Mikko Tiusanen & Antti Valmari Tampere University of Technology Department.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
How CTL model checking works
Asynchronous Interface Specification, Analysis and Synthesis
Fault Tree Analysis Based on Dynamic Uncertain Causality Graph
Planning as model checking, (OBDDs)
ECE 667 Synthesis and Verification of Digital Systems
Discrete Controller Synthesis
Example: Verification
Victor Khomenko and Andrey Mokhov
Verifying Programs with BDDs Sept. 22, 2006
ECE 667 Synthesis and Verification of Digital Systems
Presentation transcript:

Hardware and Petri nets Symbolic methods for analysis and verification

Outline Representing Boolean functions with BDDs Symbolic traversal for reachability set calculation State encoding Structural methods for efficient encoding

Representing Boolean functions a b c b ccc

a bb cc

a b cc

a b cc

Binary Decision Diagrams a b cc Reduced Ordered Binary Decision Diagram All variables appear in the same order No isomorphic subgraphs Canonical form Efficient form for many functions [Bryant, ACM Comp. Surveys, September 1992]

Reachable markings p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p3 t1 p4 p5 t2 t3t5t6 p1 t5 p6 p5 t6 p4 p7 t4 p6 p7 t3 p6 p3 t4 p2 p7 p2 p4 t7

Boolean encoding p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p t t2 t3t5 t t t t t t t7 Seven variables: p1 p2 p3 p4 p5 p6 p7

Boolean encoding t t2 t3t5 t t t t t t t7 Seven variables: p1 p2 p3 p4 p5 p6 p7 p 1 p 2 p 3 (p 4  p 6 ) (p 5  p 7 ) Enabled(t 7 ) = p 6 p 7  p 1 p 2 p 3 p 4 p 5 p 6 p 7  (toggle p 1, p 6, p 7 ) p 1 p 2 p 3 p 4 p 5 p 6 p 7

Symbolic Traversal (BFS algorithm) Reached = From = {m 0 }; repeat From [ T  To; New = To \ Reached; From = New; Reached = Reached  New; until New = Ø; # iterations: sequential depth of the net

Reachability Set computation Based on BFS Image computation S 0 = M 0 S i+1 = S i  Image (S i ) S0S0 S1S1 S2S2 S3S3 Monotonic increase until fix point S i+1 = S i #iteration New markings

Boolean encoding t1 t2 t3t5 t6 t5t6 t4 t3 t4t7 Seven variables: p1 p2 p3 p4 p5 p6 p7 Sparse encoding: Optimal encoding: Three variables  log 2 |RG|  : v1 v2 v3 But the reachability graph should be known a priori... Very easy to derive and use Less efficient in terms of BDDs

Encoding for safe PNs Not all combinations of tokens are possible. Find relations among places to reduce the number of variables!!! p4 p2p1 p3 p3 p4 p1 p2 Ø

Encoding for safe PNs PN structure: Place Invariant Set of places with a constant weighted sum of tokens Specially efficient for safe PNs (State Machines) k 1 p 1 + k 2 p 2 +…..+ k n p n = B p 1 + p 2 +…..+ p n = 1 Computed by linear programming techniques

p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p4 p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p4 State Machine Components p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p4 p1 p6 t2 t5 t1 t3 t7 p2 p4 p1 p7 p5 p3 t2 t6 t1 t4 t7

Encoding for safe PNs p1 p6 t2 t5 t1 t3 t7 p2 p4 p1 p7 p5 p3 t2 t6 t1 t4 t7 Two additional variables: v 3 v 4 Two variables: v 1 v

Encoding for safe PNs p1 p6 p7 p5 p3 t2 t5 t6 t1 t4 t3 t7 p2 p4 Four variables: v 1 v 2 v 3 v t1 t2 t3t5 t6 t5t6 t4 t3 t4t7

Sparse encoding: 10 variables Dense encoding: 3 variables Encoding for bounded PNs p1 p3 t2 t1 p4 t3 p max(p2)=3 max(p1)=3 max(p4)=8 max(p3)=2 t2t1 t3 t2 Invariants of the PN: I1: 2p 1 + 4p 2 - p 4 = 4 I2: p 1 + p 2 + p 3 = 3

Dense encoding: 3 variables Encoding for bounded PNs Invariants of the PN: I1: 2p 1 + 4p 2 - p 4 = 4 I2: p 1 + p 2 + p 3 = 3 Dense encoding: 3 variables t2t1 t3 t t2 Invariants characterize the set of all potentially reachable markings (an overestimation of the reachable markings)

Encoding for bounded PNs 2p1 + 4p2 - p4 = 4 p1 p2 p p1 + p2 + p3 = 3 p1 p2 p p2 7 p variables4 variables (8 vars)

Encoding for bounded PNs p1 + p2 + p3 = 3 p1 p2 p p2 p M(p1)+M(p2) p

Encoding for bounded PNs x1 x2 x3 0 TF FTFT T 0 F 0 T 1 F 1 T 2 F 2 T 3 F p1 p2 2p1 + 4p2 - p4 = 4p3 = 3 - p1 - p2 x1 x2 x3 2 TF FTFT T 1 F 0 T 1 F 0 T 1 F 0 T 0 F p3

Upper bounds for the state space FFFFFF x2 x3 x4 T TF FTFT T T F T T T F T T T F T T T F x2 x3 x4 T TF FTFT T T FTFTFTF x1 TF 2p1 + 4p2 - p4 = 4 x1 x2 x3 T F FT T T F F Characteristic function for potentially reachable states

Experimental results

Conclusions Formal verification and synthesis often suffer from the state explosion problem Symbolic techniques can be used to efficiently represent the state space Structural techniques are crucial to overestimate and encode the state space Try to resist the temptation of using BDDs from the very beginning. Use them rationally and only if desperate.