Controlling forward chaining execution in a rules system
AssigneeMicrosoft Corporation
InventorsJurgen A. Willis, Donald J. McCrady, John A. Rummell
Life of this patent
Estimating the term…
Abstract
Detailed herein is a technology which, among other things, provides for forward chaining in a ruleset. In one approach to this technology, a first rule is examined, to identifying a data object associated with it. A second rule is identified, also associated with the data object. The relationship between the two rules is determined, where execution of the second rule will modify the data object, which, in turn, will alter the outcome of the first rule.
Claims11
A method of performing forward chaining in a ruleset to be performed on a computing system, the computing system comprising a processor and a memory, the method comprising:
- defining a chaining behavior property of the ruleset that governs forward chaining for a plurality of rules of the ruleset, the chaining behavior property having a value of one of full, update only or never, wherein the ruleset comprises a first rule of the plurality of rules of said ruleset, the first rule dependent upon a first data object;
- using the processor, executing the first rule;
- identifying a second rule of the plurality of rules of the rules set in which execution of the second rule would affect the first data object, the second rule dependent upon a second data object, the second data object was affected by execution of the first rule;
- if the value of the chaining behavior property is set to full, reevaluating the second rule;
- if the value of the chaining behavior property is set to update only, preventing forward chaining, by default;
- and
- if the value of the chaining behavior property is set to never, preventing forward chaining in the ruleset.
A method of performing forward chaining in a ruleset to be performed on a computing system, the computing system comprising a processor and a memory, the method comprising:
- using the processor, executing a first rule of a plurality of rules of said ruleset, the first rule dependent upon a first data object;
- identifying a second rule of the plurality of rules of the rules set in which execution of the second rule would affect the first data object, the second rule dependent upon a second data object, the second data object was affected by execution of the first rule, the second rule comprising a reevaluation behavior property that governs forward chaining with respect to the second rule, the reevaluation behavior property having a value of one of always or never;
- if the reevaluation behavior property is set to always, reevaluating the second rule;
- and
- if the reevaluation behavior property is set to never, not reevaluating the second rule.
A computer-readable storage medium, the computer-readable storage medium not consisting of a propagating signal, the computer-readable storage medium having computer-executable instructions for performing steps comprising:
- defining a chaining behavior property of the ruleset that governs forward chaining for a plurality of rules of the ruleset, wherein the ruleset comprises a first rule of the plurality of rules of said ruleset, the first rule dependent upon a first data object;
- using the processor, executing the first rule;
- identifying a second rule of the plurality of rules of the rules set in which execution of the second rule would affect the first data object, the second rule dependent upon a second data object, the second data object was affected by execution of the first rule;
- and
- reevaluating the second rule based upon the chaining behavior property.
Dependencies are inferred from the claim text.