Building software for simulation theory and algorithms, with applications in C++ - Nutaro, James. (Wiley, 2011)