Managing variability is the essence of software product line (PL) practice. With many variant features and complex dependencies among them, it also becomes a major challenge for effective reuse. Without an adequate technique for managing variability, we face problems such as explosion of similar component versions, or difficulty to select and then adapt component configurations during reuse-based product development. These problems often hinder development productivity and may diminish the economic benefit of reuse via PL approach. A variability management technique should also allow us to evolve products, PL members, as required by their customers, without disconnecting them from also evolving reusable assets forming PL architecture. XVCL method [7] directly addresses software reuse and evolution problems that are difficult to solve using conventional OO, architectural, component approaches, and modern platform mechanisms such as .NET, JEE or Ruby on Rails. It does that on top of and...