This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS256/Winter 2007 — Lecture #17 Zohar Manna 171 Introduction to Symbolic Model Checking and BDD’s References : • Chapters 5 and 6 of E. M. Clarke, O. Grunberg, and D. A. Peled: Model Checking , MIT Press 1999. • Randal Bryant: “GraphBased Algorithms for Boolean Function Manipulation”. In IEEE Transactions on Computers , C358, pp. 677–691, August, 1986. • Fabio Somenzi: The CU Decision Diagram Pack age . http://vlsi.colorado.edu/ ∼ fabio/CUDD/ cuddIntro.html . 172 Symbolic Model Checking ( smc ) Invariance: Prove that P q 0 p , for p state formula ⇔ P q / 1 ¬ p ⇔ ¬ p is not reachable by any computation (run) of P . 173 Algorithm Reach (Symbolic reachability) Algorithm Reach ( P : fts ) : set of states S ← { s ∈ Σ  s q Θ } // initial states repeat S ← post ( S, P ) S ← S ∪ S until S does not change in an iteration. // At termination, S represents the set of // Preachable states. post ( S, P ) = { s ∈ Σ  ∃ τ ∈ T ( P ) ∃ s ∈ S ( s, s ) ∈ τ } An algorithm that acts only in terms of sets of states (vs. individual states) is called symbolic . 174 Symbolic representation of sets of states Suppose that Σ contains ≤ 2 n states. Then we can map states into nbit vectors. Example: If V = { d : 1 .. 31 , m : 1 .. 12 , y : 4000 .. 4000 } , then it is enough to use n = d log 31 e + d log 12 e + d log 8001 e = 5 + 4 + 13 = 22 bits. A set of states S ⊆ Σ is then represented as a boolean function f S : Bool n → Bool , where Bool = { , 1 } . (characteristic function), f S ( s ) = ( 1 if s ∈ S if s 6∈ S 175 Example: Let D = {h d, m, y i valid dates. Then f D (00001  {z } 1 0001  {z } Jan {z} + 011111000110  {z } 1980 = 1 f D (11111  {z } 31 0010  {z } Feb {z} + 011111000110  {z } 1980 = 0 176 Symbolic representation of transition systems Let Σ be represented by a subset of Bool n . Θ : set of states, represented by f Θ : Bool n → Bool ....
View
Full Document
 Binary decision diagram, BDD, X1 X1, symbolic model checking

Click to edit the document details