
I apologize. I'm still not clear on the distaste. Ignoring regions for a minute.... does it make sense then? A composite state could only have a single history. And the history's transition is the default if the composite state hasn't been visited yet... so it makes sense that there could only be one of those too.
Not to apologize, I knew I was taking a risk when I decided to ignore this part of the standard. Sure, ignoring regions, shallow history makes sense. Except for the part about having to draw a transition from the top-level fsm to INSIDE the composite. Talk about UML favoring encapsulation... And if you count deep history, then it becomes even uglier. How do you mark the default state in the sub-submachine? I found no answer.
Adding in regions messes the whole thing up. And here might be the sticking point. I can tell you that the history of "return to history" was from an era without regions. In that context it is a very power construct.
Seeing the spec it is clear that regions were not included ;-) So, all this brought me to the conclusion that a policy was a greatly superior solution. Encapsulation ok, deep history ok, regions ok, and the possibility to define a new history policy. But I'm open to any solution answering my critics on this subjects. Of course, it's not the kind of solution that an OO-dominated body can come up with. Christophe