digraph G { initial[label="", shape="circle"]; pending_download[label="download"]; pending_user[label="monolog", shape="box"]; pending_deposit[label="deposit"]; aborting_refresh[label="refresh", style=dashed]; aborted[label="aborted", shape="box", style=dashed]; done[label="done", shape="box"]; subgraph { rank=same; done; aborted; } subgraph { rank=same; pending_download; pending_user; } initial->pending_download; pending_download->pending_user [color=green]; pending_user->pending_deposit [color="blue"]; pending_deposit->done [color=green]; pending_deposit->aborting_refresh [color=red]; aborting_refresh->aborted; }