digraph g { Start [shape=box]; l2 [label="a = 10"]; l3 [label="b = 20"]; l4 [label="f(a, b)"]; p1 [label="x_in = a"]; p2 [label="y_in = b"]; p3 [label="a = x_out"]; l5 [label="print(a)"]; // Rank { rank = same; l2; l3; l4; l5; } { rank = min; Start; } { rank = same; p1; p2; p3; } // Control { edge [style = bold]; Start -> { l2 l3 l4 l5 }; l4 -> { p1 p2 p3 }; } // Data { edge [color = red]; l2 -> p1; l3 -> p2; p3 -> l5; } // Order { edge [style = invis]; l2 -> l3 -> l4 -> l5; p1 -> p2 -> p3; } }