Claims
- 1. A method for programmatically generating a second graphical program based on a first graphical program, the method comprising:
receiving information specifying the first graphical program; programmatically generating the second graphical program based on the information, wherein the second graphical program implements functionality of the first graphical program.
- 2. The method of claim 1, wherein the second graphical program performs substantially like the first graphical program.
- 3. The method of claim 1,
wherein the first graphical program implements first functionality; wherein the second graphical program also implements the first functionality.
- 4. The method of claim 1,
wherein the second graphical program implements only a portion of functionality of the first graphical program.
- 5. The method of claim 1,
wherein the first graphical program includes a first plurality of interconnected nodes which perform a first functionality; wherein the second graphical program includes a second plurality of interconnected nodes which perform the first functionality.
- 6. The method of claim 5, wherein the first plurality of interconnected nodes in the first graphical program visually indicate the first functionality of the first graphical program;
wherein the second plurality of interconnected nodes in the second graphical program visually indicate the first functionality of the second graphical program.
- 7. The method of claim 5,
wherein the first plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow; wherein the second plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow.
- 8. The method of claim 1,
wherein the first graphical program includes a first block diagram and a first user interface; wherein the second graphical program includes a second block diagram and a second user interface.
- 9. The method of claim 8,
wherein the second block diagram appears substantially like the first block diagram.
- 10. The method of claim 8,
wherein the second user interface appears substantially like the first user interface.
- 11. The method of claim 1,
wherein the first graphical program is associated with a first programming development environment; wherein the second graphical program is associated with a second programming development environment, wherein the second programming development environment is different than the first programming development environment.
- 12. The method of claim 1,
wherein the first graphical program is developed according to a first programming development environment; wherein the second graphical program is programmatically generated according to a second programming development environment, wherein the second programming development environment is different than the first programming development environment.
- 13. The method of claim 1,
wherein the first graphical program is developed according to a first graphical programming language; wherein the second graphical program is programmatically generated according to a second graphical programming language, wherein the second graphical programming language is different than the first graphical programming language.
- 14. The method of claim 13,
wherein the first graphical programming language is the G language.
- 15. The method of claim 13,
wherein the second graphical programming language is the G language.
- 16. The method of claim 1,
wherein the first graphical program is one of a data flow program, control flow program, or an execution flow program; wherein the second graphical program is one of a data flow program, control flow program, or an execution flow program.
- 17. The method of claim 1, further comprising:
executing the second graphical program, wherein the second graphical program performs functionality of the first graphical program.
- 18. The method of claim 1, further comprising:
compiling the second graphical program; downloading the second graphical program to a hardware device.
- 19. The method of claim 1,
wherein the first graphical program is a Simulink program.
- 20. The method of claim 1,
wherein the first graphical program is one of a Simulink program, a VEE program, or a LabVIEW program.
- 21. The method of claim 1,
wherein the second graphical program is one of a Simulink program, a VEE program, or a LabVIEW program.
- 22. The method of claim 1,
wherein the received information specifying the first graphical program comprises one or more of text information and binary information.
- 23. The method of claim 1,
wherein the received information specifying the first graphical program comprises abstract information describing the first graphical program.
- 24. The method of claim 1, p1 wherein the received information specifying the first graphical program comprises a model file describing the first graphical program.
- 25. The method of claim 1, further comprising:
constructing an abstract representation of the first graphical program based on the received information specifying the first graphical program; wherein said programmatically generating the second graphical program comprises programmatically creating the second graphical program based on the determined representation.
- 26. The method of claim 25,
wherein said constructing an abstract representation of the first graphical program comprises constructing a directed graph representation of the first graphical program.
- 27. The method of claim 25,
wherein said constructing an abstract representation of the first graphical program comprises constructing one or more data structures representing the first graphical program.
- 28. The method of claim 1,
wherein the first graphical program includes a first node; wherein said receiving information specifying the first graphical program comprises receiving information specifying the first node; wherein said programmatically generating the second graphical program comprises programmatically including a second node corresponding to the first node in the second graphical program.
- 29. The method of claim 28,
wherein the first node has particular functionality; wherein the second node has functionality equivalent to the particular functionality of the first node.
- 30. A memory medium for programmatically generating a second graphical program based on a first graphical program, the memory medium comprising program instructions executable to:
receive information specifying the first graphical program; programmatically generate the second graphical program based on the information, wherein the second graphical program implements functionality of the first graphical program.
- 31. The memory medium of claim 30, wherein the second graphical program performs substantially like the first graphical program.
- 32. The memory medium of claim 30,
wherein the first graphical program implements first functionality; wherein the second graphical program also implements the first functionality.
- 33. The memory medium of claim 30,
wherein the second graphical program implements only a portion of functionality of the first graphical program.
- 34. The memory medium of claim 30,
wherein the first graphical program includes a first plurality of interconnected nodes which perform a first functionality; wherein the second graphical program includes a second plurality of interconnected nodes which perform the first functionality.
- 35. The memory medium of claim 34,
wherein the first plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow; wherein the second plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow.
- 36. The memory medium of claim 30,
wherein the first graphical program includes a first block diagram and a first user interface; wherein the second graphical program includes a second block diagram and a second user interface.
- 37. The memory medium of claim 30,
wherein the first graphical program is associated with a first programming development environment; wherein the second graphical program is associated with a second programming development environment, wherein the second programming development environment is different than the first programming development environment.
- 38. A system for programmatically generating a second graphical program based on a first graphical program, the system comprising:
a processor coupled to a memory, wherein the memory stores program instructions; wherein the processor is operable to execute the program instructions in order to:
receive information specifying the first graphical program; programmatically generate the second graphical program based on the information, wherein the second graphical program implements functionality of the first graphical program.
- 39. The system of claim 38,
wherein the first graphical program implements first functionality; wherein the second graphical program also implements the first functionality.
- 40. The system of claim 38,
wherein the second graphical program implements only a portion of functionality of the first graphical program.
- 41. The system of claim 38,
wherein the first graphical program includes a first plurality of interconnected nodes which perform a first functionality; wherein the second graphical program includes a second plurality of interconnected nodes which perform the first functionality.
- 42. The system of claim 38,
wherein the first plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow; wherein the second plurality of interconnected nodes are interconnected according to one or more of data flow, control flow, and execution flow.
- 43. The system of claim 38,
wherein the first graphical program includes a first block diagram and a first user interface; wherein the second graphical program includes a second block diagram and a second user interface.
- 44. The system of claim 38,
wherein the first graphical program is associated with a first programming development environment; wherein the second graphical program is associated with a second programming development environment, wherein the second programming development environment is different than the first programming development environment.
PRIORITY CLAIM
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/518,492 titled “System and Method for Programmatically Creating a Graphical Program”, filed Mar. 3, 2000, whose inventors were Ram Kudukoli, Robert Dye, Melanie Jensen, and Yumiko Kawachi, which claims benefit of priority of U.S. provisional Patent Application Serial No. 60/149,943 titled “System and Method for Programmatically Creating a Graphical Program” and filed Aug. 19, 1999.
[0002] This is also a continuation-in-part of U.S. patent application Ser. No. 09/595,003 titled “System and Method for Automatically Generating a Graphical Program to Implement a Prototype”, filed Jun. 13, 2000, whose inventors were Nicolas Vazquez, Jeffrey L. Kodosky, Ram Kudukoli, Kevin L. Schultz, Dinesh Nair, Christophe Caltagirone.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60149943 |
Aug 1999 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
09518492 |
Mar 2000 |
US |
Child |
09742510 |
Dec 2000 |
US |
Parent |
09595003 |
Jun 2000 |
US |
Child |
09742510 |
Dec 2000 |
US |