Abstract

Software product line engineering is a well-known approach for building a set of configurable systems for a specific domain, and different techniques have been used to manage product line variability, including source-code preprocessing, aspect-oriented programming (AOP), and delta-oriented programming (DOP). Although existing studies have explored the design and evolution of product lines using techniques such as source-code preprocessing and AOP, little is known about the practical implications of using DOP to bootstrap and evolve software product lines. In this paper we address this issue, reporting our experience of using DeltaJ to implement two product lines (Reminder-PL and Iris-PL). This experience covers different scenarios of evolution (such as the inclusion of mandatory, optional, and alternative features) that indeed led to several feature interactions. Altogether, this work brings several contributions, including evidence that existing templates for safe and partially safe evolution of product lines can also help developers to evolve delta-oriented SPLs—although we revealed the need for two additional templates for safe evolution. Also, we present a description of the feature interactions that appeared during the evolution of both product lines and how we modularized these interactions using DOP constructs.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.