57 lines
1.7 KiB
Text
57 lines
1.7 KiB
Text
|
digraph Taskflow {
|
||
|
subgraph cluster_error1 {
|
||
|
label="error1: no source tasks"
|
||
|
e1A[label="A" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
e1B[label="B"];
|
||
|
e1C[label="C"];
|
||
|
e1A->e1A[style=dashed label="0"];
|
||
|
e1A->e1B[style=dashed label="1"];
|
||
|
e1A->e1C[style=dashed label="2"];
|
||
|
}
|
||
|
subgraph cluster_fix1 {
|
||
|
label="fix1: adds a source"
|
||
|
f1S[label="S"];
|
||
|
f1A[label="A" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
f1B[label="B"];
|
||
|
f1C[label="C"];
|
||
|
f1S->f1A;
|
||
|
f1A->f1A[style=dashed label="0"];
|
||
|
f1A->f1B[style=dashed label="1"];
|
||
|
f1A->f1C[style=dashed label="2"];
|
||
|
}
|
||
|
subgraph cluster_error2 {
|
||
|
label="error2: race on D"
|
||
|
e2C[label="C" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
e2D[label="D"];
|
||
|
e2F[label="F"];
|
||
|
e2E[label="E"];
|
||
|
e2E->e2D;
|
||
|
e2C->e2D[style=dashed label="0"];
|
||
|
e2C->e2F[style=dashed label="1"];
|
||
|
}
|
||
|
subgraph cluster_fix2 {
|
||
|
label="fix2: adds an auxiliary task"
|
||
|
f2C[label="C" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
f2D[label="D"];
|
||
|
f2Daux[label="D-aux"]
|
||
|
f2F[label="F"];
|
||
|
f2E[label="E"];
|
||
|
f2E->f2D;
|
||
|
f2C->f2Daux[style=dashed label="0"];
|
||
|
f2C->f2F[style=dashed label="1"];
|
||
|
f2Daux->f2D
|
||
|
}
|
||
|
subgraph cluster_risky{
|
||
|
label="risky: X might be raced"
|
||
|
rP[label="P" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
rM[label="M" shape=diamond color=black fillcolor=aquamarine style=filled];
|
||
|
rQ[label="Q"]
|
||
|
rX[label="X"]
|
||
|
rN[label="N"]
|
||
|
rP->rX[style=dashed label="1"]
|
||
|
rM->rX[style=dashed label="0"]
|
||
|
rM->rN[style=dashed label="1"]
|
||
|
rP->rQ[style=dashed label="0"]
|
||
|
}
|
||
|
}
|