Minimization of Large State Spaces using Symbolic Branching - - PowerPoint PPT Presentation
Minimization of Large State Spaces using Symbolic Branching - - PowerPoint PPT Presentation
Minimization of Large State Spaces using Symbolic Branching Bisimulation Ralf Wimmer (joint work with Marc Herbstritt and Bernd Becker) Institute of Computer Science Albert-Ludwigs-University Freiburg Germany April 18th, 2006 Introduction
Introduction Symbolic Computation Experimental Results Further Work
Safety-critical Systems
Quantitative Analysis for safety-critical systems:
Introduction Symbolic Computation Experimental Results Further Work
Toolflow
Statemate description Safety requirements symbolic LTS Small explicit LTS Transformation Symbolic Minimization Huge
Afterwards: Addition of stochastic information and application of stochastic model checking.
Overview
1
Introduction Why Symbolic Branching Bisimulation? Labeled Transition Systems Branching Bisimulation
2
Symbolic Computation Symbolic Representation of LTS, Partitions and Signatures Computation of the Signatures Refinement
3
Experimental Results
4
Further Work
Introduction Symbolic Computation Experimental Results Further Work
Why Symbolic Branching Bisimulation?
Nominal behaviour is irrelevant. ⇒ LTS with “unobservable” τ-actions. Branching Bisimulation
preserves all interesting properties (CTL*\X) makes use of τ-actions.
Introduction Symbolic Computation Experimental Results Further Work
Labelled Transition System
A labelled transition system M is a triple M = (S, A, T):
s1 s2 s3 s4 s5 s6 s7 s8 s9 τ a b τ τ τ τ τ τ τ a a a b
Introduction Symbolic Computation Experimental Results Further Work
Branching Bisimulation
An equivalence relation B is a branching bisimulation if for all (s, t) ∈ B s
a
− → s′ implies: Bi
τ s s′ t
- r
a a
τ ∗
Bi Bk
s s′ t t′′ t′
Introduction Symbolic Computation Experimental Results Further Work
Example: Branching Bisimulation
s1 s2 s3 s4 s5 s6 s7 s8 s9 τ a b τ τ τ τ τ τ τ a a a b
Introduction Symbolic Computation Experimental Results Further Work
Signatures
Signature = set of pairs (action a, block B) meaning: “With the action a you can go to the block B under certain conditions”. (a, Bk) ∈ sig(s) iff
a τ τ
Bk Bj s s′ s′′
a = τ ∨ Bi = Bj
Introduction Symbolic Computation Experimental Results Further Work
Refinement
The states are grouped according to their signatures: sigref(π) = {{t ∈ S | sig(t) = sig(s)} | s ∈ S} Iteration to the fixpoint yields the coarsest branching bisimulation.
Introduction Symbolic Computation Experimental Results Further Work
Symbolic Representation
Unique numbers are assigned to each block of the current partition π = {B0, . . . , Bm−1}. BDD representation state space: S(s) = 1 iff s ∈ S transition relation: T (s, a, t) = 1 iff s
a
− → t partitions: P(s, k) = 1 iff s ∈ Bk. signatures: σ(s, a, k) = 1 iff (a, Bk) ∈ sig(s).
Introduction Symbolic Computation Experimental Results Further Work
Signatures
Formal Definition
sig(s) = {(a, B) | ∃s′, s′′ ∈ S : s
τ ∗
− →
π
s′
a
− → s′′ ∈ B ∧ (a = τ ∨ s ≡π s′′)}
The signatures can be computed using standard BDD operations: Boolean connectives existential quantification reflexive transitive closure Problem Efficient implementation of the refinement operator is not possible using standard BDD operations. How can it be done efficiently?
Introduction Symbolic Computation Experimental Results Further Work
Refinement (1)
Observation Assuming the variable order si < aj ∧ si < kl. Then each signature is represented by a unique node of the BDD. Idea Substitute these signature nodes by new block numbers.
Introduction Symbolic Computation Experimental Results Further Work
Refinement (2)
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
Introduction Symbolic Computation Experimental Results Further Work
Results
0.01 1 100 10000 1e+06 1e+08 1e+10 1 2 3 4 5 6 7 8
Time [s] / Number Kanban parameter
time number of states number of transitions
Introduction Symbolic Computation Experimental Results Further Work
Comparison Sigref ↔ bcg min (1)
100 200 300 400 500 600 1 2 3 4 5
Time [s] Kanban parameter
sigref bcg_min
Introduction Symbolic Computation Experimental Results Further Work
Comparison Sigref ↔ bcg min (2)
500 1000 1500 2000 1 2 3 4 5 6 7 8
Memory [MB] Kanban parameter
sigref bcg_min
Introduction Symbolic Computation Experimental Results Further Work