FCA for software product line representation: Mixing configuration and feature relationships in a unique canonical representation

2019 
Abstract Software Product Line Engineering (SPLE) is a set of methods to help build a collection of software systems which are similar enough to enable appropriate artefact reuse. An important task consists in documenting in variability models the common and variable features which may compose the similar software systems along with compatibility constraints between these features. Several models and formalisms have been proposed to model variability: each one of them has specific properties making it pertinent to support certain management operations, which are of primary importance in SPLE. Switching from one kind of variability model to another is thus important to benefit from a wide range of operations and efficiently manage a software product line. In this paper, we review the various approaches proposed to manage and organise features and product configurations (a product configuration being a chosen subset of features). We discuss the originality of concept lattices, canonical structures presenting a dual view on features and configurations, and the advantages to use these structures as variability representations. Switching from existing variability models to an equivalent concept lattice raises scaling issues related to the size of the needed input dataset and thus hinders their exploitation. We propose an alternative relying on implicative systems and define a transformation method which does not suffer from scaling issues.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    55
    References
    2
    Citations
    NaN
    KQI
    []