Graph transformations can be expressed quite nicely in the language of category theory.
This has found application, for example, in model transformation (as in UML models)
and other visual modelling formalisms. The approach takes place in the category of
graphs and graph homomorphisms. Firstly, a pushout can be seen as a gluing construction:
Given two graphs $G_1,G_2$. A graph $P$ and two morphisms $e_1:P\to G_1$ and
$e_2:G_2\to P$$e_2:P\to G_2$ denote the parts the two graphs have in common. The pushout unifies these
parts, adding in the remaining parts of $G_1$ and $G_2$, in effect, gluing $G_1$ and $G_2$
together along $P$.