scieee AI-readable full text Open interactive document viewer

Tutorial on the universal variability language

Sundermann, Chico; Feichtinger, Kevin; Galindo Duarte, José Ángel; Benavides Cuevas, David Felipe; Rabiser, Rick; Krieter, Sebastian; Thüm, Thomas

Abstract

The multitude of formats for specifying variability models induces additional effort for researchers and practitioners and hinders ex change. The Universal Variability Language (UVL) is a community effort towards a unified format. Over the last two years, several tools integrated UVL allowing a wide usage. This tutorial consists of three major parts, where we showcase (1) the basics of UVL and how to use it for modeling within FeatureIDE, (2) how to trans form other formats to UVL and back with TRAVART, and (3) how to perform feature-model analyses on UVL models with FLAMA.

Full text

Tutorial on the Universal Variability Language Chico Sundermann University of Ulm Ulm, Germany Kevin Feichtinger LIT CPS Lab JKU Linz Linz, Austria José A. Galindo University of Seville Seville, Spain David Benavides University of Seville Seville, Spain Rick Rabiser CDL VaSiCS, LIT CPS Lab JKU Linz Linz, Austria Sebastian Krieter University of Ulm Ulm, Germany Thomas Thüm University of Ulm Ulm, Germany ABSTRACT The multitude of formats for specifying variability models induces additional effort for researchers and practitioners and hinders exchange. The Universal Variability Language (UVL) is a community effort towards a unified format. Over the last two years, several tools integrated UVL allowing a wide usage. This tutorial consists of three major parts, where we showcase (1) the basics of UVL and how to use it for modeling within FeatureIDE, (2) how to transform other formats to UVL and back with TRAVART, and (3) how to perform feature-model analyses on UVL models with FLAMA. CCS CONCEPTS •Software and its engineering →Software product lines ; System modeling languages. KEYWORDS variability modeling, product line, feature modeling, UVL ACM Reference Format: Chico Sundermann, Kevin Feichtinger, José A. Galindo, David Benavides, Rick Rabiser, Sebastian Krieter, and Thomas Thüm. 2022. Tutorial on the Universal Variability Language. In 26th ACM International Systems and Software Product Line Conference - Volume A (SPLC ’22), September 12–16, 2022, Graz, Austria. ACM, New York, NY, USA, 1 page. https://doi.org/10. 1145/3546932.3547024 EXTENDED ABSTRACT Variability models are commonly used to specify commonalities and variabilities of software product lines. In variability modeling literature, a large variety of textual formats has been proposed and used. The multitude of formats results in additional effort for researchers and practitioners as models cannot be easily exchanged. The Universal Variability Language (UVL) arose from joined effort from researchers and practitioners within the MODEVAR [ 1 ] community. With UVL, the community aims to provide a variability language with broad and continuously growing tool support to be then widely adopted by academia and industry. We presented a first version of UVL and our approach for continued development with the community at SPLC’21 [ 3 ]. This initial version has been integrated in a variety of tools allowing the usage of UVL in many layers of variability modeling, such as specification of models or analysis. In this tutorial, we guide participants through the basics of UVL and showcase tools supporting the usage of UVL. The tutorial is targeted towards all researchers and practitioners that are involved or interested in variability modeling. Tutorial Overview. The tutorial is planned as half-day event consisting of four 45 minute slots, starting with three main sessions and ending with an open discussion on future directions of UVL. Session 1: Modeling with UVL. In the first session, we introduce the UVL syntax and present the publicly available parser library. Then, we showcase how to integrate UVL into other tools by using it in FeatureIDE [ 4 ] to view and edit UVL models. Both steps consist of an introduction into the topic and a hands-on part. Session 2: Transforming UVL Models. In the second session, we present the transformation approach TRAVART[ 2 ], which uses UVL as a pivot language. We provide participants multiple models of different type and let them transform the models between each other. Finally, we discuss the differences of the approaches and the issue of information loss. Session 3: Analyzing UVL Models. In the third session, we will cover how UVL can be integrated as a language to analyze variability using the Python-based framework FLAMA. We will present how the framework has been designed having UVL in mind and how easy it is to integrate it with analysis support such as SAT, BDD, SMT, or other complementary tools that enable, for instance, transformations to other variability representations. Acknowledgements. Supported by COPERNICA (P20_01224) and METAMORFOSIS (FEDER_US-1381375) projects and partially supported by the German Research Foundation (TH 2387/1-1). The financial support by the CDG, the BMDW and the National Foundation for Research, Technology and Development is gratefully acknowledged. REFERENCES [1] David Benavides, Rick Rabiser, Don Batory, and Mathieu Acher. 2019. First International Workshop on Languages for Modelling Variability (MODEVAR 2019). In SPLC. 323–323. [2] Kevin Feichtinger, Johann Stöbich, Dario Romano, and Rick Rabiser. 2021. TRAVART: An Approach for Transforming Variability Models. In VaMoS. ACM, Article 8, 10 pages. [3] Chico Sundermann, Kevin Feichtinger, Dominik Engelhardt, Rick Rabiser, and Thomas Thüm. 2021. Yet Another Textual Variability Language? A Community Effort Towards a Unified Language. In SPLC. ACM, 136–147. [4] Chico Sundermann, Tobias Heß, Dominik Engelhardt, Rahel Arens, Johannes Herschel, Kevin Jedelhauser, Benedikt Jutz, Sebastian Krieter, and Ina Schaefer. 2021. Integration of UVL in FeatureIDE. In MODEVAR. ACM, 73–79. This work is licensed under a Creative Commons Attribution International 4.0 License. SPLC ’22, September 12–16, 2022, Graz, Austria https://doi.org/10.1145/3546932.3547024