visualisation of software engineering diagrams part – 1 rajat anantharam department of gaming and...
Post on 21-Dec-2015
221 views
TRANSCRIPT
Visualisation of Software Engineering Diagrams
Part – 1
Rajat Anantharam Department of Gaming and Media Technology
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) !!!
6
The Twelve Systems
Sorting out Sorting
BALSA
Zeus
Tango
ANIM
Pascal Genie
UWPI
SEE
TPM
PAVANE
LOGO-Media
Centerline ObjectCenter – formerly Saber C++)
7
Sorting out Sorting
Motion Flick of 30 minutes produced at the University of Toronto
Animated CG representing the working of the Sorting algorithms
The movie:
Introduces the concept of sorting
Linear Insertion, Binary Insertion, Shell Sort, Bubble Sort, Quick Sort, Shaker Sort
Straight 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
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.
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