<latexit sha1_base64="P4jUJHo6g1yopyZBD74hiv3LdI=">AIZHicjVRb9NIFD6kXEKW6l4QEhoCBalIa4JYJqVcTSF14QRaIFqanQ2D5xRpnYZjxpG6L8Cn7d/oH9EfvEmWPnRgy7juw5/ubMd75zif1Uq8w2m39fqKxcvHT5SvVq7Y9r12/cvLV6+yhLBibAwyDRifnsywy1ivHQKqvxc2pQ9n2Nn/zevtv/dIomU0n80Q5TPOnLKFYdFUhL0JfVyve2j5GKR1b1vqUqsAOD41o7TkI8zqy0WO8orfd8PcAH2826ULGySuoTsfHV2xSjtsVz63fyNeuM9t+/OxiPx38uMxgMmUD6ySkKo6KuFUln76tHVHqnhGqnOdUJRotU/mok7OfqXZLqHbLqSKDGJeJ0ruOqSw/r5xpiJqkMNWMhOW0Skha5STBUMZzeTmKVl0GAaZWxRGX6fzXdQqNPMubgmGEXIgydGeGuqoXqDeH7paiM4bWHNqa8Z5vFikJacWGV9/yGtNWkMq/dJQYZbt9FYgjNMJZO0Yhwvz9+XWerPR5EsG15hrENxHSrlTa0IYQEAhAHxBisGRrkJDR7xg8aEJK2AmMCDNkKd5HGEONzg7IC8lDEtqjZ0RvxwUa07vjzPh0QFE03YZOCnhc+IRkdxjNVxdfzPn+KsaIuZ3GIa1+wdkn1EKX0P86N/H8v+dcTpYUvuRcFOlMGXFZBgsZdWjV9G5Jv3sOyRPJCumUISsgTBOaIy6GoTWvq8u8y3W7Idk/S4Xd6oH3zj+xGeCaVp9ZjIUzeU9YE15rhLqdCal96yI7mrv8op4x50yhJ3Rvu0zBhzqOMyGsLXrH3K9gj1OmVFNdV8gnj+l28Xo8BYJ3cIFdMCKpFm7f5767majRvfyLaT+cVjPjPFz9keJ70IAW2f1p5IwrH5Bnh+5FBX3OVdHq5n6Zz2lxWZ7R0/VYsJ3MacgonoB97lfM/RAcyXkgc7jpzKvfWMoI4ZS7O2SdlnuC8Iw8M54ZzTmNWK/intf5H6JoR9NOxJ0dwgPKuUkdmuXsVM9nmnKlU45mp3WY/OeQJ6oLQtyd6SB7vtaLyvO6WZ7dfM4Rzum5B4/o7dFvlEw8c0SyJUlZyioM+yZFrfMTuSJTeM5mpgbuW+f9/GVbNo62G97zxvMP2+uv3xRfvSrcg4ewQfPyAl7DWziAQwgq/6Ilc2Vp1f+qV6rlXv5K6VC8WZNVi4qvd/AB3w9Tw=</latexit> B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata 3 COMP 1 5 9 3 Algorithmic Verification LTL Model Checking and B¨ uchi Automata Dr. Liam O’Connor CSE, UNSW (for now) Term 1 2020 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata LTL Model Checking M | = ϕ Kripke Structure ??? LTL Formula 2
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata LTL Model Checking M | = ϕ Kripke Structure ??? LTL Formula ↓ ↓ M A ϕ A B¨ uchi Automaton B¨ uchi Automaton 3
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata LTL Model Checking M | = ϕ Kripke Structure ??? LTL Formula ↓ ↓ L ( M A ) ⊆ L ( ϕ A ) B¨ uchi Automaton B¨ uchi Automaton 4
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata LTL Model Checking M | = ϕ Kripke Structure ??? LTL Formula ↓ ↓ L ( M A ) ⊆ L ( ϕ A ) B¨ uchi Automaton B¨ uchi Automaton B¨ uchi Automata B¨ uchi Automata are like finite automata, but their languages are of infinite-length strings, so they work well for behaviours ∈ (2 P ) ω . 5
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata B¨ uchi Automata Definition A (generalized) B¨ uchi automaton is a 5-tuple ( Q , I , Σ , δ, F ) where Q is a set of states. I ⊆ Q is a set of initial states. Σ is our alphabet of actions. δ : ( Q × Σ) → 2 Q is our transition relation. F ⊆ Q is a set of final states. 6
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata B¨ uchi Automata Definition A (generalized) B¨ uchi automaton is a 5-tuple ( Q , I , Σ , δ, F ) where Q is a set of states. I ⊆ Q is a set of initial states. Σ is our alphabet of actions. δ : ( Q × Σ) → 2 Q is our transition relation. F ⊆ Q is a set of final states. Language We consider σ ∈ L ( A ) for a B¨ uchi automaton A iff it visits a particular final state infinitely often. More formally, define inf( ρ ) = { q | q appears infinitely often in ρ } , then we say trace( ρ ) ∈ L ( A ) ⇔ inf( ρ ) ∩ F � = ∅ 7
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Example b a a c q 0 q 1 q 2 b acaaaaaaa . . . 8
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Example b a a c q 0 q 1 q 2 b acaaaaaaa . . . Accepted acbcbcbcb . . . 9
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Example b a a c q 0 q 1 q 2 b acaaaaaaa . . . Accepted acbcbcbcb . . . Accepted acbbbbbbb . . . 10
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Example b a a c q 0 q 1 q 2 b acaaaaaaa . . . Accepted acbcbcbcb . . . Accepted acbbbbbbb . . . Rejected 11
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Exercise Let Σ = { 0 , 1 } . Define B¨ uchi automata for the following languages. L 1 = { v ∈ Σ ω | 0 occurs in v exactly once } 12
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Exercise Let Σ = { 0 , 1 } . Define B¨ uchi automata for the following languages. L 1 = { v ∈ Σ ω | 0 occurs in v exactly once } L 2 = { v ∈ Σ ω | every 0 is followed at least one 1 } 13
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Exercise Let Σ = { 0 , 1 } . Define B¨ uchi automata for the following languages. L 1 = { v ∈ Σ ω | 0 occurs in v exactly once } L 2 = { v ∈ Σ ω | every 0 is followed at least one 1 } L 3 = { v ∈ Σ ω | v contains infinitely many 1s } 14
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Exercise Let Σ = { 0 , 1 } . Define B¨ uchi automata for the following languages. L 1 = { v ∈ Σ ω | 0 occurs in v exactly once } L 2 = { v ∈ Σ ω | every 0 is followed at least one 1 } L 3 = { v ∈ Σ ω | v contains infinitely many 1s } L 4 = (01) ∗ Σ ω 15
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Closure Properties B¨ uchi Automata are closed under: Union (same as NFAs) 16
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Closure Properties B¨ uchi Automata are closed under: Union (same as NFAs) Intersection (as we will show) 17
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Closure Properties B¨ uchi Automata are closed under: Union (same as NFAs) Intersection (as we will show) Complement (as we will refer to textbooks — it’s hard) 18
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Closure Properties B¨ uchi Automata are closed under: Union (same as NFAs) Intersection (as we will show) Complement (as we will refer to textbooks — it’s hard) 19
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Intersection of GBAs a a p 0 p 1 q 0 q 1 a a
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Intersection of GBAs a a p 0 p 1 q 0 q 1 a a ( p 0 , q 0 ) ( p 1 , q 0 ) ( p 0 , q 1 ) ( p 1 , q 1 )
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Intersection of GBAs a a p 0 p 1 q 0 q 1 a a ( p 0 , q 0 ) ( p 1 , q 0 ) a a ( p 0 , q 1 ) ( p 1 , q 1 )
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Intersection of GBAs a a p 0 p 1 q 0 q 1 a a ( p 0 , q 0 ) ( p 1 , q 0 ) a NFA product doesn’t work! a ( p 0 , q 1 ) ( p 1 , q 1 ) 23
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Triple Product An accepting cycle of a product of B¨ uchi automata P × Q must cycle through accepting states of both P and Q infinitely often. Arbitrarily, we shall say it must alternate by visiting a final state of Q then P then Q and so on. This doesn’t affect expressivity because we are only concerned with infinite strings. 24
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Triple Product An accepting cycle of a product of B¨ uchi automata P × Q must cycle through accepting states of both P and Q infinitely often. Arbitrarily, we shall say it must alternate by visiting a final state of Q then P then Q and so on. This doesn’t affect expressivity because we are only concerned with infinite strings. Key idea Make three copies of the product: P × Q × { 0 , 1 , 2 } . Copy ’0’ is marked with initial states I P × I Q . Copy ’2’ is entirely marked as final states. Transition relation like normal product, but: We move from copy 0 to copy 1 when moving to a state ∈ F Q . We move from copy 1 to copy 2 when moving to a state ∈ F P . All transitions from copy 2 move back to copy 0. 25
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 a p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 a a p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 a a p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 a a a p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 p 0 q 0 p 1 q 0 a a a a p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1 p 0 q 1 p 1 q 1
Recommend
More recommend