Distributed software problems can be particularly mystifying to diagnose, for both system users and system administrators. Modelbased diagnosis methods that have been more commonly applied to physical systems can be brought to bear on such software systems. A prototype system has been developed for diagnosing problems in software that controls computer networks. Our approach divides this software into its natural hierarchy of layers, subdividing each layer into three separately modeled components: the interface to the layer above on the same machine, the protocol to the same layer on a remote machine, and the configuration. For each component knowledge is naturally represented in the form of constraints. User interaction modeling is accomplished through the introduction of constraints representing user assumptions, the finite-state machine specification of a protocol is translated to a standard CSP representation and configuration tasks are modeled as dynamic CSPs. Diagnosis is viewed as a partial constraint satisfaction problem (PCSP). A PCSP algorithm has been adapted for use as a diagnostic engine. This paper presents a case study illustrating the diagnosis of some problems involving the widely used FTP and DNS network software.

Publication Date


Journal Title

International Conference on Principles and Practice of Constraint Programming



Digital Object Identifier (DOI)

Document Type



© Springer-Verlag 1995


This is an Accepted Manuscript. The final publication is available at Springer via