Software Language Engineering - Hutchison, David; Kanade, Takeo; Hedin, Görel (Springer Berlin Heidelberg, 2013)