290 likes | 419 Views
Action and Predicate Safety of Hybrid Processes. Pieter Cuijpers Michel Reniers. Overview. HyPA Process representations Two levels of abstraction Specification of Safety Congruence Safety analysis of hybrid processes Conclusions. HyPA.
E N D
Action and Predicate Safety of Hybrid Processes Pieter Cuijpers Michel Reniers
Overview • HyPA • Process representations • Two levels of abstraction • Specification of Safety • Congruence • Safety analysis of hybrid processes • Conclusions
HyPA termination deadlockaction discrete action c flow clause (V|Pred) d >> P, b >> P re-initialization clause [V|Pred] P P alternative composition P P sequential composition P P, P P disrupt P || P, P P, P P parallel compositionH(P), Pred(P) encapsulation
Hybrid automaton representation Xici jJ(i)dj >> actionj Xj HA iI d’i >> Xi d1 ci d2
Constitutive hybrid process repr. Xi(jJ(i)dj >> cj) Xi (jJ’(i)bj >> actionj) Xi CHP ||iI Xi
State-space representation(Linear hybrid process definition) XijJ(i)dj >> jJ’(i)dj >> actionj Xj jJ’’(i)dj >> cj Xj SSR Xinit
Two levels of abstraction • On the lowest level of abstraction, HyPA is aimed at giving different representations of the same system. • At a higher level of abstraction,HyPA can also be used to analyse, for example, safety properties.
Two levels of abstraction Robust Bisimilarity Initially stateless bisimilarity = X Y implies X = Y
Robust bisimilarity x x x y y x x (y z) (x y) z x x x x x (y z) (x y) z (x y) z (x z) (y z) x y x y y x x x (y z) (xy) z (x y) z (xz) (yz) d >> (x y) (d >> x) (d >> y) H(x y) H(x) H(y) etc. etc. etc.
Initially stateless bisimilarity d >> action x = d >> action d! >> x d >> c x = d >> c (d D(c))! >> x
Specification of Safety Safety for actions X= H(X) Safety for predicates X= Pred(X)
Congruence X [x|x+ = 0] >> a1 a2 Y [x|x+ = 0] >> a1 [x- = 0] >> a2 Z [x|x+ = 1] >> a3 X =Y X || Z Y || Z
Predicate safety of a state-space repr. When do we have SSR= Pred(SSR) ?
Predicate safety of a state-space repr. Create a re-initialization for every recursion variable, signifying its reachable set. [true] = Rinit (Ri dj)! Rj for all i and all jJ’(i) (Ri dj D(cj))! Rj for all i and all jJ’’(i)
Predicate safety of a state-space repr. When do we have Ri >> Xi =Pred(Ri >> Xi), and especially SSR [true] >> Xinit = Pred([true] >> Xinit) Pred(SSR) ?
Predicate safety of a state-space repr. Ri >> Xi Ri >> (jJ(i)dj >> jJ’(i)dj >> actionj Xj jJ’’(i)dj >> cj Xj)
Predicate safety of a state-space repr. Ri >> Xi jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj Xj jJ’’(i)(Ridj) >> cj Xj
Predicate safety of a state-space repr. Ri >> Xi =jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj (Rj >> Xj) jJ’’(i)(Ridj) >> cj (Rj >> Xj)
Predicate safety of a state-space repr. Pred(Ri >> Xi) Pred (Ri >> (jJ(i)dj >> jJ’(i)dj >> actionj Xj jJ’’(i)dj >> cj Xj))
Predicate safety of a state-space repr. Pred(Ri >> Xi) Pred (jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj Xj jJ’’(i)(Ridj) >> cj Xj)
Predicate safety of a state-space repr. Pred(Ri >> Xi) = Pred (jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj (Rj >> Xj) jJ’’(i)(Ridj) >> cj (Rj >> Xj))
Predicate safety of a state-space repr. Pred(Ri >> Xi) = jJ(i)Pred ((Ridj) >> ) jJ’(i)Pred ((Ridj) >> actionj ) Pred (Rj >> Xj ) jJ’’(i)Pred ((Ridj) >> cj ) Pred (Rj >> Xj )
Predicate safety of a state-space repr. Assuming safety of the following processes: Pred ((Ridj) >> ) = (Ridj) >> Pred ((Ridj) >> actionj ) = (Ridj) >> actionj Pred ((Ridj) >> cj ) = (Ridj) >> cj
Predicate safety of a state-space repr. Assuming safety of the following processes: Pred ((Ridj) >> actionj ) = (Ridj) >> actionj Pred ((Ridj) >> cj ) = (Ridj) >> cj
Predicate safety of a state-space repr. Pred(Ri >> Xi) = jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj Pred (Rj >> Xj ) jJ’’(i)(Ridj) >> cj Pred (Rj >> Xj )
Predicate safety of a state-space repr. So Ri >> Xi and Pred(Ri >> Xi) are both solutions of the state space definition: Yi = jJ(i)(Ridj) >> jJ’(i)(Ridj) >> actionj Pred (Yi) jJ’’(i)(Ridj) >> cj Pred (Yi )
Predicate safety of a state-space repr. Thus Ri >> Xi = Pred(Ri >> Xi) and hence SSR = Pred(SSR).
Conclusions • Different model representations. • Analysis at the cost of congruence || • Safety of state space representations depends on safety of sub-processes. • Termination of analysis method is a problem • Calculation of reachable sets is a problem
Future research • For CHP we have congruence || • Termination using predicate abstraction • Calculation/approximation of reachable sets • Algebraic specification of other properties