design verification
play

Design Verification Model/Property Checking: Computation Tree Logic - PowerPoint PPT Presentation

Design Verification Model/Property Checking: Computation Tree Logic Virendra Singh Associate Professor C omputer A rchitecture and D ependable S ystems L ab Department of Electrical Engineering Indian Institute of Technology Bombay


  1. Design Verification Model/Property Checking: Computation Tree Logic Virendra Singh Associate Professor C omputer A rchitecture and D ependable S ystems L ab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/ E-mail: viren@ee.iitb.ac.in EE-709: Testing & Verification of VLSI Circuits  Lecture 32 (07 April 2013)

  2. Linear-Time Temporal Logic • LTL formulas are evaluated on paths • State of a system satisfies an LTL formula if all the paths from the given state satisfy it • LTL implicitly quantify universally over paths Properties which asserts the existence of a path • cannot be expressed in LTL  Negation can partly solve the problem  Check whether all paths satisfy the negation of formula  07 Apr 2013 EE-709@IITB 2

  3. Computation Tree s 0 P,q P,q s 2 s 1 r q,r r q,r p,q r r q,r r r r  07 Apr 2013 EE-709@IITB 3

  4. Syntax of CTL Backus Naur Form  07 Apr 2013 EE-709@IITB 4

  5. Semantics of CTL Let M = (S, →, L) be a model for CTL, and s in S , φ a CTL formula. The relation M,s ╞ φ is defined by structural induction on φ . = 1. , | M s T ≠ 2. , | M s I = ∈ 3. , | , , ( ) M s p iff p L s 1 = ¬ φ ≠ φ 4. , | , , , | M s iff M s = φ ∧ φ = φ = φ 5. , | , , , | , , | M s iff M s and M s 1 2 1 2 = φ ∨ φ = φ = φ 6. , | , , , | , , | M s iff M s or M s 1 2 1 2 = φ → φ = φ = φ 7. , | , , , | , , | M s iff M s whenever M s 1 2 2 1  07 Apr 2013 EE-709@IITB 5

  6. Semantics of CTL = φ ∀ → = φ 8. , | , , , . ., ; , | M s AX iff s s t s s M s 1 1 1 = φ ∃ → = φ 9. , | , , , . ., ; , | M s EX iff s s t s s M s 1 1 1 = φ ∀ → → ∀ = φ 10. , | , , , ..., , , | M s AG iff paths s s s s M s 1 2 3 i i = φ ∃ → → ∀ = φ 11. , | , , , ..., ; , | M s EG iff path s s s s M s 1 2 3 i i = φ ∀ → → ∃ = φ 12. , | , , , ..., ; , | M s AF iff paths s s s s M s 1 2 3 i i = φ ∃ → → ∃ = φ 13. , | , , , ..., ; , | M s EF iff path s s s s M s 1 2 3 i i = φ ϕ ∀ → → → ∀ 14. , | [ ], , , ..., , M s A U iff paths s s s s 1 2 3 i = φ ∀ < = φ , | , ; , | M s j i M s 2 1 i j = φ ϕ ∃ → → → ∀ 15. , | [ ], , , ..., , M s E U iff path s s s s 1 2 3 i = φ ∀ < = φ , | , ; , | M s j i M s 2 1 i j  07 Apr 2013 EE-709@IITB 6

  7. CTL Formula = ∀ → = , | , , , . ., ; , | M s AXf iff s s t s s M s f AX(f) 1 1 1 For all Paths, f holds at the next state. EX(f) There is a path such that f holds at the next state = ∃ → = , | , , , . ., ; , | M s EXf iff s s t s s M s f 1 1 1  07 Apr 2013 EE-709@IITB 7

  8. CTL Formula AG(f) : For all paths, f holds at every node of the path. = φ ∀ , | , , , M s AG iff paths → → ∀ = φ ..., , , | s s s s M s 1 2 3 i i EG(f) : There is a path along which f holds at every state. = φ ∃ , | , , , M s EG iff path → → ∀ = φ ..., ; , | s s s s M s 1 2 3 i i AF(f) : For all paths, f holds eventually. = φ ∀ , | , , , M s AF iff paths → → ∃ = φ ..., ; , | s s s s M s 1 2 3 i i  07 Apr 2013 EE-709@IITB 8

  9. CTL Formula EF(f) There is a path along which f holds eventually. A(fUg) For all paths, f holds until g holds. E(fUg) There is a path along which f holds until g holds.  07 Apr 2013 EE-709@IITB 9

  10. Examples 1. For any state, if a request occurs, then it will eventually be acknowledged  AG( requested  AF acknowledged ) 2. A process is enabled infinitely often on every computation path  AG (AF enabled ) 3. Whatever happens, a certain process will eventually be permanently deadlocked  AF (AG deadlock) 4. From every state it is possible to get to a restart state  AG (EF restart )  07 Apr 2013 EE-709@IITB 10

  11. Examples • An upward travelling elevator at the second floor does not change its direction when it has passengers wishing to go to fifth floor  AG ( floor2 ∧ directionup ∧ ButtonPressed5  A[directionup U floor5]) • The elevator can remain idle on the third floor with its door closed  AG ( floor3 ∧ idle ∧ doorclosed  EG[ floor3 ∧ idle ∧ doorclosed )  07 Apr 2013 EE-709@IITB 11

  12. Mutual Exclusion: Implementation 2 s 0 n 1 n 2 s 1 s 5 t 1 n 2 n 1 t 2 s 3 s 9 s 6 c 1 n 2 n 1 c 2 s 2 t 1 t 2 t 1 t 2 c 1 t 2 t 1 c 2 s 4 s 7  07 Apr 2013 EE-709@IITB 12

  13. Mutual Exclusion: Properties 1. Safety – Only one process in the critical section  Pass  AG ¬ (c 1 ∧ c 2 ) 2. Liveness – Whenever any process request to enter its critical section, it will eventually be permitted  Pass  AG (t 1  AFc 1 ) 3. Non Blocking – For every state satisfying n 1 , there is a successor satisfying t 1  Pass  AG (n 1  EX t 1 ) 4. No strict sequencing  Pass  EF(c 1 ∧ E[c 1 U ( ¬ c 1 ∧ E [ ¬ c 2 U c 1 ])])  07 Apr 2013 EE-709@IITB 13

  14. Computation Tree Logic - Equivalence  ¬ ( φ ∧ ψ ) Ξ ( ¬ φ ∨ ¬ ψ )  ¬ ( φ ∨ ψ ) Ξ ( ¬ φ ∧ ¬ ψ )  ¬ E F φ Ξ A G ¬ φ  ¬ A F φ Ξ E G ¬ φ  ¬ A X φ Ξ E X ¬ φ  A F φ Ξ A [ T U φ ]  E F φ Ξ E [ T U φ ]  07 Apr 2013 EE-709@IITB 14

  15. Computation Tree Logic - Equivalence φ ≡ ¬ ¬ φ AX EX φ ≡ φ [ ] AF A TU φ ≡ φ [ ] EF E TU φ ≡ ¬ ¬ φ ≡ ¬ ¬ φ [ ] AG EF E TU φ ≡ ¬ ¬ φ ≡ ¬ ¬ φ [ ] EG AF A TU Essential Set: AU, EU, and EX  07 Apr 2013 EE-709@IITB 15

  16. Adequate Set of CTL Operators Theorem: A set of temporal connectives in CTL is adequate if, and only if, it contains at least one of {AX, EX}, at least one of {EG, AF, AU} and EU.  07 Apr 2013 EE-709@IITB 16

  17. Computation Tree Logic - Equivalence φ ϕ ≡ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ ∨ ¬ ϕ [ ] ( [ ( )] ) A U E U EG Pr oof φ ϕ ≡ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ ∧ ϕ [ ] [ ( ( )) ] A U A U F ≡ ¬ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ ∧ ϕ [ ( ( )) ] E U F ≡ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ ∨ ¬ ϕ [( ( )) ] E U G ≡ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ ∨ ¬ ϕ ( [ ( ) ] ) E U E G  07 Apr 2013 EE-709@IITB 17

  18. Other CTL Equivalence φ ϕ ≡ ¬ ¬ φ ¬ ϕ 1. [ ] [ ] A R E U φ ϕ ≡ ¬ ¬ φ ¬ ϕ 2. E[ ] [ ] R A U φ ϕ ≡ ϕ φ ∨ ϕ 3. [ ] [ ( )] A W A R ≡ ¬ ¬ ϕ ¬ φ ∨ ϕ [ ( )] E U ≡ ¬ ¬ ϕ ¬ ∧ ¬ φ ϕ [ ( )] E U φ ϕ ≡ ϕ φ ∨ ϕ 4. E[ ] [ ( )] W E R ≡ ¬ ¬ ϕ ¬ φ ∨ ϕ [ ( )] A U ≡ ¬ [ ¬ ϕ ¬ ∧ ¬ φ ϕ ( )] A U  07 Apr 2013 EE-709@IITB 18

  19. Checking CTL Formula 1. find all nodes at which the formula holds 2. determines whether all initial states are contained in the set of nodes Kripke structure  Labeled variables are true, and the missing variables are false  extend this labeling rule to include formulae or subformulae that evaluate true at the node  07 Apr 2013 EE-709@IITB 19

  20. Checking CTL Formula  consider AND and NOT operators  if both operand formulas are true at the node, the resulting AND formula is true at the node and it is labeled at the node  If the operand formula is not true (in other words, it is missing at a node), then the resulting NOT formula is true and it is labeled at the node  only need to consider EXf, E(fUg), and EG(f) temporal operators  07 Apr 2013 EE-709@IITB 20

  21. Checking CTL Formula • Algorithm for Checking AF( Φ ) input: a Kripke structure K and a CTL formula EX( Φ ). output: labeling of the states where AF( Φ ) holds Verify_AF( Φ ): // check CTL formula AF( Φ ) for each state s of K, add label AF( Φ ) if Φ is labeled at a all successor of s  07 Apr 2013 EE-709@IITB 21

  22. Checking CTL Formula: AF Φ Φ AF Φ AF Φ Φ AF Φ AF Φ AF Φ Φ AF Φ AF Φ  07 Apr 2013 EE-709@IITB 22

  23. Checking CTL Formula • Algorithm for Checking EX( Φ ) input: a Kripke structure K and a CTL formula EX( Φ ). output: labeling of the states where EX( Φ ) holds Verify_EX( Φ ): // check CTL formula EX( Φ ) for each state s of K, add label EX( Φ ) if Φ is labeled at a successor of s  07 Apr 2013 EE-709@IITB 23

  24. Checking CTL Formula: EX Φ Φ Φ EX Φ  07 Apr 2013 EE-709@IITB 24

  25. Checking CTL Formula Algorithm for Checking E(Φ U Ψ ) • assume formulas Φ and Ψ have been verified • E(Φ U Ψ ) is true at a node if there is a path from the node to a Ψ -labeled node, and at every node along that partial path Φ is labeled but Ψ is not • A node satisfies E(Φ U Ψ ) if Ψ is labeled at the node or Φ but not Ψ is labeled at the node and its successor is either labeled Ψ or E(Φ U Ψ )  07 Apr 2013 EE-709@IITB 25

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