ABSTRACT

Software product line (SPL) engineering is an approach to improve reusability of software within a range of products that share a common set of features [Bos00, CN01, PBvdL05]. Because of the systematic reuse, the time-to-market and costs for development and maintenance decrease, while the quality of the individual products increases. In this way, SPLs enable developers to provide rapid development of customized products. The concepts behind the product line paradigm are not new. Domains such as the automotive industry have successfully applied product line development for several years. The software developing industry has recently adopted the idea of SPLs. Especially when analyzing the development of embedded systems, it is evident that the product line paradigm has gained increasing importance, while developing products for particular domains, such as control units in the automotive domain [TH02, GKPR08].