Language levels for the universal variability language : An Extension mechanism and conversion strategies

Loading...
Thumbnail Image

Date

2023-03-13

Authors

Vill, Stefan

Journal Title

Journal ISSN

Volume Title

Publication Type

Abschlussarbeit (Bachelor)

Published in

Abstract

Feature models are commonly used to describe software product lines. There are different textual representations to describe a feature model, which leads to additional effort when using tools and feature models that use different languages. The Universal Variability Language (UVL) is a textual feature-modeling language. UVL is developed in close cooperation with the community with the goal to gain widespread adoption. The current version of UVL is rather simple, which makes it easy to understand and integrate into tools. However, this simple UVL version is not suitable for some use cases due to a lack of language features. An example that is difficult to represent as UVL feature model is a configurable computer, with the constraint that the accumulated power consumption of all parts must be lower than a certain threshold. If UVL adds explicit support to describe such a constraint, tools need to manage the added complexity to fully use UVL which again hampers exchange. The goals of being suitable for many use cases, but also easy to integrate into tools, contradict each other. We address this contradiction by adding optional language levels to UVL. This way, developers can integrate UVL into their tool and specify the language levels the tool supports. Tools that support different language levels are not interoperable by default. To improve exchangeability, we provide a set of basic conversion strategies to translate between language levels. Through conversion strategies, tools can use feature models, even if they do not fully support all UVL language level. As initial set of UVL language levels, we add support for expressions and equations over numerical attributes in constraints and feature cardinality to UVL. We provide tool support for parsing, printing, and conversion of feature models with a Java library. Our proposal makes UVL suitable for more use cases and reduces the effort when using UVL models across multiple tools.

Description

Faculties

Fakultät für Ingenieurwissenschaften, Informatik und Psychologie

Institutions

Institut für Softwaretechnik und Programmiersprachen

Citation

DFG Project uulm

License

CC BY 4.0 International

Keywords

variability modeling, variability language, unified language, exchange format, software product lines, universal variability language, Produktlinie, Produktlinie, UML (Computer science), Product lines, DDC 620 / Engineering & allied operations