<scxml
version="1.0"
xmlns="http://www.w3.org/2005/07/scxml"
datamodel="ecmascript"
name="fsm"
initial="idle">
<datamodel>
<!-- TYPE state:TickResponse -->
<data id="state" expr="FAILURE"/>
</datamodel>
<state id="idle">
<transition target="loop" cond="state == RUNNING"/>
<transition target="loop" cond="state == SUCCESS"/>
<transition target="running" cond="state == FAILURE"/>
<transition target="loop"/>
</state>
<state id="running">
<onentry>
<assign location="state" expr="RUNNING"/>
</onentry>
<transition target="loop" cond="state == SUCCESS"/>
<transition target="loop" cond="state == FAILURE"/>
<transition target="finished" cond="state == RUNNING"/>
<transition target="loop"/>
<onexit>
<assign location="state" expr="SUCCESS"/>
</onexit>
</state>
<state id="finished">
<transition target="loop" cond="state == RUNNING"/>
<transition target="loop" cond="state == FAILURE"/>
</state>
<state id="loop">
<transition target="loop"/>
</state>
</scxml>