Feature modeling is a popular domain analysis method for describing the commonality and variability among the domain products. The current formalisms of feature modelling do not have enough support for automated domain product configuration and validation. We have developed a theory of feature modeling: a feature model is analogous to a definition of a language; a particular feature composition instance (domain product) is analogous to a program written in that language; and the way the features can be assembled to form a product is analogous to the way various tokens can be assembled to form a program. To apply this theory, we have developed a meta-language Two-Level Grammar++ to specify feature models. The interpreter derived from the feature model specification performs automated product configuration and product quality validation.
Wei Zhao, Barrett R. Bryant, Fei Cao, Rajeev R. Ra