TU Darmstadt / ULB / TUbiblio

Variability modules for Java-like languages

Damiani, Ferruccio ; Hähnle, Reiner ; Kamburjan, Eduard ; Lienhardt, Michael ; Paolini, Luca
Mousavi, Mohammad Reza ; Schobbens, Pierre-Yves (eds.) (2021):
Variability modules for Java-like languages.
In: SPLC '21: Proceedings of the 25th ACM International Systems and Software Product Line Conference, pp. 1-12,
ACM, 25th ACM International Systems and Software Product Line Conference, virtual Conference, 06.-11.09.2021, ISBN 978-1-4503-8469-8,
DOI: 10.1145/3461001.3471143,
[Conference or Workshop Item]

Abstract

A Software Product Line (SPL) is a family of similar programs (called variants) generated from a common artifact base. A Multi SPL (MPL) is a set of interdependent SPLs (i.e., such that an SPL's variant can depend on variants from other SPLs). MPLs are challenging to model and implement efficiently, especially when different variants of the same SPL must coexist and interoperate. We address this challenge by introducing variability modules (VMs), a new language construct. A VM represents both a module and an SPL of standard (variability-free), possibly interdependent modules. Generating a variant of a VM triggers the generation of all variants required to fulfill its dependencies. Then, a set of interdependent VMs represents an MPL that can be compiled into a set of standard modules. We illustrate VMs by an example from an industrial modeling scenario, formalize them in a core calculus, provide an implementation for the Java-like modeling language ABS, and evaluate VMs by case studies.

Item Type: Conference or Workshop Item
Erschienen: 2021
Editors: Mousavi, Mohammad Reza ; Schobbens, Pierre-Yves
Creators: Damiani, Ferruccio ; Hähnle, Reiner ; Kamburjan, Eduard ; Lienhardt, Michael ; Paolini, Luca
Title: Variability modules for Java-like languages
Language: English
Abstract:

A Software Product Line (SPL) is a family of similar programs (called variants) generated from a common artifact base. A Multi SPL (MPL) is a set of interdependent SPLs (i.e., such that an SPL's variant can depend on variants from other SPLs). MPLs are challenging to model and implement efficiently, especially when different variants of the same SPL must coexist and interoperate. We address this challenge by introducing variability modules (VMs), a new language construct. A VM represents both a module and an SPL of standard (variability-free), possibly interdependent modules. Generating a variant of a VM triggers the generation of all variants required to fulfill its dependencies. Then, a set of interdependent VMs represents an MPL that can be compiled into a set of standard modules. We illustrate VMs by an example from an industrial modeling scenario, formalize them in a core calculus, provide an implementation for the Java-like modeling language ABS, and evaluate VMs by case studies.

Book Title: SPLC '21: Proceedings of the 25th ACM International Systems and Software Product Line Conference
Publisher: ACM
ISBN: 978-1-4503-8469-8
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Engineering
Event Title: 25th ACM International Systems and Software Product Line Conference
Event Location: virtual Conference
Event Dates: 06.-11.09.2021
Date Deposited: 20 Jul 2022 06:59
DOI: 10.1145/3461001.3471143
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Send an inquiry Send an inquiry

Options (only for editors)
Show editorial Details Show editorial Details