Variability representations in class models: An empirical assessment
Paper i proceeding, 2020

Owing to the ever-growing need for customization, software systems often exist in many different variants. To avoid the need to maintain many different copies of the same model, developers of modeling languages and tools have recently started to provide representations for such variant-rich systems, notably variability mechanisms that support the implementation of differences between model variants. Available mechanisms either follow the annotative or the compositional paradigm, each of them having unique benefits and drawbacks. Language and tool designers select the used variability mechanism often solely based on intuition. A better empirical understanding of the comprehension of variability mechanisms would help them in improving support for effective modeling. In this paper, we present an empirical assessment of annotative and compositional variability mechanisms for class models. We report and discuss findings from an experiment with 73 participants, in which we studied the impact of two selected variability mechanisms during model comprehension tasks. We find that, compared to the baseline of listing all model variants separately, the annotative technique did not affect developer performance. Use of the compositional mechanism correlated with impaired performance. For two out of three considered tasks, the annotative mechanism is preferred to the compositional one and the baseline. We present actionable recommendations concerning support of flexible, tasks-specific solutions, and the transfer of established best practices from the code domain to models.

model-based software product lines

variability mechanisms

Författare

Daniel Strüber

Radboud Universiteit

Anthony Anjorin

Ingenieurgesellschaft für Auto und Verkehr GmbH (IAV)

Thorsten Berger

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Physical Systems

Proceedings - 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2020

240-251

23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2020
Virtual, Online, Canada,

Ämneskategorier

Programvaruteknik

Systemvetenskap

Datavetenskap (datalogi)

DOI

10.1145/3365438.3410935

Mer information

Senast uppdaterat

2021-04-28