Foundations of software science and computation structures - Nielsen, Mogens (Springer, 2002)