Claims Analysis
Total Claims: 51
Claim 1
Independent Claim
172 words
A knowledge base processor comprising a computer; said computer having a memory containing data; said computer also having means for processing said data; said data including a knowledge base and a control procedure; said knowledge base representing knowledge about a certain subject domain, said knowledge base including a set of rules which in combination is capable of being applied to conclude values for certain expressions; said data also including at least one domain-dependent application subroutine; said control procedure including subroutine entry points capable of being called for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules; said means for processing said data including means for executing said control procedure in response to calls to said subroutine entry points for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules, and means for calling said application subroutine in response to the execution of certain designated steps in said control procedure during said invoking of said rules.
Claim 2
Dependent Claim
172 words
A knowledge base processor comprising a computer; said computer having a memory containing data; said computer also having means for processing said data; said data including a knowledge base and a control procedure; said knowledge base representing knowledge about a certain subject domain, said knowledge base including a set of rules which in combination is capable of being applied to conclude values for certain expressions; said data also including at least one domain-dependent application subroutine; said control procedure including subroutine entry points capable of being called for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules; said means for processing said data including means for executing said control procedure in response to calls to said subroutine entry points for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules, and means for calling said application subroutine in response to the execution of certain designated steps in said control procedure during said invoking of said rules.
Claim 3
Dependent Claim
52 words
The knowledge base processor as claimed in claim 1, wherein said designated steps include the completion of said invoking of said rules in the event that said rules fail to conclude a value for a specified expression, whereupon an application supplied subroutine is called to determine a value for said specified expression.
Claim 4
Dependent Claim
37 words
The knowledge base processor as claimed in claim 1, wherein said designated steps include a step wherein said means for executing said control procedure encounters and interprets a predetermined meta-proposition in said rules in said knowledge base.
Claim 5
Dependent Claim
96 words
The knowledge base processor as claimed in claim 1, wherein said control procedure includes a callable subroutine executable by said means for executing for receiving a specified meta-proposition and storing said meta-proposition in a table of specified meta-propositions in memory, and wherein said designated steps include a step wherein said means for executing said control procedure compares symbols found in rules being invoked to the specified meta-propositions in said table, and calls an application subroutine in response to a match between a symbol found in a rule being invoked and a meta-proposition found in said table.
Claim 6
Dependent Claim
34 words
The knowledge base processor as claimed in claim 4, wherein during said call to said application subroutine in response to said match, said means for calling passes the matching symbol to said application subroutine.
Claim 7
Dependent Claim
30 words
The knowledge base processor as claimed in claim 1, wherein said designated steps include the step wherein the value of an expression has been determined by said means for executing.
Claim 8
Dependent Claim
31 words
The knowledge base processor as claimed in claim 1, wherein said designated steps include a step wherein the value of an expression is first being sought by said means for executing.
Claim 9
Dependent Claim
26 words
The knowledge base processor as claimed in claim 1, wherein said designated steps includes a step wherein a rule is invoked by said means for executing.
Claim 10
Dependent Claim
26 words
The knowledge base processor as claimed in claim 1, wherein said designated steps include a step wherein a rule is applied by said means for executing.
Claim 11
Dependent Claim
55 words
The knowledge base processor as claimed in claim 1, wherein said means for calling includes means for calling a single application subroutine in response to a number of different events, and means for passing data to said single application subroutine to indicate the particular event in response to which said single application subroutine is called.
Claim 12
Dependent Claim
31 words
The knowledge base processor as claimed in claim 1, wherein said control procedure includes a callable subroutine which is executable by said means for executing for aborting invocation of said rules.
Claim 13
Dependent Claim
69 words
The knowledge base processor as claimed in claim 11, wherein said means for executing said control procedure includes means for receiving a parameter associated with a subroutine call to said entry point for aborting the invocation of said rules, said parameter specifying a certain expression, and wherein only the invocation of rules which are being invoked to find a value for said expression specified by said parameter is aborted.
Claim 14
Dependent Claim
35 words
The knowledge base processor as claimed in claim 1, wherein sid control procedure is specified by a set of software subroutines in a high-level programming language, all of which are callable by an application program.
Claim 15
Dependent Claim
74 words
The knowledge base processor as claimed in claim 1, wherein said rules include certainty factors, and wherein said control procedure includes steps executable by said means for executing for combining certainty factors during rule invocation, for determining an associated certainty factor for each concluded value, and for indicating a respective set of rules successfully applied to conclude said value and certainty factor so as to record a reason for the value and certainty factor.
Claim 16
Dependent Claim
188 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means comprises means for executing a control procedure, said control procedure being specified by a set of subroutines having been written in said conventional computer program language and compiled, and linked and loaded together with said application program into the memory of said computer.
Claim 17
Dependent Claim
188 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means comprises means for executing a control procedure, said control procedure being specified by a set of subroutines having been written in said conventional computer program language and compiled, and linked and loaded together with said application program into the memory of said computer.
Claim 18
Dependent Claim
19 words
The knowledge system as claimed in claim 15, wherein said conventional computer programming language is the "C" programming language.
Claim 19
Dependent Claim
68 words
The knowledge system as claimed in claim 15, wherein said set of subroutines includes a set of application interface subroutines callable by said application program, a set of inference engine subroutines callable by said application interface subroutines to control the invocation of said rules, and a set of data structure access subroutines callable by said application interface subroutines and said inference engine subroutines for accessing said knowledge base.
Claim 20
Dependent Claim
221 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program for receiving a specified meta-proposition and storing said meta-proposition in a table of predefined meta-propositions in memory, and for inspecting the table during invocation of each rule to determine whether the rule has any of said predefined meta-propositions therein, and upon finding any of said predefined meta-propositions therein for calling an application subroutine in said application program to interpret the predefined meta-proposition found in said rule.
Claim 21
Dependent Claim
221 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program for receiving a specified meta-proposition and storing said meta-proposition in a table of predefined meta-propositions in memory, and for inspecting the table during invocation of each rule to determine whether the rule has any of said predefined meta-propositions therein, and upon finding any of said predefined meta-propositions therein for calling an application subroutine in said application program to interpret the predefined meta-proposition found in said rule.
Claim 22
Dependent Claim
162 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program for aborting said invoking of said rules.
Claim 23
Dependent Claim
162 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program for aborting said invoking of said rules.
Claim 24
Dependent Claim
181 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program together with a specified expression parameter from said application program and thereupon aborting invocation of said rules for concluding a value for said specified expression parameter.
Claim 25
Dependent Claim
181 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base processor means includes means for receiving a call from said application program together with a specified expression parameter from said application program and thereupon aborting invocation of said rules for concluding a value for said specified expression parameter.
Claim 26
Dependent Claim
224 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base includes certain statements designated as application defined meta-facts and said application program includes a subroutine call to said knowledge base processor for loading said knowledge base from a file into said memory, and said knowledge base processor means includes means for recognizing said application defined meta-facts during the loading of said knowledge base from said file into said memory, and upon recognizing each application-defined meta-fact, calling a certain application subroutine to interpret said application defined meta-fact before said rules are invoked.
Claim 27
Dependent Claim
224 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said knowledge base includes certain statements designated as application defined meta-facts and said application program includes a subroutine call to said knowledge base processor for loading said knowledge base from a file into said memory, and said knowledge base processor means includes means for recognizing said application defined meta-facts during the loading of said knowledge base from said file into said memory, and upon recognizing each application-defined meta-fact, calling a certain application subroutine to interpret said application defined meta-fact before said rules are invoked.
Claim 28
Dependent Claim
198 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said rules include certainty factors, and wherein said knowledge base processor means includes means for combining certainty factors during rule invocation, determining an associated certainty factor for each concluded value, and indicting a respective set of rules successfully applied to conclude said value and certainty factor so as to record a reason for the value and certainty factor.
Claim 29
Dependent Claim
198 words
A knowledge system comprising a computer having a memory containing data, said computer also having means for processing said data; said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including a knowledge base processor means for accessing the knowledge base and finding the value of a specified expression by invoking said rules, said data further including an application program for said subject domain, said application program being written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means, wherein said rules include certainty factors, and wherein said knowledge base processor means includes means for combining certainty factors during rule invocation, determining an associated certainty factor for each concluded value, and indicting a respective set of rules successfully applied to conclude said value and certainty factor so as to record a reason for the value and certainty factor.
Claim 30
Independent Claim
233 words
A method of operating a computer to solve problems within a certain subject domain, said computer having a data processor and a memory, said memory containing a knowledge base representing knowledge about said subject domain, said knowledge base including rules for determining symbolic values for expressions representing objects in the subject domain, said method including the steps of storing in said computer memory an application program for said subject domain; and operating said data processor to execute said application program on said computer to solve a certain problem in said domain, said domain-dependent application program having been written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executable by said data processor, said application program having steps for receiving information about said problem, said application program conducting symbolic inference during execution by calling subroutines in a domain-independent subroutine library including said subroutines which are called to back-chain rules to find a value of specified goal expressions and to change the language of the knowledge base by adding specified application defined meta-propositions to the syntax recognized by the domain-independent subroutine library, said domain-independent subroutine library calling back certain application subroutines in the application program, including at least one application supplied subroutine for evaluating said application defined meta-propositions when they sre found in said rules.
Claim 31
Independent Claim
233 words
A method of operating a computer to solve problems within a certain subject domain, said computer having a data processor and a memory, said memory containing a knowledge base representing knowledge about said subject domain, said knowledge base including rules for determining symbolic values for expressions representing objects in the subject domain, said method including the steps of storing in said computer memory an application program for said subject domain; and operating said data processor to execute said application program on said computer to solve a certain problem in said domain, said domain-dependent application program having been written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executable by said data processor, said application program having steps for receiving information about said problem, said application program conducting symbolic inference during execution by calling subroutines in a domain-independent subroutine library including said subroutines which are called to back-chain rules to find a value of specified goal expressions and to change the language of the knowledge base by adding specified application defined meta-propositions to the syntax recognized by the domain-independent subroutine library, said domain-independent subroutine library calling back certain application subroutines in the application program, including at least one application supplied subroutine for evaluating said application defined meta-propositions when they sre found in said rules.
Claim 32
Dependent Claim
50 words
The method as claimed in claim 23, wherein said knowledge base also includes application defined meta-facts which are recognized by said subroutine library and are passed by calls from the subroutine library to an application defined subroutine in the application program for execution prior to the back-chaining of said rules.
Claim 33
Dependent Claim
59 words
The method as claimed in claim 23, wherein said application supplied subroutines are called to determine the value of an expression when said back-chaining of said rules fails to find a value for an expression, and to signal that an error has been found during the execution of a particular one of the subroutines in said subroutine in library.
Claim 34
Dependent Claim
40 words
The method as claimed in claim 23, wherein at least one of said application supplied subroutines is called to indicate when a value for an expression is first being sought, and when a value for an expression has been concluded.
Claim 35
Dependent Claim
36 words
The computer-based interaction method as claimed in claim 23, wherein said domain-independent subroutine library includes subroutines for loading the knowledge base from a file, editing the knowledge base, and saving the knowledge base to a file.
Claim 36
Independent Claim
173 words
A method of operating a computer to solve problems within a certain subject domain, said computer having a data processor and a memory, said memory containing a knowledge base representing knowledge about said subject domain, said knowledge base including a set of rules which in combination are capable of being applied to conclude values for certain expressions, said method including the steps of: storing a control procedure and at least one domain-dependent application subroutine in said computer memory, said control procedure including subroutine entry points capable of being called for accessing the knowledge base and finding a value of a specified expression by invoking combinations of said rules; operating said data processor to execute said control procedure in response to calls to said callable entry points for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules; and operating said data processor to call said application subroutine in response to the execution of certain designated steps in said control procedure during invocation of said rules.
Claim 37
Independent Claim
173 words
A method of operating a computer to solve problems within a certain subject domain, said computer having a data processor and a memory, said memory containing a knowledge base representing knowledge about said subject domain, said knowledge base including a set of rules which in combination are capable of being applied to conclude values for certain expressions, said method including the steps of: storing a control procedure and at least one domain-dependent application subroutine in said computer memory, said control procedure including subroutine entry points capable of being called for accessing the knowledge base and finding a value of a specified expression by invoking combinations of said rules; operating said data processor to execute said control procedure in response to calls to said callable entry points for accessing the knowledge base and finding the value of a specified expression by invoking combinations of said rules; and operating said data processor to call said application subroutine in response to the execution of certain designated steps in said control procedure during invocation of said rules.
Claim 38
Dependent Claim
52 words
The method as claimed in claim 28, wherein said designated steps in said control procedure include completing the invocation of said rules when said rules fail to conclude a value for a specified expression, and wherein said method includes subsequently calling an application subroutine to determine a value for said specified expression.
Claim 39
Dependent Claim
29 words
The method as claimed in claim 28, wherein said designated steps include a step of interpreting a predetermined meta-proposition in said rules during the execution of said control procedure.
Claim 40
Dependent Claim
93 words
The method as claimed in claim 28, wherein said control procedure includes a callable subroutine which is executed by said data processor for receiving a specified meta-proposition and storing said meta-proposition in a table of specified meta-propositions in said memory, and wherein said designated steps include a step wherein said data processor compares symbols found in a rule being invoked to the specified meta-proposition in said table, and calls an application subroutine in response to a match between a symbol found in a rule being invoked and a meta-proposition found in said table.
Claim 41
Dependent Claim
29 words
The method as claimed in claim 31, wherein a matching symbol is passed to said application subroutine during said call to said application subroutine in response to said match.
Claim 42
Dependent Claim
42 words
The method as claimed in claim 28, wherein said designated steps include separate steps wherein the value of an expression has been determined, the value of an expression is first being sought, a rule is invoked, and a rule is successfully applied.
Claim 43
Dependent Claim
46 words
The method as claimed in claim 28, wherein a single application subroutine is called in response to a number of different events, and data are passed to said single application subroutine to indicate a particular event in response to which said single application subroutine is called.
Claim 44
Dependent Claim
25 words
The method as claimed in claim 28, wherein said control procedure includes a subroutine entry point which is called for aborting invocation of said rules.
Claim 45
Dependent Claim
65 words
The method as claimed in claim 35, wherein said control procedure is provided with a parameter associated with a subroutine call to said entry point which is called for aborting the invocation of said rules, said parameter specifying a certain expression, and wherein only the invocation of rules which are being invoked to find a value of said expression specified by said parameter is aborted.
Claim 46
Dependent Claim
24 words
The method as claimed in claim 28, wherein said control procedure is specified by a set of software subroutines in a high-level programming language.
Claim 47
Dependent Claim
68 words
The method as claimed in claim 28, wherein said rules include certainty factors, and said control procedure includes steps which are executed for combining certainty factors during rule invocation, for determining an associated certainty factor for each concluded value, and for indicating a respective set of rules successfully applied to conclude said value and certainty factor so as to record a reason for the value and certainty factor.
Claim 48
Independent Claim
179 words
A method of operating a computer having a memory storing data, said computer also having means for processing data stored in said memory, said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including means for accessing the knowledge base and finding the value of a specified expression by invoking said rules included within said knowledge base, said method including storing in said memory an application program for said subject domain, said application program having been written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means; and operating said means for processing said data to execute said application program so as to access said knowledge base and find the value of said specified expression by invoking said rules.
Claim 49
Independent Claim
179 words
A method of operating a computer having a memory storing data, said computer also having means for processing data stored in said memory, said data including a knowledge base representing knowledge about a particular subject domain, said knowledge base including rules specifying symbolic values for expressions representing objects in the subject domain, said means for processing said data including means for accessing the knowledge base and finding the value of a specified expression by invoking said rules included within said knowledge base, said method including storing in said memory an application program for said subject domain, said application program having been written in a conventional computer programming language that does not include lists and list operations as built-in features and that specifies control by the ordering of program steps that are executed by said computer, said application program including subroutine calls to said knowledge base processor means; and operating said means for processing said data to execute said application program so as to access said knowledge base and find the value of said specified expression by invoking said rules.
Claim 50
Dependent Claim
77 words
The method as claimed in claim 39, wherein said knowledge base processor means comprises means for executing a control procedure, said control procedure being specified by a set of subroutines having been written in said conventional computer program language and compiled, and linked and loaded together with said application program into the memory of said computer, and wherein the execution of said application program causes said control procedure subroutines to be called for accessing said knowledge base.
Claim 51
Dependent Claim
92 words
The method as claimed in claim 40, wherein said set of control procedure subroutines includes a set of application interface subroutine, a set of inference engine subroutines and a set of data structure access subroutines, and wherein said application interface subroutines are called by said application program, said set of inference engine routines are called by said application interface subroutines to control the invocation of said rules, and said set of data structure access subroutines are called by said application interface subroutines and said inference engine subroutines for accessing said knowledge base.