Description
The configurator does not display options in the correct order as defined by the feature model structure. Instead of presenting features in a top-down fashion from the root, it jumps ahead and shows internal subfeatures before the user has selected their parent features.
Observed behavior (Example)
Given the following UVL model:
features
Root
optional
A
B
alternative
B1
optional
B11
B2
B3
C
The configurator initially displays options A, B, and C, which is correct.
However, once I select B, I would expect to be prompted to choose between B1, B2, and B3.
Instead, the configurator immediately shows B11, as if I had already selected B1, which I haven't. This behavior assumes a user decision that hasn't been made and breaks the expected flow of configuration.
Expected behavior
Once a user selects a feature like B, the configurator should:
- Display its immediate children (B1, B2, B3) in the order they appear in the model.
- Wait for the user to explicitly select B1 before displaying B11.
Impact
This behavior is confusing for users and makes the configuration process unpredictable. It also prevents an accurate reflection of the feature model's structure during configuration.
Suggested fix
Ensure the configurator follows a strict top-down traversal of the feature model tree, presenting only the currently relevant and unlocked choices. Do not descend into children of a feature until the user explicitly selects that feature.
Description
The configurator does not display options in the correct order as defined by the feature model structure. Instead of presenting features in a top-down fashion from the root, it jumps ahead and shows internal subfeatures before the user has selected their parent features.
Observed behavior (Example)
Given the following UVL model:
The configurator initially displays options A, B, and C, which is correct.
However, once I select B, I would expect to be prompted to choose between B1, B2, and B3.
Instead, the configurator immediately shows B11, as if I had already selected B1, which I haven't. This behavior assumes a user decision that hasn't been made and breaks the expected flow of configuration.
Expected behavior
Once a user selects a feature like B, the configurator should:
Impact
This behavior is confusing for users and makes the configuration process unpredictable. It also prevents an accurate reflection of the feature model's structure during configuration.
Suggested fix
Ensure the configurator follows a strict top-down traversal of the feature model tree, presenting only the currently relevant and unlocked choices. Do not descend into children of a feature until the user explicitly selects that feature.