1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
digraph {
graph [
bgcolor="#FFFFFFF00",
rankdir=TB,
];
Scheduler [
shape=rect,
fontsize = 20,
];
stimuli [
label="StateMachineEvent",
shape=rect,
style=filled,
color=grey,
];
instructions [
label="list[Instruction]",
shape=rect,
style=filled,
color=grey,
];
subgraph cluster_0 {
label = "Worker";
fontsize = 20;
Worker_handle_stimulus [label="handle_stimulus()"];
Worker_execute [label="execute()\ngather_dep()\nbatched_send()"];
}
subgraph cluster_1 {
label = "BaseWorker";
fontsize = 20;
BaseWorker_handle_stimulus [label="handle_stimulus()"];
BaseWorker_execute [label="execute()\ngather_dep()\nbatched_send()"];
}
subgraph cluster_2 {
label = "WorkerState";
fontsize = 20;
WorkerState_handle_stimulus [label="handle_stimulus()"];
}
Scheduler -> stimuli;
stimuli -> Worker_handle_stimulus;
Worker_handle_stimulus -> BaseWorker_handle_stimulus;
BaseWorker_handle_stimulus -> WorkerState_handle_stimulus;
# trick to have arrows going from the bottom to the top of the graph
stimuli -> Worker_execute -> BaseWorker_execute -> instructions -> WorkerState_handle_stimulus [dir=back];
}
|