Object oriented rule-based expert system framework mechanism
First Claim
1. An apparatus comprising:
- at least one processor;
a memory coupled to the at least one processor; and
an object oriented framework mechanism residing in the memory and executed by the at least one processor, the framework mechanism comprising;
a user-extensible condition class that defines state data;
a user-extensible rule class that defines a plurality of user-defined rules that define a knowledge base, each rule specifying a corresponding computer system action to be executed if the state data of an instance of the condition class satisfies the rule; and
a condition manager class that is not user-extensible, an instance of the condition manager class determining if at least one instance of the rule class is satisfied by the state data of any instance of the condition class, and if so, the instance of the condition manager class initiating the corresponding computer system action.
0 Assignments
0 Petitions
Accused Products
Abstract
A framework for use with object-oriented programming systems provides an expert system shell that executes with a rule set developed by a framework user. The framework includes a condition manager object that keeps track of what conditions are true at any time and a rules compiler that processes the rules so they can be used by the condition manager. The conditions are a set of object classes that are organized into an inheritance hierarchy for use by the condition manager. A detector determines when to set conditions to true. When a condition state is changed, the condition manager realizes that one or more rules might indicate a particular action might now be appropriate. Therefore, the condition manager checks the rules against the conditions each time a condition changes. The expert system developer provides the set of rules and conditions appropriate for the knowledge domain of the expert system under development.
-
Citations
9 Claims
-
1. An apparatus comprising:
-
at least one processor;
a memory coupled to the at least one processor; and
an object oriented framework mechanism residing in the memory and executed by the at least one processor, the framework mechanism comprising;
a user-extensible condition class that defines state data;
a user-extensible rule class that defines a plurality of user-defined rules that define a knowledge base, each rule specifying a corresponding computer system action to be executed if the state data of an instance of the condition class satisfies the rule; and
a condition manager class that is not user-extensible, an instance of the condition manager class determining if at least one instance of the rule class is satisfied by the state data of any instance of the condition class, and if so, the instance of the condition manager class initiating the corresponding computer system action. - View Dependent Claims (2, 3, 4, 5, 6)
at least one condition manager object; and
a set condition state object method that, when invoked, sets the state data of a specified instance of the condition class.
-
-
6. The apparatus of claim 1 further comprising a plurality of user-defined condition subclasses to the condition class.
-
7. An apparatus comprising:
-
at least one processor;
a memory coupled to the at least one processor; and
an object oriented framework mechanism residing in the memory and executed by the at least one processor, the framework mechanism comprising;
a plurality of condition objects that each define state data;
a plurality of user-defined rule objects that define a knowledge base, each rule comprising at least one if-then-else statement and specifying a corresponding computer system action to be executed if the state data of a condition object satisfies the rule;
a condition manager object that determines if at least one rule object is satisfied by the state data of any condition object, and if so, the condition manager object initiating the corresponding computer system action, wherein the condition manager object includes a set condition state object method that, when invoked, sets the state data of a specified condition object;
a detector object that identifies a change in the state data of a condition object to the condition manager object; and
a rules compiler that compiles the plurality of user-defined rule objects to produce an executable tailored rules based expert system program that communicates the outcome of its execution to a user.
-
-
8. A method of executing a rules-based expert system, the method comprising the steps of:
-
(A) providing an object oriented framework comprising;
a user-extensible condition class that defines state data;
a user-extensible rule class; and
a condition manager class that is not user-extensible, wherein the condition manager class determines if at least one of the rules is satisfied by the state data of any condition, and if so, the condition manager class initiating a computer system action corresponding to each satisfied rule;
(B) extending the condition class to define a plurality of conditions;
(C) extending the rule class to define a plurality of rules that define a knowledge base, each rule specifying a corresponding computer system action to be executed if the state data of a condition satisfies the rule;
(D) executing the extended framework mechanism on a computer system, the execution of the extended framework mechanism performing the steps of;
identifying a condition object having a changed state; and
interrogating one or more of the plurality of rules to determine if any of the plurality of rules are satisfied by a change in state data of the identified condition object. - View Dependent Claims (9)
if any of the plurality of rules are satisfied by the change in state data of the identified condition object, initiating the computer system action corresponding to the satisfied rule.
-
Specification