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