1. A knowledge engineering tool comprising a computer having a stored program and memory for storing a knowledge base, said knowledge base including factual knowledge and judgmental knowledge, said judgmental knowledge including judgmental rules having premises for limiting the conditions in which the rules are applicable and conclusions for indicating the actions to perform when the rules are successfully applied, said factual knowledge including definitions of attributes that can take on values, said judgmental rules including rules having premises referring to attributes and rules concluding values for attributes, means for executing a built-in control procedure including means for interpreting the knowledge base, means for invoking and chaining said rules, and means for terminating the knowledge base search for a value, said knowledge base also including control knowledge supplied by a knowledge engineer to modify the built-in control procedure, and a language interpreter for executing the control knowledge to modify the built-in control procedure, whereby the control knowledge can be separated from the factual knowledge and judgmental knowledge and stored as a distinct portion of the knowledge base.
1. A knowledge engineering tool comprising a computer having a stored program and memory for storing a knowledge base, said knowledge base including factual knowledge and judgmental knowledge, said judgmental knowledge including judgmental rules having premises for limiting the conditions in which the rules are applicable and conclusions for indicating the actions to perform when the rules are successfully applied, said factual knowledge including definitions of attributes that can take on values, said judgmental rules including rules having premises referring to attributes and rules concluding values for attributes, means for executing a built-in control procedure including means for interpreting the knowledge base, means for invoking and chaining said rules, and means for terminating the knowledge base search for a value, said knowledge base also including control knowledge supplied by a knowledge engineer to modify the built-in control procedure, and a language interpreter for executing the control knowledge to modify the built-in control procedure, whereby the control knowledge can be separated from the factual knowledge and judgmental knowledge and stored as a distinct portion of the knowledge base. 11. A knowledge engineering tool as set forth in claim 1 wherein said knowledge base includes declarations defining questions to ask a user to determine values.