A distributed Truth Maintenance System
Computer Reasoning programs must be able to accept changes in current situations as well as to adopt new information without losing consistency. Hence, a mechanism for keeping knowledge in a consistent state must be included to a problem solving component; this role can be played by a Truth Maintenance System (TMS). Furthermore, the trend for knowledge-based systems to be larger and more diverse, as well as to cooperate among them, is lately apparent. This argues for them to be developed in a distributed fashion where the individual modules have the characteristics of intelligent agents. We present here the implementation of a Distributed Truth Maintenance System that can be used by a collection of nonmonotonically reasoning agents. The system is based on a variation of the algorithm presented by Bridgeland and Huhns and is implemented in Common Lisp under a Unix environment. Furthermore, a method for using domain knowledge to improve the system's performance is described, based on the principle of locality.