A system comprising: at least one physical device (22a,b,c, 40), wherein the physical device is addressable by the system, and wherein the physical device (22a,b,c, 40) is operated or controlled by a device driver; a simulation module which comprises storage means for storing a copy of the device driver for the at least one physical device (22a,b,c, 40); and at least one processor which is configured to: receive at least one time-dependent command for the at least one physical device (22a,b,c, 40), wherein time is obtained from a reference clock; test system operation within the simulation module by: defining a test period; adjusting said reference clock for said test period; applying the at least one time-dependent command in said test period to the copy of the device driver associated with the specified physical device to simulate behaviour of the specified physical device (22a,b,c, 40); and outputting any problems with the simulated behaviour of the specified physical device (22a,b,c, 40); and control a physical device (22a,b,c, 40) within the system by sending the time-dependent command to the device driver associated with the specified physical device (22a,b,c, 40), wherein the device driver applies the time-dependent command to the physical device (22a,b,c, 40). at least one physical device (22a,b,c, 40), wherein the physical device is addressable by the system, and wherein the physical device (22a,b,c, 40) is operated or controlled by a device driver; a simulation module which comprises storage means for storing a copy of the device driver for the at least one physical device (22a,b,c, 40); and at least one processor which is configured to: receive at least one time-dependent command for the at least one physical device (22a,b,c, 40), wherein time is obtained from a reference clock; test system operation within the simulation module by: defining a test period; adjusting said reference clock for said test period; applying the at least one time-dependent command in said test period to the copy of the device driver associated with the specified physical device to simulate behaviour of the specified physical device (22a,b,c, 40); and outputting any problems with the simulated behaviour of the specified physical device (22a,b,c, 40); and control a physical device (22a,b,c, 40) within the system by sending the time-dependent command to the device driver associated with the specified physical device (22a,b,c, 40), wherein the device driver applies the time-dependent command to the physical device (22a,b,c, 40). receive at least one time-dependent command for the at least one physical device (22a,b,c, 40), wherein time is obtained from a reference clock; test system operation within the simulation module by: defining a test period; adjusting said reference clock for said test period; applying the at least one time-dependent command in said test period to the copy of the device driver associated with the specified physical device to simulate behaviour of the specified physical device (22a,b,c, 40); and outputting any problems with the simulated behaviour of the specified physical device (22a,b,c, 40); and defining a test period; adjusting said reference clock for said test period; applying the at least one time-dependent command in said test period to the copy of the device driver associated with the specified physical device to simulate behaviour of the specified physical device (22a,b,c, 40); and outputting any problems with the simulated behaviour of the specified physical device (22a,b,c, 40); and control a physical device (22a,b,c, 40) within the system by sending the time-dependent command to the device driver associated with the specified physical device (22a,b,c, 40), wherein the device driver applies the time-dependent command to the physical device (22a,b,c, 40).