20 ans de recherches communes avec Gérard Ferrand, et un peu plus TRACES 20 ans de recherches communes avec Gérard Ferrand, et un peu plus
Pierre Deransart INRIA Rocquencourt 17 octobre 2005 INTRODUCTION
« Laisser des traces, pas des preuves, seules les traces peuvent faire rêver » René Char Poète (1907-1988)
Tout a commencé au château de Bonas … International Workshop on Program Construction A.Biermann, G.Guiho, Y.Kodratoff eds 1980…1985 (gestation)
FLASHBACK….
Trégastel 1985
Logic Programming A. Colmerauer (2000) H. Gallaire (2004), J. Cohen, A. Robinson, K. Furukawa (1996)
Thèmes imbriqués de recherche commune TRACES Thèmes imbriqués de recherche commune débogage déclaratif vision déclarative de la PL, enseignement et méthodologie associée méthodes de preuve (modulaires mais non automatiques): correction partielle et complétude faible, NSTO langage de spécification (Standard Prolog)
mai-85 Détection d'erreurs en programmation en logique, réalisation expérimentale
mai-85 RRO Détection d'erreurs en programmation en logique, réalisation expérimentale Un petit système basé sur un méta-interpréteur de Prolog pour expérimenter l'approche de Y. Shapiro (Algorithmic Debugging) versus Lloyd (Declarative Debugging). L'attrait de la méthode repose alors sur le fait que même pour de gros programmes le nombre de questions reste limité (log de la taille de l'arbre de preuve) et que l'on peut y répondre "hors contexte" (notion déclarative d'erreur: tuple de valeurs ne satisfaisant pas une relation)
Avril 1989 RR Inria 1011 A methodological view of Logic Programming with Negation Première présentation formelle de la méthodologie générale et des méthodes de preuve "sound et complete" pour PL avec négation Méthodologie: OS -> DS ->IS Langage de spécification (sémantique « PTN »: ADP avec Négation) Méthodes de preuve (corrction et complétude)
août-88 Logic Programming: Methodology et Teaching Programming of Future Generation Computers II, K. Fuchi, L. Kott (Eds), Elsevier Science Publishers, North Holland, 1988 Cours Novia Initiation au langage Prolog Introduction à la Méthodologie de PL Manuel d’exemples
juin-91 ILPS avec Michel Tégia NSTO Programs (Not Subject to Occur-Check) Travail stigmatisé par SC22/WG17 (Standard Prolog): unification implantée sans test d’occur-check (question d’efficacité mais pas seulement) poursuivi avec B.Dumant et J.-L. Bouquard
1992 (1988) New Generation Computing An Operational Formal Definition of Prolog: A specification Method and Its Application Sous l'impulsion de WG17/SC21: Application du nouveau langage de spécification déclaratif à la spécification du noyau sémantique de standard Prolog
1993 Journal of Logic Programming Proof Method of Partial Correctness and Weak Completeness for Normal Logic Programs Description achevée des méthodes complètes de preuve (correction et complétude) pour programmes normaux avec sémantique bien fondée
1997 AADEBUG Pierre, Gérard et les autres (DiSCiPl, projet européen) On the Role of Semantic Approximations on Validation and Diagnosis of Constraint Logic Programs Mise en commun méthodes de vérification de PLC dans un environnement plus large…
TRACES De la « vérification » à la trace: observer et comprendre le comportement TRACES
Nous sommes dans la reconnaissance de formes: trouver des « figures » remarquables dans un « fouillis » (ex dans les contraintes: symétries) Retour sur le projet OADymPPaC
Le flash-back est repassé à vitesse lente: on perçoit au fur et à mesure de nouveaux « objets » et un nouveau sens: visage, foule, contexte
Trégastel 1985
Projet OADymPPaC Outils pour l'Analyse Dynamique et la mise au Point de Programmes avec Contraintes 15 nov. 2000 --- 14 mai 2004 (40 mois)
OADymPPaC: motivations Mise au point Aider à comprendre la résolution et les problèmes rencontrés Améliorer les solutions Améliorer les solveurs ex: analyse du comportement afin d’améliorer les stratégies Aide et Education Experts/Développeurs/Débutants
OADymPPaC: challenges Interopérabilité des outils: faciliter le développement d'outils d'analyse de problèmes avec contraintes --> "standardiser" les plateformes CP et la paramétrisation des outils Passage à l'échelle: traiter des problèmes de grande taille (centaines de variables ou contraintes) ----> nécessité d'outils IHM puissants
OADymPPaC: sous-projets SP1: Modélisation des solveurs (FD) et réalisation de traceurs SP2: Modèle de trace générique et modèles de visualisation (format générique de trace) SP3: Outils de débogage et spécification de vues, systèmes d’explication SP4: Techniques et composants génériques de visualisation
Résultats: interopérabilité
Main Results Generic Trace Format gentra4cp Public Deliverables (software) public deliverables
Projet actuel International: « sourceforge » web site (tra4cp), « trace repository » Objectifs Interactions entre traceurs et outils paramètrisation complète (6 niveaux) Efficacité des outils (ex: « clusterisation des matrices d’adjacence)
Langages génériques pour la visualisation Besoin de composants de base pour la visualisation)
TRACES De la « vérification » à la trace: Voir et écouter pour comprendre le comportement Démonstration
Analyse d’une trace Pavot et CLPGUI: observation global de l’espace de recherche Guillaume Arnaud et François Fages Infovis: étude des relations variable/contraintes Mohammad Ghoniem, J.-D. Fekete Formes Musicales Jérémie Vautard
JFPLC 97, Orléans