guard.xml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?xml version="1.0" ?>
  2. <diagram author="Glenn De Jonghe" name="TestGuard">
  3. <description>
  4. Testing the guard.
  5. </description>
  6. <outport name="test_output" />
  7. <class name="Class1" default="true">
  8. <attribute name="member1" type="int" visibility="private" init-value="0" />
  9. <scxml initial="state_1">
  10. <state id="state_1">
  11. <onentry>
  12. <assign ident="SELF.member1" expr="SELF.member1 + 1"/>
  13. </onentry>
  14. <transition target="/state_2"/>
  15. </state>
  16. <state id="state_2">
  17. <transition cond="SELF.member1 &lt; 3" target="/state_1" />
  18. <transition cond="SELF.member1 &gt;= 3" target="/state_3" />
  19. </state>
  20. <state id="state_3">
  21. <onentry>
  22. <raise port="test_output" event="received">
  23. <parameter expr="SELF.member1"/>
  24. </raise>
  25. </onentry>
  26. </state>
  27. </scxml>
  28. </class>
  29. <test>
  30. <expected>
  31. <slot>
  32. <event name="received" port="test_output">
  33. <parameter value="3"/>
  34. </event>
  35. </slot>
  36. </expected>
  37. </test>
  38. </diagram>