Tuesday, December 16, 2008

Feature Interaction in Software Product Lines


Software product lines (SPL) is considered a key approach for companies interested in improving software development increasing their productivity, quality and reducing costs. In SPL, features define commonalities and variabilities of the products, but they are not independent from each other, since there are interactions among them. These interactions among features can occur in unexpected ways causing impact in a SPL, affecting, for example, the reusable assets.

In this way, conflicts in most of the cases can be dealed during domain analysis phase through a management of feature dependencies. A feature dependency model represents not only static dependencies, but it also represents dynamic relationships and behavior characteristics among features. Additionally, it helps to trace the dependencies and how to configure the products member in a SPL.

Thus, due to the importance to solve this problem in a SPL environment, a systematic review was made to investigate approaches that proposed a solution for this. The main goal of the review was to identify how to classify and represent these dependencies and the guidelines used to identify the interactions to better understand a solution to avoid this problem.

However, some questions remain interesting for discursion: How identify feature interaction in a domain analysis? What activities are necessary? Is it interesting to have standardization on classification of feature interaction to support the dependencies identification among features?

6 comments:

Flavio Medeiros said...

Hernan, what do you think about the idea that feature interaction problem occur when features share the same resources such as a database? This issue was commented by Kyo C. Kang in the RiSE's day. Can you imagine other causes and examples of feature interaction problems?

Heberth Braga said...
This comment has been removed by the author.
Heberth Braga said...

Flávio, i don't understand your comment. What you mean is like something that "feature interaction means that features cannot be considered independently"??
Hernan, this problem could be called as "crosscuting feature"?. Is it the same thing?

[]

Hernan said...
This comment has been removed by the author.
Hernan said...

Ok, clarifying the ideas, first, feature interaction not only occurs when features share a resource, this is on possibility. One feature can modify the behavior of another feature. Answer the first question made by Braga, I can say that feature interaction always occur because features are not independent; they need to interact to accomplish products' requirements. Answering the second question made by Braga, not really in that way, I consider the problem, when these interactions are not supposed to happen in the system, this is the real problem that affects the whole SPL process.

Anonymous said...

Hernan, you think to propose a new type of feature modeling considering the interaction type among them?