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

Visualisation of Software Engineering Diagrams Part – 1

  • Upload
    penda

  • View
    30

  • Download
    0

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

Page 1: Visualisation of Software Engineering Diagrams Part – 1

Visualisation of Software Engineering Diagrams

Part – 1

Rajat Anantharam Department of Gaming and Media Technology

Page 2: Visualisation of Software Engineering Diagrams Part – 1

2

Agenda

1. Terminologies

2. Existing protoypes

3. Functionalities

4. Evolution of SV

Page 3: Visualisation of Software Engineering Diagrams Part – 1

3

Terminology Correlation

“Visual” – as in : Conveyance of the Mental Image 7th definition of the term visual In the Oxford English Dictionary

Page 4: Visualisation of Software Engineering Diagrams Part – 1

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) !!!

Page 5: Visualisation of Software Engineering Diagrams Part – 1

5

Visualizing Software Visualization

Page 6: Visualisation of Software Engineering Diagrams Part – 1

6

The Twelve Systems

Sorting out Sorting BALSAZeusTangoANIMPascal GenieUWPISEETPMPAVANELOGO-MediaCenterline ObjectCenter – formerly Saber C++)

Page 7: Visualisation of Software Engineering Diagrams Part – 1

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

Page 8: Visualisation of Software Engineering Diagrams Part – 1

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

Page 9: Visualisation of Software Engineering Diagrams Part – 1

9

BALSA Interface

Race between two bin packing programs

Code viewTree Structure of the DB DB history Input \ Stat msg

Page 10: Visualisation of Software Engineering Diagrams Part – 1

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

Page 11: Visualisation of Software Engineering Diagrams Part – 1

11

Zeus – Interface

Sticks

Dots

Transcripts

Control Panel

Page 12: Visualisation of Software Engineering Diagrams Part – 1

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.

Page 13: Visualisation of Software Engineering Diagrams Part – 1

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?

Page 14: Visualisation of Software Engineering Diagrams Part – 1

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”

Page 15: Visualisation of Software Engineering Diagrams Part – 1

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.

Page 16: Visualisation of Software Engineering Diagrams Part – 1

16

ANIM – A screen snapshot

Synchronized Algorithm Race

Page 17: Visualisation of Software Engineering Diagrams Part – 1

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

Page 18: Visualisation of Software Engineering Diagrams Part – 1

18

Page 19: Visualisation of Software Engineering Diagrams Part – 1

19

To be continued ..

• Detailed discussion of the remaining 6 working SV prototypes

• Other areas of application

• Future of software visualization applications