Algebraic Methodology and Software Technology by H. Kirchner