Meta-programming and model-driven meta-program development principles, processes and techniques - Stuikys, Vytautas; Damaševičius, Robertas (Springer, 2013)