460 likes | 693 Views
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).
E N D
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)
Logic Programming H. Gallaire (2004), J. Cohen, A. Robinson, K. Furukawa (1996) A. Colmerauer (2000)
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-85Dé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 1989RR Inria 1011A 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-88Logic 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-91ILPSavec Michel TégiaNSTO 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 ComputingAn 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
1993Journal of Logic ProgrammingProof 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
1997AADEBUGPierre, 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
Projet OADymPPaC Outils pour l'Analyse Dynamique et la mise au Point deProgrammes 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 traceursSP2: 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’explicationSP4: Techniques et composants génériques de visualisation
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/contraintesMohammad Ghoniem, J.-D. Fekete • Formes MusicalesJérémie Vautard