This book is an introduction to graph transformation as a foundation to modelbased software engineering at the level of both individual systems and domainspecific modelling languages. The first part of the book presents the fundamentals in a precise yet largely informal way.