Hi,
I'm investigating the usefulness and limits of BP. So far it looks promising and I only encountered one problem
that essentially, I think, amounts to cancelation. For example this simple, reactive system (as a statechart):

It's easy to write a b-thread for the active superstate. It's also easy to block the tmout events after sig_button.
However how to restart the active state after the second sig_button?
Unblocking tmouts won't guarantee that the sequence starts from the on state.
What is needed, seems to be, canceling and then restarting the active state.
In BP this would amount to canceling and restarting a subset of b-program's
b-threads from another b-thread. Is my reasoning correct? Maybe there is another solution?
Feedback is appreciated.
Hi,
I'm investigating the usefulness and limits of BP. So far it looks promising and I only encountered one problem
that essentially, I think, amounts to cancelation. For example this simple, reactive system (as a statechart):
It's easy to write a b-thread for the
activesuperstate. It's also easy to block the tmout events aftersig_button.However how to restart the
activestate after the secondsig_button?Unblocking tmouts won't guarantee that the sequence starts from the
onstate.What is needed, seems to be, canceling and then restarting the
activestate.In BP this would amount to canceling and restarting a subset of b-program's
b-threads from another b-thread. Is my reasoning correct? Maybe there is another solution?
Feedback is appreciated.