Product Line Engineering-Foundations, Principles, and Techniques