190 likes | 273 Views
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
E N D
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 7th definition of the term visual In the Oxford English Dictionary
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) !!!
The Twelve Systems Sorting out Sorting BALSA Zeus Tango ANIM Pascal Genie UWPI SEE TPM PAVANE LOGO-Media Centerline ObjectCenter – formerly Saber C++)
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
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
BALSA Interface Race between two bin packing programs Code view Tree Structure of the DB DB history Input \ Stat msg
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
Zeus – Interface Sticks Dots Transcripts Control Panel
TANGO • An algorithm animation framework encompassing a new path transition paradigm for easily incorporating • smooth transtions into any algorithm animation. • Framework comprises 3 parts: • Defining the abstract operations and events in the program that drives the animation • Designing the animation to simulate the abstractions and operations • 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.
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?
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”
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.
ANIM – A screen snapshot Synchronized Algorithm Race
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
To be continued .. • Detailed discussion of the remaining 6 working SV prototypes • Other areas of application • Future of software visualization applications