Model-driven development: a metamodeling foundation - Atkinson, C; Kuhne, T (IEEE Softw, 2003)