Patent Number: 
Section: claims

1. A non-transitory computer readable storage medium storing computer executable instructions that when executed on a processor manage a graphical interface, the medium storing:instructions for providing a graphical interface, where the graphical interface:accesses a hardware device that is associated with a plurality of properties used to communicate with the hardware device, andaccesses a software device being accessible through the graphical interface, the software device being accessible to a computer;instructions for scanning for available hardware devices, whereintwo or more of the available hardware devices each respond to different commands, anda response to a given one of the commands identifies one of the available hardware devices, and the given one of the commands is user-defined;instructions for creating an additional hardware object for each hardware device detected and not already associated with a hardware object;instructions for providing a first interactive hardware object, where the first interactive hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;instructions for providing a first configuration represented by the first interactive hardware object, where the first configuration represents a collection of properties used to communicate with the hardware device and a first collection of values associated with the properties;instructions for providing a second interactive hardware object, where the second interactive hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;instructions for providing a second configuration represented by the second interactive hardware object, where the second configuration represents the same collection of properties as the first configuration and a second collection of values associated with the properties, wherein at least one value of a property differs between the first configuration and the second configuration;instructions for providing a software object, wherein the software object is representative of the software device, where the software object is depicted in the graphical interface and is configured to be interactive with the software device;instructions for displaying the first hardware object and the second hardware object simultaneously;instructions for receiving, from a user, a selection of at most one hardware object; andinstructions for communicating with the hardware device corresponding to the selected hardware object using the configuration represented by the hardware object. 2. The computer readable storage medium of claim 1, further comprising providing an analysis object, wherein said analysis object is adapted to communicate with at least one of said hardware object and said software object for analysis of data from at least one of said hardware object and said software object. 3. The computer readable storage medium of claim 2, wherein the analysis object filters data. 4. The computer readable storage medium of claim 2, wherein the analysis object plots data. 5. The computer readable storage medium of claim 1, further comprising:instructions for receiving code for execution by the hardware object. 6. The computer readable storage medium of claim 1, wherein a plurality of hardware objects are provided for a single hardware device. 7. The computer readable storage medium of claim 1, wherein a plurality of hardware objects are provided for a plurality of hardware devices. 8. The computer readable storage medium of claim 1, wherein at least one of instructions for providing at least one hardware object and providing at least one software object further comprises instructions for accessing at least one of a hardware object and a software object located on a remote computer. 9. The computer readable storage medium of claim 8, wherein instructions for accessing is performed through a web page. 10. The computer readable storage medium of claim 8, wherein instructions for accessing is performed over a network. 11. The computer readable storage medium of claim 10, wherein instructions for accessing is performed by passing commands over the network in a MATLAB environment. 12. The computer readable storage medium of claim 1, further comprising:instructions for modifying at least one of the hardware object and the software object. 13. The computer readable storage medium of claim 12, wherein modifying specifies a protocol for use by the hardware object for communication with the hardware device. 14. The computer readable storage medium of claim 12, wherein modifying modifies a value stored in an array of an array-based environment. 15. The computer readable storage medium of claim 1, further comprising:instructions for modifying a value stored in an array of an array-based environment, thereby modifying at least one of the hardware object and the software object. 16. The computer readable storage medium of claim 1, further comprising:instructions for exporting data from the graphical interface to an array-based environment. 17. The computer readable storage medium of claim 1, further comprising:instructions for converting user actions with the graphical interface into code. 18. The computer readable storage medium of claim 17, wherein the code is created in a MATLAB environment. 19. The computer readable storage medium of claim 17, wherein the code comprises steps to create an analysis object, configure the analysis object and write and read data from the analysis object. 20. The computer readable storage medium of claim 17, wherein the code comprises an analysis routine. 21. The computer readable storage medium of claim 1, wherein the graphical interface is implemented with an extensible API. 22. The computer readable storage medium of claim 1, further comprising:instructions for generating an analysis object so that the analysis object can be used in MATLAB. 23. The computer readable storage medium of claim 1, further comprising:instructions for generating an analysis object that can be used in SIMULINK. 24. The computer readable storage medium of claim 1, wherein the graphical interface is adapted to operate on a plurality of operating systems. 25. The computer readable storage medium of claim 1, wherein the graphical interface comprises a tree view, wherein the tree view groups the hardware objects and the software objects by a functionality characteristic. 26. The computer readable storage medium of claim 1, wherein the hardware object enables communication between the graphical interface and the hardware device, and the software object enables communication between the graphical interface and the software device. 27. A method for managing an interface, the method comprising:providing a graphical interface that provides interaction with an array-based environment, a hardware device and a software device being accessible through the graphical interface, the software device being accessible to a computer, the hardware device associated with a plurality of properties used to communicate with the hardware device;scanning for available hardware devices, whereintwo or more of the available hardware devices each respond to different commands, anda response to a given one of the commands identifies one of the available hardware devices, and the given one of the commands is user-defined;creating an additional hardware object for each hardware device detected and not already associated with a hardware object;providing a first hardware object, where the first hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;providing a first configuration of the hardware device represented by the first hardware object, the first configuration representing a collection of properties used to communicate with the hardware device and a first collection of values associated with the properties;providing a second hardware object, where the second hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;providing a second configuration of the hardware device represented by the second hardware object, the second configuration representing the same collection of properties as the first configuration and a second collection of values associated with the properties, wherein at least one value of a property differs between the first configuration and the second configuration;providing at least one software object, representative of the software device, where the software object is depicted in the graphical interface, and is configured to be interactive with the software device;updating the graphical interface when the first hardware object, the second hardware object, or the software object are changed in the array-based environment; anddisplaying the hardware object and the software object to a user. 28. The method of claim 27, further comprising:receiving code for execution by the hardware object. 29. The method of claim 27, wherein at least one additional hardware object is provided for the hardware device. 30. The method of claim 27, wherein additional hardware objects are provided for a plurality of hardware devices. 31. The method of claim 27, further comprising:providing an analysis object adapted to communicate with at least one of the hardware object and the software object. 32. The method of claim 27, wherein at least one of providing at least one hardware object and providing at least one software object further comprises accessing at least one of a hardware object and a software object located on a remote computer. 33. The method of claim 27, further comprising:modifying at least one of the hardware object and the software object. 34. The method of claim 33, wherein modifying specifies a protocol for use by the hardware object for communication with the hardware device. 35. The method of claim 33, wherein modifying modifies a value stored in an array of an array-based environment. 36. The method of claim 27, further comprising generating an analysis object that can be used in MATLAB. 37. The method of claim 27, further comprising generating an analysis object that can be used in SIMULINK. 38. The method of claim 27, wherein the hardware object enables communication between the graphical interface and the hardware device, and the software object enables communication between the graphical interface and the software device. 39. A computing device comprising:an array-based environment;a storage medium for storing and a processor for processing:a graphical interface, at least one hardware device and one software device being accessible through the graphical interface, the hardware device associated with a plurality of properties used to communicate with the hardware device;instructions for scanning for available hardware devices, whereintwo or more of the available hardware devices each respond to different commands, anda response to a given one of the commands identifies one of the available hardware devices, and the given one of the commands is user-defined;instructions for creating an additional hardware object for each hardware device detected and not already associated with a hardware object;a first hardware object, where the first hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;a first configuration of the hardware device represented by the first hardware object, the first configuration representing a collection of properties used to communicate with the hardware device and a first collection of values associated with the properties;a second hardware object, where the second hardware object:is accessible to the computer,is depicted in the graphical interface, andinteracts with the hardware device;a second configuration of the hardware device represented by the second hardware object, the second configuration representing the same collection of properties as the first configuration and a second collection of values associated with the properties, wherein at least one value of a property differs between the first configuration and the second configuration;a plurality of software objects, each representative of a software device accessible to the computer, where each of the software objects is depicted in the graphical interface and is configured to be interactive with the software device; anda display device to display the first hardware object, the second hardware object, and the plurality of software objects to a user in a single graphical interface simultaneously, wherein the first hardware object, the second hardware object, and the plurality of software objects are accessible through both the array-based environment and the graphical interface. 40. The computing device of claim 39, wherein the system receives code for execution by the hardware objects. 41. The computing device of claim 39, wherein a plurality of hardware objects are provided for a single hardware device. 42. The computing device of claim 39, wherein a plurality of hardware objects are provided for a plurality of hardware devices. 43. The computing device of claim 39, wherein an analysis object is provided for communicating with at least one of the hardware objects and the software objects. 44. The computing device of claim 39, wherein at least one of the hardware objects and the software objects are located on a remote computer. 45. The computing device of claim 39, at least one of the hardware objects and the software objects are modified by the processor. 46. The computing device of claim 39, wherein at least one of the hardware objects and the software objects are modified by the processor such that a protocol is specified for use by the at least one of the hardware objects for communication with the hardware device. 47. The computing device of claim 39, wherein at least one of the hardware objects and the software objects are modified by the processor such that a value is stored in an array of an array-based environment. 48. The computing device of claim 39, wherein the hardware object enables communication between the graphical interface and the hardware device, and the software object enables communication between the graphical interface and the software device.