IP Library Granted Patent US 7,954,082
Granted Patent B2
US 7,954,082 · App. 12/341,036 · Granted May 31, 2011

Automatically analyzing and modifying a graphical program

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,954,082
App. No.
12/341,036
Granted
May 31, 2011
Kind
B2
Abstract

A system and method for programmatically analyzing and modifying a graphical program. The graphical program may be stored in a memory. The graphical program may then be programmatically analyzed. In various embodiments, the graphical program may be a graphical program that performs any function for any application, and the graphical program may be analyzed to determine any information or characteristics regarding the graphical program. One or more suggested modifications to the graphical program may be displayed based on the programmatic analysis performed on the graphical program. The user may be able to select which of the suggested modifications to automatically apply to the graphical program. The graphical program may then be programmatically modified to implement the one or more suggested modifications selected by the user.

Claims (71)

1. A non-transitory computer readable memory medium that stores program instructions for programmatically analyzing a graphical program, wherein the program instructions are executable by a processor to implement:

automatically analyzing the graphical program, wherein the graphical program comprises a plurality of nodes and connections between the nodes, wherein the plurality of interconnected nodes visually indicate functionality of the program, and wherein said automatically analyzing the graphical program comprises automatically analyzing the plurality of nodes and the connections between the nodes; and

automatically modifying the graphical program with one or more modifications based on said automatically analyzing the graphical program, wherein the one or more modifications are selected from the following set of:

displaying a new node;

removing a node;

displaying a new connection;

modifying a connection; and

removing a connection.

2. The non-transitory computer readable memory medium of claim 1 , wherein said automatically modifying the graphical program comprises one or more of:

improving performance of the graphical program;

correcting an error in the graphical program; or

changing functionality of the graphical program.

3. The non-transitory computer readable memory medium of claim 1 ,

wherein the graphical program comprises a graphical data flow program.

4. The non-transitory computer readable memory medium of claim 1 ,

wherein said automatically modifying the graphical program comprises automatically modifying the graphical program with no user input received during said modifying.

5. The non-transitory computer readable memory medium of claim 1 , wherein the program instructions are further executable to implement:

displaying one or more suggested modifications to the graphical program based on said automatically analyzing the graphical program; and

receiving user input requesting to perform the one or more suggested modifications;

wherein said automatically modifying the graphical program comprises automatically performing the one or more suggested modifications.

6. The non-transitory computer readable memory medium of claim 1 , wherein the program instructions are further executable to implement:

displaying one or more options for affecting the programmatic modification of the graphical program;

receiving user input selecting one or more of the one or more displayed options;

wherein said automatically modifying the graphical program comprises automatically modifying the graphical program in accordance with the one or more selected options.

7. The non-transitory computer readable memory medium of claim 1 ,

wherein the graphical program includes a graphical user interface;

wherein said automatically analyzing the graphical program comprises automatically analyzing the graphical user interface; and

wherein said automatically modifying the graphical program comprises automatically modifying the graphical user interface.

8. The non-transitory computer readable memory medium of claim 1 ,

wherein said automatically modifying the graphical program includes automatically replacing a first node in the graphical program with a second node.

9. The non-transitory computer readable memory medium of claim 1 ,

wherein said automatically modifying the graphical program includes automatically changing one or more properties of at least one of the plurality of nodes.

10. The non-transitory computer readable memory medium of claim 1 ,

wherein the graphical program has first functionality;

wherein said automatically modifying the graphical program includes automatically modifying the graphical program to have second functionality, wherein the second functionality is different than the first functionality.

11. The non-transitory computer readable memory medium of claim 1 ,

wherein the memory medium stores the graphical program.

12. A computer-implemented method for automatically modifying a graphical program, the method comprising:

storing the graphical program in a memory, wherein the graphical program comprises a plurality of nodes and connections between the nodes, wherein the plurality of interconnected nodes visually indicate functionality of the program;

automatically analyzing the graphical program, wherein said automatically analyzing the graphical program comprises automatically analyzing the plurality of nodes and the connections between the nodes; and

automatically modifying the graphical program with one or more modifications based on said automatically analyzing the graphical program, wherein said automatically modifying the graphical program comprises modifying at least one node and/or connection of the plurality of interconnected nodes which visually alter an appearance of the graphical program, wherein the one or more modifications are selected from the following set of:

displaying a new node;

removing a node;

displaying a new connection;

modifying a connection; or and

removing a connection.

13. The method of claim 12 , wherein said automatically modifying the graphical program comprises one or more of:

improving performance of the graphical program;

correcting an error in the graphical program; or

changing functionality of the graphical program.

14. The method of claim 12 ,

wherein the graphical program comprises a graphical data flow program.

15. The method of claim 12 ,

wherein said automatically modifying the graphical program comprises automatically modifying the graphical program with no user input received during said modifying.

16. The method of claim 12 , further comprising:

displaying one or more suggested modifications to the graphical program based on said automatically analyzing the graphical program; and

receiving user input requesting to perform the one or more suggested modifications;

wherein said automatically modifying the graphical program comprises automatically performing the one or more suggested modifications.

17. The method of claim 12 , further comprising:

displaying one or more options for affecting the programmatic modification of the graphical program;

receiving user input selecting one or more of the one or more displayed options;

wherein said automatically modifying the graphical program comprises automatically modifying the graphical program in accordance with the one or more selected options.

18. The method of claim 12 ,

wherein the graphical program includes a graphical user interface;

wherein said automatically analyzing the graphical program comprises automatically analyzing the graphical user interface; and

wherein said automatically modifying the graphical program comprises automatically modifying the graphical user interface.

19. The method of claim 12 ,

wherein said automatically modifying the graphical program includes automatically changing one or more properties of at least one of the plurality of nodes.

20. The method of claim 12 ,

wherein the graphical program has first functionality;

wherein said automatically modifying the graphical program includes automatically modifying the graphical program to have second functionality, wherein said second functionality is different than said first functionality.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2008
From: JOFFRAIN, PHILIPPE G.; SUMNER, JOEL; SHAH, DARSHAN K.; NATTINGER, DARREN M.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 022015/0148 →