advanced logic linear temporal logic computation tree
play

Advanced Logic Linear Temporal Logic Computation Tree Logic - PowerPoint PPT Presentation

Advanced Logic Linear Temporal Logic Computation Tree Logic Daniel Gebler VU University Amsterdam March 11, 2013 Overview Linear temporal logic (LTL): describes properties of paths (individual executions) no modalities to


  1. LTL: Models M , s | = φ if φ is satisfied on every path starting at s . M | = φ if φ is satisfied on every path starting from the initial state. release s 1 s 2 s 3 pull breaks extended extended, malfunction Which of the states satisfies the following? M , s 1 , s 3 | = X extended M , s 3 | = F G extended M , s 2 , s 3 | = X X extended ? | = ¬ F G extended M , s 1 , s 2 , s 3 | = F extended ? | = G ( ¬ extended → X extended) M , s 3 | = G extended ? | = G (extended → X ¬ extended) M , s 1 , s 2 , s 3 | = G F extended

  2. LTL: Models M , s | = φ if φ is satisfied on every path starting at s . M | = φ if φ is satisfied on every path starting from the initial state. release s 1 s 2 s 3 pull breaks extended extended, malfunction Which of the states satisfies the following? M , s 1 , s 3 | = X extended M , s 3 | = F G extended M , s 2 , s 3 | = X X extended M , s 1 , s 2 , s 3 �| = ¬ F G extended M , s 1 , s 2 , s 3 | = F extended ? | = G ( ¬ extended → X extended) M , s 3 | = G extended ? | = G (extended → X ¬ extended) M , s 1 , s 2 , s 3 | = G F extended

  3. LTL: Models M , s | = φ if φ is satisfied on every path starting at s . M | = φ if φ is satisfied on every path starting from the initial state. release s 1 s 2 s 3 pull breaks extended extended, malfunction Which of the states satisfies the following? M , s 1 , s 3 | = X extended M , s 3 | = F G extended M , s 2 , s 3 | = X X extended M , s 1 , s 2 , s 3 �| = ¬ F G extended M , s 1 , s 2 , s 3 | = F extended ? | = G ( ¬ extended → X extended) M , s 3 | = G extended ? | = G (extended → X ¬ extended) M , s 1 , s 2 , s 3 | = G F extended Note that: M �| = F G extended and M �| = ¬ F G extended !

  4. LTL: Models M , s | = φ if φ is satisfied on every path starting at s . M | = φ if φ is satisfied on every path starting from the initial state. release s 1 s 2 s 3 pull breaks extended extended, malfunction Which of the states satisfies the following? M , s 1 , s 3 | = X extended M , s 3 | = F G extended M , s 2 , s 3 | = X X extended M , s 1 , s 2 , s 3 �| = ¬ F G extended M , s 1 , s 2 , s 3 | = F extended M | = G ( ¬ extended → X extended) M , s 3 | = G extended ? | = G (extended → X ¬ extended) M , s 1 , s 2 , s 3 | = G F extended Note that: M �| = F G extended and M �| = ¬ F G extended !

  5. LTL: Models M , s | = φ if φ is satisfied on every path starting at s . M | = φ if φ is satisfied on every path starting from the initial state. release s 1 s 2 s 3 pull breaks extended extended, malfunction Which of the states satisfies the following? M , s 1 , s 3 | = X extended M , s 3 | = F G extended M , s 2 , s 3 | = X X extended M , s 1 , s 2 , s 3 �| = ¬ F G extended M , s 1 , s 2 , s 3 | = F extended M | = G ( ¬ extended → X extended) M , s 3 | = G extended M , s 1 , s 2 , s 3 �| = G (extended → X ¬ extended) M , s 1 , s 2 , s 3 | = G F extended Note that: M �| = F G extended and M �| = ¬ F G extended !

  6. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths

  7. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths Which of the following are semantically equivalent? X ( φ ∨ ψ ) ≡ X φ ∨ X ψ F F φ ≡ F φ X ( φ ∧ ψ ) ≡ X φ ∧ X ψ G G φ ≡ G φ F ( φ ∧ ψ ) ≡ F φ ∧ F ψ F G φ ≡ G F φ F ( φ ∨ ψ ) ≡ F φ ∨ F ψ ¬ F φ ≡ G ¬ φ G ( φ ∧ ψ ) ≡ G φ ∧ F ψ ¬ G φ ≡ F ¬ φ G ( φ ∨ ψ ) ≡ G φ ∨ F ψ F φ ≡ φ ∨ X (F φ ) ρ U ( φ ∨ ψ ) ≡ ( ρ U φ ) ∨ ( ρ U ψ ) G φ ≡ φ ∧ X (G φ ) ρ U ( φ ∧ ψ ) ≡ ( ρ U φ ) ∧ ( ρ U ψ ) φ U ψ ≡ φ U ( φ U ψ )

  8. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths Which of the following are semantically equivalent? X ( φ ∨ ψ ) ≡ X φ ∨ X ψ F F φ ≡ F φ X ( φ ∧ ψ ) ≡ X φ ∧ X ψ G G φ ≡ G φ F ( φ ∧ ψ ) ≡ F φ ∧ F ψ F G φ ≡ G F φ F ( φ ∨ ψ ) ≡ F φ ∨ F ψ ¬ F φ ≡ G ¬ φ G ( φ ∧ ψ ) ≡ G φ ∧ F ψ ¬ G φ ≡ F ¬ φ G ( φ ∨ ψ ) ≡ G φ ∨ F ψ F φ ≡ φ ∨ X (F φ ) ρ U ( φ ∨ ψ ) ≡ ( ρ U φ ) ∨ ( ρ U ψ ) G φ ≡ φ ∧ X (G φ ) ρ U ( φ ∧ ψ ) ≡ ( ρ U φ ) ∧ ( ρ U ψ ) φ U ψ ≡ φ U ( φ U ψ )

  9. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths Which of the following are semantically equivalent? X ( φ ∨ ψ ) ≡ X φ ∨ X ψ F F φ ≡ F φ X ( φ ∧ ψ ) ≡ X φ ∧ X ψ G G φ ≡ G φ F ( φ ∧ ψ ) ≡ F φ ∧ F ψ F G φ ≡ G F φ F ( φ ∨ ψ ) ≡ F φ ∨ F ψ ¬ F φ ≡ G ¬ φ G ( φ ∧ ψ ) ≡ G φ ∧ F ψ ¬ G φ ≡ F ¬ φ G ( φ ∨ ψ ) ≡ G φ ∨ F ψ F φ ≡ φ ∨ X (F φ ) ρ U ( φ ∨ ψ ) ≡ ( ρ U φ ) ∨ ( ρ U ψ ) G φ ≡ φ ∧ X (G φ ) ρ U ( φ ∧ ψ ) ≡ ( ρ U φ ) ∧ ( ρ U ψ ) φ U ψ ≡ φ U ( φ U ψ )

  10. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths Which of the following are semantically equivalent? X ( φ ∨ ψ ) ≡ X φ ∨ X ψ F F φ ≡ F φ X ( φ ∧ ψ ) ≡ X φ ∧ X ψ G G φ ≡ G φ F ( φ ∧ ψ ) ≡ F φ ∧ F ψ F G φ ≡ G F φ F ( φ ∨ ψ ) ≡ F φ ∨ F ψ ¬ F φ ≡ G ¬ φ G ( φ ∧ ψ ) ≡ G φ ∧ F ψ ¬ G φ ≡ F ¬ φ G ( φ ∨ ψ ) ≡ G φ ∨ F ψ F φ ≡ φ ∨ X (F φ ) ρ U ( φ ∨ ψ ) ≡ ( ρ U φ ) ∨ ( ρ U ψ ) G φ ≡ φ ∧ X (G φ ) ρ U ( φ ∧ ψ ) ≡ ( ρ U φ ) ∧ ( ρ U ψ ) φ U ψ ≡ φ U ( φ U ψ )

  11. LTL: Equivalence of Formulas LTL formulas φ and ψ are semantically equivalent, denoted by φ ≡ ψ , if they are true for the same paths Which of the following are semantically equivalent? X ( φ ∨ ψ ) ≡ X φ ∨ X ψ F F φ ≡ F φ X ( φ ∧ ψ ) ≡ X φ ∧ X ψ G G φ ≡ G φ F ( φ ∧ ψ ) ≡ F φ ∧ F ψ F G φ ≡ G F φ F ( φ ∨ ψ ) ≡ F φ ∨ F ψ ¬ F φ ≡ G ¬ φ G ( φ ∧ ψ ) ≡ G φ ∧ F ψ ¬ G φ ≡ F ¬ φ G ( φ ∨ ψ ) ≡ G φ ∨ F ψ F φ ≡ φ ∨ X (F φ ) ρ U ( φ ∨ ψ ) ≡ ( ρ U φ ) ∨ ( ρ U ψ ) G φ ≡ φ ∧ X (G φ ) ρ U ( φ ∧ ψ ) ≡ ( ρ U φ ) ∧ ( ρ U ψ ) φ U ψ ≡ φ U ( φ U ψ )

  12. Mutual Exclusion ◮ multiple processes ◮ a shared resource that can only be used by one process at a time shared resource process Q process P

  13. Mutual Exclusion ◮ multiple processes ◮ a shared resource that can only be used by one process at a time shared resource process Q process P Q P non critical non critical . . . . . . C Q critical section C P critical section . . . . . . non critical non critical To solve conflicts: processes agree on a negotiation protocol. ◮ mutual exclusion: never more than one process in the critical section

  14. Mutual Exclusion ◮ multiple processes ◮ a shared resource that can only be used by one process at a time shared resource process Q process P Q P non critical non critical . . . . . . C Q critical section C P critical section . . . . . . non critical non critical To solve conflicts: processes agree on a negotiation protocol. ◮ mutual exclusion: never more than one process in the critical section G ¬ ( C Q ∧ C P )

  15. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1

  16. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1

  17. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0

  18. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0

  19. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0

  20. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1

  21. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p1, C Q ,0

  22. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p1, C Q ,0 p1,q4,0

  23. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p1, C Q ,0 p1,q4,0

  24. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p1, C Q ,0 p1,q4,0

  25. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p2,q2,1 p1, C Q ,0 p1,q4,0

  26. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p2,q2,1 p1, C Q ,0 p2, C Q ,0 p1,q4,0

  27. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p2,q2,1 p1, C Q ,0 p2, C Q ,0 C P , C Q ,0 p1,q4,0

  28. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p2,q2,1 C P ,q2,0 p1, C Q ,0 p2, C Q ,0 C P , C Q ,0 p1,q4,0

  29. Mutual Exclusion: Attempt 1 ◮ boolean variable free = 1 Q P loop forever loop forever p1: wait for free = 1 q1: wait for free = 1 p2: free = 0 q2: free = 0 C P : critical section C Q : critical section p4: free = 1 q4: free = 1 For such a program we compute the state space: p1,q1,1 p2,q1,1 C P ,q1,0 p4,q1,0 p1,q2,1 p2,q2,1 C P ,q2,0 p4,q2,0 p1, C Q ,0 p2, C Q ,0 C P , C Q ,0 p4, C Q ,0 p1,q4,0 p2,q4,0 C P ,q4,0 p4,q4,0

  30. Model Checking Formalize the system design 1 Formalize the validation requirements 2 Validate: system meets requirements 3 Req 1 Req 2 System � Reqs System design . . . Promela or Embedded C Req n SPIN engine LTL Verification process

  31. Mutual Exclusion: Peterson ◮ boolean variables x = 0, y = 0, t = 0 Q P loop forever loop forever p1: x = 1 q1: y = 1 p2: turn = 1 q2: turn = 0 p3: wait for y = 0 or t = 0 q3: wait for x = 0 or t = 1 C P : critical section C Q : critical section p4: x = 0 q4: y = 0

  32. LTL: Applications Safety properties ◮ “nothing bad ever happens” G ¬ (reactor temperature > 1000) ◮ invariant: “ a is always false” Liveness properties ◮ “something good will eventually happen” G (ordered → F delivered) ◮ termination: “the system will eventually terminate” ◮ response: “if action a occurs then b eventually will occur” Deadlock freeness ◮ deadlock state: “a state where no actions are possible” ◮ no deadlocks: there is always some next state G ( ¬ terminated → X ⊤ )

  33. Industrial Case Studies I Figure: After Flood Disaster (1953), Maeslant Barrier (Maeslantkering)

  34. Industrial Case Studies: Flood Control Verification of the interface between BOS and BESW: ◮ Beslis- en Ondersteunend Systeem (BOS) ◮ BEsturingsSysteem Waterweg (BESW) ◮ BOS takes the decision to move the barrier ◮ BESW performs this task Even deadlocks were found in BESW!

  35. Industrial Case Studies II Figure: NASA Mission Critical Software: Cassini, Mars Rovers, Deep Impact

  36. Industrial Case Studies III

  37. State Space Explosion

  38. State Space Explosion ◮ Assume A 1 , A 2 , . . . are a processes each having 10 states

  39. State Space Explosion ◮ Assume A 1 , A 2 , . . . are a processes each having 10 states ◮ Then A 1 and A 2 together have 100 states.

  40. State Space Explosion ◮ Assume A 1 , A 2 , . . . are a processes each having 10 states ◮ Then A 1 and A 2 together have 100 states. ◮ Then A 1 , . . . , A n together have 10 n states.

  41. State Space Explosion ◮ Assume A 1 , A 2 , . . . are a processes each having 10 states ◮ Then A 1 and A 2 together have 100 states. ◮ Then A 1 , . . . , A n together have 10 n states. This is the state space explosion problem.

  42. State Space Explosion ◮ Assume A 1 , A 2 , . . . are a processes each having 10 states ◮ Then A 1 and A 2 together have 100 states. ◮ Then A 1 , . . . , A n together have 10 n states. This is the state space explosion problem.

  43. Computation Tree Logic (CTL) Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1

  44. Computation Tree Logic (CTL) Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1

  45. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1

  46. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1

  47. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2

  48. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2 iff there is a path s = s 1 → s 2 → . . . , such that for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ

  49. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2 iff there is a path s = s 1 → s 2 → . . . , such that for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ M , s | = EG φ ( φ holds globally on some path starting from s ) 3

  50. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2 iff there is a path s = s 1 → s 2 → . . . , such that for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ M , s | = EG φ ( φ holds globally on some path starting from s ) 3 iff there is a path s = s 1 → s 2 → . . . such that for all i ≥ 1, M , s i | = φ

  51. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2 iff there is a path s = s 1 → s 2 → . . . , such that for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ M , s | = EG φ ( φ holds globally on some path starting from s ) 3 iff there is a path s = s 1 → s 2 → . . . such that for all i ≥ 1, M , s i | = φ M , s | = EX φ ( φ holds in some next state) 4

  52. Computation Tree Logic (CTL) exists globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ where p ∈ Ω exists until exists next The formula φ holds model M at state s , M , s | = φ , is defined by: as usual: M , s | = ⊤ , M , s | = p , M , s | = ¬ φ , M , s | = φ 1 ∧ φ 2 1 M , s | = φ EU ψ ( φ until ψ holds on some path starting from s ) 2 iff there is a path s = s 1 → s 2 → . . . , such that for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ M , s | = EG φ ( φ holds globally on some path starting from s ) 3 iff there is a path s = s 1 → s 2 → . . . such that for all i ≥ 1, M , s i | = φ M , s | = EX φ ( φ holds in some next state) 4 iff ( M , s 2 ) | = φ for some s 2 such that s → s 2

  53. CTL: Extensions Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω

  54. CTL: Extensions Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until

  55. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until

  56. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next

  57. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1

  58. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ

  59. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ

  60. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2

  61. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2 iff ( M , s 2 ) | = φ for all s 2 such that s → s 2

  62. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2 iff ( M , s 2 ) | = φ for all s 2 such that s → s 2 AX φ = ¬ EX ¬ φ

  63. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2 iff ( M , s 2 ) | = φ for all s 2 such that s → s 2 AX φ = ¬ EX ¬ φ M , s | = φ AU ψ ( φ until ψ holds on all paths starting from s ) 3

  64. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2 iff ( M , s 2 ) | = φ for all s 2 such that s → s 2 AX φ = ¬ EX ¬ φ M , s | = φ AU ψ ( φ until ψ holds on all paths starting from s ) 3 iff for all paths s = s 1 → s 2 → . . . we have: for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ

  65. CTL: Extensions always globally Computation Tree Logic (CTL) is defined by: φ ::= p | ⊤ | ¬ φ | φ ∧ φ | φ EU φ | EG φ | EX φ | φ AU φ | AG φ | AX φ where p ∈ Ω always until always next M , s | = AG φ ( φ holds globally on all paths starting from s ) 1 iff for all paths s = s 1 → s 2 → . . . we have: for all i ≥ 1, M , s i | = φ AG φ = ¬ EF ¬ φ M , s | = AX φ ( φ holds in all next states) 2 iff ( M , s 2 ) | = φ for all s 2 such that s → s 2 AX φ = ¬ EX ¬ φ M , s | = φ AU ψ ( φ until ψ holds on all paths starting from s ) 3 iff for all paths s = s 1 → s 2 → . . . we have: for some i ≥ 1, M , s i | = ψ and for all j < i , M , s j | = φ φ AU ψ = ¬ ( ¬ ψ EU ( ¬ φ ∧ ¬ ψ )) ∧ ¬ EG ¬ ψ

  66. CTL: Examples Which of the states satisfies the following? s 1 ? | = AF t ? | = ¬ EG r r ? | = t EU q s 2 s 3 ? | = EX q p , q p , t , r ? | = AX q ? | = EF q s 4 q , r

  67. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t ? | = ¬ EG r r ? | = t EU q s 2 s 3 ? | = EX q p , q p , t , r ? | = AX q ? | = EF q s 4 q , r

  68. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t M , s 3 | = ¬ EG r r ? | = t EU q s 2 s 3 ? | = EX q p , q p , t , r ? | = AX q ? | = EF q s 4 q , r

  69. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t M , s 3 | = ¬ EG r r M , s 2 , s 3 , s 4 | = t EU q s 2 s 3 ? | = EX q p , q p , t , r ? | = AX q ? | = EF q s 4 q , r

  70. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t M , s 3 | = ¬ EG r r M , s 2 , s 3 , s 4 | = t EU q s 2 s 3 M , s 1 , s 2 , s 3 | = EX q p , q p , t , r ? | = AX q ? | = EF q s 4 q , r

  71. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t M , s 3 | = ¬ EG r r M , s 2 , s 3 , s 4 | = t EU q s 2 s 3 M , s 1 , s 2 , s 3 | = EX q p , q p , t , r M , s 2 , s 3 | = AX q ? | = EF q s 4 q , r

  72. CTL: Examples Which of the states satisfies the following? s 1 M , s 2 , s 3 , s 4 | = AF t M , s 3 | = ¬ EG r r M , s 2 , s 3 , s 4 | = t EU q s 2 s 3 M , s 1 , s 2 , s 3 | = EX q p , q p , t , r M , s 2 , s 3 | = AX q M , s 1 , s 2 , s 3 , s 4 | = EF q s 4 q , r

  73. CTL: Examples s 1 r Which of the states satisfies the following? s 2 s 3 ? | = AG (EF p ) q p ? | = AG (( q ∨ r ) AU p ) ? | = AG (EF ( q ∧ r )) s 4 q , r s 5 p

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