Variability modules for Java-like languages

4Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Damiani, F., Hähnle, R., Kamburjan, E., Lienhardt, M., & Paolini, L. (2021). Variability modules for Java-like languages. In ACM International Conference Proceeding Series (Vol. Part F171624-A, pp. 1–12). Association for Computing Machinery. https://doi.org/10.1145/3461001.3471143

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free