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.