Abstract: Software Product Line Architecture (SPLA) describes the architecture of a set of software variants by describing (1) what components can be included in the product configuration based on the selected features of this product (2) how these components can be configured to form a concrete architecture of the product, (3) shared components, and (4) individual architecture characteristics of each product. However, developing SPLA from scratch is known a highly, costly and risky task. The alternative is to exploit the already developed legacy software variants to reverse engineer SPLA. This reduces the cost of Software Product Line (SPL) development and allows to manage software variants as a SPL. In this chapter, we discuss the extraction of SPLA based on the analysis of several software variants. Precisely, we discuss the variability in SPLA. Then, we discuss challenges in extracting variability of SPLA and highlight a number of good practices proposed in the-state-of-the-art of the SPLA extraction. Next, we discuss one example approach that completely extracts SPLA of software variants.
0 Replies
Loading