Visualisation of Software Engineering Diagrams Part – 2 Rajat Anantharam Department of Gaming and Media Technology.

Slides:



Advertisements
Similar presentations
Cpt S 223 – Advanced Data Structures Graph Algorithms: Introduction
Advertisements

P3 / 2004 Register Allocation. Kostis Sagonas 2 Spring 2004 Outline What is register allocation Webs Interference Graphs Graph coloring Spilling Live-Range.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Motion Planning for Point Robots CS 659 Kris Hauser.
Label Placement and graph drawing Imo Lieberwerth.
Freehand Drawing System based on Geometric Constraints Kaisuke Nakajima Joint work with Takeo Igarashi User Interface Research Group The University of.
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Brute-Force Triangulation
Introduction This chapter explores graphs and their applications in computer science This chapter explores graphs and their applications in computer science.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Software Design Deriving a solution which satisfies software requirements.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Visual Analysis of Large Graphs Using (X, Y)-clustering and Hybrid Visualizations V. Batagelj, W. Didimo, G. Liotta, P. Palladino, M. Patrignani (Univ.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
System Design and Analysis
SIMS 247: Information Visualization and Presentation jeffrey heer
Visualisation of Software Engineering Diagrams Part – 1 Rajat Anantharam Department of Gaming and Media Technology.
An Introduction to Software Visualization Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Visualization. CS351 - Software Engineering (AY2004)2 Program visualization Debugging programs without the aid of support tools can be extremely difficult.
Brute-Force Triangulation
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
USE Case Model.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Introduction to Software Visualization CS Computer Science Seminar.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
Department of Computer Science and Engineering Bangladesh University of Engineering and Technology Md. Emran Chowdhury Department of CSE Northern University.
User-Centered Development Methodology A user interface comprises “ those aspects of the system that the user comes in contact with.” ● Moran [1981]
SOFTWARE DESIGN.
Software Design Deriving a solution which satisfies software requirements.
V Spanning Trees Spanning Trees v Minimum Spanning Trees Minimum Spanning Trees v Kruskal’s Algorithm v Example Example v Planar Graphs Planar Graphs v.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Human Computer Interaction CITB 243 Chapter 1 What is HCI
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Database Systems: Design, Implementation, and Management Tenth Edition
Software Visualization for Debugging
Algorithms and Networks
ICS 3UI - Introduction to Computer Science
Agenda Preliminaries Motivation and Research questions Exploring GLL
Unified Modeling Language
Introduction to Computer Programming
Educational Computing
Topological Sort (topological order)
Introduction Earlier we saw that the graph of y = f(x) is the set of all solutions to the function f. We also found that when f(x) = g(x), the functions.
Planarity Cox, Sherman, Tong.
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Precedence Graph Grammar for Hierarchical Program Diagram
Software Visualization
Applying Use Cases (Chapters 25,26)
Graphs G = (V, E) V are the vertices; E are the edges.
Intro to Functions.
Agenda Review Lecture Content: Shortest Path Algorithm
Presentation transcript:

Visualisation of Software Engineering Diagrams Part – 2 Rajat Anantharam Department of Gaming and Media Technology

2 Topics Discussed 1.Terminologies 2.Existing protoypes 3.Functionalities 4.Evolution of SV

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

4 The Twelve Systems Sorting out Sorting BALSA Zeus Tango ANIM Pascal Genie UWPI SEE TPM PAVANE LOGO-Media Centerline ObjectCenter – formerly Saber C++)

5 Agenda Taxonomy Detail Discussing the existing problems with software visualization Using graph drawing as a possible solution to the problems Future of Software Visualization

6 Taxonomy Detail The derivations of SV taxonomy yielded six distinct categories. They are represented in the form of a tree Though described in a single tree, each taxonomy can have sub-levels leading to n-ary tree Taxonomies building a Software Visualization System Scope, Content, Form, Method, Intersection, Effectiveness

7 Taxonomy Representation

8 In a Jiffy !! 1.Scope: What is the range of programs that the SV may take as an input for visualization? 2.Scalability: To what degree does the system scale up to handle large examples? 3.Form: What are the characteristics of the output of the system? 4.Method: How is visualization specified? 5.Interaction: How does the user of the SV system interact and control with it? 6.Effectiveness: How well does the system communicate information to the user?

9 Existing Problems with Software Visualization Very rarely the Visualization Diagrams are hand-crafted. Multiple crossings across inheritence \ class diagrams Affecting Readability Conflicts graph drawing aesthetics

10 An Approach to Solving Input: Non planar graph – multiple crossings Desired Output: A graph with minimal edge crossings. Approach : Confluent Drawing Approach to Visualizing non-planar graphs in a planar way Concern : NP- Hard Work Around : A possible solution based upon heuristics

11 The Idea of Confluent Drawings We merge edges into “tracks” so as to turn edge crossings into overlapping paths

12 Informally A curve is called locally-monotone if it contains no sharp turns and no self intersections. It contains no points with left and right tangent that form an angle less than or equal to 90 degrees. Example: A single train track Confluent drawings are a way of drawing non-planar graphs in a planar way by merging edges together into tracks which are the union of locally monotone curves.

13 Formally There is a one-to-one mapping between the vertices in G and A, so that, for each vertex v 2 V (G), there is a corresponding vertex v′ 2 A, which has a unique point placement in the plane. There is an edge (vi, vj ) in E(G) if and only if there is a locally-monotone curve e′ connecting v′, i and v′, j in A. A is planar. That is, while locally-monotone curves in A can share overlapping portions, no two can cross. Assumptions: Does not allow confluent graphs to contain self loops or parallel edges. Does not allow the drawing to make sharp turns or doube-back.

14 Drawing a Confluent Graph

15 Heuristics Existing Methods: Brute-Force method of merging individual edges to come up with a confluent drawing. Heuristic: Input – An undirected sparse graph G Output – Confluent drawing of G if succeed – fail otherwise 1.If G is planar 1.Draw G 2.Else if G contains a large number of clique\bi-clique subgraph C 1.Create a new vertex v 2.Obtain a new graph G’ by removing edges of v and connecting each vertex of C to v 3.HEURISTICDRAWUNDIRECTED(G’) 1.Replace v by a small “traffic signal” to get a confluent drawing of G 4.Else fail.

16 Application of the Heuristics Confluent drawings of k 3 and k 5,5

17 Scope for Research? The largest impediment to the use of SV by professional programmers is the issue of scope. Most are applicable to small scale prototypes – scaling is clearly a visible issue Form of software visualization still remains a big question. There are no specific standards set for this form of communication. Interaction \ Navigation \ Usability – all are more or less “subjective” concerns Non make out of the research lab – Effectiveness is a major issue.

18 Future of Software Visualization If we make progress with issues concerning taxonomies, there are obvious benefits for the fields of software engineering and computer science instruction. The potential goes beyond this to the entire domain of interactive systems, to the users as well as the programmers of interactive systems.

19 Future of Software Visualization Increasingly, the learning and use of complex systems is being facilitated by augmenting conventional textual and still graphic presentations with animation (Baecker & Small, 1990; Baecker, Small, & Mander, 1991), video, and speech and non-speech audio (Mountford & Gaver, 1990).

20 Future of Software Visualization Software visualization can therefore be applied to the development of self-revealing technology that can aid in demystifying and explaining system behaviour to users across the novice to expert continuum.

21 References A Principled Taxonomy of Software Visualization by Blaine A. Price, Ronald M. Baecker, and Ian S. Small Confluent Drawings: Visualizing Nonplanar Diagrams in a Planar Way Matthew Dickerson, David Eppstein, Michael T. Goodrich, Jeremy Meng’ 2004 Visualization Challenge Suplee, Curt, Bradford, Monica, Science, , 9/24/2004, Vol. 305, Issue 5692 Visualizing Flow Diagrams in WebSphere Studio Using SHriMP Views Derek Rayside and Marin Litoiu, Margaret-Anne Storey, Casey Best and Robert Lintern Software visualization in the large T. Ball and S. G. Eick - IEEE Computer, 29(4):33–43, 1996.

22 Thank You