[SAL] Transition with guard commands
harry huang
harryh23 at hotmail.com
Thu Jun 29 08:49:15 PDT 2006
Hi,
Some questions regarding the transition with guard commands. Does the "[]"
in the transition block are asynchronous ? The "-->" means wait condition ?
For instance,
=====
TRANSITION
[
x1= 0 --> x'= 0; pc' = locX --(1)
[]
(x /= 0) AND pc = locX --> pc' = locError --(2)
[]
x2= 1 --> x' = 1; pc' = locY --(3)
[]
(x/=1) AND pc = locY --> pc' = locError --(4)
]
=====
x1, x2 are the INPUT and x, pc are the OUTPUT. But the theorem "th1: THEOREM
data |- G(pc /= locError) " does not hold. The countexample seems system
asychronously executed (1) when executing the guard condition in (4). So
(4)'s guard condition was satisfied and "pc' = locError" was reached. So I
am wondering what is the execution order in above transitions ? Is the guard
command condition the wait condition ?
In addition, I noticed before queries said that A1; A2 are performed
atomically in the gurard command "M1 AND M2 --> A1; A2 ". But how about "M1
AND M2" ? Is it still atomic ?
Thanks. I hope those questions can be clarified as they are not mentioned
explictly in the web notes and critical to my program.
Harry
More information about the SAL
mailing list