statechart_fig20_invar.svg 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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="307pt" height="578pt"
  8. viewBox="0.00 0.00 306.56 578.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 574)">
  10. <title>state transitions</title>
  11. <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-574 302.561,-574 302.561,4 -4,4"/>
  12. <g id="clust1" class="cluster">
  13. <title>cluster__Invar</title>
  14. <path fill="none" stroke="#000000" stroke-width="2" d="M20,-74C20,-74 221,-74 221,-74 227,-74 233,-80 233,-86 233,-86 233,-519 233,-519 233,-525 227,-531 221,-531 221,-531 20,-531 20,-531 14,-531 8,-525 8,-519 8,-519 8,-86 8,-86 8,-80 14,-74 20,-74"/>
  15. <text text-anchor="start" x="107.1644" y="-512.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Invar</text>
  16. </g>
  17. <g id="clust2" class="cluster">
  18. <title>cluster__Invar_I2</title>
  19. <polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="136,-82 136,-493 225,-493 225,-82 136,-82"/>
  20. <text text-anchor="start" x="175.4972" y="-474.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">I2</text>
  21. </g>
  22. <g id="clust3" class="cluster">
  23. <title>cluster__Invar_I1</title>
  24. <polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="24,-82 24,-493 128,-493 128,-82 24,-82"/>
  25. <text text-anchor="start" x="70.9972" y="-474.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">I1</text>
  26. </g>
  27. <!-- __initial -->
  28. <g id="node1" class="node">
  29. <title>__initial</title>
  30. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="16" cy="-564.5" rx="5.5" ry="5.5"/>
  31. </g>
  32. <!-- _Invar -->
  33. <!-- __initial&#45;&gt;_Invar -->
  34. <g id="edge1" class="edge">
  35. <title>__initial&#45;&gt;_Invar</title>
  36. <path fill="none" stroke="#000000" d="M16,-558.9533C16,-554.7779 16,-548.5043 16,-541.0332"/>
  37. <polygon fill="#000000" stroke="#000000" points="19.5001,-540.9971 16,-530.9971 12.5001,-540.9972 19.5001,-540.9971"/>
  38. <text text-anchor="middle" x="17.3895" y="-542" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  39. </g>
  40. <!-- _Done -->
  41. <g id="node2" class="node">
  42. <title>_Done</title>
  43. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="219,-46 125,-46 125,0 219,0 219,-46"/>
  44. <text text-anchor="start" x="157.6624" y="-29.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Done</text>
  45. <text text-anchor="start" x="130.501" y="-9.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">enter ^out.done</text>
  46. <polygon fill="#000000" stroke="#000000" points="125,-23 125,-23 219,-23 219,-23 125,-23"/>
  47. <path fill="none" stroke="#000000" stroke-width="2" d="M138,-1C138,-1 206,-1 206,-1 212,-1 218,-7 218,-13 218,-13 218,-33 218,-33 218,-39 212,-45 206,-45 206,-45 138,-45 138,-45 132,-45 126,-39 126,-33 126,-33 126,-13 126,-13 126,-7 132,-1 138,-1"/>
  48. </g>
  49. <!-- _Invar_I2 -->
  50. <!-- _Invar_I2_initial -->
  51. <g id="node5" class="node">
  52. <title>_Invar_I2_initial</title>
  53. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="172" cy="-449.5" rx="5.5" ry="5.5"/>
  54. </g>
  55. <!-- _Invar_I2_S4 -->
  56. <g id="node8" class="node">
  57. <title>_Invar_I2_S4</title>
  58. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="200,-362 144,-362 144,-326 200,-326 200,-362"/>
  59. <text text-anchor="start" x="164.6632" y="-340.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S4</text>
  60. <path fill="none" stroke="#000000" stroke-width="2" d="M156.3333,-327C156.3333,-327 187.6667,-327 187.6667,-327 193.3333,-327 199,-332.6667 199,-338.3333 199,-338.3333 199,-349.6667 199,-349.6667 199,-355.3333 193.3333,-361 187.6667,-361 187.6667,-361 156.3333,-361 156.3333,-361 150.6667,-361 145,-355.3333 145,-349.6667 145,-349.6667 145,-338.3333 145,-338.3333 145,-332.6667 150.6667,-327 156.3333,-327"/>
  61. </g>
  62. <!-- _Invar_I2_initial&#45;&gt;_Invar_I2_S4 -->
  63. <g id="edge2" class="edge">
  64. <title>_Invar_I2_initial&#45;&gt;_Invar_I2_S4</title>
  65. <path fill="none" stroke="#000000" d="M172,-443.8288C172,-439.1736 172,-432.4097 172,-426.5 172,-426.5 172,-426.5 172,-379.5 172,-377.1079 172,-374.6252 172,-372.1342"/>
  66. <polygon fill="#000000" stroke="#000000" points="175.5001,-372.0597 172,-362.0598 168.5001,-372.0598 175.5001,-372.0597"/>
  67. <text text-anchor="middle" x="173.3895" y="-400" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  68. </g>
  69. <!-- _Invar_I2_S6 -->
  70. <g id="node6" class="node">
  71. <title>_Invar_I2_S6</title>
  72. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="200,-126 144,-126 144,-90 200,-90 200,-126"/>
  73. <text text-anchor="start" x="164.6632" y="-104.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S6</text>
  74. <path fill="none" stroke="#000000" stroke-width="2" d="M156.3333,-91C156.3333,-91 187.6667,-91 187.6667,-91 193.3333,-91 199,-96.6667 199,-102.3333 199,-102.3333 199,-113.6667 199,-113.6667 199,-119.3333 193.3333,-125 187.6667,-125 187.6667,-125 156.3333,-125 156.3333,-125 150.6667,-125 145,-119.3333 145,-113.6667 145,-113.6667 145,-102.3333 145,-102.3333 145,-96.6667 150.6667,-91 156.3333,-91"/>
  75. </g>
  76. <!-- _Invar_I2_S6&#45;&gt;_Done -->
  77. <g id="edge3" class="edge">
  78. <title>_Invar_I2_S6&#45;&gt;_Done</title>
  79. <path fill="none" stroke="#000000" d="M172,-89.9737C172,-80.1983 172,-67.8024 172,-56.3399"/>
  80. <polygon fill="#000000" stroke="#000000" points="175.5001,-56.1774 172,-46.1775 168.5001,-56.1775 175.5001,-56.1774"/>
  81. <text text-anchor="start" x="172" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">[INSTATE([&quot;/Invar/I1/S3&quot;])] &#160;&#160;</text>
  82. </g>
  83. <!-- _Invar_I2_S5 -->
  84. <g id="node7" class="node">
  85. <title>_Invar_I2_S5</title>
  86. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="200,-244 144,-244 144,-208 200,-208 200,-244"/>
  87. <text text-anchor="start" x="164.6632" y="-222.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S5</text>
  88. <path fill="none" stroke="#000000" stroke-width="2" d="M156.3333,-209C156.3333,-209 187.6667,-209 187.6667,-209 193.3333,-209 199,-214.6667 199,-220.3333 199,-220.3333 199,-231.6667 199,-231.6667 199,-237.3333 193.3333,-243 187.6667,-243 187.6667,-243 156.3333,-243 156.3333,-243 150.6667,-243 145,-237.3333 145,-231.6667 145,-231.6667 145,-220.3333 145,-220.3333 145,-214.6667 150.6667,-209 156.3333,-209"/>
  89. </g>
  90. <!-- _Invar_I2_S5&#45;&gt;_Invar_I2_S6 -->
  91. <g id="edge4" class="edge">
  92. <title>_Invar_I2_S5&#45;&gt;_Invar_I2_S6</title>
  93. <path fill="none" stroke="#000000" d="M169.1785,-207.9844C168.5166,-202.3957 168,-196.206 168,-190.5 168,-190.5 168,-190.5 168,-143.5 168,-141.0928 168.0919,-138.5995 168.248,-136.1015"/>
  94. <polygon fill="#000000" stroke="#000000" points="171.7449,-136.2949 169.1785,-126.0156 164.7745,-135.6517 171.7449,-136.2949"/>
  95. <text text-anchor="start" x="168" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/a = 3 * a &#160;&#160;</text>
  96. </g>
  97. <!-- _Invar_I2_S4&#45;&gt;_Invar_I2_S5 -->
  98. <g id="edge5" class="edge">
  99. <title>_Invar_I2_S4&#45;&gt;_Invar_I2_S5</title>
  100. <path fill="none" stroke="#000000" d="M167.7033,-325.6741C166.7416,-320.1833 166,-314.1255 166,-308.5 166,-308.5 166,-308.5 166,-261.5 166,-259.2146 166.1224,-256.8579 166.3322,-254.4969"/>
  101. <polygon fill="#000000" stroke="#000000" points="169.8359,-254.7039 167.7033,-244.3259 162.8986,-253.7687 169.8359,-254.7039"/>
  102. <text text-anchor="start" x="166" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/a = a + b &#160;&#160;</text>
  103. </g>
  104. <!-- _Invar_I1 -->
  105. <!-- _Invar_I1_initial -->
  106. <g id="node10" class="node">
  107. <title>_Invar_I1_initial</title>
  108. <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="60" cy="-449.5" rx="5.5" ry="5.5"/>
  109. </g>
  110. <!-- _Invar_I1_S1 -->
  111. <g id="node13" class="node">
  112. <title>_Invar_I1_S1</title>
  113. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="88,-362 32,-362 32,-326 88,-326 88,-362"/>
  114. <text text-anchor="start" x="52.6632" y="-340.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S1</text>
  115. <path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-327C44.3333,-327 75.6667,-327 75.6667,-327 81.3333,-327 87,-332.6667 87,-338.3333 87,-338.3333 87,-349.6667 87,-349.6667 87,-355.3333 81.3333,-361 75.6667,-361 75.6667,-361 44.3333,-361 44.3333,-361 38.6667,-361 33,-355.3333 33,-349.6667 33,-349.6667 33,-338.3333 33,-338.3333 33,-332.6667 38.6667,-327 44.3333,-327"/>
  116. </g>
  117. <!-- _Invar_I1_initial&#45;&gt;_Invar_I1_S1 -->
  118. <g id="edge6" class="edge">
  119. <title>_Invar_I1_initial&#45;&gt;_Invar_I1_S1</title>
  120. <path fill="none" stroke="#000000" d="M60,-443.8288C60,-439.1736 60,-432.4097 60,-426.5 60,-426.5 60,-426.5 60,-379.5 60,-377.1079 60,-374.6252 60,-372.1342"/>
  121. <polygon fill="#000000" stroke="#000000" points="63.5001,-372.0597 60,-362.0598 56.5001,-372.0598 63.5001,-372.0597"/>
  122. <text text-anchor="middle" x="61.3895" y="-400" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
  123. </g>
  124. <!-- _Invar_I1_S3 -->
  125. <g id="node11" class="node">
  126. <title>_Invar_I1_S3</title>
  127. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="88,-126 32,-126 32,-90 88,-90 88,-126"/>
  128. <text text-anchor="start" x="52.6632" y="-104.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S3</text>
  129. <path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-91C44.3333,-91 75.6667,-91 75.6667,-91 81.3333,-91 87,-96.6667 87,-102.3333 87,-102.3333 87,-113.6667 87,-113.6667 87,-119.3333 81.3333,-125 75.6667,-125 75.6667,-125 44.3333,-125 44.3333,-125 38.6667,-125 33,-119.3333 33,-113.6667 33,-113.6667 33,-102.3333 33,-102.3333 33,-96.6667 38.6667,-91 44.3333,-91"/>
  130. </g>
  131. <!-- _Invar_I1_S2 -->
  132. <g id="node12" class="node">
  133. <title>_Invar_I1_S2</title>
  134. <polygon fill="transparent" stroke="transparent" stroke-width="2" points="88,-244 32,-244 32,-208 88,-208 88,-244"/>
  135. <text text-anchor="start" x="52.6632" y="-222.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">S2</text>
  136. <path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-209C44.3333,-209 75.6667,-209 75.6667,-209 81.3333,-209 87,-214.6667 87,-220.3333 87,-220.3333 87,-231.6667 87,-231.6667 87,-237.3333 81.3333,-243 75.6667,-243 75.6667,-243 44.3333,-243 44.3333,-243 38.6667,-243 33,-237.3333 33,-231.6667 33,-231.6667 33,-220.3333 33,-220.3333 33,-214.6667 38.6667,-209 44.3333,-209"/>
  137. </g>
  138. <!-- _Invar_I1_S2&#45;&gt;_Invar_I1_S3 -->
  139. <g id="edge7" class="edge">
  140. <title>_Invar_I1_S2&#45;&gt;_Invar_I1_S3</title>
  141. <path fill="none" stroke="#000000" d="M55.7033,-207.6741C54.7416,-202.1833 54,-196.1255 54,-190.5 54,-190.5 54,-190.5 54,-143.5 54,-141.2146 54.1224,-138.8579 54.3322,-136.4969"/>
  142. <polygon fill="#000000" stroke="#000000" points="57.8359,-136.7039 55.7033,-126.3259 50.8986,-135.7687 57.8359,-136.7039"/>
  143. <text text-anchor="start" x="54" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/b = 2 * a + b &#160;&#160;</text>
  144. </g>
  145. <!-- _Invar_I1_S1&#45;&gt;_Invar_I1_S2 -->
  146. <g id="edge8" class="edge">
  147. <title>_Invar_I1_S1&#45;&gt;_Invar_I1_S2</title>
  148. <path fill="none" stroke="#000000" d="M60,-325.9402C60,-320.3497 60,-314.1701 60,-308.5 60,-308.5 60,-308.5 60,-261.5 60,-259.1079 60,-256.6252 60,-254.1342"/>
  149. <polygon fill="#000000" stroke="#000000" points="63.5001,-254.0597 60,-244.0598 56.5001,-254.0598 63.5001,-254.0597"/>
  150. <text text-anchor="start" x="60" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/b = 2 * b &#160;&#160;</text>
  151. </g>
  152. </g>
  153. </svg>