OPTIMIZED EXECUTION ORDER CORRELATION WITH PRODUCTION LISTING ORDER
First Claim
1. An execution reporting process, comprising:
- obtaining a set of rules listed in a listing order, each rule including at least one partial condition and at least one action;
building an execution structure which imposes an execution order on the partial conditions, the execution order being different from the listing order;
logging in an execution log, during an execution of the rules according to the execution structure, at least the following;
inputs matched to partial conditions, results of evaluating partial conditions according to matched inputs, and which rule was executing when partial conditions were evaluated; and
deriving an execution report from the rule set and the execution log, the execution report showing, in the listing order and for each of the rules, whether the rule was executed and also showing for each executed rule the one or more inputs matched to the one or more partial conditions of the executed rule and the results of evaluating the one or more partial conditions according to the one or more matched inputs.
1 Assignment
0 Petitions
Accused Products
Abstract
Optimized execution order results (e.g., from a Rete algorithm graph) are correlated with a production ordering selected by a user, thereby more accurately modeling the user'"'"'s understanding of how productions relate to one another during execution in a rule system. An execution report shows in the user-selected order for each of the rules, whether the rule was executed, the inputs matched to partial conditions of the rule, and partial condition evaluation results. User rule management experience is also enhanced in other ways. For example, a graphical user interface permits user selection of a schema xpath, bulk selection of XML schema nodes to define vocabulary used in rules, if-then-else rules, rules with embedded SQL, marking rules as active or not, receiving multiple kinds of input from a single text input box, locally executing rules, importing rules authored elsewhere, iterating over a collection of objects, and validating rules against vocabulary data types.
-
Citations
20 Claims
-
1. An execution reporting process, comprising:
-
obtaining a set of rules listed in a listing order, each rule including at least one partial condition and at least one action; building an execution structure which imposes an execution order on the partial conditions, the execution order being different from the listing order; logging in an execution log, during an execution of the rules according to the execution structure, at least the following;
inputs matched to partial conditions, results of evaluating partial conditions according to matched inputs, and which rule was executing when partial conditions were evaluated; andderiving an execution report from the rule set and the execution log, the execution report showing, in the listing order and for each of the rules, whether the rule was executed and also showing for each executed rule the one or more inputs matched to the one or more partial conditions of the executed rule and the results of evaluating the one or more partial conditions according to the one or more matched inputs. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium, configured with software which upon execution by at least one processor in a cloud computing environment performs a process for rule authoring and execution from a portal of the cloud computing environment, the process comprising:
-
providing a rules vocabulary in a graphical user interface of the portal on a display of a local computing system, namely, a set of natural-language names which correspond to software artifacts having data types; presenting a rule condition input field in the graphical user interface, the rule condition input field dedicated to receiving text which describes a trigger condition for a rule; presenting a rule action input field in the graphical user interface, the rule action input field dedicated to receiving text which describes an action to be taken when the trigger condition is satisfied; obtaining through the graphical user interface a set of rules listed in a listing order, each rule trigger condition including at least one partial condition, the rules including at least two of the natural-language names; logging in an execution log, during an execution of the rules according to an execution order on the partial conditions that is different from the listing order, at least the following;
inputs matched to partial conditions, results of evaluating partial conditions according to matched inputs, and which rule was executing when partial conditions were evaluated; andderiving an execution report from the rule set and the execution log, the execution report showing, in the listing order and for each of the rules, whether the rule was executed and also showing for each executed rule the one or more inputs matched to the one or more partial conditions of the executed rule and the results of evaluating the one or more partial conditions according to the one or more matched inputs. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
at least one processor; a memory in operable communication with the processor; a set of rules listed in a listing order in the memory, each rule including at least one partial condition and at least one action, each rule having a respective identifier; a rule engine execution tracker having software which upon execution by the processor tracks execution of partial conditions at least in part by reading execution events; a rule execution store having software which upon execution by the processor stores rule identifiers with execution event data provided to the rule execution store by the rule engine execution tracker; a rule engine which emits execution events while executing rules in an execution order by matching inputs to partial conditions, evaluating partial conditions with matched inputs, and triggering execution of rule actions based on partial condition evaluation results, the execution order being different than the listing order; and a rule execution report which shows an execution history of the set of rules, including at least some of the rules listed in the listing order and at least some of the partial condition evaluation results. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification