A computer-implemented method of simulating a plurality of devices, said method comprising: accessing configuration data for said plurality of devices and automatically instantiating said plurality of devices within computer memory based upon said configuration data, wherein said accessing and said automatically instantiating are performed by a simulator coupled to a system under test; accessing commands communicated from a device abstraction layer, wherein said commands are associated with said plurality of devices and wherein said device abstraction layer is a component of the system under test, and wherein the device abstraction layer couples the simulator to the system under test; downloading and storing the configuration data in a database of the device abstraction layer using a device configuration management component of the device abstraction layer; receiving simulated output data of the plurality of devices; and performance testing the device abstraction layer by: simulating device data by the simulator; communicating the simulated device data to a device monitoring component of the device abstraction layer; processing the simulated device data by the device abstraction layer; analyzing the performance of the device abstraction layer based upon a result of processing; and automatically simulating the plurality of devices based upon execution of said commands, wherein said automatically simulating comprises communicating the simulated device data from said simulator to said system under test for performance testing thereof. accessing configuration data for said plurality of devices and automatically instantiating said plurality of devices within computer memory based upon said configuration data, wherein said accessing and said automatically instantiating are performed by a simulator coupled to a system under test; accessing commands communicated from a device abstraction layer, wherein said commands are associated with said plurality of devices and wherein said device abstraction layer is a component of the system under test, and wherein the device abstraction layer couples the simulator to the system under test; downloading and storing the configuration data in a database of the device abstraction layer using a device configuration management component of the device abstraction layer; receiving simulated output data of the plurality of devices; and performance testing the device abstraction layer by: simulating device data by the simulator; communicating the simulated device data to a device monitoring component of the device abstraction layer; processing the simulated device data by the device abstraction layer; analyzing the performance of the device abstraction layer based upon a result of processing; and automatically simulating the plurality of devices based upon execution of said commands, wherein said automatically simulating comprises communicating the simulated device data from said simulator to said system under test for performance testing thereof. simulating device data by the simulator; communicating the simulated device data to a device monitoring component of the device abstraction layer; processing the simulated device data by the device abstraction layer; analyzing the performance of the device abstraction layer based upon a result of processing; and automatically simulating the plurality of devices based upon execution of said commands, wherein said automatically simulating comprises communicating the simulated device data from said simulator to said system under test for performance testing thereof.