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

57 lines
1.7 KiB
Text
Raw Normal View History

2025-01-04 01:25:05 +01:00
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"]
}
}