Analysis of Techniques for Implementing Software Product Lines by Pedro Matos