"Specification and transformation of programs" is short for a
methodology of software development where, from a formal specification
of a problem to be solved, programs correctly solving that problem are
constructed by stepwise application of formal, semantics-preserving
transformation rules. The approach considers programming as a formal
activity. Consequently, it requires some mathematical maturity and,
above all, the will to try something new. A somewhat experienced
programmer or a third- or fourth-year student in computer science should
be able to master most of this material - at least, this is the level I
have aimed at. This book is primarily intended as a general introductory
textbook on transformational methodology. As with any methodology,
reading and understanding is necessary but not sufficient. Therefore,
most of the chapters contain a set of exercises for practising as
homework. Solutions to these exercises exist and can, in principle, be
obtained at nominal cost from the author upon request on appropriate
letterhead. In addition, the book also can be seen as a comprehensive
account of the particular transformational methodology developed within
the Munich CIP project.