1. A method, comprising: receiving a first diagram, wherein the first diagram specifies one or more states and one or more transitions between the states, wherein the first diagram specifies first functionality; automatically generating a data flow diagram based on the first diagram, wherein the data flow diagram comprises a plurality of nodes and connections between the nodes, wherein at least a subset of the connections indicate that data produced by one node is used by another node, and wherein the data flow diagram specifies the first functionality; and storing the data flow diagram in a memory medium; wherein the data flow diagram is executable by a processor to perform the first functionality.