guard.xml 1.3 KB

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