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 plurality of user-defined conditions, each condition defining state data; 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 a condition satisfies the rule; a condition manager class that determines if at least one of the rules are satisfied by the state data of any condition, and if so, the condition manager class initiating the corresponding computer system action.
- 2. The apparatus of claim 1 wherein the condition manager class is a core function of the framework mechanism that cannot be modified by a user of the framework mechanism.
- 3. The apparatus of claim 1 wherein the framework mechanism further comprises a detector class that identifies a changed state of a condition to an instance of the condition manager class.
- 4. The apparatus of claim 1 wherein the plurality of user-defined rules comprise a set of if-then-else statements that describe the knowledge base.
- 5. The apparatus of claim 1 wherein the framework mechanism further comprises a rules compiler that compiles the plurality of user-defined rules to produce an executable tailored rules based expert system program that communicates the outcome of its execution to a user.
- 6. The apparatus of claim 1 wherein the rules interrogate the conditions to determine the satisfied rules.
- 7. The apparatus of claim 1 wherein the condition manager class defines:
at least one condition manager object; and a set condition state object method that, when invoked, sets the state data of a specified condition.
- 8. The apparatus of claim 1 wherein the framework mechanism comprises:
at least one core function defined by relationships between a plurality of classes within the framework mechanism, wherein the implementation of the at least one core function is defined by the framework mechanism and cannot be modified by a user of the framework mechanism; and at least one extensible function defined by at least one extensible class, wherein the implementation of the at least one extensible function is defined by the user of the framework mechanism by extending the at least one extensible class.
- 9. 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; 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.
- 10. The apparatus of claim 9 wherein the framework mechanism further comprises a detector class that identifies a changed state of an instance of the condition class to an instance of the condition manager class.
- 11. The apparatus of claim 9 wherein the plurality of user-defined rules comprise a set of if-then-else statements that describe the knowledge base.
- 12. The apparatus of claim 9 wherein the framework mechanism further comprises a rules compiler that compiles the plurality of user-defined rules to produce an executable tailored rules based expert system program that communicates the outcome of its execution to a user.
- 13. The apparatus of claim 9 wherein the condition manager class defines:
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.
- 14. The apparatus of claim 9 further comprising a plurality of user-defined condition subclasses to the condition class.
- 15. 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.
- 16. 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 determines if at least one of the rules are satisfied by the state data of any condition, and if so, the condition manager class initiating the corresponding computer system action; (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.
- 17. The method of claim 16 further comprising the step of:
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.
- 18. A program product comprising:
(A) an object oriented framework mechanism, the framework mechanism comprising:
a plurality of user-defined conditions, each condition defining state data; 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 a condition satisfies the rule; a condition manager class that determines if at least one of the rules are satisfied by the state data of any condition, and if so, the condition manager class initiating the corresponding computer system action; and (B) computer-readable signal bearing media bearing the framework mechanism.
- 19. The program product of claim 18 wherein the signal bearing media comprises recordable media.
- 20. The program product of claim 18 wherein the signal bearing media comprises transmission media.
- 21. The program product of claim 18 wherein the condition manager class is a core function of the framework mechanism that cannot be modified by a user of the framework mechanism.
- 22. The program product of claim 18 wherein the framework mechanism further comprises a detector class that identifies a changed state of a condition to an instance of the condition manager class.
- 23. The program product of claim 18 wherein the plurality of user-defined rules comprise a set of if-then-else statements that describe the knowledge base.
- 24. The program product of claim 18 wherein the framework mechanism further comprises a rules compiler that compiles the plurality of user-defined rules to produce an executable tailored rules based expert system program that communicates the outcome of its execution to a user.
- 25. The program product of claim 18 wherein the rules interrogate the conditions to determine the satisfied rules.
- 26. The program product of claim 18 wherein the condition manager class defines:
at least one condition manager object; and a set condition state object method that, when invoked, sets the state data of a specified condition.
- 27. The program product of claim 18 wherein the framework mechanism comprises:
at least one core function defined by relationships between a plurality of classes within the framework mechanism, wherein the implementation of the at least one core function is defined by the framework mechanism and cannot be modified by a user of the framework mechanism; and at least one extensible function defined by at least one extensible class, wherein the implementation of the at least one extensible function is defined by the user of the framework mechanism by extending the at least one extensible class.
- 28. A program product comprising:
(A) a user-extensible object oriented 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; 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; and (B) computer-readable signal bearing media bearing the object oriented framework mechanism.
- 29. The program product of claim 28 wherein the signal bearing media comprises recordable media.
- 30. The program product of claim 28 wherein the signal bearing media comprises transmission media.
- 31. The program product of claim 28 wherein the framework mechanism further comprises a detector class that identifies a changed state of an instance of the condition class to an instance of the condition manager class.
- 32. The program product of claim 28 wherein the plurality of user-defined rules comprise a set of if-then-else statements that describe the knowledge base.
- 33. The program product of claim 28 wherein the framework mechanism further comprises a rules compiler that compiles the plurality of user-defined rules to produce an executable tailored rules based expert system program that communicates the outcome of its execution to a user.
- 34. The program product of claim 28 wherein the condition manager class defines:
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.
- 35. The program product of claim 28 further comprising a plurality of user-defined condition subclasses to the condition class.
- 36. A program product comprising:
(A) a user-extensible object oriented 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; (B) computer-readable signal bearing media bearing the object oriented framework mechanism.
- 37. The program product of claim 36 wherein the signal bearing media comprises recordable media.
- 38. The program product of claim 36 wherein the signal bearing media comprises transmission media.
REFERENCE TO PARENT APPLICATION
[0001] This patent application is a divisional of a U.S. patent application with the same title, Ser. No. 08/560,052 filed on Nov. 17, 1995, which is incorporated herein by reference.
Divisions (1)
|
Number |
Date |
Country |
Parent |
08560052 |
Nov 1995 |
US |
Child |
09977719 |
Oct 2001 |
US |