table provides a translation of the basic primitives. We assume that the diagram is a rooted tree with root . The semantics of a whole diagram is a conjunct of the translations of the elements contained in the diagram. Therefore, in case all elements are written in Conjunctive normal form (CNF), then the terms can easily be combined with logical AND and the whole logical expression will remain in CNF. Configuring products A product of the SPL is declaratively specified by selecting or deselecting features according to user's preferences. Such decisions must respect the constraints imposed by the feature model. A "configurator" is a tool that assists the user during a configuration process. For instance by automatically selecting or deselecting features that must or must not, respectively, be selected for the configuration to be completed successfully. Current approaches use unit propagation and CSP solvers. Properties and analyses An analysis of a feature model targets certain properties of the model which are important for marketing strategies or technical decisions. A number of analyses are identified in the literature. Typical analyses determine whether a feature model is void (represents no products), whether it contains dead features (features that cannot be part of any product), or the number of products of the software product line represented by the model. Other analyses focus on comparing several feature models (e.g. to check whether a model is a specialization or refactoring or generalization of another). See also Domain analysis Domain engineering Feature-oriented Programming - a paradigm for software product line synthesis Product Family Engineering Software Product Lines References External links Feature Model Repository Wiki Software Product Line Engineering with Feature Models Software requirements