Unifying Theories of Programming - Naumann (Springer International Publishing, 2015)