← Back to Patent Explorer
US5140671A Expired / Lapsed US ⏱️ 0.0 years remaining

Expert system debugger

Assignee: International Business Machines Corp
•
Filing: 1991-11-06
•
Granted: 1992-08-18
•
Expires: 2011-11-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A debugger suitable for use with rule-based expert systems allows a user to set breakpoints defined by selected conditions and events which can occur during execution of the expert system. An inference engine used to execute the expert system executes a procedure call to the debugger whenever selected inferencing activities are performed. The debugger determines whether the inference engine should be halted by comparing current conditions within the expert system with predefined breakpoints. When a breakpoint is reached, a user is allowed to examine and change various aspects of the expert system and its course of execution. Control is then returned to the inference engine for further execution.

Inventors

  • 👤 Raymond R. Hayes
  • 👤 Lo Hsieh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 00:05
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06N; G06N5/00; G06N5/04; Y; Y10; Y10S; Y10S706/00; Y10S706/902; Y10S706/919

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.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-08-18 1996-02-17 1996-08-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-08-18 2000-02-17 2000-08-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-08-18 2004-02-17 2004-08-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag