statechart_fig9_trafficlight.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?xml version="1.0" ?>
  2. <statechart>
  3. <semantics big_step_maximality="take_one"/>
  4. <inport name="in">
  5. <event name="change"/>
  6. <event name="end"/>
  7. </inport>
  8. <outport name="out">
  9. <event name="set_light">
  10. <param type="str"/>
  11. <param type="str"/>
  12. </event>
  13. </outport>
  14. <root>
  15. <parallel id="TrafficLight">
  16. <state id="NorthSouth" initial="NS_Green">
  17. <state id="NS_Green">
  18. <onentry>
  19. <raise event="set_light">
  20. <param expr='"NS"'/>
  21. <param expr='"Green"'/>
  22. </raise>
  23. </onentry>
  24. <transition event="end" target="../NS_Yellow"/>
  25. </state>
  26. <state id="NS_Yellow">
  27. <onentry>
  28. <raise event="set_light">
  29. <param expr='"NS"'/>
  30. <param expr='"Yellow"'/>
  31. </raise>
  32. </onentry>
  33. <transition event="change" target="../NS_Red"/>
  34. </state>
  35. <state id="NS_Red">
  36. <onentry>
  37. <raise event="set_light">
  38. <param expr='"NS"'/>
  39. <param expr='"Red"'/>
  40. </raise>
  41. </onentry>
  42. <transition event="change" target="../NS_Green"/>
  43. </state>
  44. </state>
  45. <state id="EastWest" initial="EW_Red">
  46. <state id="EW_Red">
  47. <onentry>
  48. <raise event="set_light">
  49. <param expr='"EW"'/>
  50. <param expr='"Red"'/>
  51. </raise>
  52. </onentry>
  53. <transition event="change" target="../EW_Green"/>
  54. </state>
  55. <state id="EW_Green">
  56. <onentry>
  57. <raise event="set_light">
  58. <param expr='"EW"'/>
  59. <param expr='"Green"'/>
  60. </raise>
  61. </onentry>
  62. <transition event="end" target="../EW_Yellow"/>
  63. </state>
  64. <state id="EW_Yellow">
  65. <onentry>
  66. <raise event="set_light">
  67. <param expr='"EW"'/>
  68. <param expr='"Yellow"'/>
  69. </raise>
  70. </onentry>
  71. <transition event="change" target="../EW_Red"/>
  72. </state>
  73. </state>
  74. </parallel>
  75. </root>
  76. </statechart>