computation tree logic
play

Computation Tree Logic Hao Zheng Department of Computer Science and - PowerPoint PPT Presentation

Computation Tree Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF) Comp Sys Verification 1 / 43


  1. Computation Tree Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF) Comp Sys Verification 1 / 43

  2. Overview Introduction (Section 6.1) 1 Computation Tree Logic (Section 6.2) 2 CTL - Syntax CTL - Semantics CTL Semantics - Equivalences CTL Model Checking (Section 6.4) 3 Comparing CTL and LTL (Section 6.3) 4 Hao Zheng (CSE, USF) Comp Sys Verification 2 / 43

  3. Contents Introduction (Section 6.1) 1 Computation Tree Logic (Section 6.2) 2 CTL - Syntax CTL - Semantics CTL Semantics - Equivalences CTL Model Checking (Section 6.4) 3 Comparing CTL and LTL (Section 6.3) 4 Hao Zheng (CSE, USF) Comp Sys Verification 3 / 43

  4. Introduction (6.1) • Linear temporal logic: “Statements about (all) paths starting in a state.” • s | = � ( x ≤ 20) iff for all possible paths starting in s always x ≤ 20 . • Quantifier ∀ is implicit: s | = � ( x ≤ 20) ≡ s | = ∀ � ( x ≤ 20) Hao Zheng (CSE, USF) Comp Sys Verification 4 / 43

  5. Introduction (6.1) • Linear temporal logic: “Statements about (all) paths starting in a state.” • s | = � ( x ≤ 20) iff for all possible paths starting in s always x ≤ 20 . • Quantifier ∀ is implicit: s | = � ( x ≤ 20) ≡ s | = ∀ � ( x ≤ 20) • Branching temporal logic: “Statements about all or some paths starting in a state.” • s | = ∀ � ( x ≤ 20) iff for all paths starting in s always x ≤ 20 . • s | = ∃ � ( x ≤ 20) iff for some path starting in s always x ≤ 20 . • Nesting of path quantifiers is allowed. Hao Zheng (CSE, USF) Comp Sys Verification 4 / 43

  6. Introduction (6.1) • Linear temporal logic: “Statements about (all) paths starting in a state.” • s | = � ( x ≤ 20) iff for all possible paths starting in s always x ≤ 20 . • Quantifier ∀ is implicit: s | = � ( x ≤ 20) ≡ s | = ∀ � ( x ≤ 20) • Branching temporal logic: “Statements about all or some paths starting in a state.” • s | = ∀ � ( x ≤ 20) iff for all paths starting in s always x ≤ 20 . • s | = ∃ � ( x ≤ 20) iff for some path starting in s always x ≤ 20 . • Nesting of path quantifiers is allowed. • Checking ∃ ϕ in LTL can be done using ∀¬ ϕ , but this does not work for nested formulas such as ∀ � ∃ ♦ a . In any state of every computation ( ∀ � ), it is possible ( ∃ ♦ ) to return to the initial state. �♦ a vs ∀ � ∃ ♦ a , differenece? Hao Zheng (CSE, USF) Comp Sys Verification 4 / 43

  7. Computational Tree View of Transition Systems • Semantics is based on a branching notion of time. • An infinite tree of states obtained by unfolding the transition system. • One “time instant” may have several possible successor “time instants”. ( s 0 , 0 ) ( s 1 , 1 ) s 1 { x = 0 } s 0 { x 6 = 0 } ( s 2 , 2 ) ( s 3 , 2 ) ( s 3 , 3 ) ( s 2 , 3 ) ( s 3 , 3 ) s 2 s 3 { x = 0 } { x = 1 , x 6 = 0 } ( s 3 , 4 ) ( s 3 , 4 ) ( s 2 , 4 ) ( s 2 , 4 ) ( s 3 , 4 ) Hao Zheng (CSE, USF) Comp Sys Verification 5 / 43

  8. Branching vs Linear Temporal Logics • Incomparable expressiveness: • There are properties that can be expressed in LTL, but not in CTL. • There are also properties that can be expressed in CTL, but not in LTL. • Distinct model-checking algorithms with different time/space complexities. • Fairness assumptions require special treatment in CTL. • A natural part of LTL. • Equivalences and preorders between transition systems based on simulation and bisimulation relations rather than traces. Hao Zheng (CSE, USF) Comp Sys Verification 6 / 43

  9. Contents Introduction (Section 6.1) 1 Computation Tree Logic (Section 6.2) 2 CTL - Syntax CTL - Semantics CTL Semantics - Equivalences CTL Model Checking (Section 6.4) 3 Comparing CTL and LTL (Section 6.3) 4 Hao Zheng (CSE, USF) Comp Sys Verification 7 / 43

  10. Computational Tree Logic - Syntax (6.2.1) Modal logic over infinite trees [Clarke & Emerson 1981]. • Statements over states ( Φ ): • a ∈ AP atomic proposition • ¬ Φ and Φ 1 ∧ Φ 2 negation and conjunction • ∃ ϕ there exists a path fulfilling ϕ • ∀ ϕ all paths fulfill ϕ • Statements over paths ( ϕ ): • � Φ the next state fulfills Φ • Φ 1 U Φ 2 Φ 1 holds until a Φ 2 -state is reached Hao Zheng (CSE, USF) Comp Sys Verification 8 / 43

  11. Computational Tree Logic - Syntax (6.2.1) Modal logic over infinite trees [Clarke & Emerson 1981]. • Statements over states ( Φ ): • a ∈ AP atomic proposition • ¬ Φ and Φ 1 ∧ Φ 2 negation and conjunction • ∃ ϕ there exists a path fulfilling ϕ • ∀ ϕ all paths fulfill ϕ • Statements over paths ( ϕ ): • � Φ the next state fulfills Φ • Φ 1 U Φ 2 Φ 1 holds until a Φ 2 -state is reached ⇒ Note that � and U alternate with ∀ and ∃ : • ∀ � � Φ , ∀∃ � Φ �∈ CTL, but ∀ � ∀ � Φ and ∀ � ∃ � Φ ∈ CTL. • Four operators by the syntax rules: ∀ � ( AX ) , ∀ � ( AG ) , ∀ U ( AU ) , ∀ ♦ ( AF ) ∃ � ( EX ) , ∃ � ( EG ) , ∃ U ( EU ) , ∃ ♦ ( EF ) • Check Example 6.2 in the book for some example formulas. Hao Zheng (CSE, USF) Comp Sys Verification 8 / 43

  12. Derived Operators potentially Φ : ∃ ♦ Φ = ∃ ( true U Φ) inevitably Φ : ∀ ♦ Φ = ∀ ( true U Φ) potentially always Φ : ∃ � Φ = ¬∀ ♦ ¬ Φ ∀ � Φ ¬∃ ♦ ¬ Φ invariantly Φ : = � � weak until: ∃ (Φ 1 U Φ 2 ) = ¬∀ (Φ 1 ∧ ¬ Φ 2 ) U ( ¬ Φ 1 ∧ ¬ Φ 2 ) � � ∀ (Φ 1 U Φ 2 ) = ¬∃ (Φ 1 ∧ ¬ Φ 2 ) U ( ¬ Φ 1 ∧ ¬ Φ 2 ) The boolean connectives are derived as usual. Hao Zheng (CSE, USF) Comp Sys Verification 9 / 43

  13. Example Properties in CTL • Mutual exclusion: ∀ � ( ¬ crit 1 ∨ ¬ crit 2 ) • Starvation freedom: ( ∀ � ∀ ♦ crit 1 ) ∧ ( ∀ � ∀ ♦ crit 2 ) • Each red light is preceded by a yellow light: ∀ � ( yellow ∨ ∀ � ¬ red )??? • Traffic light is infinitely often green: ∀ � ∀ ♦ green • Every request is eventually granted: ∀ � ( request ⇒ ∀ ♦ response ) • In every reachable state, it is possible to return to the start state: ∀ � ∃ ♦ start Hao Zheng (CSE, USF) Comp Sys Verification 10 / 43

  14. CTL Semantics Visualization 9 � red 9 ♦ red 9 ( yellow U red ) 8 ♦ red 8 � red 8 ( yellow U red ) Hao Zheng (CSE, USF) Comp Sys Verification 11 / 43

  15. CTL Semantics - State Formulas Defined by a relation | = such that s | = Φ if and only if formula Φ holds in state s s | = a iff a ∈ L ( s ) s | = ¬ Φ iff ¬ ( s | = Φ) s | = Φ ∧ Ψ iff ( s | = Φ) ∧ ( s | = Ψ) s | = ∃ ϕ iff π | = ϕ for some path π that starts in s s | = ∀ ϕ iff π | = ϕ for all paths π that start in s Hao Zheng (CSE, USF) Comp Sys Verification 12 / 43

  16. CTL Semantics - Path Formulas Define a relation | = such that π | = ϕ if and only if path π satisfies ϕ π | = � Φ iff π [1] | = Φ π | = Φ U Ψ iff ( ∃ j ≥ 0 . π [ j ] | = Ψ ∧ ( ∀ 0 ≤ k < j. π [ k ] | = Φ)) where π [ i ] denotes the state s i in the path π Hao Zheng (CSE, USF) Comp Sys Verification 13 / 43

  17. CTL Semantics - Transition System Let TS = ( S, Act , → , I, AP , L ) be a transition system. • For CTL-state-formula Φ , the satisfaction set Sat (Φ) is defined by: Sat (Φ) = { s ∈ S | s | = Φ } • TS satisfies CTL-formula Φ iff Φ holds in all its initial states: TS | = Φ if and only if ∀ s 0 ∈ I. s 0 | = Φ This is equivalent to I ⊆ Sat (Φ) . Hao Zheng (CSE, USF) Comp Sys Verification 14 / 43

  18. CTL Semantics - Examples s 1 s 0 s 3 { a } { a, b } { a } s 2 (a) { b } ∃ � a ∀ � a ∃ � a ∀ � a ∀ ( a U b ) Hao Zheng (CSE, USF) Comp Sys Verification 15 / 43

  19. Remark 6.10 The Semantics of Negation TS �| = Φ and TS �| = ¬ Φ is possible due to having multiple initial states, e.g., s 0 | = ∃ � Φ and s ′ 0 �| = ∃ � Φ . s 0 s ′ 0 { a } ∅ TS �| = ∃ � a and TS �| = ¬∃ � a Hao Zheng (CSE, USF) Comp Sys Verification 16 / 43

  20. 6.2.3 CTL Equivalence Definition 6.12 CTL-formulas Φ and Ψ (over AP ) are equivalent , denoted Φ ≡ Ψ if and only if Sat (Φ) = Sat (Ψ) for all transition systems TS over AP . Φ ≡ Ψ ( TS | TS | iff = Φ if and only if = Ψ) Hao Zheng (CSE, USF) Comp Sys Verification 17 / 43

  21. Duality Laws ∀ � Φ ≡ ¬∃ � ¬ Φ ∃ � Φ ≡ ¬∀ � ¬ Φ ∀ ♦ Φ ≡ ¬∃ � ¬ Φ ∃ ♦ Φ ≡ ¬∀ � ¬ Φ ∀ (Φ U Ψ) ≡ ¬∃ ((Φ ∧ ¬ Ψ) U ( ¬ Φ ∧ ¬ Ψ)) Hao Zheng (CSE, USF) Comp Sys Verification 18 / 43

  22. Expansion Laws Recall in LTL: ϕ U ψ ≡ ψ ∨ ( ϕ ∧ � ( ϕ U ψ )) In CTL: ∀ (Φ U Ψ) ≡ Ψ ∨ (Φ ∧ ∀ � ∀ (Φ U Ψ)) ∀ ♦ Φ ≡ Φ ∨ ∀ � ∀ ♦ Φ ∀ � Φ ≡ Φ ∧ ∀ � ∀ � Φ ∃ (Φ U Ψ) ≡ Ψ ∨ (Φ ∧ ∃ � ∃ (Φ U Ψ)) ∃ ♦ Φ ≡ Φ ∨ ∃ � ∃ ♦ Φ ∃ � Φ ≡ Φ ∧ ∃ � ∃ � Φ Hao Zheng (CSE, USF) Comp Sys Verification 19 / 43

  23. Distributive Laws (1) Recall in LTL: � ( ϕ ∧ ψ ) ≡ � ϕ ∧ � ψ and ♦ ( ϕ ∨ ψ ) ≡ ♦ ϕ ∨ ♦ ψ In CTL: ∀ � (Φ ∧ Ψ) ≡ ∀ � Φ ∧ ∀ � Ψ ∃ ♦ (Φ ∨ Ψ) ≡ ∃ ♦ Φ ∨ ∃ ♦ Ψ Hao Zheng (CSE, USF) Comp Sys Verification 20 / 43

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