Configurator using structure and rules to provide a user interface
Abstract
A configurator using structure and rules to provide a user interface. According to one embodiment of the invention, a customizable product class is created. The customizable product class includes a set of one or more attributes to define the customizable product class. A component product class is added to the customizable product class, where the component product class is a subclass of the customizable product. A customizable class rule is associated to the customizable product class, the customizable class rule including expressions which provide conditions on component products added to the customizable product. A customizable UI is mapped to the customizable product class, where the customizable UI provides access structure to the configurator.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
generating a first configurator for a customizable product, wherein the generating the first configurator comprises performing the operations of
creating a customizable product, wherein
the customizable product comprises a set of one or more attributes, and
the set of one or more attributes is configured to define, at least in part, the customizable product,
assigning the customizable product to a customizable product class, wherein
the customizable product class is a parent class of a hierarchy defining the first configurator,
adding a component product class to the customizable product class, wherein
the component product class is a subclass of the customizable product,
adding a customizable class rule to the customizable product class, wherein
the customizable class rule comprises
one or more expressions, and
the one or more expressions are configured to define one or more constraints on one or more component products added to the customizable product, and
mapping a customizable user interface (UI) to the customizable product class,
wherein
the customizable UI is configured to provide access structure to the first configurator; and
generating a second configurator for another customizable product, wherein
the generating the second configurator comprises
performing at least one of the operations on the another customizable product.
2. The method of claim 1 , further comprising:
adding one or more component product classes to a port; and
adding the port to the customizable product class, wherein
the port is configured to allow the first configurator to classify a group of component products.
3. The method of claim 2 , wherein
the port comprises
a cardinality attribute, and
the cardinality attribute is configured to constrain the number of component products to
be added by the first configurator.
4. The method of claim 3 , wherein
the cardinality attribute comprises at least one of
a minimum cardinality, or
a maximum cardinality,
the minimum cardinality is configured to constrain the minimum number of component
products to be added by the first configurator, and
the maximum cardinality is configured to constrain the maximum number of component
products to be added by the first configurator.
5. The method of claim 3 , wherein
the cardinality attribute comprises
a default cardinality, and
the default cardinality defines a quantity of the component product class to be added by
the first configurator.
6. The method of claim 1 , wherein
the one or more expressions comprise at least one of
a property path,
a constant, or
an operator.
7. The method of claim 1 , wherein
the customizable class rule uses a natural language syntax.
8. The method of claim 1 , wherein
the customizable class rule is a subclass of the customizable product class,
the component product class automatically inherits the attributes of the customizable product class, wherein
the component product class comprises a plurality of related products complementary to the customizable product, and
the component product class inherits the customizable class rule of the customizable product class, wherein
the customizable product class is associated with a plurality of modifiable attributes, and
the attributes comprise information about the customizable product class and the component product class defined by a configuration expert.
9. The method of claim 1 , wherein
the component product class comprises
a static attribute, and
the static attribute is not associated with a parent class.
10. The method of claim 1 , wherein
the customizable product is configured as an object oriented structure, wherein the
configuration comprises
a modeling session, wherein
the first configurator is generated during a modeling session to customize the customizable product based on the customizable class rule,
the first configurator is mapped to the customizable user interface to customize the product based on an input from a configuration expert, and
the input comprises a modification to the customizable class rule based on the customizable product,
the customizable product comprises versioning information,
the component product class comprises one or more component product subclasses, and
a plurality of related products associated with the customizable product class,
at least one of the one or more component product subclasses is configured to inherit an attribute of the one or more attributes of the customizable product class, and
the attribute is of type string, number, date, and Boolean.
11. A computer program product comprising:
a plurality of instructions, comprising
a first set of instructions, executable on a computer system, configured to generate a first configurator for a customizable product, wherein
the first set of instructions comprises
a first subset of instructions, executable on the computer system, configured to create a customizable product, wherein the customizable product comprises
a set of one or more attributes, and
the set of one or more attributes is configured to define, at least in part, the customizable product,
a second subset of instructions, executable on the computer system, configured to assign the customizable product to a customizable product class, wherein
the customizable product class is a parent class of a hierarchy defining the first configurator,
a third subset of instructions, executable on the computer system, configured to add a component product class to the customizable product class, wherein
the component product class is a subclass of the customizable product,
a fourth subset of instructions, executable on the computer system, configured to add a customizable class rule to the customizable product class, wherein
the customizable class rule comprises
one or more expressions, and
the one or more expressions are configured to define one or more constraints on one or more component products added to the customizable product, and
a fifth subset of instructions, executable on the computer system, configured to map a customizable user interface (UI) to the customizable product class, wherein
the customizable UI is configured to provide access structure to the first configurator, and
a second set of instructions, executable on the computer system, configured to generate a second configurator for another customizable product wherein,
the second set of instructions comprises at least one subset of the first, the second, the third, the fourth, or the fifth subsets of instructions, and
the second set of instructions are performed on the another customizable product; and
a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.
12. The computer program product of claim 11 , wherein the first set of instructions comprises:
a sixth subset of instructions, executable on the computer system, configured to add one or more component product classes to a port; and
a seventh subset of instructions, executable on the computer system, configured to add the port to the customizable product class, wherein
the port is configured to allow the first configurator to classify a group of component products.
13. The computer program product of claim 12 , wherein
the port comprises
a cardinality attribute, and
the cardinality attribute is configured to constrain the number of component products to be added by the first configurator.
14. The computer program product of claim 13 , wherein
the cardinality attribute comprises at least one of
a minimum cardinality, or
a maximum cardinality,
the minimum cardinality is configured to constrain the minimum number of component products to be added by the first configurator, and
the maximum cardinality is configured to constrain the maximum number of component products to be added by the first configurator.
15. The computer program product of claim 13 , wherein
the cardinality attribute comprises
a default cardinality, and
the default cardinality defines a quantity of the component product class to be added by the first configurator.
16. A computer system comprising:
a processor;
a non-transitory computer-readable storage medium coupled to the processor; and
a plurality of instructions, encoded in the non-transitory computer-readable storage medium and configured to cause the processor to
generate a first configurator for a customizable product, wherein
the instructions configured to cause the processor to generate the first configurator comprise a first set of instructions configured to cause the processor to
create a customizable product, wherein
the customizable product comprises a set of one or more attributes, and
the set of one or more attributes is configured to define, at least in part, the customizable product,
assign the customizable product to a customizable product class, wherein
the customizable product class is a parent class of a hierarchy defining the first configurator,
add a component product class to the customizable product class, wherein
the component product class is a subclass of the customizable product,
add a customizable class rule to the customizable product class, wherein
the customizable class rule comprises one or more expressions, and
the one or more expressions are configured to define one or more constraints on one or more component products added to the customizable product, and
map a customizable user interface (UI) to the customizable product class, wherein
the customizable UI is configured to provide access structure to the first configurator, and
generate a second configurator for another customizable product, wherein
the instructions configured to cause the processor to generate the second configurator comprise at least one of the instructions performed in generating the first configurator, and
the at least one of the instructions is performed on the another customizable product.
17. The computer system of claim 16 , wherein the first configurator comprises:
the customizable product class;
a component product, wherein
the component product is of a subclass of the customizable product,
the component product is configured to inherit at least one attribute of the set of one or more attributes from the customizable product class;
the customizable class rule; and
the customizable UI.
18. The computer system of claim 16 , wherein the first configurator comprises:
a port, wherein
the port comprises
a set of one or more of the component products.
19. The computer system of claim 16 , wherein the first configurator comprises:
a second customizable product, wherein
the component product comprises
one or more of a second customizable product.
20. The computer system of claim 16 , wherein
the class rule comprises
a natural language template, and
the natural language template uses a natural language syntax.
21. The computer system of claim 16 , wherein
the class rule comprises at least one of
a batch rule, or
a predicate-based customizable class rule.
22. The computer system of claim 16 , wherein the first configurator comprises:
an operator property, wherein
the operator property is configured to enable a function to be performed within an expression of the one or more expressions, and
the expression comprises a property path.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.