Claims
- 1. A method for modifying a graphical program, the method comprising:
storing the graphical program on a memory medium; programmatically analyzing the graphical program via a network; and programmatically modifying the graphical program via the network, wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program based on said programmatically analyzing the graphical program.
- 2. The method of claim 1,
wherein the memory medium on which the graphical program is stored is at a first location; wherein said programmatically analyzing and modifying the graphical program comprises remotely programmatically analyzing and modifying the graphical program from a second location via the network.
- 3. The method of claim 2,
wherein said programmatically analyzing and modifying the graphical program comprises a software program on a computer system at the second location executing to programmatically analyze and modify the graphical program via the network.
- 4. The method of claim 1,
wherein said storing the graphical program on the memory medium comprises storing the graphical program on a memory medium of a first computer system; wherein the first computer system is coupled to a second computer system via the network; wherein said programmatically analyzing and modifying the graphical program via the network comprises the second computer system communicating with the first computer system via the network to programmatically analyze and modify the graphical program.
- 5. The method of claim 4, further comprising:
the first computer system requesting modification of the graphical program; wherein the second computer performs the programmatic analysis and modification in response to said requesting modification of the graphical program.
- 6. The method of claim 4,
wherein said second computer system communicating with the first computer system comprises first software executing on the second computer system communicating via the network with second software executing on the first computer system to programmatically analyze and modify the graphical program.
- 7. The method of claim 6,
wherein the first software executing on the second computer system executes to specify modifications to the graphical program; and wherein the second software executing on the first computer executes to perform the specified modifications to the graphical program.
- 8. The method of claim 4, further comprising:
the first computer system communicating with the second computer system to send the graphical program to the second computer system via the network; wherein said programmatically analyzing and modifying the graphical program comprises the second computer system programmatically analyzing and modifying the graphical program; and wherein the method further comprises the second computer system communicating with the first computer system to send a modified version of the graphical program to the first computer system via the network.
- 9. The method of claim 8, further comprising:
the first computer system storing the modified version of the graphical program on the memory medium.
- 10. The method of claim 1,
wherein said storing the graphical program on the memory medium comprises storing one or more data structures representing the graphical program on the memory medium; and wherein said programmatically modifying the graphical program comprises changing the one or more data structures.
- 11. The method of claim 1,
wherein said storing the graphical program on the memory medium comprises storing the graphical program on a memory medium of a first device; wherein the first device is coupled to a computer system via the network; wherein said programmatically analyzing and modifying the graphical program via the network comprises the computer system communicating with the first device via the network to programmatically analyze and modify the graphical program.
- 12. The method of claim 11,
wherein the graphical program is deployed on the first device for execution.
- 13. The method of claim 12,
wherein before said programmatically analyzing and modifying the graphical program, the graphical program is executable by the first device to perform first functionality; and wherein after said programmatically analyzing and modifying the graphical program, the graphical program is executable by the first device to perform second functionality, wherein the second functionality is different than the first functionality.
- 14. The method of claim 1, further comprising:
displaying results of said programmatically analyzing the graphical program.
- 15. The method of claim 14,
wherein said displaying results of said programmatically analyzing the graphical program comprises displaying one or more suggested modifications to the graphical program; wherein the method further comprises receiving user input specifying one or more of the displayed modifications; wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program according to the one or more specified modifications.
- 16. The method of claim 1,
wherein said programmatically analyzing the graphical program comprises programmatically determining one or more errors in the graphical program; and wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program to correct the one or more errors.
- 17. The method of claim 1,
wherein said programmatically analyzing the graphical program comprises programmatically analyzing performance of the graphical program; wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program to improve the performance of the graphical program.
- 18. The method of claim 1,
wherein said programmatically analyzing the graphical program comprises programmatically analyzing functionality of the graphical program; wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program to change the functionality of the graphical program.
- 19. The method of claim 1, further comprising:
receiving user input specifying one or more desired modifications to make to the graphical program; wherein said programmatically analyzing the graphical program comprises programmatically analyzing the graphical program to determine how to make the one or more specified modifications; and wherein said programmatically modifying the graphical program comprises programmatically making the one or more specified modifications to the graphical program.
- 20. The method of claim 1, further comprising:
receiving user input specifying desired functionality for the graphical program; wherein said programmatically analyzing the graphical program comprises programmatically analyzing the graphical program to determine how to modify the graphical program to implement the specified functionality; and wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program to implement the specified functionality.
- 21. The method of claim 1,
wherein the graphical program includes a block diagram; wherein said programmatically analyzing the graphical program comprises programmatically analyzing the block diagram; and wherein said programmatically modifying the graphical program comprises programmatically modifying the block diagram.
- 22. The method of claim 1,
wherein the graphical program includes a graphical user interface; wherein said programmatically analyzing the graphical program comprises programmatically analyzing the graphical user interface; and wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical user interface.
- 23. The method of claim 1,
wherein the graphical program includes a plurality of graphical program nodes; wherein said programmatically modifying the graphical program includes programmatically adding one or more nodes to the graphical program.
- 24. The method of claim 1,
wherein the graphical program includes a plurality of graphical program nodes; wherein said programmatically modifying the graphical program includes programmatically removing one or more nodes from the graphical program.
- 25. The method of claim 1,
wherein the graphical program includes a plurality of graphical program nodes; wherein said programmatically modifying the graphical program includes programmatically replacing a first node in the graphical program with a second node.
- 26. The method of claim 1,
wherein the graphical program includes first graphical source code that has first functionality; wherein said programmatically modifying the graphical program includes programmatically modifying the first graphical source code to have second functionality, wherein said second functionality is different than said first functionality.
- 27. The method of claim 1,
wherein the graphical program includes a plurality of graphical program nodes; wherein said programmatically modifying the graphical program includes programmatically changing a configuration of one or more nodes in the graphical program.
- 28. The method of claim 1,
wherein said programmatically modifying the graphical program comprises one or more of:
improving performance of the graphical program; correcting an error in the graphical program; and/or changing functionality of the graphical program.
- 29. The method of claim 1,
wherein said programmatically modifying the graphical program comprises automatically modifying the graphical program with no user input received during said modifying.
- 30. The method of claim 1,
wherein said programmatically analyzing and modifying the graphical program via the network comprises programmatically analyzing and modifying the graphical program via the Internet.
- 31. The method of claim 1,
wherein said storing the graphical program on the memory medium comprises storing the graphical program on one or more of:
a disk drive; a file system; random access memory (RAM); a magnetic medium; and/or an optical medium.
- 32. The method of claim 1,
wherein the graphical program comprises a graphical data flow program.
- 33. A method for modifying a graphical program, the method comprising:
storing the graphical program on a first computer system; a second computer system communicating with the first computer system to programmatically analyze the graphical program; and the second computer system communicating with the first computer system to programmatically modify the graphical program based on said programmatically analyzing the graphical program.
- 34. The method of claim 33,
wherein the second computer system is coupled to the first computer system via a network; wherein said second computer system communicating with the first computer system comprises the second computer system communicating with the first computer system over the network.
- 35. A computer-implemented method for programmatically analyzing a graphical program, the method comprising:
storing the graphical program on a memory medium; programmatically analyzing the graphical program via a network; and displaying one or more suggested modifications to the graphical program based on said programmatically analyzing the graphical program.
- 36. The method of claim 35,
wherein the memory medium on which the graphical program is stored is at a first location; wherein said programmatically analyzing the graphical program comprises remotely programmatically analyzing the graphical program from a second location via the network.
- 37. The method of claim 36,
wherein said programmatically analyzing the graphical program comprises a software program on a computer system at the second location executing to programmatically analyze the graphical program via the network.
- 38. The method of claim 35,
wherein said storing the graphical program on the memory medium comprises storing the graphical program on a memory medium of a first computer system; wherein the first computer system is coupled to a second computer system via the network; wherein said programmatically analyzing the graphical program via the network comprises the second computer system communicating with the first computer system via the network to programmatically analyze the graphical program.
- 39. The method of claim 38, further comprising:
the first computer system requesting analysis of the graphical program; wherein the second computer performs the programmatic analysis in response to said requesting analysis of the graphical program.
- 40. The method of claim 38,
wherein the first computer system includes a display; wherein said displaying the one or more suggested modifications to the graphical program comprises displaying the one or more suggested modifications on the display of the first computer system.
- 41. The method of claim 38,
wherein the second computer system includes a display; wherein said displaying the one or more suggested modifications to the graphical program comprises displaying the one or more suggested modifications on the display of the second computer system.
- 42. The method of claim 35,
wherein said storing the graphical program on the memory medium comprises storing the graphical program on a memory medium of a first device; wherein the first device is coupled to a computer system via the network; wherein said programmatically analyzing the graphical program via the network comprises the computer system communicating with the first device via the network to programmatically analyze the graphical program.
- 43. The method of claim 35,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 44. The method of claim 35,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 45. The method of claim 35,
wherein said programmatically analyzing the graphical program comprises programmatically determining one or more errors in the graphical program; wherein said displaying the one or more suggested modifications to the graphical program comprises displaying one or more suggested modifications to correct the one or more errors.
- 46. The method of claim 35,
wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.
- 47. The method of claim 35,
wherein said displaying the one or more suggested modifications to the graphical program comprises visually altering an appearance of the graphical program to indicate the one or more suggested modifications.
- 48. A computer-implemented method for programmatically analyzing a graphical program, the method comprising:
a first computer system accessing a memory medium over a network, wherein the memory medium stores the graphical program; the first computer system programmatically analyzing the graphical program stored on the memory medium; and displaying one or more suggested modifications to the graphical program based on said programmatically analyzing the graphical program.
- 49. The method of claim 48,
wherein the memory medium is comprised in a second computer system, wherein the first computer system is coupled to the second computer system over the network.
- 50. The method of claim 48,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 51. The method of claim 48,
wherein the graphical program comprises a graphical data flow program.
- 52. The method of claim 48,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 53. The method of claim 48,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 54. The method of claim 48,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 55. The method of claim 48,
wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.
- 56. The method of claim 48,
wherein said displaying the one or more suggested modifications to the graphical program comprises visually altering an appearance of the graphical program to indicate the one or more suggested modifications.
- 57. A memory medium comprising program instructions for programmatically analyzing a graphical program, wherein the memory medium is comprised in a first computer system, wherein the program instructions are executable to implement:
accessing a second memory medium over a network, wherein the second memory medium stores the graphical program; programmatically analyzing the graphical program stored on the second memory medium; and displaying one or more suggested modifications to the graphical program based on said programmatically analyzing the graphical program.
- 58. The memory medium of claim 57,
wherein the second memory medium is comprised in a second computer system, wherein the first computer system is coupled to the second computer system over the network.
- 59. The memory medium of claim 57,
wherein the graphical program comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program.
- 60. The memory medium of claim 57,
wherein the graphical program comprises a graphical data flow program.
- 61. The memory medium of claim 57,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 62. The memory medium of claim 57,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 63. The memory medium of claim 57,
wherein said programmatically analyzing the graphical program comprises programmatically 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.
- 64. The memory medium of claim 57,
wherein said displaying the one or more suggested modifications to the graphical program comprises displaying text information indicating the one or more suggested modifications.
- 65. The memory medium of claim 57,
wherein said displaying the one or more suggested modifications to the graphical program comprises visually altering an appearance of the graphical program to indicate the one or more suggested modifications.
- 66. A memory medium comprising program instructions for programmatically analyzing and modifying a graphical program, wherein the memory medium is comprised in a first computer system, wherein the program instructions are executable to implement:
accessing a second memory medium over a network, wherein the second memory medium stores the graphical program; programmatically analyzing the graphical program stored on the second memory medium; and programmatically modifying the graphical program stored on the second memory medium via the network, wherein said programmatically modifying the graphical program comprises programmatically modifying the graphical program based on results of said programmatically analyzing the graphical program.
- 67. The memory medium of claim 66, further comprising:
displaying one or more suggested modifications to the graphical program based on said programmatically analyzing the graphical program; wherein said programmatically modifying comprises programmatically modifying the graphical program to implement at least a subset of the one or more suggested modifications.
PRIORITY CLAIM
[0001] This application claims benefit of priority of U.S. provisional application Serial No. 60/403,351 titled “Programmatically Analyzing and Modifying a Graphical Program” filed Aug. 14, 2002, whose inventors are Joel Sumner, Daniel Hedges, Phil Joffrain and Darren Nattinger.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60403351 |
Aug 2002 |
US |