A computer-implemented method and system useful in creating a device
driver of a different architecture, based upon an existing driver of an
original architecture. Information concerning an existing device driver
is gathered. This information is stored for use by a transformation
engine. The transformation engine maps information from the existing
driver architecture to a new driver architecture. The transformation
engine is used to obtain a description of the old driver in a format
specific to the new driver architecture. A source code generation engine
then converts the information obtained from the transformation engine
into a new driver application layer. Given the base driver with the
application layer already developed, a device provider or other driver
creator can develop the device protocol layer for the driver.