CTL Chapter 6 Part 2 Overview Review CTL Model Checking CTL - - PowerPoint PPT Presentation

ctl
SMART_READER_LITE
LIVE PREVIEW

CTL Chapter 6 Part 2 Overview Review CTL Model Checking CTL - - PowerPoint PPT Presentation

CTL Chapter 6 Part 2 Overview Review CTL Model Checking CTL model Checking algorithms for ( U ) Counter Examples and witnesses Symbolic Model Checking (Thursday) Binary Decision Trees


slide-1
SLIDE 1

CTL

Chapter 6 – Part 2

slide-2
SLIDE 2

Overview

  • Review CTL Model Checking
  • CTL model Checking algorithms for

(ɸ U )

□ɸ

  • Counter Examples and witnesses
  • Symbolic Model Checking (Thursday)
  • Binary Decision Trees
  • Encoding Transition Systems by Switching functions
  • Symbolic Computation
  • Ordered Binary Decision Diagrams
slide-3
SLIDE 3
slide-4
SLIDE 4

Example parse tree for CTL

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

∃ ◊((p=r)(p  q)) = ∃ (true U ((p=r)  (p  q)) ) Trace Algorithm on Whiteboard...

slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

Compute ∃ □q

Trace Algorithm on Whiteboard...

slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13

Counter Examples and Witnesses

  • Counter Examples
  • Indicate the refutation of universally quantified path

formulae

  • Witness
  • Indicate the satisfaction of existentially quantified

path formulae

slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26

Symbolic Model Checking

slide-27
SLIDE 27

Symbolic Model Checking

slide-28
SLIDE 28

Symbolic Model Checking

slide-29
SLIDE 29

Symbolic Model Checking

  • Encoding states and Transitions
slide-30
SLIDE 30

Symbolic Model Checking, ∃ (ɸ U )

  • Algorithm
  • Correction
  • Main operation in loop
slide-31
SLIDE 31

Symbolic Model Checking, ∃ (ɸ U )

∃ ◊((a=c)(a  b)) = ∃ (true U ((a=c)  (a  b)) ) Trace Algorithm with BDDs on Whiteboard... We need:

  • Sat(a),
  • Sat(b),
  • Sat(c),
  • Transitions (s,s')
slide-32
SLIDE 32

Symbolic Model Checking, ∃ □ɸ

  • Algorithm
  • Correction
  • Main operation in loop
slide-33
SLIDE 33

Symbolic Model Checking, ∃ □ɸ

∃ □ɸ Trace Algorithm with BDDs on Whiteboard... We need:

  • Sat(b),
  • Transitions (s,s')
slide-34
SLIDE 34

Symbolic Model Checking - ∃ □q

slide-35
SLIDE 35

BDT Cons...

  • May not have a data structure which is efficient for all

computations

  • Data structures which yield compact representations for

many computations that appear in practical applications

  • OBDDs - data structure that has been proven to be very successful

for model checking purposes

  • particularly in the area of hardware verification
  • Besides yielding compact representation for many “realistic”

transition systems, they enjoy the property that the Boolean connectives can be realized in time linear in the size of the input OBDDs

  • with appropriate implementation techniques, equivalence

checking can even be performed in constant time.

slide-36
SLIDE 36

BDT to OBDD

  • yield a data structure for computations that relies on a

compactification of binary decision trees.

  • skip redundant fragments of a binary decision tree.
  • This means collapsing constant subtrees (i.e., subtrees

where all terminal nodes have the same value) into a single node

  • identifying nodes with isomorphic subtrees
  • we obtain a directed acyclic graph of outdegree 2

– the inner nodes are labeled by variables and their

  • utgoing edges stand for the possible evaluations of

the corresponding variable.

– The terminal nodes are labeled by the function value.

slide-37
SLIDE 37

BDD to OBDD

  • Consider BDD
  • Correction: line from z3 to 0 should be a dashed line
  • To ODBBs
slide-38
SLIDE 38

BDD to OBDD

slide-39
SLIDE 39

Variable Ordering

slide-40
SLIDE 40

OBDD formal definition