Over the past decades, Software Product Lines (SPLs) have demonstrated the benefits of systematic reuse to increase software development productivity and software product quality. Of the three adoption approaches, i.e. extractive, proactive and reactive, the reactive approach seems the most suitable for software development in practice. The strength of this approach is that it remains close to classical software development practices. In fact, it avoids a complete analysis of the business domain and its variability (i.e. proactive approach), and avoids requiring a set of product variants that covers this domain (i.e. extractive approach). Nevertheless, despite these advantages, we believe that the main obstacle of the reactive approach adoption is the lack of automation of its re-engineering process. This paper proposes isiSPL: a reactive-based approach that facilitates both construction and maintenance of an SPL. The construction of the SPL is based on a quasi-automatic process. The maintenance of the SPL can be made on a white-box SPL implementation, generated by isiSPL. isiSPL is based on two steps: first, the identification and integration of the artefacts of a newly created product into the structure of the SPL; second, the selection of a set of artefacts and their composition to generate a new product that can either partially or completely meet the requirements provided for a product intended by a developer. We have implemented isiSPL and validated its integration and generation using the two different sets of products from ArgoUML-SPL and Soduko-SPL.
翻译:在过去几十年中,软件产品系列(SPL)展示了系统再利用以提高软件开发生产率和软件产品质量的好处。不过,尽管有这些好处,我们认为,采用反应性办法的主要障碍是其再设计过程缺乏自动化。本文建议是ISSPL:一种基于反应性办法,既便于建造和维护SPL。SPL的建造以准自动程序为基础。SPL的维护可以建立在由IsiSPduL产生的白箱SPL实施程序之上(即积极做法),它基于两个步骤:第一,查明和整合新创建的产品,将其纳入SPRSSP的制造结构;第二,为完全使用SAL的产品而设计出一套新的产品;第二,为完全使用这种产品而设计出一套新的产品;第二,为完全使用这种产品而设计出一套新的产品;第二,为完全使用这种产品而设计出一套新的SRL产品。