Generative Programming And Component Engineering by R. Gluck