TY - GEN
T1 - Experiences with Constructing and Evolving a Software Product Line with Delta-Oriented Programming
AU - Nieke, Michael
AU - Hoff, Adrian
AU - Schaefer, Ina
AU - Seidl, Christoph
PY - 2022
Y1 - 2022
N2 - A Software Product Line (SPL) captures families of closely related software variants. The configuration options of an SPL are represented by features. Typically, SPLs are developed in a featurecentric manner and, thus, require different development methods and technologies from developing software products individually. For developers of single systems, this means a shift in paradigm and technology. Especially with invasive variability realization mechanisms, such as Delta-Oriented Programming (DOP), centering development around configurable features realized via source code transformation is commonly expected to pose an obstacle, but concrete experience reports are lacking. In this paper, we investigate how DOP and cutting-edge SPL development tools are picked up by non-expert developers. To this end, we report on our experiences from a student capstone SPL development project. Our results show that participants find easy access to SPL development concepts and tools. Based on our observations and the participants’ practices, we define guidelines for developers using DOP.
AB - A Software Product Line (SPL) captures families of closely related software variants. The configuration options of an SPL are represented by features. Typically, SPLs are developed in a featurecentric manner and, thus, require different development methods and technologies from developing software products individually. For developers of single systems, this means a shift in paradigm and technology. Especially with invasive variability realization mechanisms, such as Delta-Oriented Programming (DOP), centering development around configurable features realized via source code transformation is commonly expected to pose an obstacle, but concrete experience reports are lacking. In this paper, we investigate how DOP and cutting-edge SPL development tools are picked up by non-expert developers. To this end, we report on our experiences from a student capstone SPL development project. Our results show that participants find easy access to SPL development concepts and tools. Based on our observations and the participants’ practices, we define guidelines for developers using DOP.
KW - Software Product Line
KW - Feature-centric Development
KW - Delta-Oriented Programming
KW - Variability Realization
KW - SPL Development Tools
UR - https://github.com/TUBS-ISF/NaviSPL
U2 - 10.1145/3510466.3511271
DO - 10.1145/3510466.3511271
M3 - Article in proceedings
T3 - International Working Conference on Variability Modelling of Software-Intensive Systems (VAMOS)
BT - Proceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems (VAMOS ’22)
PB - Association for Computing Machinery
ER -