Feature Interactions

Feature interactions occur between features of a software that crosscut each other. Interactions often enforce a particular composition order of features and can result in special interaction code, a.k.a derivatives.

Derivatives in FeatureC++

Derivatives are modularized code fragments that represents interactions between multiple features. See here for a more detailed description. In FeatureC++ the composition order is defined by the order of features in the composition file. Derivatives can be modularized and are automatically applied in the code generation process.

Using FeatureC++, derivatives are stored each in a separate folder usually in a special location used only for derivatives. Since a derivative belongs to at least two features symbolic links within folders of the corresponding features are used to ease navigation.


Known problems