Uvl: Feature Modelling with the Universal Variability Language
38 Pages Posted: 19 Mar 2024
Abstract
Feature modelling is a cornerstone of software product line engineering, providing a means to represent software variability through features and their relationships. Since its inception in 1990, feature modelling has evolved through various extensions, and after three decades of development, there is a growing consensus on the need for a standardised feature modelling language. Despite multiple endeavours to standardise variability modelling and the creation of various textual languages, researchers and practitioners continue to use their own approaches, impeding effective model sharing. In 2018, a collaborative initiative was launched by a group of researchers to develop a novel textual language for representing feature models. This paper introduces the outcome of this effort: the Universal Variability Language (\UVL), which is designed to be human-readable and serves as a pivot language for diverse software engineering tools. The development of \UVL drew upon community feedback and leveraged established literature in the field of variability modelling. The language is structured into three levels --Boolean, Arithmetic, and Type-- and allows for language extensions to introduce additional constructs enhancing its expressiveness. \UVL is integrated into various existing software tools, such as FeatureIDE and FLAMA, and is maintained by a consortium of institutions.
Keywords: feature model, software product lines, variability
Suggested Citation: Suggested Citation