sat based abstraction refinement for real time systems
play

SAT-based Abstraction Refinement for Real-time Systems Stephanie - PowerPoint PPT Presentation

SAT-based Abstraction Refinement for Real-time Systems Stephanie Kemper 1 e Platzer 2 , 3 Andr 1 Centrum voor Wiskunde en Informatica, Software Engineering, Amsterdam, The Netherlands 2 University of Oldenburg, Department of Computing Science,


  1. SAT-based Abstraction Refinement for Real-time Systems Stephanie Kemper 1 e Platzer 2 , 3 Andr´ 1 Centrum voor Wiskunde en Informatica, Software Engineering, Amsterdam, The Netherlands 2 University of Oldenburg, Department of Computing Science, Germany 3 Carnegie Mellon University, Pittsburgh, PA, USA Third International Workshop on Formal Aspects of Component Software (FACS’06) Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 1 / 18

  2. Motivation Failures in embedded systems: disastrous Safety critical systems must work correctly Single components, and their composition Responses in time Timed Systems: difficult to check (state explosion) Abstraction Refinement to cope with Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 2 / 18

  3. Overview TA Represent s reachable Abstract Refine FOCI Unfold[k] SAT–solver Concretise s not reachable in k steps Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 3 / 18

  4. Timed Automata TA Represent s reachable Abstract Refine FOCI Unfold[k] SAT–solver Concretise s not reachable in k steps Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 3 / 18

  5. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  6. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  7. Timed Automata Example (Intelligent Light Controller) � ( > 0) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  8. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  9. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  10. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  11. Timed Automata Example (Intelligent Light Controller) � ( > 0) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  12. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  13. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  14. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  15. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright � ( > 0) x ≤ δ Semantics = All possible traces Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  16. Timed Automata Example (Intelligent Light Controller) press , x := 0 light off press , x > 3 press press , x ≤ 3 τ, x = δ bright x ≤ δ Semantics = All possible traces details Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 4 / 18

  17. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step a a s 1 s 2 s 3 s 4 τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  18. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step a a s 1 s 2 s 3 s 4 τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  19. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step a a s 1 s 2 s 3 s 4 � (= 0) τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  20. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step a a s 1 s 2 s 3 s 4 τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  21. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step � (= 0) � (= 0) a a s 1 s 2 s 3 s 4 τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  22. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step a a s 1 s 2 s 3 s 4 τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  23. Timed Automata: Systems Synchronisation step (or zero delay) Internal step (or zero delay) Delay step � ( > 0) � ( > 0) a a s 1 s 2 s 3 s 4 � ( > 0) τ s 5 s 6 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  24. Representation TA Represent s reachable Abstract Refine FOCI Unfold[k] SAT–solver Concretise s not reachable in k steps Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 5 / 18

  25. Representation: Basic Components TA formula state s s 0 , s 1 , s 2 , . . . : TA at s in step i clock x x 0 , x 1 , x 2 , . . . : Time where x was last reset value of clock x z t - x t Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 6 / 18

  26. Representation: Basic Components TA formula state s s 0 , s 1 , s 2 , . . . : TA at s in step i clock x x 0 , x 1 , x 2 , . . . : Time where x was last reset value of clock x z t - x t value z x z t - x t time why z t ? Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 6 / 18

  27. Representation: Transitions Action transition: s0 t ∧ s1 t + 1 ∧ a t ∧ ( z t − x t < 2) ∧ ( z t = z t + 1 ) a , x < 2 s 0 s 1 ∧ ( x t + 1 = x t ) ∧ ( y t + 1 = z t + 1 ) x < 1 y := 0 Delay transition: s0 t ∧ s0 t + 1 ∧ ( z t < z t + 1 ) ∧ ( x t = x t + 1 ) a , x < 2 s 0 s 1 ∧ ( y t = y t + 1 ) ∧ ¬ a t ∧ ¬ b t x < 1 y := 0 Transition choice: ( s0 t ∧ s1 t + 1 ∧ . . . ) ∨ a , x < 2 s 0 s 1 ( s0 t ∧ s0 t + 1 ∧ . . . ) x < 1 y := 0 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 7 / 18

  28. Representation: Automaton Transition choice: ( s0 t ∧ s1 t + 1 ∧ . . . ) ∨ a , x < 2 s 0 s 1 x < 1 ( s0 t ∧ s0 t + 1 ∧ . . . ) y := 0 Mutual exclusion: ¬ ( s0 t ∧ s1 t ) s0 t → ( z t − x t < 1) ¬ ( a t ∧ b t ) ∧ ¬ ( a t ∧ τ t ) ∧ ¬ ( b t ∧ τ t ) Initial constraints: s0 0 ∧ ( z 0 = 0) ∧ ( x 0 = 0) ∧ ( y 0 = 0) s 0 x < 1 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 8 / 18

  29. Representation: Automaton  Transition choice:   ( s0 t ∧ s1 t + 1 ∧ . . . ) ∨ a , x < 2  s 0   s 1  x < 1 ( s0 t ∧ s0 t + 1 ∧ . . . )  y := 0        Mutual exclusion:     ¬ ( s0 t ∧ s1 t )   ϕ ( A ) s0 t → ( z t − x t < 1)   ¬ ( a t ∧ b t ) ∧ ¬ ( a t ∧ τ t ) ∧ ¬ ( b t ∧ τ t )         Initial constraints:     s0 0 ∧ ( z 0 = 0) ∧ ( x 0 = 0) ∧ ( y 0 = 0)  s 0    x < 1   Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 8 / 18

  30. Representation: Parallel Systems ϕ ( A 1 � A 2 � . . . � A n ) = ϕ ( A 1 ) ∧ ϕ ( A 2 ) ∧ . . . ∧ ϕ ( A n ) ▽ ! Product automaton representation is linear! Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 9 / 18

  31. Unfolding TA Represent s reachable Abstract Refine FOCI Unfold[k] SAT–solver Concretise s not reachable in k steps Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 9 / 18

  32. Unfolding: Timed Automata ϕ ( A ) 0 / t ϕ ( A ) 1 / t ϕ ( A ) 2 / t ϕ ( A ) k / t ∧ s . . . ϕ ( A ) k Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 10 / 18

  33. Unfolding: Timed Automata ϕ ( A ) 0 / t ϕ ( A ) 1 / t ϕ ( A ) 2 / t ϕ ( A ) k / t ∧ s . . . Step 1 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 10 / 18

  34. Unfolding: Timed Automata ϕ ( A ) 0 / t ϕ ( A ) 1 / t ϕ ( A ) 2 / t ϕ ( A ) k / t ∧ s . . . Step 1 Step 2 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 10 / 18

  35. Unfolding: Timed Automata ϕ ( A ) 0 / t ϕ ( A ) 1 / t ϕ ( A ) 2 / t ϕ ( A ) k / t ∧ s . . . Step 1 Step 2 Step 3 Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 10 / 18

  36. Unfolding: Timed Automata ϕ ( A ) 0 / t ϕ ( A ) 1 / t ϕ ( A ) 2 / t ϕ ( A ) k / t ∧ s . . . Step 1 Step 2 Step 3 Step k Stephanie Kemper, Andr´ e Platzer SAAtRe FACS06 10 / 18

Recommend


More recommend