Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost MSM: No transition from submachine to external state
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2012-01-17 16:38:16


  ----- Original Message -----
  From: stetkas
  Newsgroups: gmane.comp.lib.boost.user
  To: boost-users_at_[hidden]
  Sent: Monday, January 16, 2012 7:37 PM
  Subject: Boost MSM: No transition from submachine to externalstate

  Using the following example as a template:

  http://svn.boost.org/svn/boost/trunk/libs/msm/doc/HTML/examples/CompositeTutorialWithEumlTable.cpp
  I am trying to create a state machine that consists of an alarm state and a composite state (submachine). When an alarm event is posted while in the composite state, the state machine is supposed to transition to the Alarm state; however, the machine complains that no transition from the composite state on the alarm event exists. This is similar to the example where the player is in playing and a stop event is received.

  Below is a dumbed-down version of my state machine:

   

Hi again,

ah I remember now. I changed the example last june because of a problem with exit points.
If you write:

typedef boost::msm::back::state_machine<Normal_T> Normal_THelper;
struct Normal_TImpl : public Normal_THelper,
                          public msm::front::euml::euml_state<Normal_TImpl >
{
};

Then it will work in your case but likely fail if faced with exit points. If you have none, you can use this trick temporarily while I have a look at this.
Otherwise you'll need to use the example I just posted, eUML is still in development and an experimental front-end.

Christophe



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