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.