|
Boost Users : |
From: Tim Milward (tim.milward_at_[hidden])
Date: 2006-05-08 17:40:00
> Ok, I misunderstood how local transitions work. An innermost state where
> any of its direct *or* *indirect* outer states define local transitions
> behaves as if all those local transitions originated at the state
> itself. I guess we'll have to go the sc::local_transition /
> sc::simple_state::transit_locally route then...
It seems I'm the one who misunderstood. I've dug a little deeper and
your are right that the difference between local and external is just
one level of entry/exit actions. So your approach of adding an
intermediate state does work.
From the UML specs it's hard to extract the exact definition of a local
transition.
http://www.johndeacon.net/UML/UML_Appendix/Generated/UML_Appendix_behavioral.asp
discusses this subject and warns about the pitfalls of using composite
states to de-clutter a state machine.
[I think there is a more general concept here, the same as having an nth
level history, a transition could have a level specification, n=0 is
external, n=1 is local, and n=infinity is the way I misinterpreted local
transitions. I need some real practical examples ...]
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net