Patent ID: 8151244

Claim:
A computer-implemented method for merging graphical programs, the method comprising: utilizing a computer to perform: receiving information regarding a first graphical program, a second graphical program, and a third graphical program, wherein the first graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the first graphical program, wherein the second graphical program comprises a second plurality of interconnected nodes that visually indicate functionality of the second graphical program, wherein the third graphical program comprises a third plurality of interconnected nodes that visually indicate functionality of the third graphical program, and wherein the third graphical program is an ancestor graphical program of the first and second graphical programs; analyzing the information to determine differences among the first, second, and third graphical programs; merging the first graphical program and the second graphical program based on the determined differences to generate a merged graphical program, wherein the first, second, and third graphical programs comprise respective first, second, and third graphs, wherein each difference comprises a respective source sub-graph comprising one or more nodes and zero or more edges in the first or second graph, and a respective target sub-graph comprising one or more nodes and zero or more edges in the third graph, wherein nodes common to the first or second graph and the third graphical programs comprise anchor nodes, and wherein said merging comprises: removing all non-anchor nodes and connections thereto in the target sub-graph from the merged graphical program; adding all non-anchor nodes and connections thereto in the source sub-graph to the merged graphical program; determining all edges in the source sub-graph that connect anchor nodes to non-anchor nodes; and for each determined edge, adding to the merged graphical program an edge that connects a corresponding anchor node in the target sub-graph with a corresponding non-anchor node added from the source sub-graph; and displaying the merged graphical program on a display device.