3 comp 1 5 9 3 algorithmic verification
play

3 COMP 1 5 9 3 Algorithmic Verification LTL Model Checking and - PowerPoint PPT Presentation

<latexit


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

  2. B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata LTL Model Checking M | = ϕ Kripke Structure ??? LTL Formula 2

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

  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 4

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

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

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

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

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

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

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

  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 } 12

  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 } 13

  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 } 14

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

  16. B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata Closure Properties B¨ uchi Automata are closed under: Union (same as NFAs) 16

  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) 17

  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) 18

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

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

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

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

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

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

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

  26. B¨ uchi Automata LTL Model Checking LTL to B¨ uchi Automata a a p 0 p 1 q 0 q 1 a a

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

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

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

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

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

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

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

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