Boost logo

Boost :

Subject: [boost] [msm] history pseudo states
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2009-12-07 05:21:37


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk