System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects
First Claim
1. A method for inputting data to, and outputting data from, an application program in a hardware independent manner, said method comprising the steps of:
- providing a first I/O device which has hardware specific parameters;
assigning a system name to the first I/O device;
selecting the first I/O device by selecting of an I/O device application from a stored list of I/O device application names corresponding to a plurality of I/O devices;
storing the application names and the corresponding system names of the plurality of I/O device in a device dictionary;
determining the system name corresponding to the selected application name of the first I/O device using said device dictionary whereby the hardware specific parameters of the first I/O device may be identified;
loading a device module associated with the determined system name for the first I/0 device which contains the hardware specific parameters and hardware specific instructions relating to the first I/O device;
inputting/outputting a data object to/from the application program, whereby the data to/from the first selected I/O device is input/output;
constructing and formatting said data object for the first I/O device according to the I/O device application name and corresponding hardware specific parameters of the first I/O device associated with the determined system name, andcommanding the device module to input/output the data object, whereby the device module executes the hardware specific instructions of the data object to the first I/O device to input/output the data object to/from the application program.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and a method for inputting/outputting device specific data that does not bind I/O device specific information to the application program until runtime is provided. This allows an application program developer to support a new I/O device without redesigning the application program to accommodate the new information and then compiling the new version of the application program. The system includes an Object Input/Output Manager (OIOM), a device dictionary, a plurality of I/O device modules, a plurality of I/O devices, and an I/O channel. The OIOM controls the overall flow of the system. The device dictionary and the I/O device modules contain I/O device specific information that is not known to the application program at the time it is compiled. When an application program needs to input or output device specific data, the user is presented with a list of I/O devices and selects one. After receiving the user'"'"'s selection, the application program commands the OIOM to input or output the device specific data. The OIOM then gets the system name of the I/O device, loads the corresponding I/O device module, adds the I/O device specific information to the data object, and commands the I/O device module to input or output the data object. After the data object has been input or output, control passes back to the OIOM and finally to the application program.
57 Citations
12 Claims
-
1. A method for inputting data to, and outputting data from, an application program in a hardware independent manner, said method comprising the steps of:
-
providing a first I/O device which has hardware specific parameters; assigning a system name to the first I/O device; selecting the first I/O device by selecting of an I/O device application from a stored list of I/O device application names corresponding to a plurality of I/O devices; storing the application names and the corresponding system names of the plurality of I/O device in a device dictionary; determining the system name corresponding to the selected application name of the first I/O device using said device dictionary whereby the hardware specific parameters of the first I/O device may be identified; loading a device module associated with the determined system name for the first I/0 device which contains the hardware specific parameters and hardware specific instructions relating to the first I/O device; inputting/outputting a data object to/from the application program, whereby the data to/from the first selected I/O device is input/output; constructing and formatting said data object for the first I/O device according to the I/O device application name and corresponding hardware specific parameters of the first I/O device associated with the determined system name, and commanding the device module to input/output the data object, whereby the device module executes the hardware specific instructions of the data object to the first I/O device to input/output the data object to/from the application program. - View Dependent Claims (2)
-
-
3. A system for inputting data to, and outputting data from, an application program in a hardware independent manner, said system comprising:
-
a first I/O device which has predetermined hardware specific parameters; means for assigning a system name to the first I/O device; means for storing application names and corresponding system names of a plurality of I/O devices as data objects in a device dictionary; means for determining an application name of the first I/O device in said device dictionary; means for determining the system name corresponding to the application name of said first I/O device whereby the hardware specific parameters of said first I/O device may be identified; means for loading a device module for said first I/O device that contains the hardware specific parameters and hardware specific instructions relating to said first I/O device as a data object; means for constructing a data object that contains at least said application name, said system name, and the predetermined hardware specific parameters of said first I/O device, and means for commanding the device module to input/output the data object for the first I/O device, whereby the device module executes the hardware specific instructions to the first I/O device to input/output the data object to/from the application program. - View Dependent Claims (4)
-
-
5. A system for managing flow of data between an application program and different input/output devices having unique data structures and hardware specific parameters, comprising,
an object input/output manager for constructing data objects for input/output to/from input/output devices, an input/output device dictionary containing application names, system names, for each of the different input/output devices, the device dictionary providing to the object input/output manager system names and hardware specific parameters for input/output devices requested by the object input/output manager; -
device modules containing data structures and hardware specific code organized according to specific entry points invoked by the input/output manager for each input/output device; wherein the object input/output manager loads and queries a device module for a selected input/output device to obtain hardware specific parameters for the selected input/output device and constructs a data object for a selected input/output device which contains hardware specific parameters and hardware specific instructions for the selected input/output device, and commands a corresponding device module to input/output the data object by invoking the specific entry points in the device modules, whereby the device module executes the hardware specific instructions to the input/output device to input/output data to/from the application program. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
Specification