Table of Contents
Fetching ...

Local Features: Enhancing Variability Modeling in Software Product Lines

David de Castro, Alejandro Cortiñas, Miguel R. Luaces, Oscar Pedreira, Ángeles Saavedra Places

TL;DR

The paper tackles the limitation of traditional feature models in Software Product Lines (SPL) by introducing local features that can be bound to specific elements of other system models during application engineering. It formalizes global versus local features using multimodels, and provides a Domain-Specific Language (DSL) to specify associations between local features and elements across data, visualization, and other models. A GIS-based case study (WebEIEL) demonstrates how local features enable fine-grained customization of maps, layers, and data entities, leading to higher customization without post-generation code changes. The approach shows practical improvements in expressiveness and configurability, with future work aimed at generalizing the DSL and validating across broader domains.

Abstract

Context and motivation: Software Product Lines (SPL) enable the creation of software product families with shared core components using feature models to model variability. Choosing features from a feature model to generate a product may not be sufficient in certain situations because the application engineer may need to be able to decide on configuration time the system's elements to which a certain feature will be applied. Therefore, there is a need to select which features have to be included in the product but also to which of its elements they have to be applied. Objective: We introduce local features that are selectively applied to specific parts of the system during product configuration. Results: We formalize local features using multimodels to establish relationships between local features and other elements of the system models. The paper includes examples illustrating the motivation for local features, a formal definition, and a domain-specific language for specification and implementation. Finally, we present a case study in a real scenario that shows how the concept of local features allowed us to define the variability of a complex system. The examples and the application case show that the proposal achieves higher customization levels at the application engineering phase.

Local Features: Enhancing Variability Modeling in Software Product Lines

TL;DR

The paper tackles the limitation of traditional feature models in Software Product Lines (SPL) by introducing local features that can be bound to specific elements of other system models during application engineering. It formalizes global versus local features using multimodels, and provides a Domain-Specific Language (DSL) to specify associations between local features and elements across data, visualization, and other models. A GIS-based case study (WebEIEL) demonstrates how local features enable fine-grained customization of maps, layers, and data entities, leading to higher customization without post-generation code changes. The approach shows practical improvements in expressiveness and configurability, with future work aimed at generalizing the DSL and validating across broader domains.

Abstract

Context and motivation: Software Product Lines (SPL) enable the creation of software product families with shared core components using feature models to model variability. Choosing features from a feature model to generate a product may not be sufficient in certain situations because the application engineer may need to be able to decide on configuration time the system's elements to which a certain feature will be applied. Therefore, there is a need to select which features have to be included in the product but also to which of its elements they have to be applied. Objective: We introduce local features that are selectively applied to specific parts of the system during product configuration. Results: We formalize local features using multimodels to establish relationships between local features and other elements of the system models. The paper includes examples illustrating the motivation for local features, a formal definition, and a domain-specific language for specification and implementation. Finally, we present a case study in a real scenario that shows how the concept of local features allowed us to define the variability of a complex system. The examples and the application case show that the proposal achieves higher customization levels at the application engineering phase.
Paper Structure (13 sections, 25 figures)

This paper contains 13 sections, 25 figures.

Figures (25)

  • Figure 1: Excerpt of the example feature model of a file storage system
  • Figure 2: Excerpt of the example feature model of a file storage system SPL supporting granular control
  • Figure 3: Excerpt of the example cardinality-based feature model of a file storage system SPL
  • Figure 4: Specialization of the example in \ref{['fig:example-feature-model-iii']}
  • Figure 5: Excerpt of the example solution with features binding for a file storage system SPL.
  • ...and 20 more figures