Introduction to Temporal Logic and Reactive Systems Zohar Manna - PowerPoint PPT Presentation
Introduction to Temporal Logic and Reactive Systems Zohar Manna Verification of sequential programs. No concurrency. Programs (should) always terminate. Observable at start (input) and end (output) of execution. Logical
Introduction to Temporal Logic and Reactive Systems Zohar Manna
◮ Verification of sequential programs. ◮ No concurrency. ◮ Programs (should) always terminate. ◮ Observable at start (input) and end (output) of execution. ◮ Logical foundations: ◮ FOL. ◮ Invariants and ranking functions. ◮ Verification conditions. ◮ Decision procedures. ◮ Induction.
◮ Verification of reactive systems . ◮ Highly concurrent. Concept of fairness . Properties: mutual exclusion , freedom from deadlock . ◮ Programs need not terminate (e.g., OS, web server). But some components must terminate (e.g., IO handler). ◮ Observable throughout execution. And the environment affects execution. ◮ Logical foundations: Everything from CS156 plus ◮ temporal logics linear (LTL), branching (CTL), alternating (ATL) time ◮ automata theory and connection with temporal logics infinite strings (linear) and trees (branching, alternating)
prime local y : integer where y = 1 ℓ 0 : loop forever do . . . ℓ 5 : print y ℓ 6 : . . . ℓ 10 : y ← y + 1 . . . Output: 2,3,5,7,11,13, . . . ◮ only primes: � [ at ℓ 5 → prime( y )] ◮ all primes: ∀ u . [prime( u ) → ♦ ( at ℓ 5 ∧ y = u )] ◮ monotonicity (correct order): ∀ u . � [( at ℓ 6 ∧ y = u ) → � ( at ℓ 5 → y > u )]
bakery y 1 , y 2 : integer where y 1 = 0 , y 2 = 0 local P 1 :: loop forever do ℓ 0 : noncritical ℓ 1 : y 1 := y 2 + 1 ℓ 2 : await y 2 = 0 ∨ y 1 ≤ y 2 ℓ 3 : critical ℓ 4 : y 1 := 0 || P 2 :: loop forever do m 0 : noncritical m 1 : y 2 := y 1 + 1 m 2 : await y 1 = 0 ∨ y 2 ≤ y 1 m 3 : critical m 4 : y 2 := 0
Requirements for bakery ◮ Mutual exclusion � ¬ ( ℓ 3 ∧ m 3 ) The two processes are not in the critical section simultaneously. ◮ One-bounded overtaking ℓ 2 ⇒ ¬ m 3 W m 3 W ¬ m 3 W ℓ 3 Once P 1 waits to get access, P 2 can enter its critical section at most once. ◮ Progress ℓ 1 ⇒ ♦ ℓ 3 Once P 1 shows interest in entering its critical section, it eventually gets access to the critical section.
Administration ◮ Instructor: Zohar Manna ◮ Text: The Temporal Verification of Reactive Systems: Safety Zohar Manna and Amir Pnueli Springer-Verlag 1995
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.