Feature interactions in embedded control systems
Computer Networks: The International Journal of Computer and Telecommunications Networking - Special issue: Directions in feature interaction research
Multi-view composition language for software product line requirements
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Model composition in product lines and feature interaction detection using critical pair analysis
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Feature oriented evolutions for context-aware adaptive systems
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Model checking requirements at run-time in adaptive systems
Proceedings of the 8th workshop on Assurances for self-adaptive systems
A software lifecycle process for context-aware adaptive systems
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.01 |
The consequences of unwanted feature interactions in a Software Product Line (SPL) can range from minor problems to critical software failures. However, detecting feature interactions in reasonably complex model-based SPLs is a non-trivial task. This is due to the often large number of interdependent models that describe the SPL features and the lack of support for analyzing the relationships inside those models. We believe that the early detection of the points, where two or more features interact --- based on the models that describe the behavior of the features ---, is a starting point for the detection of conflicts and inconsistencies between features, and therefore, take an early corrective action. This vision paper foresees a process to find an initial set of points where it is likely to find potential feature interactions in model-based SPL requirements, by detecting: (i) dependency patterns between features using use case models; and (ii) overlapping between use case scenarios modeled using activity models. We focus on requirements models, which are special, since they do not contain many details about the structural components and the interactions between the higher-level abstraction modules of the system. Therefore, use cases and activity models are the means that help us to analyze the functionality of a complex system looking at it from a high level end-user view to anticipate the places where there are potential feature interactions. We illustrate the approach with a home automation SPL and then discuss about its applicability.