
Hi Michael,
"To be frank, History is not a completely satisfying concept. First of all, there can be just one history pseudostate and only one transition may originate from it."
I'll not contend with the views of history yet. They can be a very powerful concept. What I'm unclear about is the statement that there can be just one. According to the UML specification there can be just one per composite state. That of course makes perfect sense. MSM has SubmachineStates instead of composite states; however, the same "rule" applies to both.
Does MSM obey this definition or is there a further constraint? My confusion might be partially attributed to not having finished reading all of the docs.
Sorry for the confusion which I created. Let me try to correct it. Yes of course, I meant one per composite state. And no it doesn't make perfect sense (at least for me) so there'll be a small constraint: History is not a pseudo state for MSM. I find the concept in UML highly dissatisfying. It simply doesn't fit well with orthogonal regions. What if I want to "remember" more than one region? With UML, you're out of luck: one history per composite, one transition originating from it. Want more? Sorry we can't help you. And with deep history, it is even worse. You don't even see for what region of the subcomposite it applies. And I don't see how adding a "*" is supposed to help. So MSM replaced this unfinished and unsatisfying concept with a policy. This allows you much better history configuration and easy deep history. I hope I managed to correct the created confusion. Christophe