event_consuming_2.xml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?xml version="1.0" ?>
  2. <diagram author="Simon Van Mierlo" name="TestEventConsuming2">
  3. <description>
  4. Testing event consuming.
  5. </description>
  6. <inport name="test_input" />
  7. <outport name="test_output" />
  8. <class name="Class1" default="true">
  9. <relationships>
  10. <association class="Class2" name="to_Class2" />
  11. </relationships>
  12. <scxml initial="initial">
  13. <state id="initial">
  14. <onentry>
  15. <raise event="create_instance" scope="cd">
  16. <parameter expr="'to_Class2'" />
  17. </raise>
  18. </onentry>
  19. <transition event="instance_created" target="../one">
  20. <parameter name="link_name" />
  21. <raise event="start_instance" scope="cd">
  22. <parameter expr="link_name" />
  23. </raise>
  24. </transition>
  25. </state>
  26. <state id="one">
  27. <onentry>
  28. <raise event="enter_one" port="test_output" />
  29. </onentry>
  30. <onexit>
  31. <raise event="exit_one" port="test_output" />
  32. </onexit>
  33. <transition event="A" target="../two" cond="0" />
  34. <transition event="B" target="../two" />
  35. </state>
  36. <state id="two">
  37. <onentry>
  38. <raise event="enter_two" port="test_output" />
  39. </onentry>
  40. <onexit>
  41. <raise event="exit_two" port="test_output" />
  42. </onexit>
  43. <transition event="A" target="../three" />
  44. </state>
  45. <state id="three">
  46. <onentry>
  47. <raise event="enter_three" port="test_output" />
  48. </onentry>
  49. <onexit>
  50. <raise event="exit_three" port="test_output" />
  51. </onexit>
  52. </state>
  53. </scxml>
  54. </class>
  55. <class name="Class2">
  56. <relationships>
  57. <association class="Class1" name="parent" />
  58. </relationships>
  59. <scxml initial="initial">
  60. <state id="initial">
  61. <transition target="../final">
  62. <raise event="A" target="'parent'" />
  63. <raise event="B" target="'parent'" />
  64. </transition>
  65. </state>
  66. <state id="final" />
  67. </scxml>
  68. </class>
  69. <test>
  70. <expected>
  71. <slot>
  72. <event name="enter_one" port="test_output"/>
  73. </slot>
  74. <slot>
  75. <event name="exit_one" port="test_output"/>
  76. </slot>
  77. <slot>
  78. <event name="enter_two" port="test_output"/>
  79. </slot>
  80. </expected>
  81. </test>
  82. </diagram>