Elsevier

Theoretical Computer Science

Volume 912, 12 April 2022, Pages 56-80
Theoretical Computer Science

On logical and extensional characterizations of attributed feature models

https://doi.org/10.1016/j.tcs.2022.01.016Get rights and content

Highlights

  • We study the logical and extensional representations of feature models.

  • We study the logical and extensional representations of attributed feature models.

  • We investigate the algebraic properties of operations and relations on the extensional representations of both models.

  • We identify the logical counterpart of the above relations and operations for both basic and attributed feature models.

  • We show that these operations and relations have meaning in lattices.

Abstract

Software-intensive systems can have thousands of interdependent configuration options across different subsystems. Feature models (FMs) allow designers to organize the configuration space by describing configuration options using interdependent features: a feature is a name representing some functionality and each software variant is identified by a set of features. Attributed feature models (AFMs) extend FMs to describe the, possibly constrained, choice of a value from domains such as integers or strings: each attribute is associated to one feature, and when the feature is selected then the attribute brings some additional information relative to the selected features. Different representations of FMs and AFMs have been proposed in the literature. In this paper we focus on the logical representation (which works well in practice) and the extensional representation (which has been recently shown well suited for theoretical investigations). We provide an algebraic and a logical characterization of operations and relations on FMs and AFMs, and we formalize the connection between the two characterizations as monomorphisms from lattices of logical FMs and AFMs to lattices of extensional FMs and AFMs, respectively. This formalization sheds new light on the correspondence between the algebraic and logical characterizations of operations and relations for FMs and AFMs. It aims to foster the development of a formal framework for supporting practical exploitation of future theoretical developments on FMs, AFMs and multi software product lines.

Introduction

Software-intensive systems can have thousands of interdependent configuration options across different subsystems. In the resulting configuration space, different software variants can be obtained by selecting among these configuration options and accordingly assembling the underlying subsystems. The interdependencies between options are dictated by corresponding interdependencies between the underlying subsystems [1].

Feature models (FMs) [2] allow developers to organize the configuration space and facilitate the construction of software variants by describing configuration options using interdependent features [3]: a feature is a name representing some functionality, a set of features is called a configuration, and each configuration that fulfills the interdependencies expressed by the FM, called a product, identifies a software variant.

Attributed feature models (AFMs) [4] extend FMs to describe the, possibly constrained, choice of a value from domains such as integers or strings. Each attribute is associated to one feature, and if the feature is selected then the attribute brings some additional information relative to the product (identified by selected features). For instance, an “SSD memory” feature may have a “capacity” attribute that should be set to a value greater than 512 GB whenever the feature “pro” is selected.

Software-intensive systems can comprise thousands of features and several subsystems [5], [6], [7], [8]. The design, development and maintenance of FMs with thousands of features can be simplified by representing large FMs as sets of smaller interdependent FMs [6], [9] that we call fragments. To this aim, several representations of FMs have been proposed in the literature (see, e.g., Batory [2] and Sect. 2.3 of Apel et al. [1]) and many approaches for composing FMs from fragments have been investigated [10], [11], [12], [13], [14].

In this paper we focus on the logical representation (which works well in practice [15], [16], [17]) and the extensional representation (which has been recently shown well suited for theoretical investigations [18], [19]).

The starting point of this investigation is a novel partial order between FMs, that we call the FM fragment relation. It is induced by a notion of FM composition that has been used to model industrial-size configuration spaces [18], [19], such as the configuration space of the Gentoo source-based Linux distribution [20], that consists of many configurable packages (the March 1st 2019 version of the Gentoo distribution comprises 671617 features spread across 36197 FMs). We exploit this partial order to provide an algebraic characterization of operations and relations on FMs and AFMs. Then, we provide a logical characterizations of them and formalize the connection between the two characterizations as monomorphisms from lattices of logical FMs and AFMs to lattices of extensional FMs and AFMs, respectively. This paper is an extended version of prior work [21] which does not consider AFMs.

The remainder of this paper is organized as follows. In Section 2 we recollect the necessary background and introduce the fragment relation for FMs and AFMs. In Section 3 we present the algebraic characterization of operations and relations on FMs and AFMs. In Section 4 we present the logical characterization of the operations and relations on FMs together with a formal account of the connection with the algebraic characterization, and in Section 5 we extend these results to AFMs. We discuss related work in Section 6, and conclude the paper in Section 7 by outlining planned future work.

The material about FMs and AFMs is presented in distinct sections, all the sections about FMs or AFMs contain “FM” or “AFM” in the title, and the sections about FMs do not depend on the sections about AFMs. So, a reader may decide to first consider the material on FMs and then the extension to AFMs.

Section snippets

Basic notions

We first recall the logical and the extensional representations of FMs (in Section 2.1) and AFMs (in Section 2.2) together with the composition operation for FMs (in Section 2.3) and AFMs (in Section 2.4).

Moreover, Section 2.3 and Section 2.4 include the formalization of a novel partial order relation on FMs and AFMs, respectively.

Algebraic characterization of FMs and AFMs

In Section 3.1, we recall some relevant algebraic notions. In Section 3.2, we show that the FM fragment relation induces a lattice of FMs where the join operation is FM composition, and in Section 3.3 we extend the result to AFMs. Then, in Section 3.4, we show that the FM fragment relation generalizes the FM interface relation [18] and we provide some more algebraic properties, and in Section 3.5 we extend these results to AFMs.

Logical characterization of FM operations and relations

In Section 4.1 we introduce a mapping that associates each logical FM to its corresponding extensional representation (cf. Sect. 2.1). Then, in Section 4.2, we provide a logical characterization for the fragment relation (≤), for the composition (•) and the meet (⋆) operations; for the bottom of the Boolean lattice Eeql(X) (the FM trivial(X)=(X,2X)), for the bottom of the bounded lattice E(X) (the FM trivial()=(,{})) and for the top of the bounded lattice E(X)) (the FM void(X)=(X,)); and

Logical characterization of AFM operations and relations

In this section we follow a similar pattern to that of Section 4. In Section 5.1 we introduce the ingredients useful to relate logical and extensional AFM. In Section 5.2 we provide logical characterizations of extensional operations for AFMs. In Section 5.3, we provide logical characterization of AFM slices and interfaces.

Related work

Although, in the literature, the logical representation of both FMs (see, e.g., Sect. 2.3 of Apel et al. [1]) and AFMs [22], [23], [12], [24] are well known, we are not aware of any work that (as done in the present paper) provides a formal account of the correspondence between the algebraic and the logical characterizations operators and relations for FMs and AFMs.

The investigation presented in this paper started from the FM composition operator • and the induced fragment partial order

Conclusion and future work

The formalization presented in this paper sheds new light on the correspondence between the algebraic and logical characterizations of operations and relations for FMs and AFMs. Namely, it connects the two characterizations by monomorphisms from lattices of logical FMs and AFMs to lattices of extensional FMs and AFMs, respectively. It aims to foster the development of a formal framework for supporting practical exploitation of future theoretical developments on FMs, AFMs and (multi) software

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to significatively influence the work reported in this paper.

Acknowledgements

We thank the anonymous ICTAC 2020 and TCS reviewers for their comments and suggestions.

References (46)

  • T. Berger et al.

    Variability modeling in the real: a perspective from the operating systems domain

  • T. Berger et al.

    A survey of variability modeling in industrial practice

  • R. Tartler et al.

    Feature consistency in compile-time-configurable system software: facing the Linux 10,000 feature problem

  • M. Lienhardt et al.

    Multi software product lines in the wild

  • M. Rosenmüller et al.

    Multi-dimensional variability modeling

  • M. Acher et al.

    Comparing approaches to implement feature model composition

  • M. Acher et al.

    Composing your compositions of variability models

  • M. Rosenmüller et al.

    Modeling dependent software product lines

  • R. Schröter et al.

    Automated analysis of dependent feature models

  • M. Mendonca et al.

    SAT-based analysis of feature models is easy

  • T. Thüm et al.

    A classification and survey of analysis strategies for software product lines

    ACM Comput. Surv.

    (2014)
  • R. Schröter et al.

    Feature-model interfaces: the highway to compositional analyses of highly-configurable systems

  • M. Lienhardt et al.

    Lazy product discovery in huge configuration spaces

  • Cited by (1)

    View full text