digraph G { initial[label="", shape="circle"]; pending[label="pending"]; monolog[label="monolog", shape="box"]; dialog[label="dialog", shape="box"]; done[label="done", shape="box"]; aborted[label="aborted", shape="box", style="dashed"]; aborting[label="aborting", style="dashed"]; expired[label="expired", shape="box"]; failed[label="failed", shape="box"]; suspended[label="suspended", shape="box"]; suspended_aborting[label="suspended-aborting", shape="box", style="dashed"]; deleted[label="deleted", shape="box"]; subgraph { rank = same; done; failed; expired; aborted; } subgraph { rank = same; pending; aborting; } subgraph { rank = same; dialog; monolog; suspended; suspended_aborting; } initial->pending; pending->suspended [color="blue",label="suspend"]; pending->expired [label="expire"]; pending->monolog [color="green",label="success"]; pending->dialog [color="green",label="success"]; pending->pending [color="green",label="progress"]; pending->done [color="green",label="success"]; pending->failed [color="red",label="failure"]; pending->aborting [color="blue",label="abort", style="dashed"]; monolog->pending [color="blue",label="OK"]; monolog->deleted [color="blue", label="delete"]; monolog->expired [label="expire"]; dialog->pending [color="blue",label="OK"]; dialog->aborting [color="blue", label="refuse", style="dashed"]; dialog->expired [label="expire"]; suspended->pending [color="blue",label="resume"]; suspended->aborting [color="blue",label="abort", style="dashed"]; suspended->expired [label="expire"]; aborting->aborting [color="green",label="progress"]; aborting->aborted [color="green",label="success"]; aborting->suspended_aborting [color="blue",label="suspend"]; aborting->failed [color="red",label="failure"]; aborting->failed [color="blue",label="cancel"]; suspended_aborting->aborting [color="blue",label="resume"]; suspended_aborting->failed [color="blue",label="cancel"]; failed->deleted [color="blue",label="delete"]; expired->deleted [color="blue",label="delete"]; aborted->deleted [color="blue",label="delete"]; done->deleted [color="blue",label="delete"]; }