Boost logo

Boost :

Subject: Re: [boost] [msm] eUML guard/action location
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2009-12-07 16:58:20

Hi Michael,

>Ok... I looked up MSM's anonymous transitions again and
>now I don't like it (o;

It's probably because we don't talk about the same concept. And it's
not an MSM concept. Sorry, I can't claim ownership for it ;-)
Anonymous transitions are also called completion events in the
standard (and both names are used in the excellent "Real-Time UML, 3rd
Edition"). They are defined as a transition without explicit trigger
and are generated after the entry actions. You can have a look at the
tutorials to see how it is used.

>Christophe ... as far as I can tell by looking at the docs,
>the MSM use of anonymous transitions transforms the source
>state to *almost* be a UML choice pseudo state

I disagree with this. The state itself is not concerned, it is only a
state machine thing. If you reuse the same state in another context,
it will not behave like a choice point.
But in this special state machine context, yes, it behaves the same,
which is why I didn't implement choice points yet. Now you see what I
meant ;-)
I was at first not convinced by this feature until I saw a project in
a big automotive company making extensive use of it. At every
processor time slice, they'd go through the whole fsm used in this
context as an algorithm. They could this way easily estimate the time
slice they needed.

What you are talking about is a trigger, which has to be fired,
whatever it is. I didn't find it in the standard, but I could have
missed that too. And no, MSM doesn't support it for the moment. The
reason is that it's not on my radar as I'm pretty unconvinced of its
need. I have yet to see a good convincing use case for it. Now, I
don't say it won't be done, but it's not high on my list, unless
someone makes a convincing case for it. Its implementation might be
not trivial though.


Boost list run by bdawes at, gregod at, cpdaniel at, john at