Boost logo

Boost :

Subject: Re: [boost] [msm]entry point pseudo states and events (Re: [msm]orthogonal region and event consume)
From: Takatoshi Kondo (redboltz_at_[hidden])
Date: 2012-06-02 10:20:24


Hi Christophe,

On Sat, Jun 2, 2012 at 4:17 AM, Christophe Henry
<christophe.j.henry_at_[hidden]> wrote:
> Hi Takatoshi,
>
>
>> Thank you for your effort and commit. I am really impressed at your
>> brilliant solution!
>> I modified my example using the new any supports.
>> See 41_FingerPrintExampleAnyEvent.cpp
>
>
> Ah yes, there is even some enable_if! Now this looks like C++ ;-)
>
>> It works perfectly.
>
>
> Good! :)
>
>
>> As you mentioned, your solution not only improves the sub-machines'
>> reusability but also provides access to events.
>> This is something that I really want to.
>
>
> And can be used in every context, not just with submachines. Furthermore,
> the mechanism is easily extendable to be used with another any than
> Boost.Any (like, say, TypeErasure).
> Looks like our discussion was useful :)

Exactly. I think that Boost.Msm and type erasure mechanism are good combination.

>> Let me clarify my understanding.
>> msm::front::none is a completion_event. A transition that corresponds
>> to completion_event can be processed without trigger events.
>> Kleene event is not a completion_event. Therefore, it is not invoked
>> without trigger events, but any events are accepted as a trigger.
>> Furthermore, the trigger event is preserved as boost::any.
>
>
> Yes you got it. A completion event happens immediately, without a call to
> process_event. A Kleene is an event which matches any event. So, without a
> call to process_event, nothing happens.
> I named it kleene so that people familiar with regex see more easily what it
> is.
>
>
>> By the way, I'm writing the guideline for UML modelers. My goal is to
>> describe how to implement Each UML element into Boost.Msm.
>> Maybe I talked about it last year. And it is coming along some extent now.
>> http://redboltz.wikidot.com/boost-msm-guide
>
>
> Ah yes, I saw it some time ago, but now it's much more complete. Do you mind
> if I point to it in the doc?

Of course not. I would appreciate it, if you would do that.

> Do you plan to do the same with eUML?

Yes. But first, I will write about several topics such as orthogonal
regions and information propagation approach between sub-machine and
parent machine on functor front-end. And then I will start to write
about eUML.

Thanks,
Takatoshi

>
> Regards,
>
> Christophe
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


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