1. A system for modeling computer software product line variants, the system comprising: a model builder configured to construct a model of a plurality of variants of a computer software application, wherein said model includes: at least one common-to-variants element that is common to a plurality of said variants; a plurality of variant-specific elements, and interface code configured to adapt any of said variant-specific elements to any of said common-to-variants elements; an application generator configured to generate a plurality of computer software applications for a corresponding plurality of combinations of said common-to-variants elements and said variant-specific elements; and wherein said model builder and said application generator are implemented in at least one of computer hardware and computer software embodied in a tangible computer-readable storage medium.