|
Guest Editors: J. Ángel Velázquez-Iturbide and Cristóbal Pareja-Flores Whole issue: [PDF: 46 pages; 1 MB] Cover page [GIF: 588 KB] by Antonio Crespo Foix, © ATI 2001 Other editions
available: Acrobat Reader is required to display PDF files
|
|
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.
Cristóbal Pareja-Flores and J. Ángel Velázquez-Iturbide
“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.
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.
Bibliography
Journals
Conferences
Web pages
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>
| Last updated on April 25, 2001 | by Rafael Fernández Calvo and François Louis Nicolet |
| <rfcalvo@ati.es> |