PAVOT

(Polymorphic Application for Viewer Of Traces)





Principes Généraux

Pavot est une plateforme pour interfacer des outils de générations de traces de solveurs de contraintes avec des outils, visuels essentiellement, exploitant ces traces. Ce logiciel s'appuie sur les travaux de OADymPPaC dont l'un des principaux résultats est la normalisation du format de trace des solveurs de contraintes sous la forme d'une DTD.

TRACE <---> PAVOT <---> OUTILS

Trace: Pavot est capable de lire toute trace XML respectant la DTD gentra4cp.2.1 soit en lisant dans un fichier soit en se connectant à une socket. La trace XML est parsée grâce à la bibliothèque java distribuée avec INFOVIS (voir outils ).

Pour le moment seul le traceur Codeine de GNU Prolog a été testé à partir d'une socket. Le parser se synchronise en partie sur les élément "breakpoint" généré par le traceur. A chaque fois que Codeine génére un breakpoint il se bloque et attend une réponse pour continuer. De son côté Pavot affiche toutes les informations reçues et pour chaque "breakpoint" rencontré envoie un acquittement au traceur. Cette synchronisation permet de régler quelques problèmes de gestion de la bufferisation, certains bout de trace restant parfois dans le buffer et ne sont pas affichés. La fréquence de ces "breakpoint" est laissée au soin de l'utilisateur, elle dépend a priori de la verbosité de la trace, plus elle est importante plus la synchronisation est nécessaire. Si le solveur génére toute la trace d'un seul bloc (i.e s'arrête avec la génération du tag final ) la synchronisation devient superflue.

Il n'est pas nécessaire (voire même déconseillé) de spécifier la DTD dans l'en-tête de la trace car le parser est non validant.

OUTILS:Nous nous sommes appliqué à rendre l'intégration en java de nouveaux outils de visualisation la plus facile possible.