statechart_stove.svg 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  5. -->
  6. <!-- Title: state transitions Pages: 1 -->
  7. <svg width="632pt" height="823pt"
  8. viewBox="0.00 0.00 632.00 823.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  9. <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 819)">
  10. <title>state transitions</title>
  11. <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-819 628,-819 628,4 -4,4"/>
  12. <g id="clust1" class="cluster">
  13. <title>cluster__p</title>
  14. <path fill="none" stroke="#000000" stroke-width="2" d="M20,-8C20,-8 604,-8 604,-8 610,-8 616,-14 616,-20 616,-20 616,-764 616,-764 616,-770 610,-776 604,-776 604,-776 20,-776 20,-776 14,-776 8,-770 8,-764 8,-764 8,-20 8,-20 8,-14 14,-8 20,-8"/>
  15. <text text-anchor="start" x="308.6646" y="-757.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">p</text>
  16. </g>
  17. <g id="clust2" class="cluster">
  18. <title>cluster__p_burner_select</title>
  19. <polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="291,-563 291,-738 608,-738 608,-563 291,-563"/>
  20. <text text-anchor="start" x="413.1586" y="-719.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">burner_select</text>
  21. </g>
  22. <g id="clust3" class="cluster">
  23. <title>cluster__p_heat</title>
  24. <polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="24,-16 24,-738 283,-738 283,-16 24,-16"/>
  25. <text text-anchor="start" x="142.3264" y="-719.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">heat</text>
  26. </g>
  27. <g id="clust4" class="cluster">
  28. <title>cluster__p_heat_Pushed</title>
  29. <path fill="none" stroke="#000000" stroke-width="2" d="M52,-24C52,-24 255,-24 255,-24 261,-24 267,-30 267,-36 267,-36 267,-469 267,-469 267,-475 261,-481 255,-481 255,-481 52,-481 52,-481 46,-481 40,-475 40,-469 40,-469 40,-36 40,-36 40,-30 46,-24 52,-24"/>
  30. <text text-anchor="start" x="133.657" y="-462.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Pushed</text>
  31. <text text-anchor="start" x="110.329" y="-442.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">enter /increase()</text>
  32. <polygon fill="#000000" stroke="#000000" points="106.5,-456 106.5,-456 201.5,-456 201.5,-456 106.5,-456"/>
  33. </g>
  34. <!-- __initial -->
  35. <g id="node1" class="node">
  36. <title>__initial</title>
  37. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="16" cy="-809.5" rx="5.5" ry="5.5"/>
  38. </g>
  39. <!-- _p -->
  40. <!-- __initial&#45;&gt;_p -->
  41. <g id="edge1" class="edge">
  42. <title>__initial&#45;&gt;_p</title>
  43. <path fill="none" stroke="#000000" d="M16,-803.9533C16,-799.7779 16,-793.5043 16,-786.0332"/>
  44. <polygon fill="#000000" stroke="#000000" points="19.5001,-785.9971 16,-775.9971 12.5001,-785.9972 19.5001,-785.9971"/>
  45. <text text-anchor="middle" x="17.3895" y="-787" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  46. </g>
  47. <!-- _p_burner_select -->
  48. <!-- _p_burner_select_initial -->
  49. <g id="node4" class="node">
  50. <title>_p_burner_select_initial</title>
  51. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="345" cy="-694.5" rx="5.5" ry="5.5"/>
  52. </g>
  53. <!-- _p_burner_select_BurnerSelect -->
  54. <g id="node5" class="node">
  55. <title>_p_burner_select_BurnerSelect</title>
  56. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="390.5,-607 299.5,-607 299.5,-571 390.5,-571 390.5,-607"/>
  57. <text text-anchor="start" x="310.8266" y="-585.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">BurnerSelect</text>
  58. <path fill="none" stroke="#000000" stroke-width="2" d="M311.8333,-572C311.8333,-572 378.1667,-572 378.1667,-572 383.8333,-572 389.5,-577.6667 389.5,-583.3333 389.5,-583.3333 389.5,-594.6667 389.5,-594.6667 389.5,-600.3333 383.8333,-606 378.1667,-606 378.1667,-606 311.8333,-606 311.8333,-606 306.1667,-606 300.5,-600.3333 300.5,-594.6667 300.5,-594.6667 300.5,-583.3333 300.5,-583.3333 300.5,-577.6667 306.1667,-572 311.8333,-572"/>
  59. </g>
  60. <!-- _p_burner_select_initial&#45;&gt;_p_burner_select_BurnerSelect -->
  61. <g id="edge2" class="edge">
  62. <title>_p_burner_select_initial&#45;&gt;_p_burner_select_BurnerSelect</title>
  63. <path fill="none" stroke="#000000" d="M345,-688.8288C345,-684.1736 345,-677.4097 345,-671.5 345,-671.5 345,-671.5 345,-624.5 345,-622.1079 345,-619.6252 345,-617.1342"/>
  64. <polygon fill="#000000" stroke="#000000" points="348.5001,-617.0597 345,-607.0598 341.5001,-617.0598 348.5001,-617.0597"/>
  65. <text text-anchor="middle" x="346.3895" y="-645" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  66. </g>
  67. <!-- _p_burner_select_BurnerSelect&#45;&gt;_p_burner_select_BurnerSelect -->
  68. <g id="edge3" class="edge">
  69. <title>_p_burner_select_BurnerSelect&#45;&gt;_p_burner_select_BurnerSelect</title>
  70. <path fill="none" stroke="#000000" d="M390.7453,-593.839C403.1005,-593.5837 412.5,-591.9707 412.5,-589 412.5,-586.9112 407.853,-585.4937 400.7991,-584.7474"/>
  71. <polygon fill="#000000" stroke="#000000" points="400.9322,-581.2493 390.7453,-584.161 400.5245,-588.2374 400.9322,-581.2493"/>
  72. <text text-anchor="start" x="412.5" y="-586" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">select_next/selected = (selected + 1) % 4 &#160;&#160;</text>
  73. </g>
  74. <!-- _p_heat -->
  75. <!-- _p_heat_initial -->
  76. <g id="node7" class="node">
  77. <title>_p_heat_initial</title>
  78. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="113" cy="-694.5" rx="5.5" ry="5.5"/>
  79. </g>
  80. <!-- _p_heat_Released -->
  81. <g id="node8" class="node">
  82. <title>_p_heat_Released</title>
  83. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="149,-607 77,-607 77,-571 149,-571 149,-607"/>
  84. <text text-anchor="start" x="87.6602" y="-585.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Released</text>
  85. <path fill="none" stroke="#000000" stroke-width="2" d="M89.3333,-572C89.3333,-572 136.6667,-572 136.6667,-572 142.3333,-572 148,-577.6667 148,-583.3333 148,-583.3333 148,-594.6667 148,-594.6667 148,-600.3333 142.3333,-606 136.6667,-606 136.6667,-606 89.3333,-606 89.3333,-606 83.6667,-606 78,-600.3333 78,-594.6667 78,-594.6667 78,-583.3333 78,-583.3333 78,-577.6667 83.6667,-572 89.3333,-572"/>
  86. </g>
  87. <!-- _p_heat_initial&#45;&gt;_p_heat_Released -->
  88. <g id="edge4" class="edge">
  89. <title>_p_heat_initial&#45;&gt;_p_heat_Released</title>
  90. <path fill="none" stroke="#000000" d="M113,-688.8288C113,-684.1736 113,-677.4097 113,-671.5 113,-671.5 113,-671.5 113,-624.5 113,-622.1079 113,-619.6252 113,-617.1342"/>
  91. <polygon fill="#000000" stroke="#000000" points="116.5001,-617.0597 113,-607.0598 109.5001,-617.0598 116.5001,-617.0597"/>
  92. <text text-anchor="middle" x="114.3895" y="-645" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  93. </g>
  94. <!-- _p_heat_Pushed -->
  95. <!-- _p_heat_Released&#45;&gt;_p_heat_Pushed -->
  96. <g id="edge9" class="edge">
  97. <title>_p_heat_Released&#45;&gt;_p_heat_Pushed</title>
  98. <path fill="none" stroke="#000000" d="M76.9799,-576.1642C64.6961,-569.3166 54,-559.3715 54,-545.5 54,-545.5 54,-545.5 54,-498.5 54,-478.4508 76.5664,-490.0574 94.925,-485.2591"/>
  99. <polygon fill="#000000" stroke="#000000" points="96.4344,-488.4171 104,-481 93.4604,-482.0802 96.4344,-488.4171"/>
  100. <text text-anchor="start" x="54" y="-519" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">pressed_increase &#160;&#160;</text>
  101. </g>
  102. <!-- _p_heat_Pushed&#45;&gt;_p_heat_Released -->
  103. <g id="edge8" class="edge">
  104. <title>_p_heat_Pushed&#45;&gt;_p_heat_Released</title>
  105. <path fill="none" stroke="#000000" d="M182.9122,-480.9974C184.2276,-486.7913 185,-492.674 185,-498.5 185,-545.5 185,-545.5 185,-545.5 185,-560.7147 173.0761,-570.7501 158.9332,-577.302"/>
  106. <polygon fill="#000000" stroke="#000000" points="157.3958,-574.1477 149.4219,-581.1239 160.0058,-580.6429 157.3958,-574.1477"/>
  107. <text text-anchor="start" x="185" y="-519" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">released_increase &#160;&#160;</text>
  108. </g>
  109. <!-- _p_heat_Pushed_initial -->
  110. <g id="node10" class="node">
  111. <title>_p_heat_Pushed_initial</title>
  112. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="87" cy="-417.5" rx="5.5" ry="5.5"/>
  113. </g>
  114. <!-- _p_heat_Pushed_Waiting -->
  115. <g id="node12" class="node">
  116. <title>_p_heat_Pushed_Waiting</title>
  117. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="117.5,-258 56.5,-258 56.5,-222 117.5,-222 117.5,-258"/>
  118. <text text-anchor="start" x="67.5002" y="-236.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Waiting</text>
  119. <path fill="none" stroke="#000000" stroke-width="2" d="M68.8333,-223C68.8333,-223 105.1667,-223 105.1667,-223 110.8333,-223 116.5,-228.6667 116.5,-234.3333 116.5,-234.3333 116.5,-245.6667 116.5,-245.6667 116.5,-251.3333 110.8333,-257 105.1667,-257 105.1667,-257 68.8333,-257 68.8333,-257 63.1667,-257 57.5,-251.3333 57.5,-245.6667 57.5,-245.6667 57.5,-234.3333 57.5,-234.3333 57.5,-228.6667 63.1667,-223 68.8333,-223"/>
  120. </g>
  121. <!-- _p_heat_Pushed_initial&#45;&gt;_p_heat_Pushed_Waiting -->
  122. <g id="edge5" class="edge">
  123. <title>_p_heat_Pushed_initial&#45;&gt;_p_heat_Pushed_Waiting</title>
  124. <path fill="none" stroke="#000000" d="M87,-411.8288C87,-407.1736 87,-400.4097 87,-394.5 87,-394.5 87,-394.5 87,-275.5 87,-273.1079 87,-270.6252 87,-268.1342"/>
  125. <polygon fill="#000000" stroke="#000000" points="90.5001,-268.0597 87,-258.0598 83.5001,-268.0598 90.5001,-268.0597"/>
  126. <text text-anchor="middle" x="88.3895" y="-332" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  127. </g>
  128. <!-- _p_heat_Pushed_Increasing -->
  129. <g id="node11" class="node">
  130. <title>_p_heat_Pushed_Increasing</title>
  131. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="125.5,-68 48.5,-68 48.5,-32 125.5,-32 125.5,-68"/>
  132. <text text-anchor="start" x="59.8268" y="-46.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Increasing</text>
  133. <path fill="none" stroke="#000000" stroke-width="2" d="M60.8333,-33C60.8333,-33 113.1667,-33 113.1667,-33 118.8333,-33 124.5,-38.6667 124.5,-44.3333 124.5,-44.3333 124.5,-55.6667 124.5,-55.6667 124.5,-61.3333 118.8333,-67 113.1667,-67 113.1667,-67 60.8333,-67 60.8333,-67 55.1667,-67 49.5,-61.3333 49.5,-55.6667 49.5,-55.6667 49.5,-44.3333 49.5,-44.3333 49.5,-38.6667 55.1667,-33 60.8333,-33"/>
  134. </g>
  135. <!-- _p_heat_Pushed_Increasing&#45;&gt;_p_heat_Pushed_Increasing -->
  136. <g id="edge6" class="edge">
  137. <title>_p_heat_Pushed_Increasing&#45;&gt;_p_heat_Pushed_Increasing</title>
  138. <path fill="none" stroke="#000000" d="M125.6945,-54.8723C137.8838,-54.7979 147.5,-53.1738 147.5,-50 147.5,-47.7684 142.7459,-46.303 135.686,-45.6037"/>
  139. <polygon fill="#000000" stroke="#000000" points="135.8497,-42.1076 125.6945,-45.1277 135.5166,-49.0997 135.8497,-42.1076"/>
  140. <text text-anchor="start" x="147.5" y="-47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(200 ms)/increase() &#160;&#160;</text>
  141. </g>
  142. <!-- _p_heat_Pushed_Waiting&#45;&gt;_p_heat_Pushed_Increasing -->
  143. <g id="edge7" class="edge">
  144. <title>_p_heat_Pushed_Waiting&#45;&gt;_p_heat_Pushed_Increasing</title>
  145. <path fill="none" stroke="#000000" d="M87,-221.9402C87,-216.3497 87,-210.1701 87,-204.5 87,-204.5 87,-204.5 87,-85.5 87,-83.1079 87,-80.6252 87,-78.1342"/>
  146. <polygon fill="#000000" stroke="#000000" points="90.5001,-78.0597 87,-68.0598 83.5001,-78.0598 90.5001,-78.0597"/>
  147. <text text-anchor="start" x="87" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(1 s) &#160;&#160;</text>
  148. </g>
  149. </g>
  150. </svg>