12. The method according to claim 11 , wherein said variability elements comprise at least one of: an optional variability element, which is included in the variants only when the respective configuration condition linked thereto evaluates to a Boolean value True; alternative variability elements, wherein exactly one of the alternative variability elements is included in the variants when the configuration condition linked thereto evaluates to the Boolean value True; selective variability elements, wherein zero or more of the selective variability elements are included in the variants when the respective configuration condition linked thereto evaluates to the Boolean value True; cardinality-based selective variability elements cardinality upper bound, wherein a number of the cardinality-based selective variability elements are included in the variants when the respective configuration condition linked thereto evaluates to the Boolean value True, and wherein the number is no greater than the cardinality upper bound; and mutually inclusive variability elements, wherein a set of the mutually inclusive variability elements are included in the variants, the set being selected from a first subset consisting of none of the mutually inclusive variability elements and a second subset consisting of all of the mutually inclusive variability elements.
11. A computer-implemented method for modeling, comprising the steps of: using a domain specific modeling language to prepare a first model of a subject, the subject having variants, said first model comprising elements, wherein the first model lacks provision for variability support; creating a second model of the subject that comprises a variability layer having variability elements, the variability elements having respective configuration conditions linked thereto, the configuration conditions comprising Boolean expressions, adding the second model to the first model as a separate layer on the first model to thereby produce a combined model by attaching said variability elements to at least a portion of said elements of said first model, wherein the elements of the first model are unchanged by the step of adding the second model; implementing an instance of the combined model by assigning respective constraint values to the configuration conditions; making respective evaluations of the configuration conditions of said variability elements in the combined model; and classifying said variability elements for inclusion in different ones of said variants responsively to the respective evaluations of said configuration conditions.