Dependences and Interactions in Feature-Oriented Design

kaestner@cs.cmu.edu (S. Apel, W. Scholz, C. Lengauer, C. Kästner)
Sat, 05 Mar 2016 18:41:39 -0500

Sven Apel, Wolfgang Scholz, Christian Lengauer, and Christian Kästner. Dependences and Interactions in Feature-Oriented Design. In Proceedings of the 21st IEEE International Symposium on Software Reliability Engineering (ISSRE), pages 161--170, Los Alamitos, CA: IEEE Computer Society, October 2010.

Feature-oriented software development (FOSD) aims at the construction, customization, and synthesis of large-scale software systems. We propose a novel software design paradigm, called feature-oriented design, which takes the distinguishing properties of FOSD into account, especially the clean and consistent mapping between features and their implementations as well as the tendency of features to interact inadvertently. We extend the lightweight modeling language Alloy with support for feature-oriented design and call the extension FeatureAlloy. By means of an implementation and four case studies, we demonstrate how feature-oriented design with FeatureAlloy facilitates separation of concerns, variability, and reuse of models of individual features and helps in defining and detecting semantic dependences and interactions between features.