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