You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is related to an earlier bug about replicated parallelism. When I use an action with replicated parallelism, only one of the replications allows state to be updated. In the model below:
channels
inA : nat * nat
outA : nat * nat
process p =
begin
state
a: nat :=0
operations
updateA : nat ==> ()
updateA(newA) ==
a := newA
@ ||| n in set {1,...,3} @ [{}] inA.n!a -> updateA(n); outA!n!a -> Skip
end
It appears that the state variable a is updated only when n=3. I am assuming there is no shared state (which would result in a=6), and it seems that only one of the replication branches allows assignments to hold.
The text was updated successfully, but these errors were encountered:
Currently the value finalout.x will be the a state of the last one executed. This is because no delayed context is wrapped around the last branch of of the replicated AST.
This is related to an earlier bug about replicated parallelism. When I use an action with replicated parallelism, only one of the replications allows state to be updated. In the model below:
I obtain various trace options, including:
It appears that the state variable a is updated only when n=3. I am assuming there is no shared state (which would result in a=6), and it seems that only one of the replication branches allows assignments to hold.
The text was updated successfully, but these errors were encountered: