Documente Academic
Documente Profesional
Documente Cultură
15-820A
15-820A
LTL Formulas
Subset of CTL*
Distinct from CTL
AFG p LTL
f CTL . f AFG p
Commonly:
A is omitted
G is replaced by (box or always)
F is replaced by (diamond or eventually)
2
15-820A
Fairness
( p)
A ((GF p) )
15-820A
LTL Semantics
Derived from the CTL* semantics
Given an infinite execution trace =s0s1
p p(s0)
( )
1 2 1 2
1 2 1 2
is the suffix of
i
i 0
starting at s
i 0 i
1 U 2i 0 i 2 0 j< i j 1
i
15-820A
Bchi Automata
Automaton which accepts infinite traces
A Bchi automaton is 4-tupleS, I,, F
S is a finite set of states
I S is a set of initial states
S S is a transition relation
F S is a set of accepting states
15-820A
Example
S0
S1
S2
1=S0S1S2S2S2S2
ACCEPTED
2=S0S1S2S1S2S1
ACCEPTED
3=S0S1S2S1S1S1
REJECTED
15-820A
Bchi Automaton
Accepts a set of infinite traces
15-820A
15-820A
15-820A
Approach
Formula rewriting
Rewrite the formula in negated normal form
Apply rewriting rules
Core translation
Turns an LTL formula into a generalized Bchi
automaton
Degeneralization
Turns a generalized Bchi automaton into a
Bchi automaton
10
15-820A
Rewriting
Negated normal form
Negation appears only in front of literals
Use the following identities
=
G = F
F = G
( U ) = () V ()
( V ) = () U ()
15-820A
Rewriting
Additional rewriting rules
They are not guaranteed to yield smaller
automata
The size of the automaton is exponential in
the size of the formula
Examples
(X ) U (X ) X ( U )
(X ) (X ) X ( )
GF GF GF ( )
12
15-820A
Rewriting
The core algorithm only handles
, , V, U
13
15-820A
Core Translation
Idea
Make use of the following
U ( X( U ))
V ( X( V ))
14
15-820A
Example
Fp
(T U p)
Old:{}
New:{T U p}
Next:{}
Old:{T U p}
New:{T}
New:{}
Next:{T U p}
Old:{T U p,
p}p}
New:{p}
New:{}
Next:{}
Old:{}
New:{}
Next:{}
Old:{T U p}
Next:{T U p}
Old:{T U p, p}
Next:{}
Old:{}
Next:{}
15
15-820A
Core Translation
Node
Represent a sub-formula
Contain information about the past, the
present and the future
State
Represents a state in the final automaton
They are the nodes that have fully expanded
16
15-820A
Core Translation
Expansion
Select a formula from the New field
Old
field
( X( U ))
If it is a literal, add it toUthe
V ( X( V ))
Otherwise
(New{},Next{}) and (New{},Next{})
U
(New{},New{ U }) and (New{},Next{})
V
(New{},New{ V }) and (New{,},Next{})
17
15-820A
Core Translation
Nodes to states
If a node has no New formulas
Create a new node with all the Next formulas
Create an edge between the two nodes
Check if there is any equivalent state
With the same Next field
With the same Old field
18
15-820A
Core Translation
Accepting states
Generalized Bchi automaton
or
The Old field does contain
19
15-820A
Degeneralization
Turn a generalized Bchi automaton into a
Bchi automaton
Consider as many copies of the automaton as
the number of accepting sets
Replace incoming edges from accepting states
with edges to the next copy
Each cycle must go through every copy
Each cycle must contains accepting states from
each accepting set
20
15-820A
Example
FaFb
T
21
1,2
15-820A
Example
T
22
15-820A
Example
T
23
15-820A
Example
T
24
15-820A
Example
T
25
15-820A
Example
T
26
15-820A
Optimizations
Can be done at each stage
Try to minimize
The number of states and transitions
The number of accepting states
Involve
Strongly connected components
Fair (bi)simulation
Expensive but
The Bchi automaton is usually small
The saving during verification can be very high
27