next up previous
Next: CARTER and Conflict Up: Previous Accomplishments Previous: START on the

Joshua and The Protocol of Inference

We have developed the Joshua Knowledge Representation and Reasoning system and demonstrated its utility in a number of applications. Joshua is unique in its support for heterogeneous representations. It introduced the notion of a Protocol of Inference, a way of organizing an AI system so that external components can be easily incorporated into the system.

The Protocol of Inference identifies the significant objects involved in an AI reasoning systems and the significant events and sub-events which can happen to those objects. Each such event is then implemented as a generic function whose implementation is determined by dispatching on the types of its arguments. In particular, Statements, Rules, Knowledge Bases, Rule Bases, Rule Compilers and Justifications constitute the significant objects in the current Protocol. Some 25 significant events and sub-events are catalogued; for example, the Assert protocol includes the main event Tell and sub events such as: Index, Justify, Notice-Truth-Value-Change, Trigger-Antecedent-Inferences, Fetch-Forward-Rules. A similar decomposition applies to the Query protocol.

The generic functions corresponding to the protocol steps dispatch to the relevant method based on the data type of their arguments. All the significant objects are in fact implemented as instances within an Object Oriented Class hierarchy (in particular CLOS). Default methods are provided for each protocol step and are inherited through the Class hierarchy. However, any method can be overridden or wrapped by classes lower in the hierarchy. This means that reasoning capabilities provided by another system can be incorporated by overriding one (or a few) of the protocol methods while still using the remainder of the inherited default behavior. Similarly, the data structures and representations of an external system can be incorporated by providing a few new methods.

We have demonstated the utility of this approach in two applications built at the MIT AI Laboratory. The first is a component of a much larger system used by the White House Office of Media Affairs to manage publication and distribution of public information using Email and the Web. An expert system to manage failures in the Email system was built using Joshua and has been in routine use for more than 2 years. The protocol was a critical enabler to building this system because it allowed features of the bounced mail messages to be treated as facts in the system's database. The second system was a system used in analyzing mechanical designs; here the Protocol was used to treat the results of a simulation as facts in the system's database, in effect incorporating the simulator as a consequent-driven reasoning component.



next up previous
Next: CARTER and Conflict Up: Previous Accomplishments Previous: START on the



Boris Katz
Thu Apr 17 17:51:51 EDT 1997