Skip to content

Configurator does not follow feature model order and prematurely assumes user decisions #2

Description

@jmhorcas

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions