statechart_fig9_trafficlight.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. </outport>
  11. <root>
  12. <parallel id="TrafficLight">
  13. <state id="NorthSouth" initial="NS_Green">
  14. <state id="NS_Green">
  15. <onentry>
  16. <raise event="set_light">
  17. <param expr='"NS"'/>
  18. <param expr='"Green"'/>
  19. </raise>
  20. </onentry>
  21. <transition event="end" target="../NS_Yellow"/>
  22. </state>
  23. <state id="NS_Yellow">
  24. <onentry>
  25. <raise event="set_light">
  26. <param expr='"NS"'/>
  27. <param expr='"Yellow"'/>
  28. </raise>
  29. </onentry>
  30. <transition event="change" target="../NS_Red"/>
  31. </state>
  32. <state id="NS_Red">
  33. <onentry>
  34. <raise event="set_light">
  35. <param expr='"NS"'/>
  36. <param expr='"Red"'/>
  37. </raise>
  38. </onentry>
  39. <transition event="change" target="../NS_Green"/>
  40. </state>
  41. </state>
  42. <state id="EastWest" initial="EW_Red">
  43. <state id="EW_Red">
  44. <onentry>
  45. <raise event="set_light">
  46. <param expr='"EW"'/>
  47. <param expr='"Red"'/>
  48. </raise>
  49. </onentry>
  50. <transition event="change" target="../EW_Green"/>
  51. </state>
  52. <state id="EW_Green">
  53. <onentry>
  54. <raise event="set_light">
  55. <param expr='"EW"'/>
  56. <param expr='"Green"'/>
  57. </raise>
  58. </onentry>
  59. <transition event="end" target="../EW_Yellow"/>
  60. </state>
  61. <state id="EW_Yellow">
  62. <onentry>
  63. <raise event="set_light">
  64. <param expr='"EW"'/>
  65. <param expr='"Yellow"'/>
  66. </raise>
  67. </onentry>
  68. <transition event="change" target="../EW_Red"/>
  69. </state>
  70. </state>
  71. </parallel>
  72. </root>
  73. </statechart>