Tools for Constraint Visualisation: The VIFID/TRIFID Tool

Part of the Lecture Notes in Computer Science book series (LNCS, volume 1870)


Visualisation of program executions has been used in applications which include education and debugging. However, traditional visualisation techniques often fall short of expectations or are altogether inadequate for new programming paradigms, such as Constraint Logic Programming (CLP), whose declarative and operational semantics differ in some crucial ways from those of other paradigms. In particular, traditional ideas regarding the behaviour of data often cannot be lifted in a straightforward way to (C)LP from other families of programming languages. In this chapter we discuss techniques for visualising data evolution in CLP. We briefly review some previously proposed visualisation paradigms, and also propose a number of (to our knowledge) novel ones. The graphical representations have been chosen based on the perceived needs of a programmer trying to analyse the behaviour and characteristics of an execution. In particular, we concentrate on the representation of the run-time values of the variables, and the constraints among them. Given our interest in visualising large executions, we also pay attention to abstraction techniques, i.e., techniques which are intended to help in reducing the complexity of the visual information.


Logic Program Finite Domain Constraint Solver Constraint Logic Programming Graphical Depiction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aggoun, A., Simonis, H.: Search Tree Visualization. Technical Report D.WP1.1.M1.1-2, COSYTEC (June 1997). In: the ESPRIT LTR Project 22352 DiSCiPlGoogle Scholar
  2. 2.
    Apt, K.R., Marchiori, E.: Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing 6(6), 743–765 (1994)zbMATHCrossRefGoogle Scholar
  3. 3.
    Baecker, R., DiGiano, C., Marcus, A.: Software Visualization for Debugging. Communications of the ACM 40(4), 44–54 (1997)CrossRefGoogle Scholar
  4. 4.
    Boye, J., Drabent, W., Małuszyński, J.: Declarative diagnosis of constraint programs: an assertion-based approach. In: Proc. of the 3rd. Int’l Workshop on Automated Debugging–AADEBUG 1997, Linköping, Sweden, pp. 123–141. U. of Linköping Press (May 1997)Google Scholar
  5. 5.
    Bueno, F., Deransart, P., Drabent, W., Ferrand, G., Hermenegildo, M., Maluszyński, J., Puebla, G.: On the Role of Semantic Approximations in Validation and Diagnosis of Constraint Logic Programs. In: Proc. of the 3rd. Int’l Workshop on Automated Debugging–AADEBUG 1997, Linköping, Sweden, pp. 155–170. U. of Linköping Press (May 1997)Google Scholar
  6. 6.
    Byrd, L.: Understanding the Control Flow of Prolog Programs. In: Tärnlund, S.-A. (ed.) Workshop on Logic Programming, Debrecen (1980)Google Scholar
  7. 7.
    Cabeza, D., Hermenegildo, M.: WWW Programming using Computational Logic Systems (and the PILLOW/CIAO Library). In: Proceedings of the Workshop on Logic Programming and the WWW at WWW6, San Francisco, CA (April 1997)Google Scholar
  8. 8.
    Carro, M., Hermenegildo, M.: Some Design Issues in the Visualization of Constraint Program Execution. In: AGP 1998 Joint Conference on Declarative Programming, pp. 71–86 (July 1998)Google Scholar
  9. 9.
    The CLIP Group. Program Assertions. The CIAO System Documentation Series – TR CLIP4/97.1, Facultad de Informática, UPM (August 1997) Google Scholar
  10. 10.
    Drabent, W., Nadjm-Tehrani, S., Małuszyński, J.: Algorithmic debugging with assertions. In: Abramson, H., Rogers, M.H. (eds.) Meta-programming in Logic Programming, pp. 501–522. The MIT Press, Cambridge (1989)Google Scholar
  11. 11.
    Ducassé, M., Noyé, J.: Logic programming environments: Dynamic program analysis and debugging. Journal of Logic Programming 19(20), 351–384 (1994)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Ducassé, M.: A General Query Mechanism Based on Prolog. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 400–414. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  13. 13.
    Eisenstadt, M., Brayshaw, M.: The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming. Journal of Logic Programming 5(4) (1988)Google Scholar
  14. 14.
    Fabris, M.: CP Debugging Needs. Technical report, ICON s.r.l. ESPRIT LTR Project 22352 DiSCiPl deliverable D.WP1.1.M1.1. (April 1997)Google Scholar
  15. 15.
    Fernández, J.M.: Declarative debugging for BABEL. Master’s thesis, School of Computer Science, Technical University of Madrid (October 1994)Google Scholar
  16. 16.
    Fernández, M., Carro, M., Hermenegildo, M.: IDRA (IDeal Resource Allocation): Computing Ideal Speedups in Parallel Logic Programming. In: Fraigniaud, P., Mignotte, A., Robert, Y., Bougé, L. (eds.) Euro-Par 1996. LNCS, vol. 1124, pp. 724–734. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  17. 17.
    Jaffar, J., Maher, M.J.: Constraint Logic Programming: A Survey. Journal of Logic Programming 19/20, 503–581 (1994)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Kahn, K.: Drawing on Napkins, Video-game Animation, and Other Ways to Program Computers. Communications of the ACM 39(8), 49–59 (1996)CrossRefGoogle Scholar
  19. 19.
    Marriot, K., Stuckey, P.: Programming with Constraints: An Introduction. The MIT Press, Cambridge (1998)Google Scholar
  20. 20.
    Meier, M.: Grace User Manual (1996), Available at
  21. 21.
    Sun Microsystems. Animated Sorting Algorithms (1997), Available at
  22. 22.
    Montanari, U., Rossi, F.: True-concurrency in Concurrent Constraint Programming. In: Saraswat, V., Ueda, K. (eds.) Proceedings of the 1991 International Symposium on Logic Programming, San Diego, USA, pp. 694–716. The MIT Press, Cambridge (1991)Google Scholar
  23. 23.
    Ramos, J.M.: VIFID: Variable Visualization for Constraint Domains. Master’s thesis, Technical University of Madrid, School of Computer Science, E-28660, Boadilla del Monte, Madrid, Spain (September 1998)Google Scholar
  24. 24.
    Smedbäck, G., Carro, M., Hermenegildo, M.: Interfacing Prolog and VRML and its Application to Constraint Visualization. In: The Practical Application of Constraint Technologies and Logic programming, pp. 453–471. The Practical Application Company (April 1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  1. 1.School of Computer ScienceTechnical University of MadridMadridSpain

Personalised recommendations