OBDSim is a software OBDII/ELM327 Simulator
It has its own webpage here: obdsim
I originally wrote it to save myself having to walk out to my car to work on my other OBDII software.
Some of its features include:
Multiple ECU support.
Data is generated by plugins, which can include actual, real, data.
Multiple protocol support.
Cross platform including Windows, Linux, OSX.
At time of writing, the author has tested obdsim to work with Centrafuse, scantool.net, and OBD2007 among others on Windows.
The source code is available in the same repository as OBDGPSLogger. On *nix [including OSX, Linux, Solaris, cygwin] it uses a pty. On Windows it uses a virtual COM port.
There is a separate thread on this forum discussing using it in Windows.