mesytec-mnode/external/taskflow-3.8.0/doxygen/images/conditional-tasking-pitfalls.svg

281 lines
15 KiB
XML
Raw Normal View History

2025-01-04 01:25:05 +01:00
<?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: Taskflow Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="927pt" height="354pt" viewBox="0.00 0.00 927.00 354.40">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 350.4)">
<title>Taskflow</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-350.4 923,-350.4 923,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_error1</title>
<polygon fill="none" stroke="#000000" points="8,-134.8 8,-338.4 151,-338.4 151,-134.8 8,-134.8"/>
<text text-anchor="middle" x="79.5" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">error1: no source tasks</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_fix1</title>
<polygon fill="none" stroke="#000000" points="159,-8 159,-338.4 301,-338.4 301,-8 159,-8"/>
<text text-anchor="middle" x="230" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix1: adds a source</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_error2</title>
<polygon fill="none" stroke="#000000" points="309,-134.8 309,-338.4 451,-338.4 451,-134.8 309,-134.8"/>
<text text-anchor="middle" x="380" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">error2: race on D</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_fix2</title>
<polygon fill="none" stroke="#000000" points="459,-8 459,-338.4 689,-338.4 689,-8 459,-8"/>
<text text-anchor="middle" x="574" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">fix2: adds an auxiliary task</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_risky</title>
<polygon fill="none" stroke="#000000" points="697,-134.8 697,-338.4 911,-338.4 911,-134.8 697,-134.8"/>
<text text-anchor="middle" x="804" y="-321.8" font-family="Times,serif" font-size="14.00" fill="#000000">risky: X might be raced</text>
</g>
<!-- e1A -->
<g id="node1" class="node">
<title>e1A</title>
<polygon fill="#7fffd4" stroke="#000000" points="64,-305.6 37,-287.6 64,-269.6 91,-287.6 64,-305.6"/>
<text text-anchor="middle" x="64" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">A</text>
</g>
<!-- e1A&#45;&gt;e1A -->
<g id="edge1" class="edge">
<title>e1A-&gt;e1A</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M82.4896,-293.6233C95.7706,-295.5843 109,-293.5766 109,-287.6 109,-283.1643 101.7127,-280.9147 92.5255,-280.8514"/>
<polygon fill="#000000" stroke="#000000" points="92.2112,-277.3649 82.4896,-281.5767 92.7159,-284.3467 92.2112,-277.3649"/>
<text text-anchor="middle" x="112.5" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- e1B -->
<g id="node2" class="node">
<title>e1B</title>
<ellipse fill="none" stroke="#000000" cx="43" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="43" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">B</text>
</g>
<!-- e1A&#45;&gt;e1B -->
<g id="edge2" class="edge">
<title>e1A-&gt;e1B</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M61.2976,-271.2827C57.8663,-250.5641 51.8898,-214.4774 47.7035,-189.2004"/>
<polygon fill="#000000" stroke="#000000" points="51.1186,-188.3993 46.0317,-179.1056 44.2127,-189.5431 51.1186,-188.3993"/>
<text text-anchor="middle" x="57.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
<!-- e1C -->
<g id="node3" class="node">
<title>e1C</title>
<ellipse fill="none" stroke="#000000" cx="115" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="115" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">C</text>
</g>
<!-- e1A&#45;&gt;e1C -->
<g id="edge3" class="edge">
<title>e1A-&gt;e1C</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M69.8503,-273.0544C78.2024,-252.2888 93.6905,-213.7813 104.1697,-187.7271"/>
<polygon fill="#000000" stroke="#000000" points="107.4309,-188.9981 107.9154,-178.4143 100.9366,-186.386 107.4309,-188.9981"/>
<text text-anchor="middle" x="95.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">2</text>
</g>
<!-- f1S -->
<g id="node4" class="node">
<title>f1S</title>
<ellipse fill="none" stroke="#000000" cx="215" cy="-287.6" rx="27" ry="18"/>
<text text-anchor="middle" x="215" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">S</text>
</g>
<!-- f1A -->
<g id="node5" class="node">
<title>f1A</title>
<polygon fill="#7fffd4" stroke="#000000" points="215,-178.8 188,-160.8 215,-142.8 242,-160.8 215,-178.8"/>
<text text-anchor="middle" x="215" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">A</text>
</g>
<!-- f1S&#45;&gt;f1A -->
<g id="edge4" class="edge">
<title>f1S-&gt;f1A</title>
<path fill="none" stroke="#000000" d="M215,-269.4327C215,-248.4352 215,-213.6261 215,-189.079"/>
<polygon fill="#000000" stroke="#000000" points="218.5001,-188.9336 215,-178.9336 211.5001,-188.9337 218.5001,-188.9336"/>
</g>
<!-- f1A&#45;&gt;f1A -->
<g id="edge5" class="edge">
<title>f1A-&gt;f1A</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M233.4896,-166.8233C246.7706,-168.7843 260,-166.7766 260,-160.8 260,-156.3643 252.7127,-154.1147 243.5255,-154.0514"/>
<polygon fill="#000000" stroke="#000000" points="243.2112,-150.5649 233.4896,-154.7767 243.7159,-157.5467 243.2112,-150.5649"/>
<text text-anchor="middle" x="263.5" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- f1B -->
<g id="node6" class="node">
<title>f1B</title>
<ellipse fill="none" stroke="#000000" cx="194" cy="-34" rx="27" ry="18"/>
<text text-anchor="middle" x="194" y="-29.8" font-family="Times,serif" font-size="14.00" fill="#000000">B</text>
</g>
<!-- f1A&#45;&gt;f1B -->
<g id="edge6" class="edge">
<title>f1A-&gt;f1B</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M212.2976,-144.4827C208.8663,-123.7641 202.8898,-87.6774 198.7035,-62.4004"/>
<polygon fill="#000000" stroke="#000000" points="202.1186,-61.5993 197.0317,-52.3056 195.2127,-62.7431 202.1186,-61.5993"/>
<text text-anchor="middle" x="208.5" y="-93.2" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
<!-- f1C -->
<g id="node7" class="node">
<title>f1C</title>
<ellipse fill="none" stroke="#000000" cx="266" cy="-34" rx="27" ry="18"/>
<text text-anchor="middle" x="266" y="-29.8" font-family="Times,serif" font-size="14.00" fill="#000000">C</text>
</g>
<!-- f1A&#45;&gt;f1C -->
<g id="edge7" class="edge">
<title>f1A-&gt;f1C</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M220.8503,-146.2544C229.2024,-125.4888 244.6905,-86.9813 255.1697,-60.9271"/>
<polygon fill="#000000" stroke="#000000" points="258.4309,-62.1981 258.9154,-51.6143 251.9366,-59.586 258.4309,-62.1981"/>
<text text-anchor="middle" x="246.5" y="-93.2" font-family="Times,serif" font-size="14.00" fill="#000000">2</text>
</g>
<!-- e2C -->
<g id="node8" class="node">
<title>e2C</title>
<polygon fill="#7fffd4" stroke="#000000" points="416,-305.6 389,-287.6 416,-269.6 443,-287.6 416,-305.6"/>
<text text-anchor="middle" x="416" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">C</text>
</g>
<!-- e2D -->
<g id="node9" class="node">
<title>e2D</title>
<ellipse fill="none" stroke="#000000" cx="344" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="344" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">D</text>
</g>
<!-- e2C&#45;&gt;e2D -->
<g id="edge9" class="edge">
<title>e2C-&gt;e2D</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M408.5659,-274.5078C396.867,-253.9046 373.935,-213.5189 358.789,-186.845"/>
<polygon fill="#000000" stroke="#000000" points="361.7689,-185.0046 353.7875,-178.0369 355.6817,-188.461 361.7689,-185.0046"/>
<text text-anchor="middle" x="386.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- e2F -->
<g id="node10" class="node">
<title>e2F</title>
<ellipse fill="none" stroke="#000000" cx="416" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="416" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">F</text>
</g>
<!-- e2C&#45;&gt;e2F -->
<g id="edge10" class="edge">
<title>e2C-&gt;e2F</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M416,-269.4327C416,-248.4352 416,-213.6261 416,-189.079"/>
<polygon fill="#000000" stroke="#000000" points="419.5001,-188.9336 416,-178.9336 412.5001,-188.9337 419.5001,-188.9336"/>
<text text-anchor="middle" x="419.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
<!-- e2E -->
<g id="node11" class="node">
<title>e2E</title>
<ellipse fill="none" stroke="#000000" cx="344" cy="-287.6" rx="27" ry="18"/>
<text text-anchor="middle" x="344" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">E</text>
</g>
<!-- e2E&#45;&gt;e2D -->
<g id="edge8" class="edge">
<title>e2E-&gt;e2D</title>
<path fill="none" stroke="#000000" d="M344,-269.4327C344,-248.4352 344,-213.6261 344,-189.079"/>
<polygon fill="#000000" stroke="#000000" points="347.5001,-188.9336 344,-178.9336 340.5001,-188.9337 347.5001,-188.9336"/>
</g>
<!-- f2C -->
<g id="node12" class="node">
<title>f2C</title>
<polygon fill="#7fffd4" stroke="#000000" points="614,-305.6 587,-287.6 614,-269.6 641,-287.6 614,-305.6"/>
<text text-anchor="middle" x="614" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">C</text>
</g>
<!-- f2Daux -->
<g id="node14" class="node">
<title>f2Daux</title>
<ellipse fill="none" stroke="#000000" cx="574" cy="-160.8" rx="35.3334" ry="18"/>
<text text-anchor="middle" x="574" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">D-aux</text>
</g>
<!-- f2C&#45;&gt;f2Daux -->
<g id="edge12" class="edge">
<title>f2C-&gt;f2Daux</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M609.2544,-272.5564C602.714,-251.8233 590.815,-214.1035 582.665,-188.268"/>
<polygon fill="#000000" stroke="#000000" points="585.9853,-187.1591 579.6389,-178.6754 579.3096,-189.2651 585.9853,-187.1591"/>
<text text-anchor="middle" x="598.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- f2F -->
<g id="node15" class="node">
<title>f2F</title>
<ellipse fill="none" stroke="#000000" cx="654" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="654" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">F</text>
</g>
<!-- f2C&#45;&gt;f2F -->
<g id="edge13" class="edge">
<title>f2C-&gt;f2F</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M618.7456,-272.5564C625.286,-251.8233 637.185,-214.1035 645.335,-188.268"/>
<polygon fill="#000000" stroke="#000000" points="648.6904,-189.2651 648.3611,-178.6754 642.0147,-187.1591 648.6904,-189.2651"/>
<text text-anchor="middle" x="638.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
<!-- f2D -->
<g id="node13" class="node">
<title>f2D</title>
<ellipse fill="none" stroke="#000000" cx="534" cy="-34" rx="27" ry="18"/>
<text text-anchor="middle" x="534" y="-29.8" font-family="Times,serif" font-size="14.00" fill="#000000">D</text>
</g>
<!-- f2Daux&#45;&gt;f2D -->
<g id="edge14" class="edge">
<title>f2Daux-&gt;f2D</title>
<path fill="none" stroke="#000000" d="M568.3538,-142.9016C561.6833,-121.756 550.5103,-86.3376 542.7241,-61.6553"/>
<polygon fill="#000000" stroke="#000000" points="545.9638,-60.2911 539.6175,-51.8074 539.2881,-62.3971 545.9638,-60.2911"/>
</g>
<!-- f2E -->
<g id="node16" class="node">
<title>f2E</title>
<ellipse fill="none" stroke="#000000" cx="494" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="494" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">E</text>
</g>
<!-- f2E&#45;&gt;f2D -->
<g id="edge11" class="edge">
<title>f2E-&gt;f2D</title>
<path fill="none" stroke="#000000" d="M499.5618,-143.169C506.2408,-121.9967 517.5196,-86.2429 525.3414,-61.4478"/>
<polygon fill="#000000" stroke="#000000" points="528.6858,-62.4797 528.3565,-51.89 522.0101,-60.3738 528.6858,-62.4797"/>
</g>
<!-- rP -->
<g id="node17" class="node">
<title>rP</title>
<polygon fill="#7fffd4" stroke="#000000" points="855,-305.6 828,-287.6 855,-269.6 882,-287.6 855,-305.6"/>
<text text-anchor="middle" x="855" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">P</text>
</g>
<!-- rQ -->
<g id="node19" class="node">
<title>rQ</title>
<ellipse fill="none" stroke="#000000" cx="876" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="876" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">Q</text>
</g>
<!-- rP&#45;&gt;rQ -->
<g id="edge18" class="edge">
<title>rP-&gt;rQ</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M857.7024,-271.2827C861.1337,-250.5641 867.1102,-214.4774 871.2965,-189.2004"/>
<polygon fill="#000000" stroke="#000000" points="874.7873,-189.5431 872.9683,-179.1056 867.8814,-188.3993 874.7873,-189.5431"/>
<text text-anchor="middle" x="869.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- rX -->
<g id="node20" class="node">
<title>rX</title>
<ellipse fill="none" stroke="#000000" cx="804" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="804" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">X</text>
</g>
<!-- rP&#45;&gt;rX -->
<g id="edge15" class="edge">
<title>rP-&gt;rX</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M849.1497,-273.0544C840.7976,-252.2888 825.3095,-213.7813 814.8303,-187.7271"/>
<polygon fill="#000000" stroke="#000000" points="818.0634,-186.386 811.0846,-178.4143 811.5691,-188.9981 818.0634,-186.386"/>
<text text-anchor="middle" x="835.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
<!-- rM -->
<g id="node18" class="node">
<title>rM</title>
<polygon fill="#7fffd4" stroke="#000000" points="762,-305.6 734.0024,-287.6 762,-269.6 789.9976,-287.6 762,-305.6"/>
<text text-anchor="middle" x="762" y="-283.4" font-family="Times,serif" font-size="14.00" fill="#000000">M</text>
</g>
<!-- rM&#45;&gt;rX -->
<g id="edge16" class="edge">
<title>rM-&gt;rX</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M766.9829,-272.5564C773.8503,-251.8233 786.3443,-214.1035 794.9018,-188.268"/>
<polygon fill="#000000" stroke="#000000" points="798.2572,-189.2687 798.0791,-178.6754 791.6123,-187.0676 798.2572,-189.2687"/>
<text text-anchor="middle" x="788.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
</g>
<!-- rN -->
<g id="node21" class="node">
<title>rN</title>
<ellipse fill="none" stroke="#000000" cx="732" cy="-160.8" rx="27" ry="18"/>
<text text-anchor="middle" x="732" y="-156.6" font-family="Times,serif" font-size="14.00" fill="#000000">N</text>
</g>
<!-- rM&#45;&gt;rN -->
<g id="edge17" class="edge">
<title>rM-&gt;rN</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M758.2611,-271.7971C753.3465,-251.0247 744.6312,-214.1878 738.5959,-188.6787"/>
<polygon fill="#000000" stroke="#000000" points="741.9793,-187.7771 736.2709,-178.8516 735.1674,-189.3888 741.9793,-187.7771"/>
<text text-anchor="middle" x="751.5" y="-220" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</g>
</g>
</svg>