introduction to temporal logic and reactive systems
play

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


  1. Introduction to Temporal Logic and Reactive Systems Zohar Manna

  2. ◮ 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.

  3. ◮ 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)

  4. 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 )]

  5. 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

  6. 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.

  7. Administration ◮ Instructor: Zohar Manna ◮ Text: The Temporal Verification of Reactive Systems: Safety Zohar Manna and Amir Pnueli Springer-Verlag 1995

Recommend


More recommend