1. A computer-implemented method comprising: creating a statechart in response to user input, wherein creating the statechart comprises displaying a plurality of state icons on a display device in response to user input and displaying a plurality of connector elements interconnecting the state icons on the display device in response to user input, wherein the state icons represent a plurality of states and wherein the connector elements represent transitions between the states, wherein the statechart includes at least one hierarchical state, wherein the statechart specifies first functionality; and automatically generating a graphical data flow program from the statechart, wherein the graphical data flow program includes a plurality of interconnected nodes that visually indicate functionality of the graphical data flow program, wherein connections among the nodes visually indicate data flow among the nodes, wherein the graphical data flow program implements the first functionality.