Categories for Software Engineering - Fiadeiro, José Luiz (Springer Berlin Heidelberg, 2005)