Diagnosing Dynamic Systems in A Prolog

The main goal of this paper is to continue the investigation of applicability of A-Prolog (a loosely defined collection of logic programming languages under the answer set semantics (Gelfond & Lifschitz 1991)) knowledge representation and reasoning. In the first part of the paper we address the problem of diagnosing faulty behavior of a dynamic system. We are especially interested in such classical aspects of this problem as modeling of systems and their environments, interleaving of deliberation and action, and prioritizing typical causes of specific faults. We start with suggesting a new version of a definition of diagnosis. The roots of our definition go back to (Reiter 1987) and its recent modifications (Thielscher 1997; Band, McIlraith & Son 2000) which take into account the dynamics of system’s behavior. Similar to the work in (Baral, Mcllraith & Son 2000) our approach is based on the semantics of action languages (Gelfond & Lifschitz 1998). Unlike (Baml, McIlraith & Son 2000) do not use action language £. Instead we assume that the set of all possible trajectories of the system is described by a domain description of an action language .A£ (Band & Gelfond 2000) (possibly augmented logic programming rules of A-Prolog). We believe that this language is sufficiently powerful for a wide range of applications and allows us to give a definition of diagnosis which, we believe, is substantially simpler than other definitions we were able to find in the lib erature. Simplicity of the definition and the recent discoveries of the close relationship between A-Prolog and reasoning about effects of actions allow us to develop a collection of simple algorithms for computing diagnoses. The algorithms are based on the ideas from answer set programming (’Marek & Truszczynski 1999; Niemela 1999; Lifschitz 1999) and are implemented on top of SMODELS (Niemela & Simons 1996) a system for computing stable models of logic programs. According to our definition all diagnoses are created equal. In practice however, some diagnoses are more equal than others. Selection of the "best" diagnosis is often based on some heuristic information about the plausibility of different types of faults. By way of example we show how our choice of A-Prolog as a knowledge representation language allows us to incorporate this heuristic information in the corresponding diagnostic systems. The heuristics improve the quality of diagnoses as well as efficiency of computation. The second part of the paper describes a software architecture for an agent capable of discovering and diagnosing faulty behavior of the system, testing it’s suspected faulty components, and repairing components which indeed are found to be faulty. The architecture, of course, s~ongly relies on the ideas developed in the first section.

[1]  Michael Gelfond,et al.  Action Languages , 1998, Electron. Trans. Artif. Intell..

[2]  Ilkka Niemelä,et al.  Efficient Implementation of the Well-founded and Stable Model Semantics , 1996, JICSLP.

[3]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[4]  Chitta Baral,et al.  Representing Actions: Laws, Observations and Hypotheses , 1997, J. Log. Program..

[5]  Chitta Baral,et al.  Logic Programming and Knowledge Representation , 1994, J. Log. Program..

[6]  Chitta Baral,et al.  Reasoning agents in dynamic domains , 2000 .

[7]  Michael Gelfond,et al.  Representing Actions in Extended Logic Programming , 1992, JICSLP.

[8]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[9]  Victor W. Marek,et al.  The Logic Programming Paradigm: A 25-Year Perspective , 2011 .

[10]  Raymond Reiter,et al.  Characterizing Diagnoses and Systems , 1992, Artif. Intell..

[11]  Hudson Turner,et al.  Representing Actions in Logic Programs and Default Theories: A Situation Calculus Approach , 1997, J. Log. Program..

[12]  Hudson Turner,et al.  A Causal Theory of Ramifications and Qualifications , 1995, IJCAI.

[13]  José Júlio Alferes,et al.  Classical Negation in Logic Programs , 1990 .

[14]  Patrik Simons,et al.  Extending the Stable Model Semantics with More Expressive Rules , 1999, LPNMR.

[15]  Vladimir Lifschitz,et al.  Action Languages, Answer Sets, and Planning , 1999, The Logic Programming Paradigm.

[16]  M. Thielscher A Theory of Dynamic Diagnosis , 1997 .

[17]  Tran Cao Son,et al.  Formulating diagnostic problem solving using an action language with narratives and sensing , 2000, KR.