Tools for Dynamic Analysis and Debugging of Constraint Programs
"Outils pour l'Analyse Dynamique et la mise au Point de
Programmes avec Contraintes"
Repository of Trace Examples, Tracers and Debugging Tools
Ready pages with correct traces quoted by 
(traduction progressive en anglais)
Ces pages visent à rassembler des exemples de problèmes de programmation
par contraintes. Pour chaque exemple, différentes informations sont
disponibles :
- spécification formelle ou non ;
- code source d'un (ou plusieurs) programme(s) résolvant le problème,
pour au moins une des plateformes des partenaires ;
- intérêt de chaque programme (bogué/correct, efficace/décevant...)
;
- trace d'exécution XML sur une ou plusieurs plate-formes ;
- exemples de visualisations de l'exécution.
Cette bibliothèque doit, à terme, couvrir la classification
suivante : Des problèmes...
La visualisation doit permettre de s'attaquer aux deux problématiques
suivantes (valable pour les problèmes classiques et réels)
- programme bogué : programme avec bogue non triviale (ex faute
de frappe du nom d'une variable détectable par visualisation, programe
sur- ou sous-contraint)
- programme peu performant: améliorer des performances décevantes,
possibilité de résoudre des instances plus larges (stratégie
adaptée)
Maintenance : Ludovic
Langevine . Guillaume
Arnaud . Pierre
deransart
Remarques sur les traces disponibles
Les traces "mescaline" proposées ici ont été générées
par le méta-interprète écrit en Prolog. Celles "GNU-Prolog"
sont générées par Codéine.
Elles sont au format XML (éventuellement compressées avec gzip)
et ont éventuellement été validées pour la DTD
OADymPPaC disponible au 16 janvier 2002 (validateur Xerces de Apache).
Chaque événement a un numéro d'événement.
Seuls les 13 ports suivants ont été tracés (pour chaque
type d'événement, les informations tracées sont détaillées
entre parenthèses, sauf le numéro d'événement
qui figure systématiquement) :
- new-variable (numéro de la variable vnum et représentation
externe ou unknown) ;
- new-constraint (numéro de la contrainte cnum, représentations
interne et externe) ;
- tell (profondeur du noeud posé) ;
- restore (profondeur du noeud auquel on revient) ;
- activate (numéro de la contrainte activée) ;
- deactivate (numéro de la contrainte desactivée) ;
- select-constraint (numéro de la contrainte sélectionnée)
;
- reduce (numéro de la contrainte opérant la réduction
ainsi qu'un élément update contenant le numéro de la
variable, les valeurs retirées et le type d'update) ;
- wake-up (numéro de la contrainte réveillée et la
cause du réveil avec le numéro de la variable et le type d'update)
;
- suspend (numéro de la contrainte suspendue) ;
- true (numéro de la contrainte résolue) ;
- solution (aucun attribut) ;
- reject (numéro de la contrainte ayant détecté l'échec).
Si des attributs ou éléments vous manquent (par exemple, l'état
des domaines à certains événements), ou pour toute autre
remarque sur ces premières traces, envoyez un mail à Ludovic Langevine.
Softwares (tracers and tools)