Boost logo

Boost Users :

Subject: Re: [Boost-users] [StateChart] event processing order in asyncmachine
From: Igor R (boost.lists_at_[hidden])
Date: 2010-10-25 05:16:15


Hi,

> I don't know whether that will be more in the spirit of the UML standard. I
> quote from UML Superstructure Specification, v2.3, page 569
> <http://www.omg.org/spec/UML/2.3/Superstructure/PDF/>:
>
> <quote>
> Deferred events
>
> A state may specify a set of event types that may be deferred in that state.
> An event that does not trigger any transitions
> in the current state, will not be dispatched if its type matches one of the
> types in the deferred event set of that state.
> Instead, it remains in the event pool while another non-deferred event is
> dispatched instead. This situation persists until a
> state is reached where either the event is no longer deferred or where the
> event triggers a transition.
> </quote>
>
> So the standard says that deferred events should stay in the queue until
> they are no longer deferred. I think it is clear that my implementation
> fails to satisfy the standard under the circumstances you pointed out. While
> your suggestion (to move the deferred events to the front of the general
> queue) would probably work in your case, it seems it will not satisfy the
> standard when both outer and inner states defer events.
>
> Problem is, I currently don't see how the standard can be implemented in an
> *efficient* manner with the current interface. I'll put some more thought
> into this. In the mean time, I'd suggest to use the workaround I outlined in
> my previous post.
>
> I'll post again in this thread when I have a workable solution. Of course,
> if you have a suggestion how the implementation can be fixed, I'd be very
> happy to hear it.

Ok, I see...

Thanks a lot for your assistance!


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net