Upload
penda
View
33
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Visualisation of Software Engineering Diagrams Part – 1 . Rajat Anantharam Department of Gaming and Media Technology. Agenda. Terminologies Existing protoypes Functionalities Evolution of SV . Terminology Correlation . “Visual” – as in : Conveyance of the Mental Image - PowerPoint PPT Presentation
Citation preview
Visualisation of Software Engineering Diagrams
Part – 1
Rajat Anantharam Department of Gaming and Media Technology
2
Agenda
1. Terminologies
2. Existing protoypes
3. Functionalities
4. Evolution of SV
3
Terminology Correlation
“Visual” – as in : Conveyance of the Mental Image 7th definition of the term visual In the Oxford English Dictionary
4
Terminologies
• Program Visualization: The use of various techniques to enhance the human understanding of computer programs
• Visual Programming: The use of “visual” techniques to specify the program in the first place
• Algorithm Visualization:Visualization of a high level description of a piece of software
• Code\Data Visualization: Visualization of the actual implemented code
• Software Visualization: All of the above (together) !!!
5
Visualizing Software Visualization
6
The Twelve Systems
Sorting out Sorting BALSAZeusTangoANIMPascal GenieUWPISEETPMPAVANELOGO-MediaCenterline ObjectCenter – formerly Saber C++)
7
Sorting out Sorting
Motion Flick of 30 minutes produced at the University of TorontoAnimated CG representing the working of the Sorting algorithmsThe movie:
Introduces the concept of sortingLinear Insertion, Binary Insertion, Shell Sort, Bubble Sort, Quick Sort, Shaker SortStraight selection, Tree selection, Heap Sort
Race of nine algorithms in parallel
http://www.cs.ubc.ca/~harrison/Java/sorting-demo.html http://www.youtube.com/watch?v=F3oKjPT5Khg
8
BALSA
• First interactive SV system – Brown University Algorithm Simulator and Animator
• BALSA was itself built in C, but the algorithms which were animated were in Pascal
• Multiple simultaneous views of each algorithms running
• Events managers triggered animation at critical changes in the data structures
• Better view of data strucures as compared to SOS
9
BALSA Interface
Race between two bin packing programs
Code viewTree Structure of the DB DB history Input \ Stat msg
10
Zeus
• The most recent version of BALSA
• Supports multiple synchronized views and allows users to edit them
• User can change a data item’s representation once the animation is stopped
• Implemented on a Multi-threaded, Multi-processor environment, hence it can easily animate parallel programs
• Has been used only in the laboratory as a prototype
• Found extensive use among researchers as a tool for algorithm development
11
Zeus – Interface
Sticks
Dots
Transcripts
Control Panel
12
TANGO
• An algorithm animation framework encompassing a new path transition paradigm for easily incorporating smooth transtions into any algorithm animation.
• Framework comprises 3 parts: o Defining the abstract operations and events in the program that drives the animation o Designing the animation to simulate the abstractions and operations o Mapping the programs operations to the corresponding animation scene
• BALSA allowed only one-one relation between the events and the animation scenes. However TANGO framework supports one-many, many-one, many-many mappings.
13
TANGO snapshot
An illustration of bin packaging problem
Input description: A set of n items with sizes . A set of m bins with capacity
Problem description: How can you store all the items using the smallest number of bins?
14
ANIM
• Developed at the AT&T Bell Laboratories
• UNIX tool philosophy, generalized simple interface, language & software independent
• Four drawing commands: line, text, box and circle
• Four control commands: view, click, erase and clear
• Post-Mortem framework ... “NOT LIVE”
15
ANIM – Areas of application
• 3D Molecular modelling system• 3D stereo viewer on an SGI iris workstation• Parse Trees of Lambda calculus• Numerical analysis visualization• Displays of simultaneous differential Equations• Debugging of a matrix manipulation program• Computational geometry abstractions• Parallel Algorithm visualization• Dynamic statistical display.
16
ANIM – A screen snapshot
Synchronized Algorithm Race
17
Pascal Genie
First automated SV of its kind. It created graphical displays of program data structures
automatically Makes debugging easier Myers at Carnegie-Mellon later created a production system
called “Amethyst” which was integrated with the Macgnome (Pascal pgmming environment for Mac) thereby giving Pascal Genie
18
19
To be continued ..
• Detailed discussion of the remaining 6 working SV prototypes
• Other areas of application
• Future of software visualization applications