Projet OADym PPa C Runion debriefing nov 2004
Projet OADym. PPa. C Réunion « debriefing » nov 2004 Outils pour l'Analyse Dynamique et la mise au Point de Programmes avec Contraintes 15 nov. 2000 --- 14 mai 2004 (40 mois) P. Deransart INRIA-Rocquencourt pierre. deransart@inria. fr http: //contraintes. inria. fr
Réunion « debriefing » z z z Résultats globaux Analyse sans complaisance des résultats par sous-projet Bilan global Bilan RNTL Suite ? Nota: signaler oublis! 2
Résultats globaux indiscutables z Dissémination 98 publications (dont 58 communications) 5 thèses (3 passées) 8 rapports de stages présence aux 3 manifestations RNTL participations aux conférences et workshops: Contraintes: JFPLC, ICLP, WLPE, UICS, CICLOP, ERCIM, AADEBUG, CP, AIPS, PATAT, ROADEF, ISS, PMS, FLOC, WFLP, FLAIRS, TRICS, JNPC, MIC 3
Résultats visibles indéniables, mais… z Generic Trace Format gentra 4 cp on veut qu’il soit adopté mais en fait difficile à implanter: pourquoi? z Réalisations publiques (logiciels) réalisations publiques des traceurs et outils mis a disposition mais paramétrisation encore lourde et limitée des traceurs et outils. Que peut-on améliorer et faire hors projet? z Où devons nous aller? . . . Quelles éléments pour un autre projet? 4
Résultats: traceurs et outils, mais interopérabilité péniblement atteinte 5
Critique générale z Tous les outils ne sont pas conformes ou sont incomplets: ex - PAVOT n’accepte pas des extensions conformes de gentra 4 cp (pb de paramétrisation du traceur) - CHIPC++ ne trace pas la propagation z Manque d’un protocole de communication z Faiblesse des paramétrages à tous les niveaux 6
Analyse des résultats sans complaisance SP 1: Modélisation des solveurs (FD) et réalisation de traceurs SP 11: modèles théoriques de solveurs, trace et traceurs SP 12: analyse de trace SP 2: Modèle de trace générique et modèles de visualisation SP 21: concepts de visualisation, modèles SP 22: langage générique d’entrée pour visualisation SP 3: Outils de débogage et spécification de vues SP 31: analyse de performance: propriétés d'arbres de choix SP 32: analyse d’échecs et explications SP 33: spécification de vues SP 34: outils SP 4: Techniques et composants génériques de visualisation SP 41: composants génériques et temps réel SP 42: mise en œuvre des composants génériques SP 43: Expérimentation et veille 7
Analyse des résultats: SP 11 modèles théoriques de solveurs, trace et traceurs Modèles théoriques de solveurs (+ explications) thèse de JA mais liaison avec trace générique pour CLP(FD) à faire, généralisation à d’autres domaines thèses de WL et SO: notions d’explications et débogage mais validation expérimentale à faire Modèles théoriques de trace sémantique observationnelle: thèse LL(chap. 5) mais définition théorique et généralisation à reste à faire, outils de validation de trace nécessaires Traceurs 4 traceurs (GNU, CHIPC++, JPal. M, Jchoco) mais: paramétrisation, communication d’infos par l’utilisateur. Traceurs « inachevés » et arrivés tardivement… 8
Analyse des résultats: SP 12 analyse de trace Thème unique entendu comme « méthode de sélection d’informations dans la trace » thèse de LL (chap. 7): • syntaxe abstraite de trace virtuelle (ou trace maximale), • notion de « pattern » : condition ==> action pour filtrer la trace à la source et agir sur les outils • Interactions traceur(serveur)/outils(client): « Pattern » synchrone ou asynchrone mais travail inachevé, non pris en compte par les outils réalisés, une seule implantation pour GNU-Prolog 9
Analyse des résultats: SP 21 Concepts de visualisation, modèles Petit schéma pour comprendre 10
Analyse des résultats: SP 21 (suite) Concepts de visualisation, modèles Théme sur lequel il n’y a pas eu de vrai travail: chaque outil a travaillé sur son propre modéle de données: • Vues “métier” (structures ad-hoc) de CHIPDEBUGGER • “Table models” (éléments, attributs) de ILOG Visual CP • “Couches de colonnes” de INFOVIS (noeuds, arcs pondérés, historiques) • Structures ad-hoc pour Pavot et CLPGUI Manque une réflexion sur des structures modulaires intermédiaire communes aux vues (étape intermédiaire paramétrisable) 11
Analyse des résultats: SP 22 Langage générique d’entrée pour visualisation Thème unique entendu comme « trace générique » Là c’est situé l’essentiel de l’effort commun pour aboutir à gentra 4 cp (adoption de XML) mais L’analyse des besoins a été faite en partie mais utilisée pour la trace générique (besoin en éléments de base, mais moins en composants de base pour la visualisation) 12
Analyse des résultats: SP 31 analyse de performance: propriétés d'arbres de choix Etudes théoriques: symétries et leur détection à l’aide d’outils de visualisation (on s’est centré sur 1 propriété). Travail sur isomorphisme de sous-arbres envisagé mais non fait Résultats: • possibilité de produire différentes exécutions et traces en GNU-prolog sans ou avec élimination de symétries (prototype SBDS) • Production et analyse de vues var/val mais: étude non conduite à son terme sur le plan théorique (réalisations prioritaires) et peu d’étude de vues (traceurs pas opérationnels) 13
Analyse des résultats: SP 32 analyse d’échecs et explications et outils Production : introduction des explications dans la trace générique (2 méthodes) mais la production des explications reste limitée à Pa. LM Outils: thèses de WL et SO: notions d’explications et débogage mais validation expérimentale à faire 14
Analyse des résultats: SP 33 spécification de vues Définition de vues: vues originales de l’arbre de recherche dans différents outils • CLPGUI: affichage rapide de vues 3 D très synthétiques • PAVOT: « propagation tree » (vue « christmas tree » de ILOG simplifiée) • CHIPDEBUGGER: spécification ad-hoc de vues métier dans le flot montant Mais: • recherche difficile de nouvelles vues dans INFOVIS (essais VISADJ), réunions « conception de programme » • Seul CHIPDEBUGGER utilise un format XML ad-hoc de spécification de vues (transmis dans Gentra 4 cp) 15
Analyse des résultats: SP 34 Outils Des outils PAC réalisés: CLPGUI, PAVOT, CHIPDEBUGGER avec des vues originales des arbres de recherche mais: posent les problèmes d’interactions: • CLPGUI: interaction ad-hoc (format d’échange propriétaire) • PAVOT: pas d’interaction, récupération module analyse syntaxique de INFOVIS et des vues CLPGUI (+ vue nouvelle: « propagation tree » ), flot d’entrée Gentra 4 cp • CHIPDEBUGGER: module CNI avec flot montant Gentra 4 cp par packets et interactions. Flot descendant ad-hoc Véritable étude des interactions encore à faire 16
Analyse des résultats: SP 41 composants génériques et temps réel Outils • ILOG Visual CP: outil très puissant et bien documenté (analyse statique post-mortem ou a partir d’une console), distribué gratuitement actuellement mais: difficile d’usage et paramétrage complexe • INFOVIS: visualisation de graphes (C/V et C/C) et possibilité d’animation (analyse à partir de traces postmortem) mais seulement 2 types de graphes et incomplet pour le paramétrage, autres outils inachevés (VISADJ) 17
Analyse des résultats: SP 42 mise en œuvre des composants génériques Essentiellement: passage de Discovery à ILOG Visual CP et passage de VISADJ à « INFOVIS » Nota: travail insuffisant sur la définition des « objets » servant de base à la construction de vues (vtype, rtype, vident, vname, cname, …). Question générale: spécification d’objets sémantiques (generic dedicated objects) 18
Analyse des résultats: SP 43 Veille et expérimentation État de l’art visualisation (+ explications) fait régulièrement mais impact sur le projet peu étudié (manque de réunions sur ce thème? ) Expérimentation • une sur Pa. LM avec VISADJ (production de papiers), a aidé à définir les vues de « INFOVIS » • expérimentation par PD en vue de la création d’un « repository » de traces (avec traceurs et outils) mais expérimentation encore laborieuse et très insuffisante! 19
Bilan global Retombées et perspectives d'exploitation z Retombées d'exploitation y ILOG DISCOVERY/ILOG Visual CP (licence gratuite pour le moment) y CHIP V 5. 6 nouvelles versions (juin 2004) avec traceur et nouveaux composants d’analyse de performance et de mise au point x Meilleure compréhension de la résolution x Amélioration des temps de développement des applications z Retombées scientifiques y Effort de « standardisation » des solveurs de contraintes y Stimulation de développements de traceurs et d’outils (moyens: bibliothèque de problèmes et de traces, logiciels libres) y Facilitation du développement d’outils dédiés au prototypage d’applications y Maîtrise de la combinatoire de certains problèmes complexes 20
Bilan global forme du projet z Enseignements principaux y Stabilité consortium essentielle; les ralentissements viennent surtout du temps nécessaire à l’élaboration des bonnes théories (risque plus élevé), mais aussi du temps nécessaire à l’élaboration de prototypes distribuables, voire commercialisables. y Bien que projet « exploratoire » , création d’un lien fort entre la recherche académique et appliquée dans le domaine industriel y Création de supports de formation (sensibilité industrielle) 21
Bilan "RNTL" z Processus de sélection: délais OK incertitude sur date de début (autorisations d’embauche) z Mise en route et suivi: excellent. Merci, en particulier, à François Role, Ilarion Pavel, Martine Marty et Jean-Marc Labat z Fin de projet: z Ce que le RNTL a apporté au projet: permettre de faire collaborer les meilleurs partenaires possibles en France sur ce sujet (ce qui n’exclut pas des projets européens ou internationaux) z Problèmes rencontrés y Possibilité tardive d’embauche (prolongation du projet) y Mobilité de certains partenaires 22
Suites du projet z Perspectives internationales: réseau, base de données d’outils et de traces « trace repository » z Nouveaux verrous à lever (identifiés, propres au projet) y Standardisation des interactions (flot descendant) y Paramétrage des outils de visualisation (3 niveaux: trace, objets et visualisation) y Efficacité de la visualisation (ex: algorithmes de « clustering » de grosses matrices d’incidence) y Killer application de l’analyse de trace (evaluation des outils) 23
Suites du projet z Thèmes à développer y Nombreux thèmes spécifiques (interactions et mise au point d’applications, reconnaissance visuelle des symétries, d’isomorphisme de graphes, production et utilisation d’explications, « generic dedicated objects » … y Modélisation de solveurs et stratégies hybrides (sémantique observationnelle) y Enrichissement de la trace XML pour la maintenance d’applications à travers Internet (sécurité, workflow, XML) 24
Envie de faire z Immédiat y Site Gentra 4 cp ( « repository » ) y Colloque/séminaire AFPC y Quelques papiers (CHIP architecture, semantique observationnelle) y Expérimentation approfondie (nécessaire pour une étude des objets dédiés génériques en particulier) z Futur proche y Modèle abstrait de trace générique (sémantique observationnelle) et outils de validation y Langage d’interrogation de trace dans son format XML y Interactions y Étude extension du format générique à d’autres domaines (CHR? ) y Étude des objets dédiés génériques 25
Papiers z Visualisation graphes dynamiques pour la mise au point de Pa. C (avec CP-INFOVIS) (JD et Pierre, Nantes? ) z Tracer driver et interactions (Ludovic, Mireille et Pierre) 26
- Slides: 26