Upgrade home page
Upgrade editorial information
Upgrade past issues
Upgrade schedule
Contact Upgrade
Search in Upgrade
Upgrade, the European Online Magazine for the  IT Professional
Subscribe to our Newslist? Click here
 Next issue (June 2001)
Voice over IP
Upgrade, Vol. II, issue no. 2: cover page by Antonio Crespo Foix, © ATI 2001
Vol. II, Issue no. 2,
Apr. 2001

Visualization of Software

 Published on behalf of CEPIS
by Novática and Informatik/Informatique

Guest Editors: J. Ángel Velázquez-Iturbide and Cristóbal Pareja-Flores

Whole issue: [PDF: 46 pages; 1 MB]

Individual articles

Cover page [GIF: 588 KB] by Antonio Crespo Foix, © ATI 2001

Other editions available:
Spanish (abstracts and some articles online; full edition printed)

Acrobat Reader is required to display PDF files

 

CEPIS (Council of European Professional Informatics Societies) promotes Upgrade

SVI/FSI (Switzerland) publishes Informatik/Informatique, an Upgrade partner

ATI (Spain) publishes Novática, an Upgrade partner

ECDL (European Computer Driving Licence), promoted by CEPIS

 



Presentation: Representing Abstractions [HTML] [PDF: 2 pages, 155 KB]
Cristóbal Pareja-Flores and Ángel Velázquez-Iturbide, Guest Editors

Software Visualization: An Overview [PDF: 4 pages, 174 KB]
Luis M. Gómez Henríquez

Abstract: This article provides a general overview of software visualization. To that end, we first present the concept of visualization and its features, and later we summarize some of its main applications in Computer Science. The main part of this article is devoted to describing the general discipline of software visualization,by defining it and its main problems and uses. Throughout the paper we will refer to some of the most outstanding actual systems which we think are suitable to illustrate the corresponding concept.present the concept of visualization and its features and summarize some of its main applications in Computer Science.

Program Visualization in Theory and Practice [PDF: 4 pages, 281 KB]
Mordechai Ben-Ari

Abstract: Visualization and animation of programs has been suggested as a method of improving understanding by novice students. In this paper we survey several research programs by Mayer, Petre and Stasko which show that graphical representations are effective only under certain conditions. We developed the program animation system Jeliot 2000 and carried out a year-long empirical study of its effectiveness.The students showed improved understanding because Jeliot gave them a concrete vocabulary in which to describe the execution of a program. A theoretical explanation of this success is that the concrete vocabulary aids in the development of a viable mental model.Visualization and animation of programs improves understanding by novice students. We survey research programs which show that graphical representations are effective only under certain conditions.

A User-Centred Approach for Designing Algorithm Visualizations [PDF: 5 pages, 297 KB]
Sami Khuri

Abstract: Advances in computing technology and the affordability of software and high-performance graphics hardware enabled rapid growth of visual tools.Today, not only very expensive workstations,but also low-cost PCs are capable of running computationally demanding visualization systems. Algorithm visualizations or the graphic depictions of algorithms in xecution are being used in explaining, designing, analysing algorithms, and in debugging, finer-tuning, and documenting programs.Although many tools have been developed over the past twenty years, little attention has been paid to the analysis of users, their needs, tasks, and goals.This paper gives a brief overview of the preliminary design stag of algorithm visualizations, namely the analysis of requirements.

Incorporating Algorithm Visualization into Educational Theory: A Challenge for the Future [PDF: 5 pages, 186 KB]
Thomas L. Naps

Abstract: The primary goal of this paper is to examine algorithm visualization and the role it can play in the context of learning models recognized by educational theorists.

User Interface Generation: Current Trends [PDF: 5 pages, 178 KB]
María Dolores Lozano, Pascual González and Isidro Ramos

Abstract: Various studies have proved that 48% of application code is devoted to the user interface and that nearly 50% of the implementation time is devoted to implementing it. The more easy the interface is to use,the more difficult is its development.In fact, the user interface is becoming more and more important as a means of interacting with a system. For this reason, in this article we have tackled the subject of user interface generation within the research area of Human-Computer Interaction.

Visualization Designs for Constraint Logic Programming [PDF: 8 pages, 203 KB]
Manuel Carro and Manuel Hermenegildo

Abstract: We address the design and implementation of visual paradigms for observing the execution of constraint logic programs,aiming at debugging, tuning and optimization, and teaching. We focus on the display of data in CLP executions,where representation for constrained variables and for the constrains themselves are seeked.Two tools, VIFID and TRIFID, exemplifying the devised depictions, have been implemented, and are used to showcase the usefulness of the visualizations developed.

Software Visualization Generation Using AnimalScript [PDF: 6 pages, 199 KB]
Guido Rößling and Bernd Freisleben

Abstract: Many different software visualization tools are available to the public. Most, however, only address specific application areas, forcing users to shift between tools.The visualization tool ANIMAL, with its built-in visualization language ANIMALSCRIPT, is an algorithm animation tool including a graphical editor that can be used for arbitrary software visualizations.This article introduces the basics of ANIMAL and ANIMALSCRIPT as well as some special features including internationalization support. ANIMALSCRIPT is also easy to adapt and extend with more advanced features.

Automatic Web Publishing of Algorithm Animations [PDF: 5 pages, 300 KB]
Fernando Naharro-Berrocal, Cristóbal Pareja-Flores, J. Ángel Velázquez-Iturbide, Margarita Martínez-Santamarta

Abstract: We aer undertaking a research action to simplifying the creation of program animations in order to foster a wider adoption of animations for CS education. In this article, we report on an extension of the WinHIPE functional programming environment to generate Web pages containing algorithm animations.Its integration within the programming environment guarantees the general applicability of the animator. In addition, by means of simple dialogs to specify the graphical style of visualizations, the animation interaction,etc., the generation of Web pages with animations is achieved automatically. We expect that the automatic nature of our extensions will encourage students to play an active role in learning and teachers to generate active documents containing active algorithm animations.



Presentation:  Representing Abstractions

Cristóbal Pareja-Flores and J. Ángel Velázquez-Iturbide

Introduction

Webster’s dictionary defines to visualize as “to make visible” or “envisage to form a visual mental image”. Therefore, to visualize something is to make it visible by displaying it in one or more media using a graphical language, often enhanced by natural language. A company’s sales chart is an example of a simple visualization of a complex function of that company.

“A picture tells a thousand words” and we are constantly reminded of this by the plethora of maps, diagrams, road signs, advertisements, TV, the Web – to name but a few – that enrich our daily lives. It would be very difficult to imagine an engineering process without a visual representations of its intended output. Here, visualization of the goal greatly assists understanding of the analysis, design, construction and use of the product.

All stages in the life cycle of software, from establishment of need, through build and test to deployment and maintenance, are greatly facilitated by visualization. Software has been visualized from its beginnings, although many techniques are not universally accepted. For instance, a flowchart is a graphical static representation of a program and fairly widely accepted; pretty-printing program statements is another static, rudimentary form of visualization, but as it is based on the aesthetic criteria of the programmer a more limited audience can benefit.

The continuing quest for better graphical representations has created substantial research on software visualization. Sorting Out Sorting, the video by Ronald Baecker in 1981, containing animations of different sorting algorithms, is commonly considered as a milestone in software visualization. Other key systems include Balsa, developed by Mark Brown in 1984, Tango by John Stasko in 1990 and Pavane by G.-C. Roman et al. in 1992. Simultaneously, the number of methodologies offering visual assistance in design (CASE tools with different kind of diagrams) and programming (visual programming environments) grew substantially. Multimedia and Web technologies have also played a role in this evolution since they facilitate the integration of visualizations with other media, especially textual explanations.

There are associated areas where visualization plays an important role, such as visual programming. But here the purpose is different. Where software visualization uses graphical representations of software as an aid to understanding, visual programming seeks to specify programs more easily by using graphical notations. Think of design diagrams, say, as a kind of high-level visual programming.

Monographic issue on Visualization of software

This monographic issue emphasises the educational use of software visualization. It highlights the current interest in pedagogical design of algorithm animations by the international community that is researching innovations in Computer Science education.

The monograph starts with an overview of software visualization by Luis Gómez, at the Universidad Politécnica de Madrid. His article discusses information visualization in general, and software visualization in particular. Classification, history, problems and uses of software visualization are thoroughly explored.

The next three articles consider the design and use of software visualization, mainly in the field of education. Morchedai Ben-Ari, at the Weizmann Institute of Science, analyses the educational impact of visualizations. He describes past empirical experiments about the effectiveness of learning facilitation using graphical representations in general and software visualization in particular. He explains these findings from the point of view of the pedagogical theory of constructivism, and also describes several educational experiences in visualization. Sami Khuri, at San Jose State University, points to the problems inherent in the absence of careful planning in the design and use of algorithm animation systems. His article describes the different factors constituting the preliminary phase of requirement analysis, with particular emphasis on the user. Finally, Thomas Naps, at Lawrence University, analyses the role that algorithm visualization can play within four particular learning models.

As already mentioned, software visualization is related to visual programming and design methodologies. In their article, María Dolores Lozano, Pascual González and Isidro Ramos make a new proposal for the design of user interfaces. Here, visual representations (diagrams) are used to design a software product of a visual nature, namely user interfaces.

The issue ends with three articles that describe specific systems for software visualization. Manuel Carro and Manuel Hermenegildo, at the Universidad Politécnica de Madrid, propose several visualizations for data and constraints in logic programs, as implemented in the VIFID and TRIFID tools. Guido Rößling and Bernd Freisleben, at the University of Siegen, describe the main features of the algorithm animation system Animal and its script language AnimalScript, as well as its facilities for relative object placement, international support, diagnosis output, and AnimalScript extension. Finally, Fernando Naharro, Cristóbal Pareja, Ángel Velázquez and Margarita Martínez describe the facilities of the functional programming environment WinHIPE to automatically generate both visualizations of expressions and Web pages. Every generated page has the typical structure of a lesson on an algorithm and consists of the problem statement, an algorithm description, a functional program and an animation.

References and recommended reading

References to software visualization abound, mainly in conference proceedings. Apart from the general references we have included in the articles, the reader can find more about specific systems from the following list.

Bibliography

  • P. Eades y K. Zhang (eds.), Software Visualisation, World Scientific, 1996
  • C. L. Jeffery, Program Monitoring and Visualization, Springer-Verlag, 1999
  • J. Stasko, J. Domingue, M. H. Brown y B. A. Price (eds.), Software Visualization: Programming as a Multimedia Experience, MIT Press, 1998

  •  

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Journals

  • Journal of Visual Languages and Computing, published by Academic Press, http://www.academicpress.com/jvlc

  •  

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Conferences

  • SIGCSE Technical Symposium on Computer Science Education, last edition: http://www.math.grin.edu/~sigcse/2001/
  • SIGCSE/SIGCUE Conference on Innovation and Technology in Computer Science Education (ITiCSE), last edition: http://www.cs.ukc.ac.uk/events/iticse2001/
  • IEEE Symposium on Information Visualization (InfoVis), last edition: http://www.computer.org/proceedings/infovis/0804/0804toc.htm
  • IEEE Symposium on Visual Languages (VL), last edition: http://www.computer.org/proceedings/vl/0216/0216toc.htm
  • Program Visualization Workshop, http://cs.joensuu.fi/pages/pvw/workshop.htm

  •  

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Web pages

  • The Complete Collection of Algorithm Animations http://www.cs.hope.edu/~alganim/ccaa/ccaa.html
  • Computer Science Education Links, section Algorithms and Algorithm Animation, http://www.cacs.usl.edu/~mccauley/edlinks/#Algorithms
  • Graph Drawing, http://www.cs.brown.edu/people/rt/gd.html

  •  

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     


    The Guest Editors

    Cristóbal Pareja-Flores holds an M.Sc. degree in Mathematics and a Ph.D. in Computer Science. Since 1998, he has worked as an associate professor at the Dept. Sistemas Informáticos y Programación, Universidad Complutense de Madrid. His interests include innovation in CS education, research on functional and concurrent programming, and programming environments. In these fields, he has collaborated in and lead several research projects as well as contributing to both national and international publications. He is the editor of the technical section “Computer Science Education at the University” of Novática. <cpareja@sip.ucm.es>

    J. Ángel Velázquez-Iturbide holds an M.Sc. degree (1985) and a Ph.D. (1990) in Computer Science from the Universidad Politécnica de Madrid. He is an associate professor, previously at the Universidad Politécnica de Madrid, and since 1997 at the Universidad Rey Juan Carlos. He is the coordinator of the Computer Languages and Systems area at his university. His interests are programming tools and environments, software visualization, multimedia and Web applications, all of them mainly in connection with seeking innovation in computer science education. He is an associate editor of the “Computer Languages” section of Novática. He is a member of ACM, IEEE Computer Society, AACE and ATI. <a.velazquez@escet.urjc.es>

    The English editors of this issue

    Mike Andersson, Richard Butchart, David Cash, Tracey Darch, Laura Davies, Nick Dunn,Rodney Fennemore, Terry Fowler, Hilary M. Green, Roger Harris, Jim Holder, Brian Robson, and Derek Tripp have carefully vetted the papers, improved the style and corrected the grammar.

     
     
    Website hosted by Tiscali, leading European Internet and telecommunications service provider


    Last updated on April 25, 2001 by Rafael Fernández Calvo and François Louis Nicolet
    <rfcalvo@ati.es>

    Copyright policy:

    1. Copyright © CEPIS 2001. All rights reserved.
    2. Abstracting of the articles included in UPGRADE is permitted with credit to the source. For copying, reprint, or republication permission, write to the editors.
    3. Unauthorized access to pages, or parts thereof,  in this website reserved exclusively for persons authorized by UPGRADE is expressly prohibited. Any unauthorized access may be prosecuted according to the law.