Generative Programming And Component Engineering by G. Karsai