optimization techniques for bdd based bisimulation
play

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


  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 13 th , 2007

  2. Outline Motivation 1 Foundations 2 Signature-based Computation Symbolic Implementation Optimizations 3 Block Forwarding Split-driven Refinement Block Ordering Experimental Results 4 Conclusion 5

  3. Motivation

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

  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). March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 4 / 24

  6. Labelled Transition System (LTS) τ b s 1 s 2 s 3 τ a a b τ s 4 s 5 s 6 τ τ a τ τ s 7 s 8 s 9 τ a Realistic models consist of billions of states! March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 5 / 24

  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. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 6 / 24

  8. Tool Flow Discrete Domain Cone−of−influence Statemate description ���������� ���������� ���������� ���������� ���������� ���������� reduction injection ���������� ���������� Symbolic Failure ���������� ���������� ���������� ���������� Explicit Symbolic LTS ���������� ���������� Branching ���������� ���������� Safety ���������� ���������� Quotient LTS ���������� ���������� ���������� ���������� Minimization requirements ���������� ���������� ���������� ���������� ���������� ���������� Failure−modes Continous−Time Stochastic Interactive Composition Markov Decision model checking Markov Chain Process Stochastic Domain March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 7 / 24

  9. Foundations

  10. Branching Bisimulation An equivalence relation P ⊆ S × S on the state space is a branching → s ′ and a � = τ ∨ ( s , s ′ ) �∈ P implies for all t with a bisimulation iff s − ( s , t ) ∈ P : a s s ′ τ ∗ t a t ′ t ′′ B i B k March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 8 / 24

  11. Signature-based Computation (1) Idea Characterize the states by the ability to execute visible actions. ( a , B ) ∈ sig( P , s ) ⊆ A × P iff τ ∗ s a s ′ s ′′ B ′ B a � = τ ∨ B � = B ′ March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 9 / 24

  12. Signature-based Computation (2) Refinement Operator Group states according to their signature: � sigref( P ) = {{ t ∈ B | sig( P , s ) = sig( P , t ) } | s ∈ B } B ∈ P Applying sigref until a fixpoint is reached yields the coarsest branching bisimulation [Blom/Orzan, 2003]. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 10 / 24

  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 = { B 1 , . . . , B n } . ◮ Binary encoding of the block numbers. ◮ BDD P ( s , k ) = 1 ⇔ s ∈ B � k � . Signature representation : σ ( s , a , k ) = 1 ⇔ ( a , B � k � ) ∈ sig( P , s ) March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 11 / 24

  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 . . . March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 12 / 24

  15. Partition Refinement New operation needed: s 0 s 0 node v node v a 0 k 0 refine Signature of all states that BDD-representation of the new block number lead to node v March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 13 / 24

  16. Optimizations

  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. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 14 / 24

  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 ) . March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 14 / 24

  19. Block Forwarding Idea Update the partition after each refinement step: P ← ( P \ B ) ∪ sigref( P , B ) ⇒ Faster convergence. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 15 / 24

  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 ) } τ ∗ a b τ ∗ Block B was split Potentially unstable blocks March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 16 / 24

  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). τ ∗ a b τ ∗ Block B was split Potentially unstable blocks March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 17 / 24

  22. Split-driven Refinement (3) Solution Compute an over-approximation of the potentially unstable blocks. This does not impact the correctness. bw sig oa ( 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 sig oa can be computed in a preprocessing step. So, it’s very efficient. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 18 / 24

  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. March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 19 / 24

  24. Experimental Results

  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). March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 20 / 24

  26. Number of Refined Blocks 400000 original with split-driven refinement sdr + order w.r.t. block sizes 350000 sdr + order w.r.t. size of bw_sig 300000 Number of refined blocks 250000 200000 150000 100000 50000 0 kb-4 kb-5 kb-6 kb-7 kb-8 kb-9 ml-4 ml-5 ml-6 ml-7 ml-8 etcs1 etcs-2 etcs-3 bs-p ctrl Benchmark

  27. Runtimes 25000 original with split-driven refinement sdr + order w.r.t. block sizes sdr + order w.r.t. size of bw_sig 20000 Runtime of Sigref 15000 10000 5000 0 kb-4 kb-5 kb-6 kb-7 kb-8 kb-9 ml-4 ml-5 ml-6 ml-7 ml-8 etcs1 etcs-2 etcs-3 bs-p ctrl Benchmark

  28. Conclusion

  29. Summary + Future Work We have seen: symbolic computation of branching bisimulations signature-based approach optimizations 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 March 13 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 23 / 24

  30. Thank you for your attention! Do you have questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend