Method and apparatus for applying business rules in an object model driven context
First Claim
1. A computer implemented process for applying a set of rules, the process comprising:
- (a) placing a pre-method control point before logic of a method and post-method control point after the logic of the method;
(b) associating a set of rules with each control point based on a class of object in which the method resides, name of the method, and type of control point, whether the pre-method control point or the post-method control point;
(c) invoking the method, wherein encountering each control point during the execution of the method comprises;
(i) determining if the encountered control point is active;
(ii) on the basis of an active control point;
1) selecting rules based on a set of rules associated with the active control point associated in step (b);
2) running the selected rules;
3) obtaining results from running the rules; and
4) combining the results using a combining algorithm specified by the control point.
3 Assignments
0 Petitions
Accused Products
Abstract
A means is provided for specifying, applying, and managing sets of temporary or permanent additions or modifications to the behavior of object-oriented programs without having to change the code of the program, by using externalized rules. The points at which the externalized rules may be applied is determined by the implementation object model, thus making their specification natural to the program developers who are familiar with the program'"'"'s implementation object model. The concept of dynamic method-based trigger or control points is disclosed for identifying potential rule attachment points in objects and identifying the rules that are applicable to each dynamic control point.
65 Citations
85 Claims
-
1. A computer implemented process for applying a set of rules, the process comprising:
-
(a) placing a pre-method control point before logic of a method and post-method control point after the logic of the method; (b) associating a set of rules with each control point based on a class of object in which the method resides, name of the method, and type of control point, whether the pre-method control point or the post-method control point; (c) invoking the method, wherein encountering each control point during the execution of the method comprises; (i) determining if the encountered control point is active; (ii) on the basis of an active control point; 1) selecting rules based on a set of rules associated with the active control point associated in step (b); 2) running the selected rules; 3) obtaining results from running the rules; and 4) combining the results using a combining algorithm specified by the control point.
-
-
2. A computer implemented process for applying a set of rules comprising:
-
(a) defining an object; (b) defining at least one method in the object; (c) defining a control point just before logic of at least one method, wherein the control point is a method context control point; and (d) associating a set of rules with the control point. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer implemented process for applying a set of rules, comprising:
-
(a) invoking a method in an object; (b) encountering an active control point during the invocation of the method, wherein the active control point is an active method context control point; (c) selecting rules associated with the method of the object at the control point; (d) invoking the rules; and (e) combining results from invoking the rules. - View Dependent Claims (13, 14, 15)
-
-
16. A computer implemented process for applying a set of rules comprising:
-
(a) defining an object; (b) defining at least one method in the object; (c) defining at least one control point in the at least one method; (d) defining rules to the at least one control point on basis the object'"'"'s class name, method, name, and position of the at least one control point in the method; (e) encountering a first control point; (f) running the rules associated with the first control point (g) affecting behavior of the object base on running the rules associated with the first control point; and (h) associating different rules to a control point.
-
-
17. A computer implemented process for applying a set of rules comprising:
-
(a) defining an object; (b) defining at least one method in the object; (c) defining at least one control point in the at least one method; (d) defining rules to the at least one control point on basis the object'"'"'s class name, method, name, and position of the at least one control point in the method; (e) encountering a first control point; (f) running the rules associated with the first control point; (g) affecting behavior of the object base on running the rules associated with the first control point; and (h) defining another control point.
-
-
18. A computer implemented process for applying a set of rules comprising:
-
(a) defining an object; (b) defining at least one method in the object; (c) defining at least one control point in the at least one method; (d) defining rules to the at least one control point on basis the object'"'"'s class name, method, name, and position of the at least one control point in the method; (e) encountering a first control point; (f) running the rules associated with the first control point; (g) affecting behavior of the object base on running the rules associated with the first control point; and (h) associating rules to a second control point.
-
-
19. A computer implemented process for applying a set of rules, comprising:
-
(a) defining an object; (b) defining a method in the object; (c) defining a first control point of the method, the first control point being a method context control point; (d) determining rules associated with the first control point; (e) defining a second control point of the method, the second control point also being a method context control point; and (f) determining rules associated with the second control point. - View Dependent Claims (20, 21, 22)
-
-
23. A computer implemented process for defining an object comprising:
-
defining an object; defining a method in the object by; defining method logic; placing the method logic in the method; defining at least one control point, wherein the at least one control point is a method context control point; and placing the at least one control point in the method wherein the method logic is continuous, wherein the step of placing the at least one control point further comprises placing the at least one control in the method after the method logic. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A computer implemented process for defining a rule comprising:
-
creating the rule; associating the rule with an object class; associating the rule with a method within the object class; associating the rule with an occurrence of a control point within the method; and associating the rule with another method within the object class. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A computer implemented process for applying a set of rules, comprising:
-
selecting an object class; selecting a method within the object class; invoking the method; processing rules associated with the method comprising; encountering a control point associated with the method; determining if the control point is active; and finding at least one rule associated with an active control point. - View Dependent Claims (36, 37)
-
-
38. A computer implemented process for applying a set of rules, comprising:
-
selecting an object class; selecting a method within the object class; invoking the method; processing rules comprising; encountering a control point; accessing a selecting algorithm associated with the control point; and selecting at least one rule using the selecting algorithm.
-
-
39. A computer implemented process for applying a set of rules, comprising:
-
selecting an object class; selecting a method within the object class; invoking the method; processing rules comprising; encountering a method context control point; finding at least one rule associated with the method context control point; running the at least one rule; determining results on the basis of running the at least one rule; accessing a combining algorithm associated with the method context control point; and combining the results using the combining algorithm.
-
-
40. A computer implemented process for applying a set of rules, comprising:
-
selecting an object class; selecting a method within the object class; invoking the method; processing rules comprising; encountering a first control point associated with the method; determining if the first control point is active; executing method logic of the method; encountering a second control point associated with the method; determining if the second control point is active; and finding a set of rules associated with one of the first control point and the second control point, wherein the set of rules contains not less than zero rules.
-
-
41. A computer implemented process for applying a set of rules, comprising:
-
selecting an object class; selecting a method within the object class; invoking the method; processing rules comprising; encountering a control point associated with the method, the control point being a method context control point for which associated rules may be changed from a first set of rules to a second set of rules different from the first set of rules; finding at least one rule associated with the control point prior to executing method logic of the method; running the at least one rule; obtaining results on the basis of running the at least one rule; and controlling the method on the basis of the results. - View Dependent Claims (42, 43)
-
-
44. A data processing system for defining an object comprising:
-
defining means for defining an object; defining means for defining a method in the object by; defining means for defining method logic; placing means for placing the method logic in the method; defining means for defining at least one control point, wherein the at least one control point is a method context control point; and placing means for placing the at least one control point in the method wherein the method logic is continuous, wherein the step of placing the at least one control point farther comprises placing means for placing the at least one control in the method after the method logic. - View Dependent Claims (45, 46, 47, 48, 49, 50)
-
-
51. A data processing system for defining a rule comprising:
-
creating means for creating the rule; associating means for associating the rule with an object class; associating means for associating the rule with a method within the object class; associating means for associating the rule with an occurrence of a control point within the method; and associating means for associating the rule with another method within the object class. - View Dependent Claims (52, 53, 54, 55)
-
-
56. A data processing system for applying a set of rules, comprising:
-
selecting means for selecting an object class; selecting means for selecting a method within the object class; invoking means for invoking the method; processing means for processing rules associated with the method comprising; encountering means for encountering a control point associated with the method; determining meats for determining if the control point is active; and finding means for finding at least one rule associated with an active control point. - View Dependent Claims (57, 58)
-
-
59. A data processing system for applying a set of rules, comprising:
-
selecting means for selecting an object class; selecting means for selecting a method within the object class; invoking means for invoking the method; processing means for processing rules comprising; encountering means for encountering a control point; accessing means for accessing a selecting algorithm associated with the control point; and selecting means for selecting at least one rule using the selecting algorithm.
-
-
60. A data processing system for applying a set of rules, comprising:
-
selecting means for selecting an object class; selecting means for selecting a method within the object class; invoking means for invoking the method; processing means for processing rules comprising; encountering means for encountering a control point, the control point being a method context control point for which associated rules may be changed from a first set of rules to a second set of rules different from the first set of rules; finding means for finding at least one rule associated with the control point; running means for running the at least one rule; determining means for determining results on the basis of running the at least one rule; accessing means for accessing a combining algorithm associated with the control point; and combining means for combining the results using the combining algorithm.
-
-
61. A data processing system for applying a set of rules, comprising:
-
selecting means for selecting an object class; selecting means for selecting a method within the object class; invoking means for invoking the method; processing means for processing rules comprising; encountering means for encountering a first control point associated with the method; determining means for determining if the first control point is active; executing means for executing method logic of the method; encountering means for encountering a second control point associated with the method; determining means for determining if the second control point is active; finding means for finding a set of rules associated with one of the first control point and the second control point, wherein the set of rules contains not less than zero rules.
-
-
62. A data processing system for applying a set of rules, comprising:
-
selecting means for selecting an object class; selecting means for selecting a method within the object class; invoking means for invoking the method; processing means for processing rules comprising; encountering means for encountering a control point associated with the method, the control point being a method context control point; finding means for finding at least one rule associated with the control point prior to executing method logic of the method; running means for running the at least one rule; obtaining means for obtaining results on the basis of running the at least one rule; and controlling means for controlling the method on the basis of the results. - View Dependent Claims (63, 64)
-
-
65. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for defining an object, the instruction comprising:
-
instructions for defining an object; instructions for defining a method in the object by; instructions for defining method logic; instructions for placing the method logic in the method; instructions for defining at least one control point, wherein the at least one control point is a method context control point; and instructions for placing the at least one control point in the method wherein the method logic is continuous, wherein the step of placing the at least one control point further comprises placing the at least one control in the method after the method logic. - View Dependent Claims (66, 67, 68, 69, 70, 71)
-
-
72. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for defining a rule, the instruction comprising:
-
instructions for creating the rule; instructions for associating the rule with an object class; instructions for associating the rule with a method within the object class; instructions for associating the rule with an occurrence of a control point within the method; and instructions for associating the rule with another method within the object class. - View Dependent Claims (73, 74, 75, 76)
-
-
77. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for applying a set of rules, the instruction comprising:
-
instructions for selecting an object class; instructions for selecting a method within the object class; instructions for invoking the method; instructions for processing rules associated with the method comprising; instructions for encountering a control point associated with the method; instructions for determining if the control point is active; and instructions for finding at least one rule associated with an active control point. - View Dependent Claims (78, 79)
-
-
80. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for applying a set of rules, the instruction comprising:
-
instructions for selecting an object class; instructions for selecting a method within the object class; instructions for invoking the method; instructions for processing rules comprising; instructions for encountering a control point; instructions for accessing a selecting algorithm associated with the control point; and instructions for selecting at least one rule using the selecting algorithm.
-
-
81. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for applying a set of rules, the instruction comprising:
-
instructions for selecting an object class; instructions for selecting a method within the object class; instructions for invoking the method; instructions for processing rules comprising; instructions for encountering a control point, the control point being a method context control point for which associated rules may be changed from a first set of rules to a second set of rules different from the first set of rules; instructions for finding at least one rule associated with the control point; instructions for running the at least one rule; instructions for determining results on the basis of running the at least one rule; instructions for accessing a combining algorithm associated with the control point; and instructions for combining the results using the combining algorithm.
-
-
82. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for applying a set of rules, the instruction comprising:
-
instructions for selecting an object class; instructions for selecting a method within the object class; instructions for invoking the method; instructions for processing rules comprising; instructions for encountering a first control point associated with the method; instructions for determining if the first control point is active; instructions for executing method logic of the method; instructions for encountering a second control point associated with the method; instructions for determining if the second control point is active; instructions for finding a set of rules associated with one of the first control point and the second control point, wherein the set of rules contains not less than zero rules.
-
-
83. A computer program product embodied on a computer readable medium containing instructions for a computer implemented process for applying a set of rules, the instruction comprising:
-
instructions for selecting an object class; instructions for selecting a method within the object class; instructions for invoking the method; processing rules comprising; instructions for encountering a control point associated with the method, the control point being a method context control point; instructions for finding at least one rule associated with the control point prior to executing method logic of the method; instructions for running the at least one rule; instructions for obtaining results on the basis of running the at least one rule; and instructions for controlling the method on the basis of the results. - View Dependent Claims (84, 85)
-
Specification