The evolution of logic programming semantics has included the introduction of an explicit form of negation, beside the older implicit (or default) negation typical of logic programming. For the richer language, called extended logic programming, much theoretical work has been done. Mainly resulting from the theoretical work, the language has been shown adequate for a spate of knowledge representation and reasoning forms. However, the theoretical work has not been accompanied by the usage of the language for building real-life implementations. In this paper we report on the experience of using extended logic programming to model the diagnosis system. By using extended logic programming, we can rely on a well established language, with a clear declarative semantics, and for which implementations exist. Moreover, some issue of the diagnosis process are automatically dealt by the contradiction removal methods developed for extended logic programming. Due to the greater expressive power of extended logic programming, the process of implementing diagnosis of distributed systems has been quite simplified. The form of the resulting program is rather simple and has a very clear and declarative reading. Thus, we deem that extended logic programming can be used in practice to solve some "real-life" problems.