Reachable state space generation for structured models which use functional transitions QEST 2009 Afonso S ALES
Brigitte P LATEAU
{afonso.sales, brigitte.plateau}@imag.fr
Laboratoire d’Informatique de Grenoble INRIA Project Team MESCAL CAPES - Brazil
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Which systems ? Computer and telecommunication ; Chemical ; Biological ; etc. Approach
Modeling
Computing performance indices
Interest Methods using models based on Markov chain theory. 2 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Structured formalisms Model description by components
Structured mathematical description
Structures/Mathematical Tensor algebras ; Tree : decision diagrams. Examples Queueing Networks [Little61, Basket et al. 75, Reiser et al. 80] ; Stochastic Petri Nets (SPN) [Florin et al. 85] ; Performance Evaluation Process Algebra (PEPA) [Hillston95] ; Stochastic Automata Networks (SAN) [Plateau84]. 3 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Structured formalisms Model description by components
Structured mathematical description
Structures/Mathematical Tensor algebras ; Tree : decision diagrams. Examples Queueing Networks [Little61, Basket et al. 75, Reiser et al. 80] ; Stochastic Petri Nets (SPN) [Florin et al. 85] ; Performance Evaluation Process Algebra (PEPA) [Hillston95] ; Stochastic Automata Networks (SAN) [Plateau84]. 4 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Stochastic Automata Networks (SAN) Describe a large system in a structured manner by its parts (automata) ; Each automaton is represented by states, events and related transitions ; Local events change the state of only one automaton ; Synchronizing events change the state of more than one automaton ; Input parameters (related to events) can be global system dependent (functions) ; Time scale : continuous or discrete ; A SAN describes a Markov chain (tensor algebras).
5 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Example : continuous time SAN model
s4
A(1 )
A(2 )
A(3 )
0
0
0
l2
l1 1
2
s6
s4 1
l3 S (1) = {0, 1, 2}
s6
s4
2
1
l5 S (2) = {0, 1}
S (3) = {0, 1, 2}
Type Event Rate Type Event Rate Type Event Rate loc l1 f1 loc l2 f2 loc l3 δ syn s4 λ loc l5 µ syn s6 σ f1 = (A(2) == 0) && (A(3) == 0) × α || (2) (A == 1) && (A(3) == 2) × β (2) f2 = (A == 0) && (A(3) == 0) × γ 6 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Tensor representation Markovian descriptor Q : Q=
N O N X j=1 i=1
(i)
g
where Qj =
(i)
Qj +
X
e∈Es
(
(i)
Ql I|S (i) |
N O
g
(i)
Qe + +
i=1
N O i=1
(i)
g
Qe − ,
if j = i if j 6= i
(i)
Ql transition matrices of local events (i)
Qe+ − transition matrices of synchronizing event e
7 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Computing a model reachable state space (RSS) ; probability vector. Generating reachable state space to... Model checking ; Temporal logical. Structured model problem
Structured models
State−space explosion problem
8 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Previous work Efficient RSS generation method for SPN models [Ciardo et al. 01] based on decision diagrams. SPN model Component 1
SAN model Component 2
Component 1
Component 2
f( S(1), S (3))
f( S(2)) S(1)
S(2)
S(3) Component 3
S(1)
S(2)
S(3) Component 3
Our goal To find an efficient RSS generation method for SAN model which use functional transitions. 9 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 10 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 11 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 12 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 13 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 14 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Discrete-state model ˆ ; Sinit : set of initial states (Sinit ⊆ S) ˆ
N : next-state function (Sˆ → 2S ), where N (˜x) specifies the set of states that can be reached from global state ˜x in one step. Computing the reachable state space 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 init 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111 00000000000000000000000000000000000000000000000 11111111111111111111111111111111111111111111111
S
RSS
unreachable states
^S
Reflexive and transitive closure of function N RSS = Sinit ∪ N (Sinit ) ∪ N 2 (Sinit ) ∪ . . . = N ∗ (Sinit ) 15 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Approach Idea : use Ciardo’s previous work based on MDD [Ciardo et al. 01].
Multi-valued Decision Diagrams (MDD) Function : {0, 1, . . . , nN } × · · · × {0, 1, . . . , n1 } → {0, 1} ; Tree structure (compact representation) ; Characteristic function : S (N) × · · · × S (1) → {0, 1}
Providing efficient operations (e.g., union and intersection).
16 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Features [Ciardo et al. 01] Structured function N : N (˜x) = NN (˜x) × · · · × N1 (˜x) Ni (˜x) describes the change in local state x(i) for ˜x Event locality
x(1) 0
x(2) 0
1 2
0 0
x(3) 1 1 1
N
3 −→
x(1) 0
x(2) 0
1 2
0 0
x(3) 2 2 2
transition with a constant rate
Problem x(1) 0
x(2) 0
1 2
0 0
x(3) 1 1 1
N
3 −→
x(1) 0
x(2) 0
1 2
0 0
f1 = (x(1) == 0)
x(3) 2 2 2
or worst...
x(1) 0
x(2) 0
1 2
0 0
x(3) 1 1 1
N
3 −→
x(1) 0
x(2) 0
1 2
0 0
x(3) 2 2 2
f1 = (x(1) == 0) f2 = (x(1) == 1) f3 = (x(1) == 2) 17 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Our idea To find a structured next-state function N that we can use functional transitions and exploit the event locality. What we are going to use State−spaces
Function N
MDD
Descriptor
18 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Constructing the reachability descriptor R Tensor formula obtained from Markovian descriptor Q Reachability descriptor R : R=
N N O X j=1 i=1
where
g
˘ (i) R j
˘ (i) + R j
N XO
e∈Es i=1
=
(
˘ (i) R l I|S (i) |
g
˘ (i) R e ,
if j = i if j 6= i
˘ (i) local reachability matrices R l ˘ (i) R e synchronizing reachability matrices of event e
19 / 33
Motivation
RSS Generation
Reachability Descriptor
A(2 )
0
s4
l2
1
2
A(3 )
s6
s4 1
l3 S (1) = {0, 1, 2}
(1)
Ql
0
0
l1
s6
s4
2
1
l5 S (2) = {0, 1}
Conclusions/Future Work
Example : constructing the ˘ (1) local reachability matrix R l
Continuous time SAN model A(1 )
Results
−(f1 + f2 ) 0 0
f2 δ 0
⇓
S (3) = {0, 1, 2}
Type Event Rate Type Event Rate Type Event Rate loc l1 f1 loc l2 f2 loc l3 δ syn s4 λ loc l5 µ syn s6 σ f1 = (A(2) == 0) && (A(3) == 0) × α || (2) (A == 1) && (A(3) == 2) × β (2) f2 = (A == 0) && (A(3) == 0) × γ
f1 −δ 0
˘ (1) R l 0 0 0
f1 0 0
f2 1 0
20 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Functional elements MDD representing the set of states for which the evaluation of a function is different from zero (partitions). Example : f1 → MDD MDDf1
f1 = (A(2) == 0) && (A(3) == 0) × α || (2) (A == 1) && (A(3) == 2) × β
A(3)
∗01 ∗02
∗00 ∗01
f1 = 0
∗02
∗10 ∗11
0
2
A(2)
A(2)
0
1
∗10 ∗11 ∗12
f1 6= 0
∗00
MDD
∗12
1 21 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Decomposing the tensor product of matrices based on those partitions We separate the elements of a matrix by equivalence classes of state space where these elements are identically nulls. (1)
˘ Example : local reachability matrix R l (1)
Cl,1 = {f1}
0
0
f1
˘ (l,11) = 0 R
0
0
0
0
0
0
f1
f2
0
0
f2
˘ (l 1) = 0 R
0
1
˘ (l,12) = 0 R
0
0
0
0
0
0
0
0
(1)
=3
Cl
(1)
Cl,2 = {f2}
(1)
Cl,3 = {1}
0
0
0
˘ (l,13) = 0 R
0
1
0
0
0
22 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Decomposing reachability matrices A reachability matrix can be represented by the sum of decomposed reachability matrices : (i)
˘ (i) R l
=
Cl X c=1
(i)
˘ (i) R l,c
˘ (i) R e
=
Ce X
˘ (i) R e,c
c=1
(i)
(i)
(i)
(i)
˘ Cl : the number of equivalence classes of R l
˘e Ce : the number of equivalence classes of R
23 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Theorem Given a continuous time SAN model, reachability descriptor R of this model is given by a generalized tensor formula : (j)
R=
Cl N N X O X j=1 c=1
(i) ˘ j,c where R
(1)
˘ (i) R j,c g
i=1
( (i) ˘ R l,c = I|S (i) |
+
Ce X X
(N)
···
e∈Es c(1) =1
C e X
c(N) =1
N O
g
˘ (i) (i) R e,c
i=1
if j = i if j 6= i
Saturation-based state-space generation Using the reachability descriptor R of a SAN model, we propose a RSS generation method which uses all benefits from saturation-based generation, without any kind of restriction over the arguments of the functions. 24 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Examples 1
Dining philosophers
2
Alternate Service Pattern (ASP)
3
Kanban system
Model (constant rates) ↔ Model (functional rates) Equivalent models = models which have the same underlying Markov chain.
25 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Dining p. (functional rates) Dining p. (constant rates)
P (1) T
R
T L
.
r2
tN
rN lN
T
P (N ) l1 rN −1
tN T
rN
R
L
P (N )
lN
Type Event Rate Type Event Rate Type Event Rate loc r1 fr1 loc l1 fl1 loc t1 µ1 r2 fr2 loc l2 fl2 loc t2 µ2 loc .. .. .. .. .. .. .. .. .. rN frN loc lN flN loc tN µN loc
l1
Type Event Rate Type Event Rate Type Event Rate syn r1 α1 syn l1 β1 loc t1 µ1 .. .. .. .. .. .. .. .. .. rN αN syn lN βN loc tN µN syn
R
l2 r2
fr1 = (st(P (2))! = L) × α1 fr2 = (st(P (3))! = L) × α2
fl1 = (st(P (N ))! = R) × β1 fl2 = (st(P (1)) == T ) × β2
frN = (st(P (1))! = L) × αN
flN = (st(P (N −1)) == T ) × βN
. ..
R
l2
r1
P (2)
L
. ... ..
l3
t2
L
..
r1
l1
L
L
. ..
t2
t1
t1 l1
. ... .. .
R
T
T
r1
rN
P (2)
R
..
l2 rN
r1
P (1)
26 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Dining philosophers (results) Memory (KiB) N |S| Final Peak Model (constant rates) 10 5.74 × 103 7 34 100 1.62 × 1038 72 1,411 1,000 5.09 × 10382 719 121,344 Model (functional rates) 10 5.74 × 103 7 34 100 1.62 × 1038 72 1,155 1,000 5.09 × 10382 719 92,425
CPU time (s) all f → MDD S -
1.54 × 10−3 1.84 × 10−2 2.44 × 10−1
1.70 × 10−4 1.86 × 10−3 5.08 × 10−2
1.25 × 10−3 1.51 × 10−2 1.81 × 10−1
27 / 33
Motivation
RSS Generation
Reachability Descriptor
ASP (constant rates) (1)
(2)
(3)
(5)
A
A
A
A
0
0
0
0
P1
e1
e23
e4 K4
A(3)
A(4)
A(5)
0
0
0
P1
e13 e341 (π12)
e342 (π21)
e1
e13 P2
Type Event Rate Type Event Rate Type Event Rate loc e1 λ1 loc e2 λ2 loc e4 µ4 µ1 syn e23 µ2 syn e341 µ31 syn e13 syn e342 µ32
e342 (π22)
e23
e1 K1
e2
e34
e23
e2 K2
e34 K3
e13 e23 e13 e23 e23
e4
e34 (π11 )
e34 e34 (π21 )
...
e23
A(2)
0
...
K3
e341 e342 e341 e342
A(1)
...
e2 K2
e4
e341 (π11)
...
e23
e13 e23 e13 e23
...
e1 K1
e341 e342 e341 e342
...
...
... e13
e2
Conclusions/Future Work
ASP (functional rates)
(4)
A e13
Results
e4
e34 (π12 )
e34 K4
P2
e34 (π22 )
Type Event Rate Type Event Rate Type Event Rate loc e1 λ1 loc e2 λ2 loc e4 µ4 µ1 syn e23 µ2 syn e34 f34 syn e13 f34 = (st(A(5)) == P1) × µ31 + (st(A(5)) == P2) × µ32
28 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Alternate Service Pattern (results) Memory (KiB) N |S| Final Peak Model (constant rates) 5 1.64 × 1011 9 943 15 4.91 × 1011 9 1,043 25 8.18 × 1011 9 1,145 Model (functional rates) 5 1.64 × 1011 9 904 15 4.91 × 1011 9 905 25 8.18 × 1011 9 907
CPU time (s) all f → MDD S -
8.77 × 10−1 9.22 × 10−1 1.02 × 100
1.38 × 10−5 1.91 × 10−5 2.29 × 10−5
8.71 × 10−1 8.85 × 10−1 9.02 × 10−1
29 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Kanban (functional rates)
Kanban (constant rates)
Station 1 Station 1 Pback1
Pm1 0
0
Pback4
Pout4
P4
0
0
0
N
s234
0
0
0
Pout3
P3
0
0
0
r2 s234
P2 0
ok2 ok2
N
N
ok3
r3 s234
Pback4
Pout4
0
0
N
N
ok3
0
s234
s123
s234
N
N
s234 b 4 b4 s234 b4 b4
s123
s234
s123
s234
N
ok4
r4 out r4 out
N
...
r3 s234
s123
Pm4 r4 ok4 r4 ok4
...
N
s123 b 3 b3 s123 b3 b3
...
out
0
r2 s234
Station 4
...
N
out
s234
Pback3
0
...
N
Type Event Rate syn r3 αr 3 syn ok3 αok3 syn b3 αb3 syn in αin
s234
Pm3
Station 3
r3 ok3 r3 ok3
Pout2
0
s123 b2 b2 s123 b 2 b2
N
N
...
N
r4 out
ok4
...
N
Type Event Rate syn r2 αr 2 syn ok2 αok2 syn b2 αb2 syn s234 αs234
ok4
r4 out
...
s234
s234 b 4 b4 s234 b4 b4
...
N
s123
...
N
Type Event Rate syn r1 αr 1 syn ok1 αok1 syn b1 αb1 syn s123 αs123
ok3
s234
...
r3 s234
s123
0
r4 ok4 r4 ok4
ok1
N
...
ok3
r3 s234
...
s123 b 3 b3 s123 b3 b3
Pm4
r1 s123
Pback2
0
...
P3
b1
Pm2 r2 ok2 r2 ok2
ok1
...
N
0
r1 s123
...
N
0
b1
...
N
in b1 in b1
...
s123
Pout1
...
ok2
s123
s234
r1 ok1 r1 ok1
...
Pout3
...
... N
r2 s234
0
ok2
...
Pback3
0
r3 ok3 r3 ok3
0
r2 s234
Pback1
0
P2
Station 4
Station 3 Pm3
0
s123 b 2 b2 s123 b2 b2
N
N
Pout2
...
N
s123
r2 ok2 r2 ok2
...
N
ok1 in
Pback2
0
s123
...
N
r1 s123
Pm2
0
ok1 in
...
b1
P1
0
r1 s123
b1
...
in b1 in b1
...
...
r1 ok1 r1 ok1
Pout1
Station 2
Pm1
Station 2
ok4
N
N
Type Event Rate syn r4 αr 4 syn ok4 αok4 syn b4 αb4 syn out αout
Type Event Rate syn r1 αr 1 syn ok1 αok1 syn b1 αb1 syn s123 αs123
Type Event Rate syn r2 αr 2 syn ok2 αok2 syn b2 αb2 syn s234 fs234
Type Event Rate syn r3 αr 3 syn ok3 αok3 syn b3 αb3 loc in fin
Type Event Rate syn r4 αr 4 syn ok4 αok4 syn b4 αb4 loc out αout
fin = ((st(Pm1) + st(Pback1) + st(Pout1)) < N ) × αin fs234 = ((st(Pm4) + st(Pback4) + st(Pout4)) < N ) × αs234
30 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Kanban system (results) Memory (KiB) N |S| Final Peak Model (constant rates) 10 1.01 × 109 42 94 100 1.73 × 1019 3,123 4,541 1,000 1.42 × 1030 1,466,148 1,592,595 Model (functional rates) 10 1.01 × 109 38 397 100 1.73 × 1019 3,056 474,021 1,000 1.42 × 1030 -
CPU time (s) all f → MDD S -
1.01 × 10−2 3.51 × 100 3.38 × 103
5.55 × 10−3 1.90 × 101 -
1.52 × 10−2 7.20 × 100 -
31 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Conclusions Reachability descriptor (structured next-state function) : functions + locality ; Efficient RSS generation method for models which use functional transitions ; Implemented in PEPS software tool ; http://www-id.imag.fr/Logiciels/peps/
Validation (SMART software tool) : SPN models ↔ SAN model (constant rates). http://www.cs.ucr.edu/~ciardo/SMART/
Future Work To find an efficient way to compute f → MDD ; To compare the generality and effectiveness of our method with others methods which are not based on tensor algebra (MxD). 32 / 33
Motivation
RSS Generation
Reachability Descriptor
Results
Conclusions/Future Work
Any questions ?
33 / 33