forwarding splitting and block ordering to optimize bdd
play

Forwarding, Splitting, and Block Ordering to Optimize BDD-based - PowerPoint PPT Presentation

Forwarding, Splitting, and Block Ordering to Optimize BDD-based Bisimulation Computation Ralf Wimmer (joint work with Marc Herbstritt and Bernd Becker) Institute of Computer Science University of Freiburg Germany March 7 th , 2007 Outline


  1. Forwarding, Splitting, and Block Ordering to Optimize BDD-based Bisimulation Computation Ralf Wimmer (joint work with Marc Herbstritt and Bernd Becker) Institute of Computer Science University of Freiburg Germany March 7 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 3 / 23

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

  6. 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 continous-time Markov decision processes. March 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 5 / 23

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

  8. Foundations

  9. 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 7 / 23

  10. 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 8 / 23

  11. 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 9 / 23

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

  13. Signature computation Operations Current BDD packages (e.g. CuDD) provide all neccessary operations: Reflexive transitive closure of a relation Concatenation of relations Substitution of a state by its block number . . . March 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 11 / 23

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

  15. Optimizations

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

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

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

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

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

  21. 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 } Most of bw sig oa can be computed in a preprocessing step. So, it’s very efficient. March 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 17 / 23

  22. 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 18 / 23

  23. Experimental Results

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

  25. 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

  26. 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

  27. Conclusion

  28. 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 7 th , 2007 Ralf Wimmer (Uni Freiburg) BDD-based Bisimulation Computation 22 / 23

  29. 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