Can anyone explain to me the order of what happens in the following?
if
:: a_channel??5 -> // do A
:: value_1 == value_2 -> // do B
fi;
So basically how I understand it is that for the statement to be executable, 5 needs to be in the channel. I understand that 5 will then be removed from the channel as a result(if it is indeed in the channel). What I don't undertstand is when 5 will be removed. Will 5 be removed after the statement is executed or will it be removed before during the check for execution.
Promela ref link for receiving: http://spinroot.com/spin/Man/receive.html