COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

Similar documents
Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams

Binary Decision Diagrams

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley

Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams

Symbolic Model Checking with ROBDDs

Boolean decision diagrams and SAT-based representations

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

Binary Decision Diagrams. Graphs. Boolean Functions

The Separation Problem for Binary Decision Diagrams

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Basing Decisions on Sentences in Decision Diagrams

Binary Decision Diagrams Boolean Functions

Binary decision diagrams for security protocols

Optimization Bounds from Binary Decision Diagrams

Binary Decision Diagrams

Binary Decision Diagrams and Symbolic Model Checking

Component-wise Incremental LTL Model Checking

Representations of All Solutions of Boolean Programming Problems

BDD Based Upon Shannon Expansion

QuIDD-Optimised Quantum Algorithms

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Efficient Symbolic Analysis of Bounded Petri Nets Using Interval Decision Diagrams

The Complexity of Minimizing FBDDs

CS357: CTL Model Checking (two lectures worth) David Dill

13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13)

Decision Diagrams: Tutorial

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Decision Diagrams for Discrete Optimization

CTL Model Checking. Wishnu Prasetya.

Binary Decision Diagrams

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Model checking the basic modalities of CTL with Description Logic

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING - PART I - OF CONCURRENT SYSTEMS. Petrinetz model. system properties. Problem system. model properties

Polynomial Methods for Component Matching and Verification

Title. Citation Information Processing Letters, 112(16): Issue Date Doc URLhttp://hdl.handle.net/2115/ Type.

Binary Decision Diagrams

Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach

Crash course Verification of Finite Automata CTL model-checking

Verifying Randomized Distributed Algorithms with PRISM

PETRI NET BASED DEPENDABILITY ENGINEERING

Model Checking: An Introduction

Automata-based Verification - III

Automata-based Verification - III

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

Analysis and Optimization of Discrete Event Systems using Petri Nets

A Logical Viewpoint on Process-Algebraic Quotients

Bounds on the OBDD-Size of Integer Multiplication via Universal Hashing

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Model checking, verification of CTL. One must verify or expel... doubts, and convert them into the certainty of YES [Thomas Carlyle]

Safety and Reliability of Embedded Systems

Lecture 2: Symbolic Model Checking With SAT

New Hierarchies of Representations RM97, September MAIN CONTRIBUTIONS OF THIS PAPER Generalizations of the Generalized Kronecker representation

Formal Verification Methods 1: Propositional Logic

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Detecting Support-Reducing Bound Sets using Two-Cofactor Symmetries 1

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs

Comp487/587 - Boolean Formulas

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S)

Symmetrical, Dual and Linear Functions and Their Autocorrelation Coefficients

A Lower Bound Technique for Nondeterministic Graph-Driven Read-Once-Branching Programs and its Applications

1 Preliminaries We recall basic denitions. A deterministic branching program P for computing a Boolean function h n : f0; 1g n! f0; 1g is a directed a

The State Explosion Problem

Chapter 2 Combinational Logic Circuits

Timo Latvala. March 7, 2004

A Brief Introduction to Model Checking

Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence

Model Checking. Boris Feigin March 9, University College London

TEL AVIV UNIVERSITY THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Department of Electrical Engineering - Systems

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel

Decision Procedures for Satisfiability and Validity in Propositional Logic

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Linear Temporal Logic and Büchi Automata

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS

Midterm 1 for CS 170

Sums of Products. Pasi Rastas November 15, 2005

SBMC : Symmetric Bounded Model Checking

A brief introduction to Logic. (slides from

On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar

Philipp Woelfel FB Informatik, LS2 Univ. Dortmund Dortmund, Germany Abstract. 1.

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods

Learning Goals of CS245 Logic and Computation

Model Checking for Propositions CS477 Formal Software Dev Methods

Automata Theory CS Complexity Theory I: Polynomial Time

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago

Petri Nets and Model Checking. Natasa Gkolfi. University of Oslo. March 31, 2017

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Formal Verification of Mobile Network Protocols

Computer Organization: Boolean Logic

Undergraduate work. Symbolic Model Checking Using Additive Decomposition by. Himanshu Jain. Joint work with Supratik Chakraborty

CS156: The Calculus of Computation

Semi-Automatic Distributed Synthesis

State-Space Exploration. Stavros Tripakis University of California, Berkeley

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Transcription:

QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation trap equation REACHABILITY ANALYSIS (complete) reachability graph compressed state spaces BDDs, NDDs,..., XDDs Kronecker products reduced state spaces coverability graph symmetry stubborn sets static analysis dynamic analysis (model checking) branching process Z:\Documents\teaching\pn-vo\pn_skript_fm\pn0_bdd.sld.fm 0 - / 6 monika.heiner@b-tu.de 0-2 / 6

BINARY DECISION DIAGRAM (BDD) BDD, EXAMPLE () general data structure to implement efficiently Boolean functions f( x, x 2, x 3 ) = ( x x 2 ) x 3 f : B n -> B f(x, x 2,..., x n ) -> {T, F}, worst-case effort -> exponential BUT, for many real-live examples -> much better x i { T, F} DECISION TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 f source of origin -> hardware design and verification DECISION TREE basis for many successful analysis tools, e.g. -> SVM, NuSVM (communicating state machines)... -> BDD-CTL, BDD-LTL -> MARCIE (-bounded Petri nets) 0 0 -> Rabbit (Cottbus timed automata) monika.heiner@b-tu.de 0-3 / 6 monika.heiner@b-tu.de 0-4 / 6

DECISION TREE, PROPERTIES BDD, EXAMPLE (2) two node types DECISION TREE -> non-terminal nodes - Boolean variables -> terminal nodes - function values {T, F} each non-terminal node has two outgoing arcs -> lo : value of variable is false -> hi : value of variable is true 0 0 variables are totally ordered -> the variables appear in the same order along each path (root, terminal node) REDUCTION RULE terminal nodes - from left to right - correspond to table function values - from top to bottom - DAG - DIRECTED ACYCLIC ROOT GRAPH obvious procedure to determine the function value for a given setting of the Boolean variables 0 0 monika.heiner@b-tu.de 0-5 / 6 monika.heiner@b-tu.de 0-6 / 6

BDD, EXAMPLE (3) REDUCED ORDERED BINARY DECISION DIAGRAM OBDD the success story of ROBDDs relies on the properties -> ordered -> reduced -> in the following, BDD stands shortly for ROBDD 0 no further reduction possible -> no isomorphic subtrees (rule ) (equally named nodes with similar subtrees) REDUCTION RULE 2 -> no node with identical successors (rule 2) ROBDD f( x, x 2, x 3 ) = ( x x 2 ) x 3 5 nodes, 6 arcs instead of 5 nodes, 4 arcs directed acyclic root graph (DARG) -> direction always from top to bottom -> no cycles, but rejoining (opposite to trees) -> all nodes reachable starting at root node unique result -> for a given total order of all variables -> insensitive to the order of reductions applied canonical representation for Boolean functions -> some decision problems turn into easy ones monika.heiner@b-tu.de 0-7 / 6 monika.heiner@b-tu.de 0-8 / 6

BDD-BASED SOLUTION OF SOME DECISION PROBLEMS BDD, EXAMPLE 2 f( a, b, a 2, b 2, a 3, b 3 ) = a b a 2 b 2 a 3 b 3 equivalence of two given functions f and g (the same function values for all variable settings) -> BDD(f) is isomorphic to BDD(g) in node and arc inscriptions a given function f is a tautology (the function value is true for all variable settings) BDD representations of a single function for two different variable orderings a 2 a b 2 b -> BDD(f) a 3 a given function f is satisfiable (there is at least one variable setting yielding true) a b 3 -> BDD(f) contains the node a 2 a 2 0 the function f is independent of a given variable x -> the BDD(f) does not contain a node x a 3 a 3 a 3 a 3 b b b b b 2 b 2 b 3 monika.heiner@b-tu.de 0-9 / 6 monika.heiner@b-tu.de 0-0 / 6

OBSERVATIONS BY EXAMPLE 2 BDD CONSTRUCTION the reduction effect may depend on the chosen order of all variables objective: no a posteriori reduction necessary worst-case: there is no reduction -> space demand grows exponentially with number of variables successful tools apply successful heuristics to determine a suitable (not necessarily optimal) order of variables approach : top-down on-the-fly construction approach 2: syntax-oriented bottom-up construction by step-wise composition of two BDDs -> Boolean operations to combine two BDDs the choosen order of variables does not influence the correctness of the result despite of the exponential growth in the worst case, BDDs are often successful for real-live examples there exist very efficient algorithms for both approaches monika.heiner@b-tu.de 0 - / 6 monika.heiner@b-tu.de 0-2 / 6

TOP-DOWN APPROACH, BDD EXAMPLE BDD & PETRI NET () f( x, x 2, x 3 ) = ( x x 2 ) x 3 -bounded Petri nets -> a place may be interpreted as Boolean variable t 3 2 t 0 t t 0 00 2 t 0 t 0 2 2 t 0 0 DECISION TREE 0 0 2 3 4 different ways to represent a marking m -> set of marked places (subset of P) -> {p, p4} -> bit vector b[..n], n = card(p), with -> (,0,0,) bi = 0, if pi m bi =, if pi m -> Boolean function -> p p2 p3 p4 conjunction of all variables, whereby non-marked places are negated -->> characteristic function χ m ROBDD 3 4 set of markings M (-> state space) -> set of bit vectors -> characteristic function χ M of M 0 2 -> n-ary Boolean function, yielding the function value true for all markings belonging to M -> BDD representation on hand (often called symbolic representation) monika.heiner@b-tu.de 0-3 / 6 monika.heiner@b-tu.de 0-4 / 6

BDD & PETRI NET (2) REFERENCES all operations on sets of markings can be realized as logical operations on their characteristic functions -> -> -> χ M M2 χ M χ M2 χ M M2 χ M χ M2 χ χ M M that s all we need to implement BDD-based Petri net analysis algorithms -> symbolic Petri net analysis with symbolic representation of marking sets remark: larger sets may result into smaller BDDs than smaller sets [Akers 78] Akers, S. B.: Binary Decision Diagrams; IEEE Transactions on Computers C-27(978), 509-56. [Andersen 99] Andersen, H. R.: An Introduction to Binary Decision Diagrams; Lecture Notes for Efficient Algorithms and Programsm, Fall 999, IT Univ. Copenhagen. [Bryant 86] Bryant, R. E.: Graph-based Algorithms for Boolean Function Manipulation; IEEE Transactions on Computers C-35(986)6, 677 69. [Bryant 92] BRYANT, R. E.: Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams; ACM Computing Survey 24(992)3, 293-38. [Lee 59] Lee, C. Y.: Representation of Switching Circuits by Binary Decision Programs; Bell System Technical Journal 38(959), 985 999. [Noack 99] Noack, A.: A ZBBD Package for Efficient Model Checking of Petri Nets (in German); BTU Cottbus, Dep. of CS, Major Individual Project, 999. [Spranger 200] Spranger, J.: Symbolic LTL Verification of Petri Nets (in German); PhD thesis, BTU Cottbus, Dep. of CS, December 200. [Wimmel 97] WIMMEL, G.: A BDD-based Model Checker for the PEP Tool; Univ. of Newcastle, Dep. of CS, Major Individual Project, May 997. [Tovchigrechko 2008] Tovchigrechko, A: Efficient symbolic analysis of bounded Petri nets using Interval Decision Diagrams; PhD thesis, BTU Cottbus, Dep. of CS, October 2008. [Marcie 203] M Heiner, C Rohr and M Schwarick: MARCIE - Model checking And Reachability analysis done efficiently; Proc. PETRI NETS 203, Milano, Springer, LNCS 7927, 389 399, June 203. [Marcie 206] M Heiner, C Rohr, M Schwarick and A Tovchigrechko: MARCIE s secrets of efficient model checking; Transactions on Petri Nets and Other Models of Concurrency XI, LNCS 9930, 206 monika.heiner@b-tu.de 0-5 / 6 monika.heiner@b-tu.de 0-6 / 6