System and method for accessing object capabilities in a graphical program
DCFirst Claim
1. A computer-implemented method for creating a graphical program, wherein the method for creating the graphical program operates in a computer including a display screen and a user input device, the method for creating the graphical program comprising:
- creating the graphical program in response to user input, wherein the graphical program is created in a first graphical program development environment, wherein said creating the graphical program includes;
displaying on the screen a first node in the graphical program in response to user input, wherein the first node is operable to access capabilities of a software object, wherein the software object is not present in the first graphical program development environment;
configuring the first node to receive information on the software object in response to user input;
wherein, during execution of the graphical program, the first node is operable to access the capabilities of the software object.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A system and method for creating a graphical program, wherein the graphical program is operable to access capabilities of an object. During creation of the graphical program, the user operates to place an object node in the graphical program, wherein the object node is operable to access capabilities of the object. This preferably includes the user arranging on the screen the graphical program, including the object node and various other nodes, and connecting the various nodes to create the graphical program. The user then configures the object node to receive information on the object, preferably by the user configuring the object node with a reference to the object, e.g., a pointer, address, or other information which specifies the identity and/or location of the object. The user also selects one or more methods to be invoked on the object and/or one or more properties to get/set on the object. Once the graphical program has been created, then during execution of the graphical program, the object node accesses the capabilities of the object.
-
Citations
84 Claims
-
1. A computer-implemented method for creating a graphical program, wherein the method for creating the graphical program operates in a computer including a display screen and a user input device, the method for creating the graphical program comprising:
-
creating the graphical program in response to user input, wherein the graphical program is created in a first graphical program development environment, wherein said creating the graphical program includes;
displaying on the screen a first node in the graphical program in response to user input, wherein the first node is operable to access capabilities of a software object, wherein the software object is not present in the first graphical program development environment;
configuring the first node to receive information on the software object in response to user input;
wherein, during execution of the graphical program, the first node is operable to access the capabilities of the software object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
wherein the software object is created in a second program development environment, wherein the second program development environment is different than the first graphical program development environment. -
3. The method of claim 2,
wherein the second program development environment is a text-based program development environment. -
4. The method of claim 1, further comprising:
creating the software object in a second program development environment, wherein the second program development environment is different than the first graphical program development environment.
-
5. The method of claim 1,
wherein the software object is operable to execute independently of the graphical program. -
6. The method of claim 1,
wherein the software object exists prior to said creating the graphical program. -
7. The method of claim 1, further comprising:
-
executing the graphical program, wherein the graphical program is executed by a graphical program execution engine;
wherein said executing the graphical program comprises executing the first node to access the capabilities of the software object;
wherein said accessing the capabilities of the software object comprises executing the software object;
wherein the software object executes without use of the graphical program execution engine.
-
-
8. The method of claim 1, further comprising:
-
executing the graphical program in a first process;
wherein execution of the graphical program causes execution of the software object;
wherein the software object executes in a second process.
-
-
9. The method of claim 1,
wherein said creating the graphical program in response to user input does not include receiving user input specifying text-based programming language source code to implement the graphical program; wherein the software object is a pre-existing software object that was constructed in response to text-based programming language source code.
-
10. The method of claim 1,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object is not one of the plurality of nodes.
-
11. The method of claim 1,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object does not implement functionality of any of the plurality of nodes.
-
12. The method of claim 1, further comprising:
-
compiling the graphical program to produce a first portion of executable code;
wherein the software object comprises a second portion of executable code which is independent from the first portion of executable code.
-
-
13. The method of claim 1,
wherein the first node is an object node specifically designed to access capabilities of software objects external to graphical programs. -
14. The method of claim 1,
wherein the computer is a first computer coupled to a second computer through a network; wherein the software object is stored on the second computer.
-
15. The method of claim 14, further comprising:
-
executing the graphical program, wherein the graphical program executes on the first computer;
wherein said executing the graphical program comprises executing the first node to access the capabilities of the software object, wherein said accessing the capabilities of the software object causes execution of the software object on the second computer.
-
-
16. The method of claim 15, further comprising:
displaying on the screen a user interface panel in response to user input for displaying data input to and/or output from the graphical program.
-
17. The method of claim 1, wherein the method for creating the graphical program further comprises:
arranging on the screen the graphical program including said first node.
-
18. The method of claim 17, wherein the graphical program comprises a plurality of nodes, wherein the method for creating the graphical program further comprises:
-
arranging on the screen said plurality of nodes, including said first node; and
connecting said plurality of nodes and said first node in response to user input to create the graphical program.
-
-
19. The method of claim 18, wherein the method creates a graphical data flow program;
wherein said connecting includes connecting said plurality of nodes and said first node to provide data flow between said plurality of nodes and said first node.
-
20. The method of claim 17, wherein the method for creating the graphical program further comprises:
displaying on the screen a user interface panel in response to user input for displaying data input to and/or output from the graphical program.
-
21. The method of claim 20, wherein the method for creating the graphical program further comprises:
arranging on the screen the user interface panel in response to user input.
-
22. The method of claim 1, further comprising:
-
constructing execution instructions in response to said graphical program, wherein said execution instructions are executable to access said capabilities of the software object; and
executing said execution instructions, wherein said first node accesses said capabilities of the software object during said executing.
-
-
23. The method of claim 1, wherein the software object is an independent application;
wherein the first node is operable to perform one or more of
1) trigger execution of the independent application;
or
2) get/set one or more properties of the independent application.
-
24. The method of claim 1,
wherein the software object comprises one of: -
an ActiveX object;
a Java object;
a C++ object;
a CORBA object.
-
-
25. The method of claim 1,
wherein the software object comprises a first method; wherein the first node is operable to invoke the first method of the software object.
-
26. The method of claim 25, further comprising:
configuring the first node to invoke the first method of the software object in response to user input.
-
27. The method of claim 1,
wherein the software object comprises a first property; -
wherein the first node is operable to perform one or more of;
get the first property;
set the first property.
-
-
28. The method of claim 27, further comprising:
configuring the first node to get/set the first property of the software object in response to user input.
-
29. The method of claim 1,
wherein said first node includes an object reference input for receiving a reference to the software object; wherein said configuring comprises connecting said object reference input of said first node to receive the reference to said software object.
-
30. The method of claim 29,
wherein said object node receives said information on said software object on said object reference input during execution of the graphical program. -
31. The method of claim 30, wherein said configuring comprises:
-
displaying on the screen an object reference node which includes an object reference output that provides the reference to said software object; and
connecting the object reference output of said object reference node to said object reference input of said first node.
-
-
32. The method of claim 1,
wherein said configuring comprises configuring said first node with a reference to said software object in response to user input. -
33. The method of claim 1,
wherein the graphical program comprises a diagram portion and a user interface portion; wherein the first node is comprised in the diagram portion.
-
34. The method of claim 1,
wherein the graphical program comprises a diagram portion and a user interface portion; wherein the first node is comprised in the user interface portion.
-
35. The method of claim 1, wherein the software object is comprised in a server, wherein said configuring comprises:
-
displaying on the screen a list of libraries associated with one or more servers;
selecting a library from said list of libraries in response to user input displaying on the screen a list of possible classes from the selected library; and
selecting a class from said list of possible classes in response to user input;
wherein said software object is instantiated from said class.
-
-
-
36. A computer-implemented method for creating a graphical program, wherein the method for creating the graphical program operates in a computer including a display screen and a user input device, the method for creating the graphical program comprising:
-
creating the graphical program in response to user input, wherein the graphical program is created in a first graphical program development environment, wherein said creating the graphical program includes;
displaying on the screen an object node in the graphical program in response to user input, wherein said object node is operable to access capabilities of a software object, wherein the software object is external to, and created independently of, the first graphical program development environment;
configuring the object node to receive information on the software object in response to user input;
wherein, during execution of the graphical program, the object node is operable to access said capabilities of the software object.
-
-
37. A computer-implemented method for creating a graphical program, wherein the method for creating the graphical program operates in a computer including a display screen and a user input device, the method for creating the graphical program comprising:
-
executing a first graphical program development environment application;
receiving user input to the first graphical program development environment application for creation of the graphical program;
wherein said receiving user input to the first graphical program development environment application comprises;
receiving user input requesting inclusion of a first node in the graphical program;
receiving user input to configure the first node to access capabilities of a pre-existing software object;
wherein, during execution of the graphical program, the first node is operable to access said capabilities of the pre-existing software object. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
compiling the graphical program to produce executable code;
wherein the executable code of the graphical program is executable to invoke execution of the pre-existing software object.
-
-
39. The method of claim 37, further comprising:
-
executing the graphical program;
wherein execution of the graphical program causes execution of the software object;
wherein the software object executes independently of the graphical program.
-
-
40. The method of claim 37, further comprising:
-
executing the graphical program in a first process;
wherein execution of the graphical program causes execution of the software object;
wherein the software object executes in a second process.
-
-
41. The method of claim 37,
wherein the pre-existing software object was created in a second program development environment, wherein the second program development environment is different than the first graphical program development environment. -
42. The method of claim 37,
wherein said receiving user input to the first graphical program development environment application for creation of the graphical program does not include receiving user input specifying text-based programming language source code; wherein the pre-existing software object was constructed in response to text-based programming language source code.
-
43. The method of claim 37, further comprising:
-
executing the graphical program, wherein the graphical program is executed by a graphical program execution engine;
wherein said executing the graphical program comprises executing the first node to access the capabilities of the software object;
wherein said accessing the capabilities of the software object comprises executing the software object;
wherein the software object executes without use of the graphical program execution engine.
-
-
44. The method of claim 37,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object is not one of the plurality of nodes.
-
45. The method of claim 37,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object does not implement functionality of any of the plurality of nodes.
-
46. The method of claim 37, further comprising:
-
compiling the graphical program to produce a first portion of executable code;
wherein the software object comprises a second portion of executable code which is independent from the first portion of executable code.
-
-
47. The method of claim 37,
wherein the computer is a first computer coupled to a second computer through a network; wherein the pre-existing software object is stored on the second computer.
-
48. The method of claim 47, further comprising:
-
executing the graphical program, wherein the graphical program executes on the first computer;
wherein said executing the graphical program comprises executing the first node to access the capabilities of the software object, wherein said accessing the capabilities of the software object causes execution of the software object on the second computer.
-
-
49. The method of claim 37, wherein the graphical program comprises a plurality of nodes, wherein the method further comprises:
-
arranging on the screen said plurality of nodes, including said first node; and
connecting said plurality of nodes and said first node in response to user input to create the graphical program.
-
-
50. The method of claim 49, wherein the method creates a graphical data flow program;
wherein said connecting includes connecting said plurality of nodes to provide data flow between said plurality of nodes.
-
51. The method of claim 37, further comprising:
-
constructing execution instructions in response to said graphical program, wherein said execution instructions are executable to access said capabilities of the software object; and
executing said execution instructions, wherein said first node accesses said capabilities of the software object during said executing.
-
-
52. The method of claim 37,
wherein the pre-existing software object comprises one of: -
an ActiveX object;
a Java object;
a C++ object;
a CORBA object.
-
-
53. The method of claim 37,
wherein the software object comprises a first method; wherein the first node is operable to invoke the first method of the software object.
-
54. The method of claim 53, further comprising:
configuring the first node to invoke the first method of the software object in response to user input.
-
55. The method of claim 37,
wherein the software object comprises a first property; -
wherein the first node is operable to perform one or more of;
get the first property;
set the first property.
-
-
56. The method of claim 55, further comprising:
configuring the first node to get/set the first property of the software object in response to user input.
-
57. A memory medium which stores a graphical program development environment, wherein the graphical program development environment comprises program instructions executable to create a graphical program in response to user input, wherein said creating the graphical program includes:
-
displaying on a display screen a first node in the graphical program in response to user input, wherein the first node is operable to access capabilities of a software object, wherein the software object is not present in the first graphical program development environment;
configuring the first node to receive information on the software object in response to user input;
wherein, during execution of the graphical program, the first node is operable to access the capabilities of the software object. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
wherein the software object is created in a second program development environment, wherein the second program development environment is different than the first graphical program development environment. -
59. The memory medium of claim 58,
wherein the second program development environment is a text-based program development environment. -
60. The memory medium of claim 57, further comprising:
creating the software object in a second program development environment, wherein the second program development environment is different than the first graphical program development environment.
-
61. The memory medium of claim 57,
wherein the software object is operable to execute independently of the graphical program. -
62. The memory medium of claim 57,
wherein the software object exists prior to creating the graphical program. -
63. The memory medium of claim 57, wherein the graphical program development environment further comprises program instructions executable to manage execution of the graphical program;
-
wherein said executing the graphical program comprises executing the first node to access the capabilities of the software object;
wherein said accessing the capabilities of the software object comprises executing the software object;
wherein said execution of the software object is not managed by the graphical program development environment.
-
-
64. The memory medium of claim 57,
wherein said creating the graphical program in response to user input does not include receiving user input specifying text-based programming language source code to implement the graphical program; wherein the software object is a pre-existing software object that was constructed in response to text-based programming language source code.
-
65. The memory medium of claim 57,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object is not one of the plurality of nodes.
-
66. The memory medium of claim 57,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object does not implement functionality of any of the plurality of nodes.
-
67. The memory medium of claim 57, wherein the graphical program development environment further comprises program instructions executable to compile the graphical program to produce a first portion of executable code;
wherein the software object comprises a second portion of executable code which is independent from the first portion of executable code.
-
68. The memory medium of claim 57,
wherein the memory medium is on a first computer coupled to a second computer through a network; wherein the software object is stored on the second computer.
-
69. The memory medium of claim 57, wherein the graphical program comprises a plurality of nodes, wherein the graphical program development environment further comprises program instructions executable to:
-
arrange on the display screen said plurality of nodes, including said first node; and
connect said plurality of nodes and said first node in response to user input to create the graphical program.
-
-
70. The memory medium of claim 57, wherein the graphical program development environment further comprises program instructions executable to display on the display screen a user interface panel in response to user input for displaying data input to and/or output from the graphical program.
-
71. The memory medium of claim 57, wherein the graphical program development environment further comprises program instructions executable to:
-
construct execution instructions in response to said graphical program, wherein said execution instructions are executable to access said capabilities of the software object; and
execute said execution instructions, wherein said first node accesses said capabilities of the software object during said executing.
-
-
72. The memory medium of claim 57,
wherein the software object comprises one of: -
an ActiveX object;
a Java object;
a C++ object;
a CORBA object.
-
-
73. The memory medium of claim 57,
wherein the software object comprises a first method; wherein the first node is operable to invoke the first method of the software object.
-
74. The memory medium of claim 57,
wherein the software object comprises a first property; -
wherein the first node is operable to perform one or more of;
get the first property;
set the first property.
-
-
-
75. A memory medium which stores a graphical program development environment, wherein the graphical program development environment comprises program instructions executable to create a graphical program in response to user input, wherein said creating the graphical program includes:
-
receiving user input requesting inclusion of a plurality of nodes in the graphical program, wherein the plurality of nodes includes a first node;
receiving user input to configure the first node to access capabilities of a pre-existing software object;
wherein, during execution of the graphical program, the first node is operable to access said capabilities of the pre-existing software object. - View Dependent Claims (76, 77, 78, 79, 80, 81, 82, 83, 84)
wherein the executable code of the graphical program is executable to invoke execution of the pre-existing software object.
-
-
77. The memory medium of claim 75,
wherein the pre-existing software object was created in a second program development environment, wherein the second program development environment is different than the first graphical program development environment. -
78. The memory medium of claim 75,
wherein the user input to the first graphical program development environment application for creation of the graphical program does not include receiving user input specifying text-based programming language source code; wherein the pre-existing software object was constructed in response to text-based programming language source code.
-
79. The memory medium of claim 75,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object is not one of the plurality of nodes.
-
80. The memory medium of claim 75,
wherein the graphical program includes a plurality of nodes visually indicating functionality of the graphical program; wherein the software object does not implement functionality of any of the plurality of nodes.
-
81. The memory medium of claim 75, wherein the graphical program development environment further comprises program instructions executable to compile the graphical program to produce a first portion of executable code;
wherein the software object comprises a second portion of executable code which is independent from the first portion of executable code.
-
82. The memory medium of claim 75,
wherein the pre-existing software object comprises one of: -
an ActiveX object;
a Java object;
a C++ object;
a CORBA object.
-
-
83. The memory medium of claim 75,
wherein the memory medium is on a first computer coupled to a second computer through a network; wherein the software object is stored on the second computer.
-
84. The memory medium of claim 75, wherein the graphical program comprises a plurality of nodes, wherein the graphical program development environment further comprises program instructions executable to:
arrange on the display screen said plurality of nodes, including said first node; and
connect said plurality of nodes and said first node in response to user input to create the graphical program.
Specification