00_take_one.xml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?xml version="1.0" ?>
  2. <diagram
  3. xmlns="msdl.uantwerpen.be/sccd"
  4. author="Joeri Exelmans"
  5. name="take_one">
  6. <description>
  7. Take One-semantics: Each big step, only one transition can be made (per orthogonal component).
  8. </description>
  9. <outport name="out"/>
  10. <class name="c" default="true">
  11. <scxml initial="a"
  12. big_step_maximality="take_one"
  13. internal_event_lifeline="queue">
  14. <state id="a">
  15. <onentry>
  16. <raise event="entered_a" port="out"/>
  17. </onentry>
  18. <transition target="../b"/>
  19. </state>
  20. <state id="b">
  21. <onentry>
  22. <raise event="entered_b" port="out"/>
  23. </onentry>
  24. <transition target="../c"/>
  25. </state>
  26. <state id="c">
  27. <onentry>
  28. <raise event="entered_c" port="out"/>
  29. </onentry>
  30. </state>
  31. </scxml>
  32. </class>
  33. <test>
  34. <expected>
  35. <slot>
  36. <!-- initialization -->
  37. <event name="entered_a" port="out"/>
  38. </slot>
  39. <slot>
  40. <!-- big step -->
  41. <event name="entered_b" port="out"/>
  42. </slot>
  43. <slot>
  44. <!-- big step -->
  45. <event name="entered_c" port="out"/>
  46. </slot>
  47. </expected>
  48. </test>
  49. </diagram>