b uchi automata and their application to software
play

B uchi Automata and their Application to Software Verification - PowerPoint PPT Presentation

B uchi Automata and their Application to Software Verification Finite Automata Theory and Formal Languages Wolfgang Ahrendt 22nd April 2013 B uchi Automata: TMV027/DIT321 / GU 130423 1 / 25 Motivating Temporal Logic? But How to


  1. B¨ uchi Automata and their Application to Software Verification Finite Automata Theory and Formal Languages Wolfgang Ahrendt 22nd April 2013 B¨ uchi Automata: TMV027/DIT321 / GU 130423 1 / 25

  2. Motivating Temporal Logic? But How to Express Properties Involving State Changes? In any run of a program P ◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often etc. B¨ uchi Automata: TMV027/DIT321 / GU 130423 2 / 25

  3. Motivating Temporal Logic? But How to Express Properties Involving State Changes? In any run of a program P ◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often etc. Linear Temporal Logic: talks about (infinite) traces of states B¨ uchi Automata: TMV027/DIT321 / GU 130423 2 / 25

  4. Semantics of Propositional Logic Interpretation I Assigns a truth value to each propositional variable I : P → { T , F } B¨ uchi Automata: TMV027/DIT321 / GU 130423 3 / 25

  5. Semantics of Propositional Logic Interpretation I Assigns a truth value to each propositional variable I : P → { T , F } Example Let P = { p , q } p q I F F I ′ F T I ′′ T F I ′′′ T T B¨ uchi Automata: TMV027/DIT321 / GU 130423 3 / 25

  6. Transition systems (aka Kripke Structures) p = T ; p = T ; q = p ; p = F ; s 0 s 1 s 2 s 3 x F F T F T T F T q = F ; Notation update name x interp. B¨ uchi Automata: TMV027/DIT321 / GU 130423 4 / 25

  7. Transition systems (aka Kripke Structures) p = T ; p = T ; q = p ; p = F ; s 0 s 1 s 2 s 3 x F F T F T T F T q = F ; ◮ Each state s i has its own propositional interpretation I i ◮ Convention: list values of variables in ascending lexicographic order ◮ Computations, or runs, are infinite paths through states ◮ Intuitively ‘finite’ runs modelled by looping on final states ◮ In general, infinitely many different runs possible ◮ How to express (for example) that p changes its value infinitely often in each run? B¨ uchi Automata: TMV027/DIT321 / GU 130423 4 / 25

  8. (Linear) Temporal Logic An extension of propositional logic that allows to specify properties of all runs B¨ uchi Automata: TMV027/DIT321 / GU 130423 5 / 25

  9. (Linear) Temporal Logic—Syntax An extension of propositional logic that allows to specify properties of all runs Syntax Based on propositional signature and syntax Extension with three connectives: Always If φ is a formula then so is � φ Eventually If φ is a formula then so is ♦ φ Concrete Syntax text book Spin Always [ ] � Eventually ♦ <> B¨ uchi Automata: TMV027/DIT321 / GU 130423 5 / 25

  10. Temporal Logic—Semantics A run σ is an infinite chain of states s 0 s 1 s 2 s 3 s 4 · · · I 0 I 1 I 2 I 3 I 4 I j propositional interpretation of variables in j -th state Write more compactly s 0 s 1 s 2 s 3 . . . B¨ uchi Automata: TMV027/DIT321 / GU 130423 6 / 25

  11. Temporal Logic—Semantics A run σ is an infinite chain of states s 0 s 1 s 2 s 3 s 4 · · · I 0 I 1 I 2 I 3 I 4 I j propositional interpretation of variables in j -th state Write more compactly s 0 s 1 s 2 s 3 . . . If σ = s 0 s 1 · · · , then σ | i denotes the suffix s i s i +1 · · · of σ . B¨ uchi Automata: TMV027/DIT321 / GU 130423 6 / 25

  12. Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25

  13. Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25

  14. Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . σ | = ¬ φ iff not σ | = φ (write σ �| = φ ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ σ �| = φ or σ | iff = ψ B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25

  15. Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . σ | = ¬ φ iff not σ | = φ (write σ �| = φ ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ σ �| = φ or σ | iff = ψ Temporal connectives? B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25

  16. Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25

  17. Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · · · · · · · φ φ φ φ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25

  18. Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · φ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 σ | = ♦ φ iff σ | k | = φ for some k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25

  19. Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · · · · φ φ φ ψ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 σ | = ♦ φ iff σ | k | = φ for some k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25

  20. Transition Systems: Formal Definition Definition (Transition System) A transition system T = ( S , Ini , δ, I ) is composed of a set of states S , a set ∅ � = Ini ⊆ S of initial states, a transition relation δ ⊆ S × S , and a labeling I of each state s ∈ S with a propositional interpretation I s . Definition (Run of Transition System) A run of T is a sequence of states σ = s 0 s 1 · · · such that s 0 ∈ Ini and for all i is s i ∈ S as well as ( s i , s i +1 ) ∈ δ . B¨ uchi Automata: TMV027/DIT321 / GU 130423 9 / 25

  21. ω -Languages Given a finite alphabet (vocabulary) Σ A word w ∈ Σ ∗ is a finite sequence w = a o · · · a n with a i ∈ Σ , i ∈ { 0 , . . . , n } L ⊆ Σ ∗ is called a language B¨ uchi Automata: TMV027/DIT321 / GU 130423 10 / 25

  22. ω -Languages Given a finite alphabet (vocabulary) Σ An ω -word w ∈ Σ ω is an infinite sequence w = a o · · · a k · · · with a i ∈ Σ , i ∈ N L ω ⊆ Σ ω is called an ω -language B¨ uchi Automata: TMV027/DIT321 / GU 130423 10 / 25

  23. B¨ uchi Automaton Definition (B¨ uchi Automaton) A (non-deterministic) B¨ uchi automaton over an alphabet Σ consists of a ◮ finite, non-empty set of locations Q ◮ a non-empty set of initial/start locations I ⊆ Q ◮ a set of accepting locations F = { F 1 , . . . , F n } ⊆ Q ◮ a transition relation δ ⊆ Q × Σ × Q Example Σ = { a , b } , Q = { q 1 , q 2 , q 3 } , I = { q 1 } , F = { q 2 } a , b b a q 1 q 2 q 3 start a B¨ uchi Automata: TMV027/DIT321 / GU 130423 11 / 25

  24. B¨ uchi Automaton—Executions and Accepted Words Definition (Execution) Let B = ( Q , I , F , δ ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair ( w , v ), with ◮ w = a o · · · a k · · · ∈ Σ ω ◮ v = q o · · · q k · · · ∈ Q ω where q 0 ∈ I , and ( q i , a i , q i +1 ) ∈ δ , for all i ∈ N B¨ uchi Automata: TMV027/DIT321 / GU 130423 12 / 25

  25. B¨ uchi Automaton—Executions and Accepted Words Definition (Execution) Let B = ( Q , I , F , δ ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair ( w , v ), with ◮ w = a o · · · a k · · · ∈ Σ ω ◮ v = q o · · · q k · · · ∈ Q ω where q 0 ∈ I , and ( q i , a i , q i +1 ) ∈ δ , for all i ∈ N Definition (Accepted Word) uchi automaton B accepts a word w ∈ Σ ω , if there exists an A B¨ execution ( w , v ) of B where some accepting location f ∈ F appears infinitely often in v B¨ uchi Automata: TMV027/DIT321 / GU 130423 12 / 25

  26. B¨ uchi Automaton—Language Let B = ( Q , I , F , δ ) be a B¨ uchi automaton, then L ω ( B ) = { w ∈ Σ ω | w ∈ Σ ω is an accepted word of B} denotes the ω -language recognised by B . B¨ uchi Automata: TMV027/DIT321 / GU 130423 13 / 25

  27. B¨ uchi Automaton—Language Let B = ( Q , I , F , δ ) be a B¨ uchi automaton, then L ω ( B ) = { w ∈ Σ ω | w ∈ Σ ω is an accepted word of B} denotes the ω -language recognised by B . An ω -language for which an accepting B¨ uchi automaton exists is called ω -regular language. B¨ uchi Automata: TMV027/DIT321 / GU 130423 13 / 25

  28. Example, ω -Regular Expression Which language is accepted by the following B¨ uchi automaton? a , b b a q 1 q 2 q 3 start a B¨ uchi Automata: TMV027/DIT321 / GU 130423 14 / 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend