Explorar el Código

Rename SVG files. Add 'order of small steps' test.

Joeri Exelmans hace 5 años
padre
commit
5f128dac0d
Se han modificado 36 ficheros con 297 adiciones y 1 borrados
  1. 1 1
      test/render.py
  2. 0 0
      test/test_files/semantics/big_step_maximality/00_take_one+c.svg
  3. 0 0
      test/test_files/semantics/big_step_maximality/01_take_many+c.svg
  4. 0 0
      test/test_files/semantics/big_step_maximality/10_orthogonal_take_one+c.svg
  5. 0 0
      test/test_files/semantics/big_step_maximality/11_orthogonal_take_many+c.svg
  6. 0 0
      test/test_files/semantics/event_lifeline/00_take_one_next_small_step+c.svg
  7. 0 0
      test/test_files/semantics/event_lifeline/02_take_one_queue+c.svg
  8. 0 0
      test/test_files/semantics/event_lifeline/10_take_many_next_small_step+c.svg
  9. 0 0
      test/test_files/semantics/event_lifeline/11_take_many_next_combo_step+c.svg
  10. 0 0
      test/test_files/semantics/event_lifeline/12_take_many_queue+c.svg
  11. 0 0
      test/test_files/semantics/event_lifeline/20_orthogonal_take_one_next_small_step+c.svg
  12. 0 0
      test/test_files/semantics/event_lifeline/21_orthogonal_take_one_queue+c.svg
  13. 0 0
      test/test_files/semantics/event_lifeline/30_orthogonal_take_many_next_small_step+c.svg
  14. 0 0
      test/test_files/semantics/event_lifeline/31_orthogonal_take_many_next_combo_step+c.svg
  15. 0 0
      test/test_files/semantics/event_lifeline/32_orthogonal_take_many_queue+c.svg
  16. 88 0
      test/test_files/semantics/order/document_order+c.svg
  17. 59 0
      test/test_files/semantics/order/document_order.xml
  18. 109 0
      test/test_files/semantics/order/parallel_document_order+c.svg
  19. 40 0
      test/test_files/semantics/order/parallel_document_order.xml
  20. 0 0
      test/test_files/semantics/original_semantics/after+Class1.svg
  21. 0 0
      test/test_files/semantics/original_semantics/correct_duplicate_state_id+Class1.svg
  22. 0 0
      test/test_files/semantics/original_semantics/enter_exit_hierarchy+Class1.svg
  23. 0 0
      test/test_files/semantics/original_semantics/history+Class1.svg
  24. 0 0
      test/test_files/semantics/original_semantics/history_deep+Class1.svg
  25. 0 0
      test/test_files/semantics/original_semantics/history_parallel_deep+Class1.svg
  26. 0 0
      test/test_files/semantics/original_semantics/inner_first+Class1.svg
  27. 0 0
      test/test_files/semantics/original_semantics/instate+Class1.svg
  28. 0 0
      test/test_files/semantics/original_semantics/outer_first+Class1.svg
  29. 0 0
      test/test_files/semantics/original_semantics/parallel+Class1.svg
  30. 0 0
      test/test_files/semantics/original_semantics/parallel_history+TestClass.svg
  31. 0 0
      test/test_files/semantics/original_semantics/parallel_history_2+TestClass.svg
  32. 0 0
      test/test_files/semantics/original_semantics/parallel_history_3+TestClass.svg
  33. 0 0
      test/test_files/semantics/priority/00_source_parent+c.svg
  34. 0 0
      test/test_files/semantics/priority/01_source_child+c.svg
  35. 0 0
      test/test_files/semantics/priority/10_source_parent_history+c.svg
  36. 0 0
      test/test_files/semantics/priority/11_source_child_history+c.svg

+ 1 - 1
test/render.py

@@ -42,7 +42,7 @@ if __name__ == '__main__':
 
       # Produce an output file for each class in the src file
       for class_name, _class in model.classes.items():
-        target_path = lambda ext: os.path.join(args.output_dir, dropext(src)+'_'+class_name+ext)
+        target_path = lambda ext: os.path.join(args.output_dir, dropext(src)+'+'+class_name+ext)
         smcat_target = target_path('.smcat')
         svg_target = target_path('.svg')
         

test/test_files/semantics/big_step_maximality/00_take_one_c.svg → test/test_files/semantics/big_step_maximality/00_take_one+c.svg


test/test_files/semantics/big_step_maximality/01_take_many_c.svg → test/test_files/semantics/big_step_maximality/01_take_many+c.svg


test/test_files/semantics/big_step_maximality/10_orthogonal_take_one_c.svg → test/test_files/semantics/big_step_maximality/10_orthogonal_take_one+c.svg


test/test_files/semantics/big_step_maximality/11_orthogonal_take_many_c.svg → test/test_files/semantics/big_step_maximality/11_orthogonal_take_many+c.svg


test/test_files/semantics/event_lifeline/00_take_one_next_small_step_c.svg → test/test_files/semantics/event_lifeline/00_take_one_next_small_step+c.svg


test/test_files/semantics/event_lifeline/02_take_one_queue_c.svg → test/test_files/semantics/event_lifeline/02_take_one_queue+c.svg


test/test_files/semantics/event_lifeline/10_take_many_next_small_step_c.svg → test/test_files/semantics/event_lifeline/10_take_many_next_small_step+c.svg


test/test_files/semantics/event_lifeline/11_take_many_next_combo_step_c.svg → test/test_files/semantics/event_lifeline/11_take_many_next_combo_step+c.svg


test/test_files/semantics/event_lifeline/12_take_many_queue_c.svg → test/test_files/semantics/event_lifeline/12_take_many_queue+c.svg


test/test_files/semantics/event_lifeline/20_orthogonal_take_one_next_small_step_c.svg → test/test_files/semantics/event_lifeline/20_orthogonal_take_one_next_small_step+c.svg


test/test_files/semantics/event_lifeline/21_orthogonal_take_one_queue_c.svg → test/test_files/semantics/event_lifeline/21_orthogonal_take_one_queue+c.svg


test/test_files/semantics/event_lifeline/30_orthogonal_take_many_next_small_step_c.svg → test/test_files/semantics/event_lifeline/30_orthogonal_take_many_next_small_step+c.svg


test/test_files/semantics/event_lifeline/31_orthogonal_take_many_next_combo_step_c.svg → test/test_files/semantics/event_lifeline/31_orthogonal_take_many_next_combo_step+c.svg


test/test_files/semantics/event_lifeline/32_orthogonal_take_many_queue_c.svg → test/test_files/semantics/event_lifeline/32_orthogonal_take_many_queue+c.svg


+ 88 - 0
test/test_files/semantics/order/document_order+c.svg

@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: state transitions Pages: 1 -->
+<svg width="181pt" height="211pt"
+ viewBox="0.00 0.00 181.00 211.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 207)">
+<title>state transitions</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-207 177,-207 177,4 -4,4"/>
+<!-- __initial -->
+<g id="node1" class="node">
+<title>__initial</title>
+<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="106" cy="-197.5" rx="5.5" ry="5.5"/>
+</g>
+<!-- _a -->
+<g id="node2" class="node">
+<title>_a</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="134,-164 78,-164 78,-128 134,-128 134,-164"/>
+<text text-anchor="start" x="102.6646" y="-142.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">a</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M90.3333,-129C90.3333,-129 121.6667,-129 121.6667,-129 127.3333,-129 133,-134.6667 133,-140.3333 133,-140.3333 133,-151.6667 133,-151.6667 133,-157.3333 127.3333,-163 121.6667,-163 121.6667,-163 90.3333,-163 90.3333,-163 84.6667,-163 79,-157.3333 79,-151.6667 79,-151.6667 79,-140.3333 79,-140.3333 79,-134.6667 84.6667,-129 90.3333,-129"/>
+</g>
+<!-- __initial&#45;&gt;_a -->
+<g id="edge1" class="edge">
+<title>__initial&#45;&gt;_a</title>
+<path fill="none" stroke="#000000" d="M106,-191.9886C106,-187.6293 106,-181.1793 106,-174.4801"/>
+<polygon fill="#000000" stroke="#000000" points="109.5001,-174.0122 106,-164.0122 102.5001,-174.0122 109.5001,-174.0122"/>
+<text text-anchor="middle" x="107.3895" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _b -->
+<g id="node3" class="node">
+<title>_b</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="95,-100 39,-100 39,-64 95,-64 95,-100"/>
+<text text-anchor="start" x="63.6646" y="-78.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">b</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M51.3333,-65C51.3333,-65 82.6667,-65 82.6667,-65 88.3333,-65 94,-70.6667 94,-76.3333 94,-76.3333 94,-87.6667 94,-87.6667 94,-93.3333 88.3333,-99 82.6667,-99 82.6667,-99 51.3333,-99 51.3333,-99 45.6667,-99 40,-93.3333 40,-87.6667 40,-87.6667 40,-76.3333 40,-76.3333 40,-70.6667 45.6667,-65 51.3333,-65"/>
+</g>
+<!-- _a&#45;&gt;_b -->
+<g id="edge2" class="edge">
+<title>_a&#45;&gt;_b</title>
+<path fill="none" stroke="#000000" d="M94.9285,-127.8314C91.4182,-122.0709 87.4567,-115.57 83.6441,-109.3134"/>
+<polygon fill="#000000" stroke="#000000" points="86.4272,-107.1544 78.2346,-100.4363 80.4496,-110.797 86.4272,-107.1544"/>
+<text text-anchor="middle" x="91.3895" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _c -->
+<g id="node4" class="node">
+<title>_c</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="173,-100 117,-100 117,-64 173,-64 173,-100"/>
+<text text-anchor="start" x="142" y="-78.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">c</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M129.3333,-65C129.3333,-65 160.6667,-65 160.6667,-65 166.3333,-65 172,-70.6667 172,-76.3333 172,-76.3333 172,-87.6667 172,-87.6667 172,-93.3333 166.3333,-99 160.6667,-99 160.6667,-99 129.3333,-99 129.3333,-99 123.6667,-99 118,-93.3333 118,-87.6667 118,-87.6667 118,-76.3333 118,-76.3333 118,-70.6667 123.6667,-65 129.3333,-65"/>
+</g>
+<!-- _a&#45;&gt;_c -->
+<g id="edge3" class="edge">
+<title>_a&#45;&gt;_c</title>
+<path fill="none" stroke="#000000" d="M117.0715,-127.8314C120.5818,-122.0709 124.5433,-115.57 128.3559,-109.3134"/>
+<polygon fill="#000000" stroke="#000000" points="131.5504,-110.797 133.7654,-100.4363 125.5728,-107.1544 131.5504,-110.797"/>
+<text text-anchor="middle" x="129.3895" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _d -->
+<g id="node5" class="node">
+<title>_d</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="134,-36 78,-36 78,0 134,0 134,-36"/>
+<text text-anchor="start" x="102.6646" y="-14.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">d</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M90.3333,-1C90.3333,-1 121.6667,-1 121.6667,-1 127.3333,-1 133,-6.6667 133,-12.3333 133,-12.3333 133,-23.6667 133,-23.6667 133,-29.3333 127.3333,-35 121.6667,-35 121.6667,-35 90.3333,-35 90.3333,-35 84.6667,-35 79,-29.3333 79,-23.6667 79,-23.6667 79,-12.3333 79,-12.3333 79,-6.6667 84.6667,-1 90.3333,-1"/>
+</g>
+<!-- _b&#45;&gt;_d -->
+<g id="edge5" class="edge">
+<title>_b&#45;&gt;_d</title>
+<path fill="none" stroke="#000000" d="M78.0715,-63.8314C81.5818,-58.0709 85.5433,-51.57 89.3559,-45.3134"/>
+<polygon fill="#000000" stroke="#000000" points="92.5504,-46.797 94.7654,-36.4363 86.5728,-43.1544 92.5504,-46.797"/>
+<text text-anchor="middle" x="91.3895" y="-47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _e -->
+<g id="node6" class="node">
+<title>_e</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="56,-36 0,-36 0,0 56,0 56,-36"/>
+<text text-anchor="start" x="24.6646" y="-14.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">e</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M12.3333,-1C12.3333,-1 43.6667,-1 43.6667,-1 49.3333,-1 55,-6.6667 55,-12.3333 55,-12.3333 55,-23.6667 55,-23.6667 55,-29.3333 49.3333,-35 43.6667,-35 43.6667,-35 12.3333,-35 12.3333,-35 6.6667,-35 1,-29.3333 1,-23.6667 1,-23.6667 1,-12.3333 1,-12.3333 1,-6.6667 6.6667,-1 12.3333,-1"/>
+</g>
+<!-- _b&#45;&gt;_e -->
+<g id="edge4" class="edge">
+<title>_b&#45;&gt;_e</title>
+<path fill="none" stroke="#000000" d="M55.9285,-63.8314C52.4182,-58.0709 48.4567,-51.57 44.6441,-45.3134"/>
+<polygon fill="#000000" stroke="#000000" points="47.4272,-43.1544 39.2346,-36.4363 41.4496,-46.797 47.4272,-43.1544"/>
+<text text-anchor="middle" x="52.3895" y="-47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+</g>
+</svg>

+ 59 - 0
test/test_files/semantics/order/document_order.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" ?>
+<diagram
+  xmlns="msdl.uantwerpen.be/sccd"
+  author="Joeri Exelmans"
+  name="take_one_next_small_step">
+  <description>
+    Order Of Small Steps: Explicit (Document order).
+  </description>
+  <outport name="out"/>
+  <class name="c" default="true">
+    <scxml initial="a" big_step_maximality="take_one">
+      <state id="a">
+        <onentry>
+          <raise event="entered_a" port="out"/>
+        </onentry>
+        <transition target="../b"/>
+        <transition target="../c"/>
+      </state>
+      <state id="b">
+        <onentry>
+          <raise event="entered_b" port="out"/>
+        </onentry>
+        <transition target="../e"/>
+        <transition target="../d"/>
+      </state>
+      <state id="c">
+        <onentry>
+          <raise event="entered_c" port="out"/>
+        </onentry>
+      </state>
+      <state id="d">
+        <onentry>
+          <raise event="entered_d" port="out"/>
+        </onentry>
+      </state>
+      <state id="e">
+        <onentry>
+          <raise event="entered_e" port="out"/>
+        </onentry>
+      </state>
+    </scxml>
+  </class>
+  <test>
+    <expected>
+      <slot>
+        <!-- initialization -->
+        <event name="entered_a" port="out"/>
+      </slot>
+      <slot>
+        <!-- big step -->
+        <event name="entered_b" port="out"/>
+      </slot>
+      <slot>
+        <!-- big step -->
+        <event name="entered_e" port="out"/>
+      </slot>
+    </expected>
+  </test>
+</diagram>

+ 109 - 0
test/test_files/semantics/order/parallel_document_order+c.svg

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: state transitions Pages: 1 -->
+<svg width="200pt" height="394pt"
+ viewBox="0.00 0.00 200.00 394.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 390)">
+<title>state transitions</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-390 196,-390 196,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster__p</title>
+<path fill="none" stroke="#000000" stroke-width="2" d="M20,-8C20,-8 172,-8 172,-8 178,-8 184,-14 184,-20 184,-20 184,-335 184,-335 184,-341 178,-347 172,-347 172,-347 20,-347 20,-347 14,-347 8,-341 8,-335 8,-335 8,-20 8,-20 8,-14 14,-8 20,-8"/>
+<text text-anchor="start" x="92.6646" y="-328.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">p</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster__p_region1</title>
+<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="104,-16 104,-309 176,-309 176,-16 104,-16"/>
+<text text-anchor="start" x="119.9942" y="-290.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">region1</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster__p_region2</title>
+<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="24,-16 24,-309 96,-309 96,-16 24,-16"/>
+<text text-anchor="start" x="39.9942" y="-290.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">region2</text>
+</g>
+<!-- __initial -->
+<g id="node1" class="node">
+<title>__initial</title>
+<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="16" cy="-380.5" rx="5.5" ry="5.5"/>
+</g>
+<!-- _p -->
+<!-- __initial&#45;&gt;_p -->
+<g id="edge1" class="edge">
+<title>__initial&#45;&gt;_p</title>
+<path fill="none" stroke="#000000" d="M16,-374.9533C16,-370.7779 16,-364.5043 16,-357.0332"/>
+<polygon fill="#000000" stroke="#000000" points="19.5001,-356.9971 16,-346.9971 12.5001,-356.9972 19.5001,-356.9971"/>
+<text text-anchor="middle" x="17.3895" y="-358" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _p_region1 -->
+<!-- _p_region1_initial -->
+<g id="node4" class="node">
+<title>_p_region1_initial</title>
+<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="140" cy="-265.5" rx="5.5" ry="5.5"/>
+</g>
+<!-- _p_region1_s1 -->
+<g id="node5" class="node">
+<title>_p_region1_s1</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="168,-178 112,-178 112,-142 168,-142 168,-178"/>
+<text text-anchor="start" x="133.6646" y="-156.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">s1</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M124.3333,-143C124.3333,-143 155.6667,-143 155.6667,-143 161.3333,-143 167,-148.6667 167,-154.3333 167,-154.3333 167,-165.6667 167,-165.6667 167,-171.3333 161.3333,-177 155.6667,-177 155.6667,-177 124.3333,-177 124.3333,-177 118.6667,-177 113,-171.3333 113,-165.6667 113,-165.6667 113,-154.3333 113,-154.3333 113,-148.6667 118.6667,-143 124.3333,-143"/>
+</g>
+<!-- _p_region1_initial&#45;&gt;_p_region1_s1 -->
+<g id="edge2" class="edge">
+<title>_p_region1_initial&#45;&gt;_p_region1_s1</title>
+<path fill="none" stroke="#000000" d="M140,-259.8288C140,-255.1736 140,-248.4097 140,-242.5 140,-242.5 140,-242.5 140,-195.5 140,-193.1079 140,-190.6252 140,-188.1342"/>
+<polygon fill="#000000" stroke="#000000" points="143.5001,-188.0597 140,-178.0598 136.5001,-188.0598 143.5001,-188.0597"/>
+<text text-anchor="middle" x="141.3895" y="-216" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _p_region1_s2 -->
+<g id="node6" class="node">
+<title>_p_region1_s2</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="168,-60 112,-60 112,-24 168,-24 168,-60"/>
+<text text-anchor="start" x="133.6646" y="-38.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">s2</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M124.3333,-25C124.3333,-25 155.6667,-25 155.6667,-25 161.3333,-25 167,-30.6667 167,-36.3333 167,-36.3333 167,-47.6667 167,-47.6667 167,-53.3333 161.3333,-59 155.6667,-59 155.6667,-59 124.3333,-59 124.3333,-59 118.6667,-59 113,-53.3333 113,-47.6667 113,-47.6667 113,-36.3333 113,-36.3333 113,-30.6667 118.6667,-25 124.3333,-25"/>
+</g>
+<!-- _p_region1_s1&#45;&gt;_p_region1_s2 -->
+<g id="edge3" class="edge">
+<title>_p_region1_s1&#45;&gt;_p_region1_s2</title>
+<path fill="none" stroke="#000000" d="M140,-141.9402C140,-136.3497 140,-130.1701 140,-124.5 140,-124.5 140,-124.5 140,-77.5 140,-75.1079 140,-72.6252 140,-70.1342"/>
+<polygon fill="#000000" stroke="#000000" points="143.5001,-70.0597 140,-60.0598 136.5001,-70.0598 143.5001,-70.0597"/>
+<text text-anchor="middle" x="141.3895" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _p_region2 -->
+<!-- _p_region2_initial -->
+<g id="node8" class="node">
+<title>_p_region2_initial</title>
+<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="60" cy="-265.5" rx="5.5" ry="5.5"/>
+</g>
+<!-- _p_region2_s1 -->
+<g id="node9" class="node">
+<title>_p_region2_s1</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="88,-178 32,-178 32,-142 88,-142 88,-178"/>
+<text text-anchor="start" x="53.6646" y="-156.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">s1</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-143C44.3333,-143 75.6667,-143 75.6667,-143 81.3333,-143 87,-148.6667 87,-154.3333 87,-154.3333 87,-165.6667 87,-165.6667 87,-171.3333 81.3333,-177 75.6667,-177 75.6667,-177 44.3333,-177 44.3333,-177 38.6667,-177 33,-171.3333 33,-165.6667 33,-165.6667 33,-154.3333 33,-154.3333 33,-148.6667 38.6667,-143 44.3333,-143"/>
+</g>
+<!-- _p_region2_initial&#45;&gt;_p_region2_s1 -->
+<g id="edge4" class="edge">
+<title>_p_region2_initial&#45;&gt;_p_region2_s1</title>
+<path fill="none" stroke="#000000" d="M60,-259.8288C60,-255.1736 60,-248.4097 60,-242.5 60,-242.5 60,-242.5 60,-195.5 60,-193.1079 60,-190.6252 60,-188.1342"/>
+<polygon fill="#000000" stroke="#000000" points="63.5001,-188.0597 60,-178.0598 56.5001,-188.0598 63.5001,-188.0597"/>
+<text text-anchor="middle" x="61.3895" y="-216" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+<!-- _p_region2_s2 -->
+<g id="node10" class="node">
+<title>_p_region2_s2</title>
+<polygon fill="transparent" stroke="transparent" stroke-width="2" points="88,-60 32,-60 32,-24 88,-24 88,-60"/>
+<text text-anchor="start" x="53.6646" y="-38.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">s2</text>
+<path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-25C44.3333,-25 75.6667,-25 75.6667,-25 81.3333,-25 87,-30.6667 87,-36.3333 87,-36.3333 87,-47.6667 87,-47.6667 87,-53.3333 81.3333,-59 75.6667,-59 75.6667,-59 44.3333,-59 44.3333,-59 38.6667,-59 33,-53.3333 33,-47.6667 33,-47.6667 33,-36.3333 33,-36.3333 33,-30.6667 38.6667,-25 44.3333,-25"/>
+</g>
+<!-- _p_region2_s1&#45;&gt;_p_region2_s2 -->
+<g id="edge5" class="edge">
+<title>_p_region2_s1&#45;&gt;_p_region2_s2</title>
+<path fill="none" stroke="#000000" d="M60,-141.9402C60,-136.3497 60,-130.1701 60,-124.5 60,-124.5 60,-124.5 60,-77.5 60,-75.1079 60,-72.6252 60,-70.1342"/>
+<polygon fill="#000000" stroke="#000000" points="63.5001,-70.0597 60,-60.0598 56.5001,-70.0598 63.5001,-70.0597"/>
+<text text-anchor="middle" x="61.3895" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+</g>
+</g>
+</svg>

+ 40 - 0
test/test_files/semantics/order/parallel_document_order.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" ?>
+<diagram
+  xmlns="msdl.uantwerpen.be/sccd"
+  author="Joeri Exelmans"
+  name="take_one_next_small_step">
+  <description>
+    Order Of Small Steps: Explicit (Document order).
+  </description>
+  <outport name="out"/>
+  <class name="c" default="true">
+    <scxml initial="p" big_step_maximality="take_one">
+      <parallel id="p">
+        <state id="region1" initial="s1">
+          <state id="s1">
+            <transition target="../s2" cond="INSTATE('/p/region2/s1')">
+              <raise port="out" event="t1"/>
+            </transition>
+          </state>
+          <state id="s2"/>
+        </state>
+        <state id="region2" initial="s1">
+          <state id="s1">
+            <transition target="../s2" cond="INSTATE('/p/region1/s1')">
+              <raise port="out" event="t2"/>
+            </transition>
+          </state>
+          <state id="s2"/>
+        </state>
+      </parallel>
+    </scxml>
+  </class>
+  <test>
+    <expected>
+      <slot>
+        <!-- big step -->
+        <event name="t1" port="out"/>
+      </slot>
+    </expected>
+  </test>
+</diagram>

test/test_files/semantics/original_semantics/after_Class1.svg → test/test_files/semantics/original_semantics/after+Class1.svg


test/test_files/semantics/original_semantics/correct_duplicate_state_id_Class1.svg → test/test_files/semantics/original_semantics/correct_duplicate_state_id+Class1.svg


test/test_files/semantics/original_semantics/enter_exit_hierarchy_Class1.svg → test/test_files/semantics/original_semantics/enter_exit_hierarchy+Class1.svg


test/test_files/semantics/original_semantics/history_Class1.svg → test/test_files/semantics/original_semantics/history+Class1.svg


test/test_files/semantics/original_semantics/history_deep_Class1.svg → test/test_files/semantics/original_semantics/history_deep+Class1.svg


test/test_files/semantics/original_semantics/history_parallel_deep_Class1.svg → test/test_files/semantics/original_semantics/history_parallel_deep+Class1.svg


test/test_files/semantics/original_semantics/inner_first_Class1.svg → test/test_files/semantics/original_semantics/inner_first+Class1.svg


test/test_files/semantics/original_semantics/instate_Class1.svg → test/test_files/semantics/original_semantics/instate+Class1.svg


test/test_files/semantics/original_semantics/outer_first_Class1.svg → test/test_files/semantics/original_semantics/outer_first+Class1.svg


test/test_files/semantics/original_semantics/parallel_Class1.svg → test/test_files/semantics/original_semantics/parallel+Class1.svg


test/test_files/semantics/original_semantics/parallel_history_TestClass.svg → test/test_files/semantics/original_semantics/parallel_history+TestClass.svg


test/test_files/semantics/original_semantics/parallel_history_2_TestClass.svg → test/test_files/semantics/original_semantics/parallel_history_2+TestClass.svg


test/test_files/semantics/original_semantics/parallel_history_3_TestClass.svg → test/test_files/semantics/original_semantics/parallel_history_3+TestClass.svg


test/test_files/semantics/priority/00_source_parent_c.svg → test/test_files/semantics/priority/00_source_parent+c.svg


test/test_files/semantics/priority/01_source_child_c.svg → test/test_files/semantics/priority/01_source_child+c.svg


test/test_files/semantics/priority/10_source_parent_history_c.svg → test/test_files/semantics/priority/10_source_parent_history+c.svg


test/test_files/semantics/priority/11_source_child_history_c.svg → test/test_files/semantics/priority/11_source_child_history+c.svg