Double-pushout approach