Optimization Techniques for BDD-based Bisimulation Computation Ralf - - PowerPoint PPT Presentation

optimization techniques for bdd based bisimulation
SMART_READER_LITE
LIVE PREVIEW

Optimization Techniques for BDD-based Bisimulation Computation Ralf - - PowerPoint PPT Presentation

Optimization Techniques for BDD-based Bisimulation Computation Ralf Wimmer, Marc Herbstritt, Bernd Becker Institute of Computer Science University of Freiburg Germany Great Lakes Symposium on VLSI March 13 th , 2007 Outline Motivation 1


slide-1
SLIDE 1

Optimization Techniques for BDD-based Bisimulation Computation

Ralf Wimmer, Marc Herbstritt, Bernd Becker

Institute of Computer Science University of Freiburg Germany

Great Lakes Symposium on VLSI March 13th, 2007

slide-2
SLIDE 2

Outline

1

Motivation

2

Foundations Signature-based Computation Symbolic Implementation

3

Optimizations Block Forwarding Split-driven Refinement Block Ordering

4

Experimental Results

5

Conclusion

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

Model Checking

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 3 / 24

slide-5
SLIDE 5

The Models: Statemate

Industrial state-of-the-practice tool: Hierarchical, state-transition oriented specifications of reactive systems. Underlying: an LTS M = (S, A, T) with internal behaviour (τ-steps).

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 4 / 24

slide-6
SLIDE 6

Labelled Transition System (LTS)

s1 s2 s3 s4 s5 s6 s7 s8 s9 τ a b τ τ τ τ τ τ τ a a a b

Realistic models consist of billions of states!

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 5 / 24

slide-7
SLIDE 7

The Specification: Timed Reachability

Example

What is the probability to reach a set of goal states within a certain time bound? ⇒ Timed reachability for uniform continuous-time Markov decision processes.

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 6 / 24

slide-8
SLIDE 8

Tool Flow

Interactive Markov Chain

Continous−Time Markov Decision Process

Failure−modes requirements Safety description Statemate

  • Symbolic LTS

Explicit Quotient LTS Failure injection Cone−of−influence reduction Composition Stochastic model checking

Branching Minimization Symbolic Discrete Domain Stochastic Domain Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 7 / 24

slide-9
SLIDE 9

Foundations

slide-10
SLIDE 10

Branching Bisimulation

An equivalence relation P ⊆ S × S on the state space is a branching bisimulation iff s

a

− → s′ and a = τ ∨ (s, s′) ∈ P implies for all t with (s, t) ∈ P:

a a

τ ∗

Bi Bk

s s′ t t′′ t′

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 8 / 24

slide-11
SLIDE 11

Signature-based Computation (1)

Idea

Characterize the states by the ability to execute visible actions. (a, B) ∈ sig(P, s) ⊆ A × P iff

a

τ ∗

B′ B

s s′ s′′

a = τ ∨ B = B′

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 9 / 24

slide-12
SLIDE 12

Signature-based Computation (2)

Refinement Operator

Group states according to their signature: sigref(P) =

  • B∈P

{{t ∈ B | sig(P, s) = sig(P, t)} | s ∈ B} Applying sigref until a fixpoint is reached yields the coarsest branching bisimulation [Blom/Orzan, 2003].

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 10 / 24

slide-13
SLIDE 13

Data Representation

Use the characteristic function of

◮ state space ◮ transition relation

⇒ BDDs S(s), T (s, a, t). Partition representation:

◮ Assign a unique number to each block, i. e., P = {B1, . . . , Bn}. ◮ Binary encoding of the block numbers. ◮ BDD P(s, k) = 1 ⇔ s ∈ Bk.

Signature representation: σ(s, a, k) = 1 ⇔ (a, Bk) ∈ sig(P, s)

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 11 / 24

slide-14
SLIDE 14

Signature computation

Operations

Current BDD packages (e.g. CuDD) provide all necessary operations: Reflexive transitive closure of a relation Concatenation of relations Substitution of a state by its block number . . .

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 12 / 24

slide-15
SLIDE 15

Partition Refinement

New operation needed:

s0 a0 node v Signature of all states that lead to node v s0 k0 node v

refine BDD-representation

  • f the new block number

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 13 / 24

slide-16
SLIDE 16

Optimizations

slide-17
SLIDE 17

Avoiding expensive expressions

Observation

The computation of ∃k :

  • P(s, k) ∧ P(t, k)
  • (1)

(needed for the identification of inert transitions) is very expensive.

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 14 / 24

slide-18
SLIDE 18

Avoiding expensive expressions

Observation

The computation of ∃k :

  • P(s, k) ∧ P(t, k)
  • (1)

(needed for the identification of inert transitions) is very expensive.

Solution

Avoid it by refining not all blocks in one step but only one block B(s) at a

  • time. Replace (1) by

B(s) ∧ B(t).

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 14 / 24

slide-19
SLIDE 19

Block Forwarding

Idea

Update the partition after each refinement step: P ← (P \ B) ∪ sigref(P, B) ⇒ Faster convergence.

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 15 / 24

slide-20
SLIDE 20

Split-driven Refinement (1)

Idea

Refine only those block which are possibly unstable. bw sig(P, B) = {B′ ∈ P | ∃s ∈ B′∃a ∈ A : (a, B) ∈ sig(P, s)}

Block B was split

a b τ∗ τ∗

Potentially unstable blocks Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 16 / 24

slide-21
SLIDE 21

Split-driven Refinement (2)

Problem

Because we are walking backwards, we again need the expensive expression ∃k :

  • P(s, k) ∧ P(t, k)
  • .

(We have to ignore inert τ-steps).

Block B was split

a b τ∗ τ∗

Potentially unstable blocks Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 17 / 24

slide-22
SLIDE 22

Split-driven Refinement (3)

Solution

Compute an over-approximation of the potentially unstable blocks. This does not impact the correctness. bw sigoa(P, B) = {B′ ∈ P | ∃s′ ∈ B′, s ∈ B, a ∈ A : s′ a − → s} We ignore the following condition: If a = τ then B′ = B. Most of bw sigoa can be computed in a preprocessing step. So, it’s very efficient.

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 18 / 24

slide-23
SLIDE 23

Block Ordering

Observation

The order in which the blocks are refined influences the runtimes. Heuristics for the determination of a block order: SortByBlockSize Refine blocks with many states first. SortByBWSig Refine blocks first which influence many other blocks. SortByBDDSize Refine blocks represented by a small BDD first.

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 19 / 24

slide-24
SLIDE 24

Experimental Results

slide-25
SLIDE 25

Benchmarks

Milner’s Scheduler (ml-n) Kanban Production System (kb-n) Statemate models of a train control system (etcs-n), a braking controller of an airplain (bs-p), and an industrial benchmark (ctrl).

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 20 / 24

slide-26
SLIDE 26

Number of Refined Blocks

50000 100000 150000 200000 250000 300000 350000 400000 ctrl bs-p etcs-3 etcs-2 etcs1 ml-8 ml-7 ml-6 ml-5 ml-4 kb-9 kb-8 kb-7 kb-6 kb-5 kb-4

Number of refined blocks Benchmark

  • riginal

with split-driven refinement sdr + order w.r.t. block sizes sdr + order w.r.t. size of bw_sig

slide-27
SLIDE 27

Runtimes

5000 10000 15000 20000 25000 ctrl bs-p etcs-3 etcs-2 etcs1 ml-8 ml-7 ml-6 ml-5 ml-4 kb-9 kb-8 kb-7 kb-6 kb-5 kb-4

Runtime of Sigref Benchmark

  • riginal

with split-driven refinement sdr + order w.r.t. block sizes sdr + order w.r.t. size of bw_sig

slide-28
SLIDE 28

Conclusion

slide-29
SLIDE 29

Summary + Future Work

We have seen: symbolic computation of branching bisimulations signature-based approach

  • ptimizations that speed-up the computation

experimental results showing the effectiveness of the optimizations. To be done: Symbolic computation of stochastic bisimulations Handling different notions of divergence

Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation March 13th, 2007 23 / 24

slide-30
SLIDE 30

Thank you for your attention! Do you have questions?