Generative programming : methods, tools, and applications - Czarnecki, Krzysztof , 1970-.; Eisenecker, Ulrich. (Addison Wesley, 2000)