> I think doing this without markup should generally be avoided since it > makes the model incomplete. So, for example, an abrupt termination > would be an event trigger that takes us to a particular <final>. I > presume there is some reason you can't do it that way. One major reason is that I don't want to rely on the author. I'd like to be able to start a state machine and (under some circumstances) to terminate it from outside - without requiring the author to provide a special transition. Such support can probably be provided, but I am not too keen on it at > the moment. > > -Rahul Ingmar.
Wouldn't you actually have the same issue on <invoke>? How would you implement the cancel of an <invoke>? Once the parent state machine leaves the <invoke> state it is required to terminate the child state machine (assuming it is a state machine). How would you do this? The SimpleSCXMLInvoker implementation does not reflect this - as I understand it. It saves "cancelled = true" and sends an invokeCancelResponse message back, but it does not really touch the child state machine, i.e. the state machine remains in the current state and may proceed internally meanwhile. Or am I missing something? - Ingmar.