Skip to content

Terms relating to the Configuration State

Configuration State

The Configuration State is the whole set of Explicit Decisions, computed Impicit Decisions and computed Consequences.

Decision

A Decision is a decision regarding an Attribute Value. It concerns the question of whether a Value is included in the Solution (Value-Decision State = “Included”) or not (Value-Decision State = “Excluded”).

Choice Decision

A Choice Decision is a Decision regarding a Value of a Choice Attribute.

Boolean Decision

A Boolean Decision is a Decision regarding a Value of a Boolean Attribute.

Numeric Decision

A Numeric Decision is a Decision regarding a Value of a Numeric Attribute.

Component Decision

A Component Decision is a Decision regarding a Value of a Component Attribute.

Explicit Decision

An Explicit Decision is a Decision which is being made by a HCA consumer, for instance a Configurator.

Implicit Decision

An Impicit Decision is a Decision which is being made by the Configuration Engine. It results from the currently made Explicit Decisions, Constraints and Cardinalities. For example: If a mandatory Attribute has only one remaining possible Value then this value is implicitly included in the Solution.

Multiple Decision

A Multiple Decision affects more than one Attribute. This means that several Explicit Decisions are transferred with one PUT request.

Affected Decision

An Affected Decision is a Decision which is in a relation to the executed Explicit Decisions.

Rejected Decision

A Rejected Decision is an Explicit Decision which contradicts the Configuration Model and has therefore been rejected by the Configuration Engine.

Consequence

A Consequence is the result of an evaluation weather of a Configuration Model or of made Decisions] in conjunction with a Configuration Model, especially with the underlying set of Constraints. It specifies for a certain Attribute in every case the Attribute Satisfaction State (true or false). In the case of "false", at least one Decision must still be made regarding an Attribute Value. For a Choice Attribute several Decisions may be still necessary. In addition to the Attribute Satisfaction State, further information is provided depending on the type of Attribute. Therefore, 4 types of Consequences are distinguished: Choice Consequences, Numeric Consequences, Boolean Consequences and Component Consequences.

Choice Consequence

A Choice Consequence is a Consequence regarding a Choice Attribute. For such an Attribute, represented by a Global Attribute Id ("attributeId"), the following is specified:

  1. By a boolean is specified whether a Decision is still necessary ("isSatisfied": true) or not ("isSatisfied": false).
  2. In the object "Cardinality" is specified the assignment type of the Attribute Values that is determined during modeling (mandatory, optional, multiple).
  3. Furthermore, the currently still possible Decision States are indicated for every Value. There are zwo possible Decision States for a Value of a Choice Attribute: "Included" and "Excluded". "Included" means in the current case that a Value of a Choice Attribute can be taken into account when the Configuration Engine searches for a Solution. "Excluded" means in the current case that a considered Value of a Choice Attribute cannot be taken into account when the Configuration Engine searches for a Solution. For an explanation of the 'attributeId' please refer to Global Attribute Id.

An example:

json
{
  "attributeId": {
    "localId": "RimSize",
    "sharedConfigurationModelId": "",
    "componentPath": []
  },
  "isSatisfied": true,
  "cardinality": {
    "lowerBound": 1,
    "upperBound": 1
  },
  "values": [
    {
      "choiceValueId": "16 inch",
      "possibleDecisionStates": [
        "Included",
        "Excluded"
      ]
    },
    {
      "choiceValueId": "18 inch",
      "possibleDecisionStates": [
        "Included",
        "Excluded"
      ]
    }
  ]
}

Boolean Consequence

A Boolean Consequence is a Consequence regarding a Boolean Attribute. For such an Attribute, represented by a Global Attribute Id ("attributeId"), the following is specified:

  1. By a boolean is specified whether a Decision is still necessary ("isSatisfied": true) or not ("isSatisfied": false).
  2. The meta attribute "selection" indicates if a Value assignment is mandatory or not. It represents the design decision of the modeler and can be used, for example, for the state display of a control.
  3. Furthermore, the currently still possible Decision States are indicated (true, false).

An example:

json
{
  "attributeId": {
    "localId": "Tubeless",
    "sharedConfigurationModelId": "TechnicalShared",
    "componentPath": []
  },
  "isSatisfied": false,
  "selection": "Mandatory",
  "possibleDecisionStates": [
    false,
    true
  ]
}

Numeric Consequence

A Numeric Consequence is a Consequence regarding a Numeric Attribute. For such an Attribute, represented by a Global Attribute Id ("attributeId"), the following is specified:

  1. By a boolean is specified whether a Decision is still necessary ("isSatisfied": true) or not ("isSatisfied": false).
  2. The meta attribute "selection" indicates if a Value assignment is mandatory or not. It represents the design decision of the modeler and can be used, for example, for the state display of a control.
  3. The meta attribute "range" specifies a range of numbers by specifying a maximum (max) and a minimum value (min).
  4. The number of decimal places is specified by an integer value of the meta-attribute "decimalPlaces".

An example:

json
{
  "attributeId": {
    "localId": "CO2Emissions",
    "componentPath": []
  },
  "isSatisfied": true,
  "selection": "Optional",
  "range": {
    "min": 0,
    "max": 300
  },
  "decimalPlaces": 0
}

Component Consequence

A Component Consequence is a Consequence regarding a Component Attribute. For such an Attribute, represented by a Global Attribute Id ("attributeId"), the following is specified:

  1. By a boolean is specified whether a Decision is still necessary ("isSatisfied": true) or not ("isSatisfied": false).
  2. The meta attribute "inclusion" specifies whether a Component Configuration Model should be permanently included in the Solution finding process or only optionally. It represents the design decision of the modeller, who must examine whether a system component of the real world is always or only optionally part of a system.
  3. Furthermore, the currently still possible Decision States are indicated (true, false).

An example:

json
{
  "attributeId": {
    "localId": "BackWheels",
    "componentPath": [
      "Automobile"
    ]
  },
  "isSatisfied": true,
  "inclusion": "Always",
  "possibleDecisionStates": [
    "Included"
  ]
}

State

A State generally provides information on Attribute Values and their consideration when calculating a Solution by the Configuration Engine.

Attribute Satisfaction State

The Attribute Satisfaction State indicates if Decisions for a certain Attribute are still required to be made.

Possible Decision State

The Possible Decision State refers to a Value of a Choice Attribute, to the two states of a Boolean Attribute or a referenced Component Configuration Model. It is transmitted to the Configuration Engine with a request. The following Possible Decision States are distinguished:

  • Included

Included means that a considered Value of a Choice Attribute or a referenced Component Configuration Model are taken into account when the Configuration Engine searches for a Solution. In case of a Choice Attribute this is analogous to selecting a Value.

  • Excluded

Excluded means that a considered Value of a Choice Attribute or a referenced Component Configuration Model are not taken into account when the Configuration Engine searches for a Solution. In case of a Choice Attribute an excluded Value can not become the subject of an Implicit Decision.

Configuration Model-Satisfaction State

The Configuration Model-Satisfaction State indicates for the whole Configuration Model if Decisions are still required to be made. The satisfaction of all Attributes is necessary in order for the satisfaction of the Configuration Model to be possible. But that alone does not necessarily suffice to satisfy the whole Configuration Model.

Decision State

Decision State is often used as a synonym for both Value Decision State and Model Decision State .

In the case of a Component Configuration Model, one cannot speak of "Value". The model itself may or may not be taken into account when calculating a Solution by the Configuration Engine. This is exactly what is meant by Decision State in this case. It is - strictly speaking - a Model Decision State.

Value Decision State

The Value-Decision State indicates whether an Attribute Value is excluded or included in calculating a Solution by the Configuration Engine.

In case of a Choice Attribute undefined is possible. Undefined states that it is not yet decided if a considered Choice Value are taken into account or not. In a Configurator this is analogous to not having selected a Value. An undefined Choice Value can still become the subject of an Implicit Decision.

The Value-Decision States Excluded and Included can be set explicitly by the Configurator or implicitly by the Configuration Engine.

Model Decision State

The Model-Decision State indicates whether a Component Configuration Model is excluded or included in calculating a Solution by the Configuration Engine. Undefined is possible what means that it is not yet decided if a considered Component Configuration Model are taken into account or not. I A referenced Component Configuration Model that has the Decision State undefined can also become the subject of an Implicit Decision.

Explanation Request

An Explanation Request refers to a State. You can ask for the Attribute Satisfaction State, the Configuration Model Satisfaction State, the Value Decision State of an Attribute Value or the Model Decision State with regard to a Component Configuration Model.

Explanation response

An Explanation Response is the answer to an Explanation Request. It contains the following information, depending on the aspect queried:

The Global Attribute Id of an Attribute under consideration and the type of Constraint violation (Cardinality or Rule).

The Constraint Ids of the causative Rules.

Specifications of the causative Decisions.

Explanation

Explanation is often used as a synonym for Explanation Response.

Conflict

A Conflict is a contradiction in the logical sense. With the exception of some special cases, no conflicts can arise during a Configuration Dialogue. However, Conflicts can occur when loading a previous Configuration State due to changes in the Configuration Model. Automatic Conflict Resolution can be switched on or off via the request body parameter "mode".

Conflict Resolution

Conflict Resolution may be necessary if Conflicts arise outside of a Configuration Dialogue, for example during the loading of a a previous Configuration State. The request body parameter "mode" can be used to control whether conflicts should be resolved manually or automatically.

Solution

A Solution is a satisfied set of Attributes. This means that all Attributes of a Configuration Model have been assigned a valid Value and that all Constraints are met. In many cases, it represents a concrete variant of a real world product.