Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QScxml : Support for Scxml



  • Hello,

    I used Scxml for implementing the state machine. The simple use case, works fine. But I have situation where, I need to group all the common sub state under one category and need to invoked different main states.

    Example scenario is,
    I have to detect the images of my face and detect them for different passengers in a vehicle.
    Assume, I have to detect Eye, Nose, Mouth for a driver and co-driver. I have to design a state machine such that,
    Driver and Co-Driver becomes the main state and Eye, Nose, Mouth are sub states and repeats for the Driver and Co-Driver.

    Here, Driver and co-Driver tries to initialise to faceSubstate. I want to achieve this kind of situation.

    <state id="driver">
    <initial>
    <transition target="faceSubStates"/>
    </initial>
    <onentry>
    <send type="qt:signal" event="enteredDriver"/>
    <transition event="nextClicked" target="coDriver"/>
    </onentry>
    </state>
    <state id="coDriver">
    <initial>
    <transition target="faceSubStates"/>
    </initial>
    <onentry>
    <send type="qt:signal" event="enteredDriver"/>
    <transition event="nextClicked" target="coDriver"/>
    </onentry>
    </state>

    <state id="faceSubStates" initial="eye">
    <state id="eye">
    <onentry>
    <send type="qt:signal" event="enteredEye"/>
    </onentry>
    <transition event="nextClicked" target="Nose"/>
    </state>
    <state id="nose">
    <onentry>
    <send type="qt:signal" event="entereNose"/>
    </onentry>
    </state>
    </state>

    Problem Observed:
    If we implement this kind of situation, the substates are not identified and QScxml is not able to move to sub states from the Main state.
    (P.S : The above scxml is not complete. This is just given for reference. Main point I want to high light is ->) How to initialise with
    the "Main States" with the repetitive sub states which are grouped under one tag.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    The QtSCXML module being currently a technical preview, you should bring your questions to the interest mailing list. You'll find there QtSCXML's developers/maintainers. This forum is more user oriented and there's likely less people having already used that module here.


Log in to reply