Software Visualization A Task Oriented View. The Papers A Task Oriented View of Software Visualization Maletic J., Marcus A., Collard M. (2002) Strata-Various:

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Programming Paradigms and languages
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Feb 7 th 2001CMSC 838B: Information Visualization Lifelines: Visualizing Personal Histories C. Plaisant, B.Milash, A. Rose, W.Widoff and B. Shneiderman.
File Systems and Databases
Instructional Information in Adaptive Spatial Hypertext Luis Francisco-Revilla and Frank Shipman Presented By : Ananda Man Shrestha.
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
The Table Lens: Merging Graphical and Symbolic Representations in an Interactive Focus + Context Visualization for Tabular Information R. Rao and S. K.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
© Copyright Eliyahu Brutman Programming Techniques Course.
An Introduction to Software Visualization Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University.
1 Case Study: Starting the Student Registration System Chapter 3.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
REFLECTIONS ON NOTECARDS: SEVEN ISSUES FOR THE NEXT GENERATION OF HYPERMEDIA FRANK G. HALASZ.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
OOSE 01/17 Institute of Computer Science and Information Engineering, National Cheng Kung University Member:Q 薛弘志 P 蔡文豪 F 周詩御.
Essence and Accident in Software Engineering By: Mike Hastings.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Information Design and Visualization
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
1 Adapting the TileBar Interface for Visualizing Resource Usage Session 602 Adapting the TileBar Interface for Visualizing Resource Usage Session 602 Larry.
Introduction to MDA (Model Driven Architecture) CYT.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Designing the User Interface: Strategies for Effective Human-Computer.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Interacting with Huge Hierarchies: Beyond Cone Trees Jeromy Carriere, Rick Kazman Computer Graphics Lab, Department of Computer Science University of Waterloo,
CHAPTER TEN AUTHORING.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Systems Analysis and Design in a Changing World, 3rd Edition
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
Systems Analysis & Design 7 th Edition Chapter 5.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
SEMINAR WEI GUO. Software Visualization in the Large.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
ANKITHA CHOWDARY GARAPATI
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Visualization Four groups Design pattern for information visualization
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
A Generalized Architecture for Bookmark and Replay Techniques Thesis Proposal By Napassaporn Likhitsajjakul.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
User Interface Design Patterns: Part 1 Kirsten McCane.
1 Presentation Methodology Summary B. Golden. 2 Introduction Why use visualizations?  To facilitate user comprehension  To convey complexity and intricacy.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Object Oriented Analysis & Design By Rashid Mahmood.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Chapter 0: Introduction
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
Analysis models and design models
CSE 490ra Projects.
Presentation transcript:

Software Visualization A Task Oriented View

The Papers A Task Oriented View of Software Visualization Maletic J., Marcus A., Collard M. (2002) Strata-Various: Multi-Layer Visualization of Dynamics in Software System Behavior Kimelman D., Rosenburg B., Roth, T. (1994) 3D Representations for Software Visualization Marcus A., Feng L., Maletic J. (2003)

Match the Method to the Task The Domain: Understanding and analysis during development and maintenance of large-scale software systems. The Argument: No single software visualization tool can address all tasks simultaneously. The Proposal: A framework for identifying the most appropriate visualization mechanism for the given task.

A Reference Model adapted from Card et al. “Readings in Information Visualization: Using Vision to Think”

A Reference Model adapted from Card et al. “Readings in Information Visualization: Using Vision to Think” source code, execution data, design documents etc. abstract syntax trees, class/object relationships etc. (software specific) 2D/3D graphs, tree hierarchy, UML interactive drill-down, navigation

A Taxonomy of Software Visualization Systems Dimensions of Software Visualization Tasks – why is the visualization needed? Audience – who will use the visualization? Target – what is the data source to represent? Representation – how to represent it? Medium – where to represent the visualization

How does this relate to previous work? DimensionRoman [Roman ’93] Price et all. [Price ’93,’98] Task***Purpose Audience***Purpose TargetScope, Abstraction Scope, Content RepresentationSpecification method, Interface, Presentation Form, Method, Interaction, Effectiveness Medium***Form

Why is a new taxonomy needed now? Task dimension not covered in Roman’s taxonomy and only marginally by Price et al. Why? Largely due to the state of the art of the field nearly a decade ago. Importance: The task requires visualizations with characteristics that can later be defined along the remaining dimensions. Ultimate Goal: Identify key tasks for maintenance/development -> determine sets of dimensional values that are most appropriate

Mapping Software Visualization Systems

Critique What is a Task? Granularities of ‘task’ result in overlapping and imprecision Is it what you are using the visualization for? Is it what the designers of the tool had in mind when they created it? Not convinced that we can organize all software visualization tools by this...

PV: Visualizing Dynamics in Software System Behavior Domain: Visualization tool for debugging or tuning Argument: Current (1994) tools provide only static structure or dynamics from only a few of the many layers of a program and its underlying system. Proposal: Multiple views present synchronized view of behavior from all levels as the programs behavior unfolds over time.

How does it work? Low Level: PV is trace driven Displays are produced as PV reads through a trace containing an execution history. System is Extensible. Views may be written as plug-ins. The prototype reads trace formats generated by the AIX system

How does it work? High Level: The user continually replays the execution history and rearranges the display to discard unnecessary information or to incorporate more relevant information. During a replay, (although live delivery is possible) the user watches for trends, anomalies and interesting correlations. If an interesting discovery is made, the user may zoom in on a view for greater detail. Views are linked – so context is preserved. Behavioral phenomena (perhaps unexpected) may be revealed.

The User Interface

Mapping PV TaskAudienceTargetRepresentationMedium debugging tuning expert developer program, user-level libraries, operating- system, hardware multiple 2D interactive views – color, zoom, animation color monitor

Critique This tool clearly had great potential – many of the ideas exist in today’s IDE’s something close to case studies were presented –these acted mainly as a description of possible features/uses. the user interface was barely described – and appeared to be accessible only to expert users. This was identified as a limitation in the ‘future work’ section – where, coincidentally, 3D views were discussed...

3D Representations for Software Visualization Domain: Visualizing large scale software to assist in comprehension and analysis tasks associated with maintenance and reengineering. Motivation: To explore new mediums and representations to address particular software engineering tasks. Proposal: A 3D metaphor for software visualizations.

Mapping Data to a Visual Metaphor A Criteria [MacKinlay 1986] Expressiveness capability of the metaphor to represent all the information we desire to visualize Effectiveness efficiency of the metaphor as a means of representing the information

Related Works SeeSoft [Ball and Eick 1996] Expressiveness: 2D pixel bars limits the number of attributes that can be visualized as well as the types of relationships. Effectiveness: natural and direct mapping from the visual metaphor to the source code and back. Tarantula [Jones et al 2001] Expressiveness: built on SeeSoft – uses brightness to represent an extra attribute. Effectiveness: As noted by authors – brightness is confusing and poorly perceived by users.

Related Works Bee/Hive [Reiss 2001] Expressiveness introduces file maps, which make use of texture and third dimension. supports multiple views of the data and multiple data sources. Effectiveness supported user interactions are somewhat limited for 3D renderings.. thus problems such as occlusion may occur.

The sv3D Framework Builds on the SeeSoft and Bee/Hive metaphors while making a number of enhancements: Expressiveness : various artifacts of the software system and their attributes can be mapped to 3D metaphors, at different abstraction levels currently – container is a file. use of height, depth, color, position design and implementation are extensible

The sv3D Framework Effectiveness: displaying data in 3 dimensions instead of 2 can make it easier for the user to understand [Ware, Frank 1994] user understanding of 3D structure improves when they can manipulate structure [Hubona et al. 1997] 3D representations have been shown to better support spcial memory tasks than 2D [Tavanti, Lind 2001]

The User Interface [Shneiderman ’96] Filtering: transparency, elevation Details on demand: interaction: track ball, handle box; information panel for data values Relate: height, depth, color, position - arrange in 3D space History: snapshots (sequences of snapshots for a path) Extract: future (currently focused on visual)

Mapping sv3D TaskAudienceTargetRepresentationMdm maintenence, reengineering expert developer source code, independent interactive 3D view. uses color, depth, texture, position color mntr.

Critique Currently file based, which may not be that helpful – it’s difficult to relate files to each other in a meaningful way. Examples used height dimension to indicate nesting level of control structures.. A better variety of uses would have been interesting.