Algebraic methodology and software technology (Berlin Springer-Verlag, 2006)