Boost logo

Boost :

Subject: Re: [boost] [MSM] Is there any interest in C++14 Boost.MSM-eUML like library which compiles up to 60x quicker whilst being a slightly faster too?
From: Kris (krzysztof_at_[hidden])
Date: 2016-02-17 10:20:07


On Tue, Feb 16, 2016 at 9:50 PM, Vicente Botet [via Boost] <
ml-node+s2283326n4683550h69_at_[hidden]> wrote:

> Le 16/02/2016 17:44, Krzysztof Jusiak a écrit :
>
> > Yea, but that would mean that guard has to be evaluated before exit of
> the
> > state or any action, so the order would be.
> >
> > 1. guard [to enable transition]
> > 2. exit src state
> > 3. actions...
> > 4. entry dst state
> >
> > When the actual state change should happen in above sequence it's not
> > stated in the document as well.
> >
> > I would assume following order according to the spec + a bit of
> rationality?
> >
> > 1. guard [to enable transition]
> > 2. exit src state
> > 3. actions...
> > 4. CHANGE THE STATE TO DST HERE?
> > 5. entry dst state
> >
> I agree. It was evident to me, but I can not point to any wording.
>

Great to hear that. However, above sequence makes exception handling a bit
harder as
with guards we haven't left the src state but with actions we started the
exit already.

1. When exception happens in a guard
* src state is unchanged

2. When exception happens in an action
* src state is exited

Moreover, following below sequence

3. actions...
4. CHANGE THE STATE TO DST HERE?

makes it harder to process internal events

    "src"_s + event / process_event(other_event) = "dst"_s
  , "src"_s + other_event = X // most likely, should be this one as we
haven't changed the state yet?
  , "dst"_s + other_event = X

and, therefore, maybe it's better to have it the other way around?

3. CHANGE THE STATE TO DST HERE?
4. actions...

Vicente
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://boost.2283326.n4.nabble.com/MSM-Is-there-any-interest-in-C-14-Boost-MSM-eUML-like-library-which-compiles-up-to-60x-quicker-whils-tp4683016p4683550.html
> To unsubscribe from [MSM] Is there any interest in C++14 Boost.MSM-eUML
> like library which compiles up to 60x quicker whilst being a slightly
> faster too?, click here
> <http://boost.2283326.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4683016&code=a3J6eXN6dG9mQGp1c2lhay5uZXR8NDY4MzAxNnwtMTY0MTkzNTIwMA==>
> .
> NAML
> <http://boost.2283326.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>

--
View this message in context: http://boost.2283326.n4.nabble.com/MSM-Is-there-any-interest-in-C-14-Boost-MSM-eUML-like-library-which-compiles-up-to-60x-quicker-whils-tp4683016p4683585.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

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