Software language engineering : creating domain-specific languages using metamodels - Kleppe, Anneke G. (Addison-Wesley, 2009)