Using product line techniques to build adaptive systems