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

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