event_consuming.xml 2.9 KB

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