1 / 13

Translating LTL to Automata

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

halia
Download Presentation

Translating LTL to Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Translating LTL to Automata Literature: Peled ch. 6.8 – end of 6 Mads Dam

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

  3. 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” []

  4. 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:;

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

  6. Case: Conjunction Name Next configuration: Current configuration: Incoming: A New:  Æ , 1 Old:2 Next:3 Name Incoming: A New: ,,1 Old: Æ ,2 Next:3

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

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

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

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

  11. 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}

  12. 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!

  13. 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 =

More Related