Patent ID: 8539367

Claim:
A non-transitory computer-readable memory medium storing program instructions executable to: display a block diagram of a graphical data flow program, wherein the block diagram includes a plurality of nodes, wherein the nodes are interconnected to visually indicate functionality of the graphical data flow program, wherein each node is displayed at a respective position in the block diagram, wherein the nodes are arranged in the block diagram to visually indicate left-to-right data flow semantics; after displaying the block diagram, display a new node at a first position in the block diagram in response to user input; and automatically re-position two or more nodes of the plurality of nodes in response to displaying the new node at the first position, wherein automatically re-positioning the two or more nodes includes: automatically re-positioning a first node that passes data as input to a second node, wherein the first node is initially positioned above and leftward of the second node, wherein automatically re-positioning the first node comprises automatically moving the first node in a rightward direction to a new position; automatically determining that the new position of the first node violates the left-to-right data flow semantics with respect to the data passed as input to the second node; and in response to said determining that the new position of the first node violates the left-to-right data flow semantics, automatically re-positioning the second node in a rightward direction to a new position so that the first node remains positioned above and leftward of the second node, wherein the new position of the second node is not determined based on user input specifying positioning information for the second node.