Graphviz will draw a graph composed of nodes and arrows from a declarative text description. Here we describe how to get something up fast and then annotate that with useful debugging results.
Things to Try
Open this file with Graphviz.
digraph { 1 -> 2 -> 3 -> 4; 1 -> 3; 2 -> 4; }
Make a cycle by adding an edge.
4 -> 1;
Uploaded image
How it Works
Nodes
A node can be a number or a name or an arbitrary string inside of quotes.
Edges
An edge between nodes is shown with -> which can be daisy-chained in some cases.
Graph vs. Digraph
Use digraph to surround a directed graph.
Use graph to surround an undirected graph.
Use strict to collapse duplicate edges. This can be handy when generating dot files with a program.
strict graph { 1 -- 2 -- 3; 2 -- 3; 1 -- 2; }
Triggers
When you sketch a diagram on paper, write the dot filename on the sketch were you will keep the dot version.
When you are considering changing flows in a system, first draw and print the existing flows then sketch changes on the paper. Repeat as needed.