Claims
- 1. A computer program product, tangibly stored on a computer-readable medium, for interacting with a user to define business rules in a declarative manner, comprising instructions operable to cause a computer coupled to a display device to:
display a rule set as an editable list of conditions and an editable list of actions, the conditions and actions being linked to each other by the combination of an editable list of if-values and an editable list of then-values, wherein if-values and then-values are explicitly linked to each other, conditions and if-values are explicitly linked to each other, and then-values and actions are explicitly linked to each other in the displayed lists; and receive from a user inputs editing one or more of the editable lists.
- 2. The product of claim 1, further comprising instructions to:
display the editable lists in a matrix structure of four quadrants, wherein an editable list of condition terms and an editable list of action terms are displayed in adjacent quadrants, and the editable list of if-values and the editable list of then-values are displayed in adjacent quadrants; and use adjacency of if-values and then-values to represent a conditional rule implementation, where when the specified conditions are true then the corresponding actions are executed.
- 3. The product of claim 2, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying preconditions; and the product further comprises instructions to receive from a user input to create and edit preconditions.
- 4. The product of claim 2, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying shortcuts; and the product further comprises instructions to receive from a user inputs to create and edit shortcuts.
- 5. The product of claim 2, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying non-conditional rules; and the product further comprises instructions to receive from a user inputs to create and edit non-conditional rules.
- 6. The product of claim 1, wherein:
the actions are expression-defining actions and the if-values and the then-values comprise boolean values.
- 7. The product of claim 6, wherein each of the expression-defining actions comprises an element specifying a data type.
- 8. The product of claim 6, further comprising instructions to:
add the expressions defined in the rule set to a vocabulary of a package of rules.
- 9. The product of claim 1, further comprising instructions to:
display the editable lists in a matrix structure of four quadrants, wherein an editable list of condition terms is displayed in an upper left quadrant, an editable list of action terms is displayed in a lower left quadrant, the editable list of if-values is displayed in an upper right quadrant, and the editable list of then-values is displayed in a lower right quadrant; and use each vertical column spanning the two right quadrants to represent a conditional rule implementation, where when the specified conditions are true then the corresponding actions are executed.
- 10. The product of claim 9, wherein all if-values and then-values in the same vertical column of values in the two right quadrants are linked to each other to define a rule.
- 11. The product of claim 4, wherein a first condition term is a logical expression with a boolean value and the corresponding if-value is either true or false.
- 12. The product of claim 9, wherein a second condition term is a business term and the corresponding if-value is a permitted value or value range of the business term.
- 13. The product of claim 9, wherein a first action term is a simple term and the corresponding then-value is a value that can be assigned to the simple term.
- 14. The product of claim 9, wherein a second action term is an assignment expression and the corresponding then-value is a check-mark value or not, the presence of the check-mark value specifying that the assignment expression is to be performed.
- 15. The product of claim 9, wherein a fourth action term is a post-message expression and the corresponding then-value is a check-mark value or not, the presence of the check-mark value specifying that the post-message expression is to be performed.
- 16. The product of claim 15, wherein the action specified by the fourth action term is to post a message for consumption by a human consumer.
- 17. The product of claim 15, wherein the action specified by the fourth action term is to post a message for consumption by a software component.
- 18. The product of claim 1, further comprising instructions to:
display the rule set as part of a package of rules, the package containing at least one rule and at least one rule set, each rule in the package being in exactly one of the sets of rules in the package.
- 19. The product of claim 18, further comprising instructions to:
receive an input from a user specifying a test input for the package of rules; and display the test input in one pane while simultaneously displaying the corresponding output from the package of rules in another pane.
- 20. The product of claim 18, further comprising instructions to:
receive from a user an input selecting one of the sets of rules of the package for editing.
- 21. The product of claim 18, further comprising instructions to:
display the package with one or more tabs, each tab representing a rule set.
- 22. The product of claim 1, further comprising instructions to:
display a value set for each condition, where the values in the value set are all possible if-values of the corresponding condition.
- 23. The product of claim 22, further comprising instructions to:
display in an if-value cell a pull-down list populated with the values in the value set of the corresponding condition and a value of do-not-care.
- 24. The product of claim 23, wherein the pull-down list is further populated with a value representing OTHER.
- 25. The product of claim 22, further comprising instructions to:
display a rule having a do-not-care if-value for a condition as multiple simple rules by displaying one simple rule for each value in the value set for the condition having the do-not-care value.
- 26. The product of claim 1, further comprising instructions to:
display a value set for each assignment action, where the values in the value set are all possible then-values of the corresponding assignment action, the possible values being those values that can be assigned by the corresponding action.
- 27. The product of claim 26, further comprising instructions to:
display in a then-value cell a pull-down list populated with the values in the value set of the corresponding assignment action.
- 28. The product of claim 1, further comprising instructions to:
display an incompleteness in the rule set by auto-creating and displaying rules having combinations of possible if-values not otherwise covered by the rule set.
- 29. The product of claim 1, further comprising instructions to:
display a logical ambiguity in the rule set by highlighting rules that can produce different actions for the exact same conditions.
- 30. The product of claim 1, further comprising instructions to:
display a complex rule as multiple simple rules in response to a user request to expand the complex rule, a complex rule being a rule having a do-not-care if-value for a condition, and each of the multiple simple rules having one of the possible if-values for the condition having the do-not-care value.
- 31. The product of claim 1, further comprising instructions to:
display a vocabulary in the form of a tree view of business terms and their traversable relationships that can be drag-and-dropped in defining conditions and actions.
- 32. The product of claim 1, further comprising instructions to:
display business rule statements in plain language, each business rule statement being linked to a rule.
- 33. The product of claim 1, further comprising instructions to:
display shortcuts as an editable list of complex business terms and corresponding aliases, a complex business term being a business term with a specific scope determined by relationship traversals.
- 34. The product of claim 1, further comprising instructions to:
display preconditions, where each precondition acts as an additional condition for each rule in the rule set.
- 35. The product of claim 1, further comprising instructions to:
display a non-conditional rule column or row.
- 36. The product of claim 1, further comprising instructions to:
display non-conditional rules, a non-conditional rule being a rule that fires without any conditions other than the preconditions of the rule set.
- 37. The product of claim 1, further comprising instructions to:
receive an input from a user setting an override precedence of one rule over another rule in the rule set; and display the user-defined precedence.
- 38. A computer-implemented method for interacting with a user to define business rules in a declarative manner, the method comprising:
displaying a rule set as an editable list of conditions and an editable list of actions, the conditions and actions being linked to each other by the combination of an editable list of if-values and an editable list of then-values, wherein if-values and then-values are explicitly linked to each other, conditions and if-values are explicitly linked to each other, and then-values and actions are explicitly linked to each other in the displayed lists; and receiving from a user inputs editing one or more of the editable lists.
- 39. The method of claim 38, wherein:
the actions are expression-defining actions and the if-values and the then-values comprise boolean values; and the method further comprises adding the expressions defined in the rule set to a vocabulary of a package of rules.
- 40. The method of claim 38, further comprising:
displaying the editable lists in a matrix structure of four quadrants, wherein an editable list of condition terms is displayed in an upper left quadrant, an editable list of action terms is displayed in a lower left quadrant, the editable list of if-values is displayed in an upper right quadrant, and the editable list of then-values is displayed in a lower right quadrant; and using each vertical column spanning the two right quadrants to represent a conditional rule implementation, where when the specified conditions are true then the corresponding actions are executed.
- 41. The method of claim 40, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying preconditions; and the method further comprises receiving from a user inputs to create and edit preconditions.
- 42. The product of claim 40, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying shortcuts; and the method further comprises receiving from a user inputs to create and edit shortcuts.
- 43. The product of claim 40, wherein:
the matrix structure of four quadrants is displayed in a user interface element further comprising a display area for displaying non-conditional rules; and the method further comprises receiving from a user inputs to create and edit non-conditional rules.
- 44. The method of claim 40, wherein all if-values and then-values in the same vertical column of values in the two right quadrants are linked to each other to define a rule.
- 45. The method of claim 38, further comprising:
displaying the rule set as part of a package of rules, the package containing at least one rule and at least one rule set, each rule in the package being in at least one of the sets of rules in the package.
- 46. The method of claim 38, further comprising:
displaying a value set for each condition, where the values in the value set are all possible if-values of the corresponding condition; and displaying a value set for each assignment action, where the values in the value set are all possible then-values of the corresponding assignment action, the possible values being those values that can be assigned by the corresponding action.
- 47. The method of claim 38, further comprising:
displaying an incompleteness in the rule set by auto-creating and displaying rules having combinations of possible if-values not otherwise covered by the rule set; and displaying a logical ambiguity in the rule set by highlighting rules that can produce different actions for the exact same conditions.
- 48. The method of claim 38, further comprising:
displaying a complex rule as multiple simple rules in response to a user request to expand the complex rule, a complex rule being a rule having a do-not-care if-value for a condition, and each of the multiple simple rules having one of the possible if-values for the condition having the do-not-care value.
- 49. The method of claim 38, further comprising:
displaying a vocabulary in the form of a tree view of business terms and their traversable relationships that can be drag-and-dropped in defining conditions and actions.
- 50. The method of claim 38, further comprising:
displaying business rule statements in plain language, each business rule statement being linked to a rule; displaying shortcuts as an editable list of business terms and corresponding aliases; displaying preconditions, where each precondition acts as an additional condition for each rule in the rule set; and displaying non-conditional rules, a non-conditional rule being a rule that fires without any conditions other than the preconditions of the rule set; and displaying a user-defined override precedence of one rule over another rule in the rule set.
- 51. The method of claim 45, further comprising:
receiving an input from a user specifying a test input for the package of rules; and displaying the test input in one pane while simultaneously displaying the corresponding output from the package of rules in another pane.
- 52. A computer program product, tangibly stored on a computer-readable medium, for interacting with a user to define constraint rules in a declarative manner, comprising instructions operable to cause a computer coupled to a display device to:
display a constraint rule set as a two-dimensional matrix, where a first dimension represents constraint conditions and a second dimension represents constraint categories, the matrix displaying as headings for the first dimension editable constraint conditions and displaying as headings for the second dimension editable categories, the matrix indicating a constraint rule according to which one or more first constraint conditions imply a first constraint category by displaying a mark in all elements of the matrix where the one or more constraint conditions intersect the constraint category; and receive from a user inputs editing the displayed conditions, categories, and marks.
- 53. A computer-implemented method for interacting with a user to define constraint rules in a declarative manner, the method comprising:
displaying a constraint rule set as a two-dimensional matrix, where a first dimension represents constraint conditions and a second dimension represents constraint categories, the matrix displaying as headings for the first dimension editable constraint conditions and displaying as headings for the second dimension editable categories, the matrix indicating a constraint rule according to which one or more first constraint conditions imply a first constraint category by displaying a mark in all elements of the matrix where the one or more constraint conditions intersect the constraint category; and receiving from a user inputs editing the displayed conditions, categories, and marks.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority on the basis of commonly-owned U.S. Patent Application No. 60/250,869 for Business Rules User Interface Elements For Development Of Adaptable Enterprise Applications, filed Dec. 1, 2000, the disclosure of which is incorporated here by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60250869 |
Dec 2000 |
US |