Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Complementing Büchi automata via alternating automata Guillaume Sadegh LRDE – EPITA Research and Development Laboratory January 06, 2010 Guillaume Sadegh Complementing Büchi automata: Reloaded 1 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the properties A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the properties A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the properties A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the properties A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata: Reloaded 2 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Complementing Büchi Automata Why not ◮ Complementation is unrealistic in practice, Best algorithms produce 2 O ( n log n ) states for an automaton with n states. ◮ Model checking avoids the complementation. ( ¬A ϕ ≡ A ¬ ϕ ) . Why ◮ When properties are not formulæ, ◮ To enrich our library, ◮ To complete Safra’s complementation, not adapted to TGBA. Guillaume Sadegh Complementing Büchi automata: Reloaded 3 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References The complementation Changing Nondeterministic Universal co- A Büchi Automata Büchi Automata interpretation (Obvious) Kupferman and Transformation Direct transformation Kupferman and Vardi (1997) Vardi (1997) Transformation Nondeterministic Weak Alternating ¬A Büchi Automata Automata Miyano and Hayashi (1984) Guillaume Sadegh Complementing Büchi automata: Reloaded 4 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Outline Overview on ω -automata 1 Mode of transitions Ranks The complementation 2 Implementation 3 Conclusion and Perspectives 4 Guillaume Sadegh Complementing Büchi automata: Reloaded 5 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Outline Overview on ω -automata 1 Mode of transitions Ranks The complementation 2 Implementation 3 Conclusion and Perspectives 4 Guillaume Sadegh Complementing Büchi automata: Reloaded 6 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Büchi (1962) acceptance condition ◮ The Büchi acceptance condition is a set of states. A run must visit infinitely often some states of this acceptance condition to be accepting. ◮ Formally, a run π is accepting iff inf ( π ) ∩ F � = ∅ with F ⊆ Q . 3 1 2 States in the accepting set are marked with . Guillaume Sadegh Complementing Büchi automata: Reloaded 7 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References co-Büchi (1962) acceptance condition ◮ The co-Büchi acceptance condition is a set of states. A run must visit finitely often all states of this acceptance condition to be accepting. ◮ Formally, a run π is accepting iff inf ( π ) ∩ F = ∅ with F ⊆ Q . 3 1 2 States in the accepting set are marked with . Guillaume Sadegh Complementing Büchi automata: Reloaded 7 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Generalized Büchi (1962) acceptance condition ◮ The Generalized Büchi acceptance condition has more than one set of states. A run must visit infinitely often some states of each set of acceptance conditions to be accepting. ◮ Formally, a run π is accepting iff ∀ i , inf ( π ) ∩ F i � = ∅ with F = { F 1 , F 2 , · · · , F n } and F i ⊆ Q . 3 1 2 States in accepting sets are marked with and . Guillaume Sadegh Complementing Büchi automata: Reloaded 8 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Generalized co-Büchi (1962) acceptance condition ◮ The Generalized co-Büchi acceptance condition has more than one set of states. A run must visit finitely often every states of some set of acceptance conditions to be accepting. ◮ Formally, a run π is accepting iff ∃ i , inf ( π ) ∩ F i = ∅ with F = { F 1 , F 2 , · · · , F n } and F i ⊆ Q . 3 1 2 States in accepting sets are marked with and . Guillaume Sadegh Complementing Büchi automata: Reloaded 8 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Mode of transitions Mode of transitions b b a 1 2 a deterministic Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Mode of transitions Mode of transitions a , b a , b a non-deterministic ( existential ) 1 2 a deterministic Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Mode of transitions Mode of transitions a , b a , b a non-deterministic universal ( existential ) 1 2 a deterministic Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Mode of transitions Mode of transitions alternating a 1 2 non-deterministic universal ( existential ) a 3 deterministic Guillaume Sadegh Complementing Büchi automata: Reloaded 9 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks DAG DAG The run of a word over an automaton can be represented by a Direct Acyclic Graph. a a 1 2 Universal co-Büchi automaton 1, 0 DAG Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks DAG DAG The run of a word over an automaton can be represented by a Direct Acyclic Graph. a a 1 2 Universal co-Büchi automaton a a a a 1, 0 2, 1 2, 2 2, 3 DAG Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks DAG DAG The run of a word over an automaton can be represented by a Direct Acyclic Graph. a a 1 2 Universal co-Büchi automaton a a a a 1, 0 2, 1 2, 2 2, 3 F vertex F -free vertices DAG Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks DAG DAG The run of a word over an automaton can be represented by a Direct Acyclic Graph. a a 1 2 Universal co-Büchi automaton 1, 0 Finite DAG Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks DAG DAG The run of a word over an automaton can be represented by a Direct Acyclic Graph. a a 1 2 Universal co-Büchi automaton a a a a 1, 0 2, 1 2, 2 2, 3 DAG Guillaume Sadegh Complementing Büchi automata: Reloaded 10 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks Is a run accepting? We can prune the DAG ◮ G 0 = G r ◮ G 2 i + 1 = G 2 i \ {� q , l �|� q , l � is finite in G 2 i } ◮ G 2 i + 2 = G 2 i + 1 \ {� q , l �|� q , l � is F -free in G 2 i + 1 } If G 2 n is empty, the run was accepting � If � q , l � is finite in G 2 i 2 i rank ( � q , l � ) = 2 i + 1 If � q , l � is F -free in G 2 i + 1 Guillaume Sadegh Complementing Büchi automata: Reloaded 11 / 27
Introduction Overview on ω -automata The complementation Implementation Conclusion and Perspectives References Ranks Ranks a a a a 1, 0 2, 1 2, 2 2, 3 G 0 = G r Guillaume Sadegh Complementing Büchi automata: Reloaded 12 / 27
Recommend
More recommend