Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
200 words
A method for monitoring execution of an inference engine operating in conjunction with an expert system containing rules and variables, comprising the steps of: responsive to user selection, defining a plurality of selected inference engine states as possible breakpoint locations; within a debugger, responsive to user selection, providing a plurality of breakpoint conditions for the selected inference engine states; executing the inference engine to perform inferencing steps on the rules and variables of the expert system; each time a defined possible breakpoint location is reached from an inferencing step, invoking the debugger; determining within the debugger whether the inference engine state matches one of the breakpoint conditions; if the inference engine has a state matching one of the breakpoint conditions, invoking a breakpoint processor; if the inference engine state does not match one of the breakpoint conditions, returning execution to the inference engine; within the breakpoint processor, changing a rule or a variable value in response to user selection; when a rule or variable value is changed, returning the inference engine to an intermediate state which occurred prior to a first use of the changed rule or variable value; and restarting execution of the inference engine at the intermediate state.
Claim 2
Independent Claim
200 words
A method for monitoring execution of an inference engine operating in conjunction with an expert system containing rules and variables, comprising the steps of: responsive to user selection, defining a plurality of selected inference engine states as possible breakpoint locations; within a debugger, responsive to user selection, providing a plurality of breakpoint conditions for the selected inference engine states; executing the inference engine to perform inferencing steps on the rules and variables of the expert system; each time a defined possible breakpoint location is reached from an inferencing step, invoking the debugger; determining within the debugger whether the inference engine state matches one of the breakpoint conditions; if the inference engine has a state matching one of the breakpoint conditions, invoking a breakpoint processor; if the inference engine state does not match one of the breakpoint conditions, returning execution to the inference engine; within the breakpoint processor, changing a rule or a variable value in response to user selection; when a rule or variable value is changed, returning the inference engine to an intermediate state which occurred prior to a first use of the changed rule or variable value; and restarting execution of the inference engine at the intermediate state.
Claim 3
Dependent Claim
53 words
The method of claim 1, wherein the inference engine performs inferencing on the rules using forward chaining, and wherein the possible breakpoint locations comprise evaluating premises of a rule, adding a rule to a conflict set, preparing to fire a rule, changing a variable's value, and removing a rule from the conflict set.
Claim 4
Dependent Claim
48 words
The method of claim 1, wherein the inference engine performs inferencing on the rules using backward chaining, and wherein the possible breakpoint locations comprise establishing a goal, activating a source, evaluating premises of a rule, preparing to fire a rule, changing a variable's value, and resolving a variable.
Claim 5
Dependent Claim
28 words
The method of claim 1, wherein, within the breakpoint processor, a user is allowed to add to, delete from, or change any of the plurality of breakpoint conditions.
Claim 6
Dependent Claim
27 words
The method of claim 1, wherein the possible breakpoint locations comprise each execution step of the inferencing engine during which a variable or rule can change state.
Claim 7
Dependent Claim
39 words
The method of claim 1, wherein an asynchronous interrupt signal can be generated by a user, and wherein receipt of such an interrupt signal causes the breakpoint processor to be invoked the next time said determining step is performed.
Claim 8
Independent Claim
160 words
A system for debugging a rule based expert system having a plurality of rules and variables, comprising: an inferencing engine, wherein said inferencing engine executes a sequence of inferencing steps in a continuous loop; a plurality of predefined breakpoint conditions, each condition being defined by preselected inferencing engine states, rule states and variable states; means responsive to execution of selected inferencing steps by said inferencing engine for invoking a breakpoint processor when one of said breakpoint conditions occurs; and the breakpoint processor comprising, means for halting execution of said inferencing engine and allowing a user to perform debugging operations; means for allowing a user to change a rule or a variable value; means responsive to user selection of a change in a rule or variable value for returning the inference engine to an intermediate state prior to a first use of the changed rule or variable value; and means for restarting execution of the inference engine at such intermediate state.
Claim 9
Independent Claim
160 words
A system for debugging a rule based expert system having a plurality of rules and variables, comprising: an inferencing engine, wherein said inferencing engine executes a sequence of inferencing steps in a continuous loop; a plurality of predefined breakpoint conditions, each condition being defined by preselected inferencing engine states, rule states and variable states; means responsive to execution of selected inferencing steps by said inferencing engine for invoking a breakpoint processor when one of said breakpoint conditions occurs; and the breakpoint processor comprising, means for halting execution of said inferencing engine and allowing a user to perform debugging operations; means for allowing a user to change a rule or a variable value; means responsive to user selection of a change in a rule or variable value for returning the inference engine to an intermediate state prior to a first use of the changed rule or variable value; and means for restarting execution of the inference engine at such intermediate state.
Claim 10
Dependent Claim
27 words
The system of claim 7, wherein said selected inferencing steps comprise each execution step of the inferencing engine during which a variable or rule can change state.
Claim 11
Dependent Claim
53 words
The system of claim 7, wherein the inference engine performs inferencing on the rules using forward chaining, and wherein the possible breakpoint locations comprise evaluating premises of a rule, adding a rule to a conflict set, preparing to fire a rule, changing a variable's value, and removing a rule from the conflict set.
Claim 12
Dependent Claim
48 words
The system of claim 7, wherein the inference engine performs inferencing on the rules using backward chaining, and wherein the possible breakpoint locations comprise establishing a goal, activating a source, evaluating premises of a rule, preparing to fire a rule, changing a variable's value, and resolving a variable.