TY - GEN
T1 - Promote-pl: A Round-Trip Engineering Process Model for Adopting and Evolving Product Lines
AU - Krüger, Jacob
AU - Mahmood, Wardah
AU - Berger, Thorsten
N1 - DBLP License: DBLP's bibliographic metadata records provided through http://dblp.org/ are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.
PY - 2020/10/19
Y1 - 2020/10/19
N2 - Process models for software product-line engineering focus on proactive adoption scenarios—that is, building product-line platforms from scratch. They comprise the two phases domain engineering (building a product-line platform) and application engineering (building individual variants), each of which defines various development activities. Established more than two decades ago, these process models are still the de-facto standard for steering the engineering of platforms and variants. However, observations from industrial and open-source practice indicate that the separation between domain and application engineering, with their respective activities, does not fully reflect reality. For instance, organizations rarely build platforms from scratch, but start with developing individual variants that are re-engineered into a platform when the need arises. Organizations also appear to evolve platforms by evolving individual variants, and they use contemporary development activities aligned with technical advances. Recognizing this discrepancy, we present an updated process model for engineering software product lines. We employ a method for constructing process theories, building on recent literature as well as our experiences with industrial partners to identify development activities and the orders in which these are performed. Based on these activities, we synthesize and discuss the new process model, called promote-pl. Also, we explain its relation to modern software-engineering practices, such as continuous integration, model-driven engineering, or simulation testing. We hope that our work offers contemporary guidance for product-line engineers developing and evolving platforms, and inspires researchers to build novel methods and tools aligned with current practice.
AB - Process models for software product-line engineering focus on proactive adoption scenarios—that is, building product-line platforms from scratch. They comprise the two phases domain engineering (building a product-line platform) and application engineering (building individual variants), each of which defines various development activities. Established more than two decades ago, these process models are still the de-facto standard for steering the engineering of platforms and variants. However, observations from industrial and open-source practice indicate that the separation between domain and application engineering, with their respective activities, does not fully reflect reality. For instance, organizations rarely build platforms from scratch, but start with developing individual variants that are re-engineered into a platform when the need arises. Organizations also appear to evolve platforms by evolving individual variants, and they use contemporary development activities aligned with technical advances. Recognizing this discrepancy, we present an updated process model for engineering software product lines. We employ a method for constructing process theories, building on recent literature as well as our experiences with industrial partners to identify development activities and the orders in which these are performed. Based on these activities, we synthesize and discuss the new process model, called promote-pl. Also, we explain its relation to modern software-engineering practices, such as continuous integration, model-driven engineering, or simulation testing. We hope that our work offers contemporary guidance for product-line engineers developing and evolving platforms, and inspires researchers to build novel methods and tools aligned with current practice.
KW - Software Reuse
KW - Process Model
KW - Round-Trip Engineering
KW - software reuse
KW - process model
KW - round-trip engineering
UR - http://www.scopus.com/inward/record.url?scp=85097829072&partnerID=8YFLogxK
U2 - 10.1145/3382025.3414970
DO - 10.1145/3382025.3414970
M3 - Conference contribution
T3 - ACM International Conference Proceeding Series
SP - 263
EP - 273
BT - Proceedings of the 24th ACM Conference on Systems and Software Product Line, SPLC 2020
A2 - Ali, Shaukat
A2 - Assuncao, Wesley K.G.
A2 - Berger, Thorsten
A2 - Cetina, Carlos
A2 - Collet, Philippe
A2 - Galindo, Jose
A2 - Gazzillo, Paul
A2 - Linsbauer, Lukas
A2 - Lopez-Herrejon, Roberto Erick
A2 - Nadi, Sarah
A2 - Schulze, Sandro
A2 - Trujillo, Salvador
PB - Association for Computing Machinery, Inc
ER -