visualisation of software engineering diagrams part – 1 rajat anantharam department of gaming and...

19
Visualisation of Software Engineering Diagrams Part – 1 Rajat Anantharam Department of Gaming and Media Technol

Post on 21-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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