130 likes | 223 Views
Translating LTL to Automata. Literature: Peled ch. 6.8 – end of 6 Mads Dam. Automaton State. Already processed formulas. Previous state identifier. Name:. Incoming. Formulas to be processed. New:. Old:. Formulas for next state. Next:. Initial nodes:. Final nodes = automaton states:.
E N D
Translating LTL to Automata Literature: Peled ch. 6.8 – end of 6 Mads Dam
Automaton State Already processed formulas Previous state identifier Name: Incoming Formulas to be processed New: Old: Formulas for next state Next: Initial nodes: Final nodes = automaton states: Name: Name: Incoming Incoming New: Old: ; New:; Old:1,...,n Next:; Next:1,...,m
Positive Form Positive form: Negation only on primitive state assertions: ::= | : | Æ | Ç | U | V | O Rewriting procedure: ::) :(Æ) ) :Ç: :(Ç) ) :Æ: :( U ) ) (:) V (:) :( V ) ) (:) U (:) :(O) ) O: <>) true U []) false V Rule of substitutivity: ) C[] ) C[] Context C[]: Formula (term) with a “hole” []
Base Step Name Current configuration: Incoming: A New: 1 Old:2 Next:3 Condition: 1 = ; (all formulas have been processed) Is there node Name’ with identical Old, Next? - Then discard Name and add Name.Incoming to Name’.Incoming Otherwise: - Name is a new state - Create new name and node: Name’ Incoming: {Name} New: 3 Old:; Next:;
Case: Proposition Symbol Name Is : 2 2? Yes: Discard the node No: Next configuration: Case for : in New is similar Current configuration: Incoming: A New: , 1 Old:2 Next:3 Name Incoming: A New: 1 Old:, 2 Next:3
Case: Conjunction Name Next configuration: Current configuration: Incoming: A New: Æ , 1 Old:2 Next:3 Name Incoming: A New: ,,1 Old: Æ ,2 Next:3
Case: Disjunction Name Configuration split into two: Current configuration: Incoming: A New: Ç, 1 Old:2 Next:3 Name’ Name’’ Incoming: A Incoming: A New: ,1 Old: Ç , 2 New: ,1 Old: Ç , 2 Next:3 Next:3
Case: Until Name Configuration split into two: Current configuration: Incoming: A New: U , 1 Old:2 Next:3 Name’ Name’’ Incoming: A Incoming: A New: , 1 Old: U , 2 New: , 1 Old: U , 2 Next:3 Next: U , 3
Case: Release Name Configuration split into two: Current configuration: Incoming: A New: V , 1 Old:2 Next:3 Name’ Name’’ Incoming: A Incoming: A New: , , 1 Old: V , 2 New: , 1 Old: V , 2 Next:3 Next: V , 3
Case: Next Name Next configuration: Current configuration: Incoming: A New: O, 1 Old:2 Next:3 Name Incoming: A New: 1 Old: O, 2 Next:, 3
Constructing the Automaton Automaton: (Q,,,I,F) • = truth assignments of propositional symbols in Ex: {a, b, : c, : d} 2 • Q = {final nodes} = {q | q.New = ;} • = {(q,,q’) | q.Name2 q’.Incoming and { | 2 q’.Old} µ and {: | : 2 q’.Old} µ} • I = {q}, q special initial node to kick off construction • Generalized Buchi automaton acceptance set F = {f1,...,fn}: Each fi determined by subformula of shape i U i fi = {q | either i2 q.Old or i U i q.Old}
Complexity Let be given LTL formula Size of state is O(||) Size of automaton is O(2||) Alternative construction can be given such that • States can be recognized in poly time and space • Transitions can be recognised in poly time and space Then complexity of deciding satisfaction is • Polynomial for Buchi automata • (use a binary search procedure) • PSPACE complete for LTL • NONELEMENTARY for monadic 2nd order logic But keep in mind the state space explosion problem!
State Space Explosion |Global state space|: exponential in number of component processes Strategies: BDD’s: • Symbolic representation of states, as DAG’s Partial order reduction: • Recognise states reached by different interleavings • Symmetry reductions a a b b => a b b a =