Transforming based on interacts relations

After transformations described in steps 1 to 3, current feature model contains exclusively functional features. The communication among these features is represented by introducing new features relation, namely the interacts relation [37]. FArM defines the following interacts relation:

Before adding interacts relations among features, it is important to check if the relation already exists in the aspect-feature view. If any type of interacts relation has a correspondent in aspect-feature view, it must not be added to the feature model. For instance, Complaint Management and its subfeatures uses Database feature in order to persist data. According to FArM, an uses relation would be added between Complaint Management and Database. However, in aspect-feature view it is already represented that Database (which is the implementation of Persistence crosscutting feature) crosscuts Complaint Management. Although the semantic of uses and crosscuts relations are different Thus, it is not necessary to add the uses relation because it is already represented in the aspect-feature view.

Note that crosscuts relations (type 4) modifies features, which is similar to alters relation (type 2) defined in FArM method [37]. Whereas the crosscuts is a relation between one crosscutting feature and other features (1-n relation), alters is a relation between two features (1-1 relation).

After the identification of relations between features, they are transformed based on two criteria:

Leonardo Tizzei 2013-02-18