IsiSPL:构建软件产品线的自动化反应方法
IsiSPL: Toward an Automated Reactive Approach to build Software Product Lines
摘要:
在过去的几十年里,软件产品线(SPL)已经证明了系统重用对于提高软件开发生产力和软件产品质量的好处。在三种采用方法中,即提取式、主动式和反应式,反应式方法似乎最适合于实践中的软件开发。这种方法的优点在于它仍然接近经典的软件开发实践。事实上,它避免了对业务领域及其可变性的完整分析(即主动方法),也避免了需要一组覆盖该领域的产品变体(即提取方法)。然而,尽管有这些优点,我们认为,采用反应式方法的主要障碍是其重新设计过程缺乏自动化。本文提出了isisSPL:一种基于反应的方法,有利于建设和维护的SPL。SPL的构建基于准自动过程。SPL的维护可以在由isiSPL生成的白盒SPL实现上进行。isisSPL基于两个步骤:第一,识别新创建产品的人工制品并将其整合到SPL的结构中;第二,选择一组人工制品及其组成,以生成可以部分或完全满足开发人员预期产品要求的新产品。我们已经实现了isiSPL,并使用ArgoUML-SPL和Soduko-SPL的两组不同产品验证了其集成和生成。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。