digraph arch { md [label="document source\n(Markdown)"]; md [shape=box]; bindings [label="bindings file\n(YAML)"]; bindings [shape=box]; impl [label="step implementations\n(Python, Rust, ...)"] impl [shape=box]; fable [label="Fable"]; fable [shape=ellipse]; pdf [label="PDF document"] pdf [shape=box]; testprog [label="Test program\n(generated)"] testprog [shape=box]; report [label="Test report)"] report [shape=box]; md -> fable; bindings -> fable; impl -> fable; fable -> pdf; fable -> testprog; testprog -> report; }