<graphviz dot right>
digraph G {
bgcolor = "grey93"; rankdir="LR"; subgraph ingredients { graph [shape=circle]; node [shape=circle]; basil; "pine nuts"; parmesan; garlic; "olive oil"; intA; intB; pesto; } subgraph transitions { node [shape=rect]; blend; grate; mix; } basil -> blend; garlic -> blend; "pine nuts" -> blend -> intA -> mix; parmesan -> grate -> intB -> mix; "olive oil" -> mix; mix -> pesto [label="until mixed"];
}
</graphviz>
NOTE: pre- and postconditions are not included above.