-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Context
I would like to raise a question/proposal regarding the official UVL specification concerning feature naming. Currently, there is some ambiguity about whether the requirement for unique feature names should be enforced at the parser level (grammar) or as a semantic check at the tool level.
The Issue
In standard Feature Models (FMs), it is common practice to require unique names. However, enforcing this strictly within the UVL grammar prevents the representation of Generalized Feature Trees (GFTs).
In GFTs, a feature can appear multiple times in different branches of the tree (for instance, separated by an alternative or xor group). This structure is often used to simplify models by converting cross-tree constraints into tree structures or for specific parallel analysis techniques.
If the UVL parser rejects duplicate names, it limits the language's expressiveness for these advanced modeling use cases.
Supporting Evidence & References
The use of GFTs is documented in several publications and there are already datasets in UVL format that utilize this structure:
Key Publications
- Horcas, J. M., et al. (2025). FMSans: An efficient approach for constraints removal and parallel analysis of feature models. Journal of Systems and Software. DOI: 10.1016/j.jss.2025.112434
- Van den Broek, P., & Galvão, I. (2009). Analysis of feature models using generalised feature trees. VaMoS '09. Link to PDF
- Van den Broek, P., et al. (2008). Elimination of constraints from feature trees. ASPL @ SPLC’08.
Real-world Data
- UVLHub Dataset: Generalized Feature Trees in UVL
Proposal
- Grammar level: The UVL grammar should allow multiple features to share the same name/identifier.
- Tool level: The responsibility for checking name uniqueness should be shifted to the analysis tools or compilers. This allows "Standard UVL" tools to throw an error if they require uniqueness, while "GFT-compliant" tools can process the model correctly.