/* There are many ways to compile this, but one of them is: * * $ dot -Tpng states.gv -o states.png */ digraph { /* States. */ DEFINED; FAILED; STARTED; LOCKED_IN; ACTIVE; /* Relationships between states, labeled where applicable. */ DEFINED -> DEFINED; DEFINED -> FAILED [label = "timeout ≤ MTP"]; DEFINED -> STARTED [label = "starttime ≤ MTP < timeout"]; FAILED -> FAILED; STARTED -> STARTED; STARTED -> FAILED [label = "timeout ≤ MTP"]; STARTED -> LOCKED_IN [label = "(MTP < timeout) AND (threshold reached)"]; LOCKED_IN -> ACTIVE [label = "Always"]; ACTIVE -> ACTIVE; /* Visualization hack to unclutter output. */ nodesep = 1.2; }