traces 20 ans de recherches communes avec gérard ferrand, et un peu plus
TRANSCRIPT
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é CharPoè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
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-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 1989RR 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-88Logic Programming:
Methodology et TeachingProgramming 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-91ILPS
avec 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 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
1993Journal 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
1997AADEBUG
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 Contraintes15 nov. 2000 --- 14 mai 2004 (40 mois)
36
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
37
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
38
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
39
Résultats: interopérabilité
40
Main Results
• Generic Trace Format
gentra4cp • Public Deliverables (software)
public deliverables
41
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)
42
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
JFPLC 97, Orléans