Repository navigation
Extension for Visibility Constraints #7
Unanswered
kristofmeixner
asked this question in
Enhancement Proposals
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Currently, UVL supports constraints that define valid feature configurations using known constructs, such as
ororalternativegroups, or cross-tree constraints. Currently, it lacks constructs to specify the order in which features become available for selection during configuration.For some use cases, it may be useful to guide users through a configuration sequence by making features available only after specific prerequisites or configurations have been selected, similar to decision models (cf. also https://doi.org/10.1145/2110147.2110167).
We propose extending UVL with visibility constraints to support such configuration sequences. The underlying idea for such a constraint was proposed in https://doi.org/10.1145/3634713.3634730.
Proposed extension
A visibility constraint defines a precondition for making a feature available for selection. We propose to introduce a binary operator, e.g.,
vif(visible if), expressed asF vif Φ, whereFis a feature (list) andΦis a propositional formula over features.For example:
This constraint specifies that
FeatureAbecomes available only after bothFeatureBandFeatureChave been selected.Unlike traditional cross-tree constraints, visibility constraints do not restrict the validity of the final configuration. Instead, they define dependencies between configuration steps, establishing a partial order over feature selections.
Aspects to consider
visibility constraintssection supporting backward compatibility.Questions for discussion
We have implemented a proof of concept that extends UVL and FeatureIDE with visibility constraints, demonstrating their technical feasibility across different configuration scenarios in https://doi.org/10.1007/978-3-032-40421-3_8.
We welcome feedback on the proposed syntax, semantics, and integration into UVL.
All reactions