Towards a Generic Trace for Rule Based Constraint Reasoning

Abstract

CHR is a very versatile programming language that allows programmers to declaratively specify constraint solvers. An important part of the development of such solvers is in their testing and debugging phases. Current CHR implementations support those phases by offering tracing facilities with limited information. In this report, we propose a new trace for CHR which contains enough information to analyze any aspects of \CHRv\ execution at some useful abstract level, common to several implementations. %a large family of rule based solvers. This approach is based on the idea of generic trace. Such a trace is formally defined as an extension of the ωr\omega_r^\lor semantics of CHR. We show that it can be derived form the SWI Prolog CHR trace.CHR (Constraint Handling Rules) est un langage de programmation adaptable qui permet de spécifier trés déclarativement des solveurs de contraintes. Un aspect important de leur mise au point concerne leur débogage. Les implantations actuelles de CHR offrent des possiblilités de traces avec relativement peu d'information. Dans ce rapport, nous proposons une nouvelle trace CHR qui contient suffisamment d'information pour analyser potentiellement tous les détails d'exécution de \CHRv, correspondant á un niveau d'analyse abstrait et utile, commun á différentes implémentations. Cette approche est fondée sur l'idée de trace générique. Une telle trace est définie comme une extension de la sémantique ωr\omega_r^\lor de CHR. On montre qu'elle peut être dérivée de la trace CHR de SWI Prolo

    Similar works