This book is a comprehensive explanation of graph and model transformation. It contains a detailed introduction, including basic results and applications of the algebraic theory of graph transformations, and references to the historical context. Then in the main part the book contains detailed chapters on M-adhesive categories, M-adhesive transformation systems, and multi-amalgamated transformations, and model transformation based on triple graph grammars. In the final part of the book the authors examine application of the techniques in various domains, including chapters on case studies and tool support. The book will be of interest to researchers and practitioners in the areas of theoretical computer science, software engineering, concurrent and distributed systems, and visual modelling.