Multi-valued decision diagram feature state determination
First Claim
Patent Images
1. A method to determine feature states comprising:
- storing data representative of a multi-valued decision diagram (MDD), the MDD indicating a Boolean function specifying a buildable space of all possible configurations of features of a vehicle, the MDD including a root node, a truth node, a false node, and at least one level of intervening nodes between the root node and either the truth node or the false node, each level of the MDD corresponding to a family of mutually-exclusive features represented by at least one node, each node except for the truth node and the false node connecting to nodes of a next adjacent level by outgoing edges having labels each indicating one or more features of the family that are available for the possible configurations including the node, each node except for the root node connecting to nodes of a prior adjacent level by incoming edges that are outgoing edges of the prior adjacent level, such that a complete path from the root node through the outgoing edges to the truth node defines one valid configuration, wherein each complete path from the root node to the truth node is of the same length in nodes when there are no long edges;
receiving from a user a current selection of a partial configuration comprising one or more families with one feature selected for each family, wherein the partial configuration has been validated as a valid configuration;
generating an availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection;
determining a feature state for all features based on the current selection and the availability bitset;
presenting to the user features possible for selection, based on the availability bitset;
receiving from the user, selection of one of the possible features for a next family and setting that feature in the partial configuration as Selected resulting in a new partial configuration;
performing validation of the new partial configuration using a configuration engine;
if the new partial configuration is invalid, prompting the user to make changes, or allowing the configuration engine to make the changes according to a predefined hierarchy;
setting the new partial configuration as the partial configuration and the current selection;
regenerating the availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection; and
repeating the process starting from presenting to the user the features possible for selection by the user until all families are included in the valid configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
A system is provided with memory and a processor. The memory is configured to store data representative of a multi-valued decision diagram (MDD). The processor is in communication with the memory and is programmed to receive a current selection of one or more of the features, and to determine a feature state for each of the one or more features, based on the current selection and the possible configurations defined by the MDD. The processor is further programmed to calculate an availability bitset indicative of which features as available for further selection, consistent with the valid configurations and without violating existing constraints of the current selection.
-
Citations
20 Claims
-
1. A method to determine feature states comprising:
-
storing data representative of a multi-valued decision diagram (MDD), the MDD indicating a Boolean function specifying a buildable space of all possible configurations of features of a vehicle, the MDD including a root node, a truth node, a false node, and at least one level of intervening nodes between the root node and either the truth node or the false node, each level of the MDD corresponding to a family of mutually-exclusive features represented by at least one node, each node except for the truth node and the false node connecting to nodes of a next adjacent level by outgoing edges having labels each indicating one or more features of the family that are available for the possible configurations including the node, each node except for the root node connecting to nodes of a prior adjacent level by incoming edges that are outgoing edges of the prior adjacent level, such that a complete path from the root node through the outgoing edges to the truth node defines one valid configuration, wherein each complete path from the root node to the truth node is of the same length in nodes when there are no long edges; receiving from a user a current selection of a partial configuration comprising one or more families with one feature selected for each family, wherein the partial configuration has been validated as a valid configuration; generating an availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection; determining a feature state for all features based on the current selection and the availability bitset; presenting to the user features possible for selection, based on the availability bitset; receiving from the user, selection of one of the possible features for a next family and setting that feature in the partial configuration as Selected resulting in a new partial configuration; performing validation of the new partial configuration using a configuration engine; if the new partial configuration is invalid, prompting the user to make changes, or allowing the configuration engine to make the changes according to a predefined hierarchy; setting the new partial configuration as the partial configuration and the current selection; regenerating the availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection; and repeating the process starting from presenting to the user the features possible for selection by the user until all families are included in the valid configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a memory configured to store data representative of a multi-valued decision diagram (MDD) indicating a Boolean function specifying a buildable space of all possible configurations of features of a vehicle, the MDD including a root node, a truth node, a false node, and at least one level of intervening nodes between the root node and either the truth node or the false node, each level of the MDD) corresponding to a family of mutually-exclusive features and represented by at least one node, each node of a level connecting to nodes of a next adjacent level by outgoing edges having labels each indicating one or more features of the family that are available for the possible configurations including the node, such that a complete path from the root node through the outgoing edges to the truth node defines one valid configuration, wherein each complete path from the root node to the truth node is of the same length in nodes when there are no long edges; and a processor in communication with the memory, programmed to receive from a user a current selection of a partial configuration comprising one or more families with one feature selected for each family, wherein the partial configuration has been validated as a valid configuration, generate an availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection, determine a feature state for all features based on the current selection and the availability bitset, present to the user features possible for selection, based on the availability bitset, receive from the user, selection of one of the possible features for a next family and set that feature in the partial configuration as Selected resulting in a new partial configuration, perform validation of the new partial configuration using a configuration engine, if the new partial configuration is invalid, prompt the user to make changes, or allow the configuration engine to make the changes according to a predefined hierarchy, set the new partial configuration as the partial configuration and the current selection, regenerate the availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection, and repeat the process starting from presenting to the user the features possible for selection by the user until all families are included m the valid configuration. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to:
-
store data representative of a multi-valued decision diagram (MDD) indicating a Boolean function specifying a buildable space of all possible configurations of features of a vehicle, the MDD including a root node, a truth node, a false node, and at least one level of intervening nodes between the root node and either the truth node or the false node, each level of the MDD corresponding to a family of mutually-exclusive features and represented by at least one node, each node of a level connecting to nodes of a next adjacent level by outgoing edges having labels each indicating one or more features of the family that are available for the possible configurations including the node, such that a complete path from the root node through the outgoing edges to the truth node defines one valid configuration, wherein each complete path from the root node to the truth node is of the same length in nodes when there are no long edges; receive from a user a current selection of a partial configuration comprising one or more families with one feature selected for each family, wherein the partial configuration has been validated as a valid configuration; generate an availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection; determine a feature state for all features based on the current selection and the availability bitset; present to the user features possible for selection, based on the availability bitset; receive from the user selection of one of the possible features for a next family and set that feature in the partial configuration as Selected resulting in a new partial configuration; perform validation of the new partial configuration using a configuration engine; if the new partial configuration is invalid, prompt the user to make changes, or allow the configuration engine to make the changes according to a predefined hierarchy; set the new partial configuration as the partial configuration and the current selection; regenerate the availability bitset indicative of which features are available for further selection, consistent with the valid configuration and without violating constraints imposed by the current selection; and repeat the process starting from presenting to the user the features possible for selection by the user until all families are included in the valid configuration. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification