It took a bit of searching, but I got it back. Please have a look at the article "An UMDF Driver for a Virtual Smart Card Reader". It's an excellent written article and actually provides the code as well.
http://www.codeproject.com/Articles/134010/An-UMDF-Driver-for-a-Virtual-Smart-Card-Reader
In short, it uses the User-Mode Driver Framework to create a "virtual" smart card driver. A simulator could be easily based on this.
Note that implementing the behavior of the simulated smart card depends on your needs.