Hybrid automata - Abstraction Anders P. Ravn Department of Computer Science, Aalborg University, Denmark Hybrid Systems – PhD School Aalborg University January 2007
Transition Semantics of HA X = {x 1, … x n } - variables (V, E) – control graph init: V pred(X) inv: V pred(X) flow: V pred(X X) jump: E pred(X X’) event: E Q - states – {(v,x) | v V and inv(v)[X := x]}. x’ = x-1 Q 0 – initial states - {(v,x) Q | init(v)[X := x]} A - labels - R 0 { (v,x) – (v’,x’) | e E(v,v’) and event(e) = and jump(e) [X := x]} { (v,x) – (v,x’) | R 0 and f: (0, ) R n s.t. f is diff. and f(0) = x and f( ) = x’ and flow(v)[X := f(t), X:= f(t)], t (0, ) }.
Time Abstract Semantics X = {x 1, … x n } - variables (V, E) – control graph init: V pred(X) inv: V pred(X) flow: V pred(X X) jump: E pred(X X’) event: E Q - states – {(v,x) | v V and inv(v)[X := x]}. x’ = x-1 Q 0 – initial states - {(v,x) Q | init(v)[X := x]} B - labels - { } - finite ! { (v,x) – (v’,x’) | e E(v,v’) and event(e) = and jump(e) [X := x]} { (v,x) – (v,x’) | R 0 and f: (0, ) R n s.t. f is diff. and f(0) = x and f( ) = x’ and flow(v)[X := f(t), X:= f(t)], t (0, )}.
Tree Semantics Computation tree: = q 00 a q 10 q q 1n 1 … q 200 q 201 q 210 q 211 q 13 x’ = x-1 Q - states – {(v,x) | v V and inv(v)[X := x]} Q 0 – initial states - {(v,x) Q | init(v)[X := x]} B - labels - { } { (v,x) – (v’,x’) | e E(v,v’), event(e) = , jump(e) [X := x]} { (v,x) – (v,x’) | f(0) = x, f( ) = x’, flow(v)[X := f(t), X:= f(t)], t (0, )}
Trace Semantics Trajectory: = where q 0 Q 0 and q i –a i q i+1, i 0 Q - states – {(v,x) | v V and inv(v)[X := x]} Q 0 – initial states - {(v,x) Q | init(v)[X := x]} B - labels - { } { (v,x) – (v’,x’) | e E(v,v’), event(e) = , jump(e) [X := x]} { (v,x) – (v,x’) | f(0) = x, f( ) = x’, flow(v)[X := f(t), X:= f(t)], t (0, )} x’ = x-1
Symbolic Analysis Q - states Q 0 – initial states, … A - labels, … - transition relation, A Q Q a Theory: T = {p 1, … p n … }, p is a predicate, e.g. pred(X V) Meaning of p: [p] Q q 1 q 2 iff p(q 1 ) = r(q 2 ) for all p, r T
Symbolic Bisimilarity Computation R R’ pre a
Timed Automaton X = {x 1, … x n } - variables (V, E) – control graph init: V pred(X) inv: V pred(X) flow: V pred(X X) jump: E pred(X X’). x’ = x-1 Init(v): v = v 0 and X = 0, where v 0 V inv(v): X <= C, where C is rational flow(v): X = 1 jump(e) : A boolean combination of X <= C, X < C and Y = 0, where Y X.
Summary Abstraction: - subset of traces - subset of tree - simulation relation Predicates to describe trees and traces?