To achieve complete device independence it is necessary however to supplement device classes with a possibility for configuring device dependencies at runtime. The utility which does this in the DSM is the resource database. Resources are identified by an ASCII string and the device name. The link between resource and the device is done using the device name. Each device class should support a certain number of device resources. A well written device class will implement all device dependencies as resources. At device initialisation time the device class interrogates the resource database for all resources associated with each device being created.