Explications de retraits de valeurs en programmation par contraintes et application au diagnostic déclaratif
Willy Lesaint (Université d'Orléans, LIFO)Nous décrivons une notion arborescente d’explication de retrait de valeur en programmation par contraintes et proposons une application à la mise au point de réponse manquante. Nous considérons le cadre de la réduction de domaine en programmation par contraintes sur les domaines finis.
La réduction de domaine est formalisée par les itérations chaotiques d’opérateurs monotones. Chaque opérateur peut être défini par un ensemble de règles décrivant le retrait d’une valeur comme conséquence d’autres retraits de valeurs. L’enchainement de ces règles lors du calcul permet alors la définition inductive d’arbres de preuve appelés explications. Chaque retrait de valeur est alors décrit par une telle explication qui peut être considérée comme une trace déclarative du calcul.
Nous proposons ensuite une utilisation de ces explications pour la mise au point de réponse manquante. Après la réduction de domaine, si le programmeur a commis une erreur, celle-ci peut être révélée par l’apparition d’un symptôme, i.e. une valeur attendue dans une solution et non obtenue. Ce symptôme révèle la présence d’une erreur qu’il est nécessaire de localiser. Le diagnostic déclaratif consiste alors à rechercher cette erreur (i.e. l’application d’une règle erronée) dans l’explication enracinée par ce symptôme.