IP Library Granted Patent US 7,484,200
Granted Patent B2
US 7,484,200 · App. 10/303,525 · Granted Jan 27, 2009

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,484,200
App. No.
10/303,525
Granted
Jan 27, 2009
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 (106)

1. A computer-implemented method for automatically analyzing 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, and 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

displaying one or more suggested modifications to the graphical program based on said automatically analyzing the graphical program, wherein said displaying one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to 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 suggested modifications are selected from the following set:

displaying a new node;

removing a node;

displaying a new connection;

modifying a connection; and

removing a connection.

2. The method of claim 1 ,

wherein the graphical program comprises a graphical data flow program.

3. The method of claim 1 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing performance of the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to improve the performance of the graphical program.

4. The method of claim 1 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing functionality of the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to change the functionality of the graphical program.

5. The method of claim 1 ,

wherein said automatically analyzing the graphical program comprises automatically determining an error in the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying a suggested modification to correct the error.

6. The method of claim 1 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.

7. The method of claim 1 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested portions of graphical source code to include in the graphical program.

8. The method 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 displaying the one or more suggested modifications to the graphical program includes displaying one or more suggested modifications to the graphical user interface.

9. The method of claim 1 , further comprising:

applying at least one of the one or more suggested modifications to the graphical program.

10. The method of claim 9 ,

wherein said applying the at least one of the one or more suggested modifications to the graphical program comprises automatically modifying the graphical program to implement the at least one of the one or more suggested modifications.

11. The method of claim 10 , further comprising:

receiving user input selecting the at least one of the one or more suggested modifications to apply to the graphical program;

wherein said automatically modifying the graphical program comprises automatically modifying the graphical program to implement the one or more selected modifications.

12. The method of claim 10 ,

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

13. The method of claim 10 ,

wherein said automatically modifying the graphical program includes automatically adding the new node to the graphical program.

14. The method of claim 10 ,

wherein said automatically modifying the graphical program includes automatically removing the node from the graphical program.

15. The method of claim 10 ,

wherein said automatically modifying the graphical program includes automatically replacing the node in the graphical program with the new node.

16. The method of claim 10 ,

wherein said automatically modifying the graphical program includes automatically changing connectivity of the plurality of nodes.

17. The method of claim 10 ,

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

18. The method of claim 9 , wherein said applying the at least one of the one or more suggested modifications 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.

19. The method of claim 1 , further comprising:

automatically generating a new graphical program based on the original graphical program;

wherein the automatically generated new graphical program includes the one or more suggested modifications to the original graphical program.

20. A memory medium comprising program instructions for automatically analyzing a graphical program, wherein the program instructions are executable 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, wherein said automatically analyzing comprises automatically analyzing the plurality of nodes and the connections between the nodes; and

displaying one or more suggested modifications to the graphical program based on said automatically analyzing the graphical program, wherein said displaying the one or more suggested modifications comprises displaying one more suggested modifications to 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 suggested modifications are selected from the following set:

displaying a new node;

removing a node;

displaying a new connection;

modifying a connection; and

removing a connection.

21. The memory medium of claim 20 ,

wherein the memory medium stores the graphical program.

22. The memory medium of claim 20 ,

wherein the graphical program comprises a graphical data flow program.

23. The memory medium of claim 20 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing performance of the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to improve the performance of the graphical program.

24. The memory medium of claim 20 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing functionality of the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to change the functionality of the graphical program.

25. The memory medium of claim 20 ,

wherein said automatically analyzing the graphical program comprises automatically determining an error in the graphical program;

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying a suggested modification to correct the error.

26. The memory medium of claim 20 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.

27. The memory medium of claim 20 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested portions of graphical source code to include in the graphical program.

28. A system, comprising:

a processor; and

a memory medium coupled to the processor, wherein the memory medium stores program instructions for automatically analyzing a graphical program, wherein the program instructions are executable to:

automatically analyze 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, wherein said automatically analyzing comprises automatically analyzing the plurality of nodes and the connections between the nodes; and

display one or more suggested modifications to the graphical program based on said automatically analyzing the graphical program, wherein said displaying the one or more suggested modifications comprises displaying one more suggested modifications to 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 suggested modifications are selected from the set of:

displaying a new node;

removing a node;

displaying a new connection;

modifying a connection; and

removing a connection.

29. The system of claim 28 ,

wherein the memory medium stores the graphical program.

30. The system of claim 28 ,

wherein the graphical program comprises a graphical data flow program.

31. The system of claim 28 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing performance of the graphical program; and

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to improve the performance of the graphical program.

32. The system of claim 28 ,

wherein said automatically analyzing the graphical program comprises automatically analyzing functionality of the graphical program; and

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to change the functionality of the graphical program.

33. The system of claim 28 ,

wherein said automatically analyzing the graphical program comprises automatically determining an error in the graphical program; and

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying a suggested modification to correct the error.

34. The system of claim 28 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.

35. The system of claim 28 ,

wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested portions of graphical source code to include in the graphical program.

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 Nov 25, 2002
From: JOFFRAIN, PHILIPPE G.; SUMNER, JOEL; SHAH, DARSHAN K.; NATTINGER, DARREN M.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 013547/0012 →