|
| 1 | +digraph Taskflow { |
| 2 | + bgcolor="transparent" |
| 3 | + //rankdir="LR" |
| 4 | + subgraph cluster_1 { |
| 5 | + label = "error1: no source tasks" |
| 6 | + c1A [label="A" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 7 | + c1B [label="B"] |
| 8 | + c1X [label="X"] |
| 9 | + c1A -> c1A [style=dashed label="0"]; |
| 10 | + c1A -> c1B [style=dashed label="1"]; |
| 11 | + c1A -> c1X [style=dashed label="2"]; |
| 12 | + } |
| 13 | + subgraph cluster_2 { |
| 14 | + label = "fix1: adds a source" |
| 15 | + c2S [label="S"] |
| 16 | + c2A [label="A" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 17 | + c2B [label="B"] |
| 18 | + c2X [label="X"] |
| 19 | + c2S -> c2A |
| 20 | + c2A -> c2A [style=dashed label="0"]; |
| 21 | + c2A -> c2B [style=dashed label="1"]; |
| 22 | + c2A -> c2X [style=dashed label="2"]; |
| 23 | + } |
| 24 | + subgraph cluster_3 { |
| 25 | + label = "error2: race on D" |
| 26 | + c3E [label="E"] |
| 27 | + c3C [label="C" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 28 | + c3D [label="D"] |
| 29 | + c3F [label="F"] |
| 30 | + c3E -> c3D |
| 31 | + c3C -> c3D [style=dashed label="1"]; |
| 32 | + c3C -> c3F [style=dashed label="0"]; |
| 33 | + } |
| 34 | + subgraph cluster_4 { |
| 35 | + label = "fix2: adds an auxiliary task" |
| 36 | + c4E [label="E"] |
| 37 | + c4C [label="C" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 38 | + c4D [label="D"] |
| 39 | + c4Daux [label="D-aux"] |
| 40 | + c4F [label="F"] |
| 41 | + c4E -> c4D |
| 42 | + c4C -> c4Daux [style=dashed label="1"]; |
| 43 | + c4C -> c4F [style=dashed label="0"]; |
| 44 | + c4Daux -> c4D |
| 45 | + } |
| 46 | + subgraph cluster_5 { |
| 47 | + label = "risky: Q may race" |
| 48 | + c5P [label="P" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 49 | + c5M [label="M" shape=diamond color=black fillcolor=aquamarine style=filled ] |
| 50 | + c5Q [label="Q"] |
| 51 | + c5X [label="X"] |
| 52 | + c5N [label="N"] |
| 53 | + c5P -> c5Q [style=dashed label="0"]; |
| 54 | + c5P -> c5X [style=dashed label="1"]; |
| 55 | + c5M -> c5Q [style=dashed label="1"]; |
| 56 | + c5M -> c5N [style=dashed label="0"]; |
| 57 | + } |
| 58 | +} |
0 commit comments