If I'm not mistaken, this is addressed at http://www.boost.org/doc/libs/1_40_0/libs/statechart/doc/rationale.html#Limitations, in the section on "event dispatch to orthogonal regions."

Bill


2009/9/8 Vladimír Třebický <vladimir.trebicky@gmail.com>
Hi all,

first of all: thanks for the great library!

I just dug into the boost::statechart tutorial trying to figure out
how to deal with the following simple scenario: Let's say I have a
complex application server represented by a single boost::state_chart
with multiple modules (eg. network, database, etc.) represented by
orthogonal spaces. I have a couple of system-wide events like "system
shutdown". Handling these eventa is generally non-trivial and I'd like
all the modules to process it independently. As I understand,
statechart tries to deliver an event across al of the orthogonal
spaces discarding it once it's processed by any of them (ie. by
"return transit", "return discard_event", etc.). But I'd like these
events to be delivered to _all_ orthogonal spaces no matter what they
do with it.

I could create a state for each of the orthogonal spaces. These
wrappers would accept the system-wide events, translate them to
local-events, post them locally and forward the system-wide event. But
that's basically like having multiple statecharts for each of the
modules and dispatching system-wide events manually.

Thanks,
Vladimir.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users