Software Visualization Concepts and Applications - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Software Visualization Concepts and Applications

Description:

... Institute of Technology. Electrical and Computer Engineering. Timothy.Jacobs ... interaction and computer graphics technology to facilitate both the human ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 44
Provided by: csWr
Category:

less

Transcript and Presenter's Notes

Title: Software Visualization Concepts and Applications


1
Software VisualizationConcepts and Applications
  • Dr. Timothy Jacobs
  • Air Force Institute of Technology
  • Electrical and Computer Engineering
  • Timothy.Jacobs_at_afit.edu

2
Why Visualize?
3
Why visualize?
4
Why Visualize Software?
  • Software is complex
  • Large size
  • Many relationships
  • Complicated functionality
  • Abstract
  • Because of this complexity
  • Software is difficult to specify
  • Software is hard to understand
  • It is difficult to detect and remove errors from
    software
  • Software performance is hard to monitor and
    analyze

5
How do we visualize software?
  • Definitions
  • Characteristics/Concerns
  • Examples
  • Recommendations
  • AFIT Research

6
Definition
  • Software Visualization the use of the crafts
    of typography, graphic design, animation, and
    cinematography with modern human-computer
    interaction and computer graphics technology to
    facilitate both the human understanding and
    effective use of computer software.
  • - Price, Baecker and Small, 98

7
Visualization Characteristics
  • Scope
  • Abstraction
  • Specification Methods
  • Interaction
  • Presentation

8
Visualization Characteristics
  • Scope
  • Which aspects of the program are being examined?
  • Possibilities
  • Static
  • Dynamic
  • Code
  • Data State
  • What is the purpose of the program?
  • Program understanding
  • Performance analysis
  • Program specification
  • Algorithm animation
  • Broad scope is generally better
  • Abstraction
  • Specification Methods
  • Interaction
  • Presentation
  • Data flow
  • Control flow
  • Behavior
  • Performance

9
Visualization Characteristics
  • Scope
  • Abstraction
  • To what degree is the representation is removed
    from the code
  • Possibilities
  • Direct directly linked to the code
  • Structural high level components hide low level
    components elision
  • Synthesized derived from code and other
    information not in the code
  • Multiple levels of abstraction are generally
    preferred
  • Specification Methods
  • Interaction
  • Presentation

10
Visualization Characteristics
  • Scope
  • Abstraction
  • Specification Methods
  • How is the information in the code extracted and
    displayed?
  • Possibilities
  • Modify code to extract information
  • Extract information from existing code
  • Extract information from elsewhere in environment
  • Minimal intrusion in code is desired however,
    user needs sufficient flexibility to gather
    relevant information
  • Interaction
  • Presentation

11
Visualization Characteristics
  • Scope
  • Abstraction
  • Specification Methods
  • Interaction
  • How does the user interact with and navigate
    through the visual information?
  • Unlimited possibilities
  • Direct manipulation graphical interface is
    generally better
  • Presentation

12
Visualization Characteristics
  • Scope
  • Abstraction
  • Specification Methods
  • Interaction
  • Presentation
  • How is the information presented to the user to
    facilitate understanding?
  • Possibilities
  • Color
  • Size
  • Spatial relationships
  • Text
  • Patterns
  • Goal is to present abstractions that facilitate
    information navigation and understanding
  • Diagrams
  • Static
  • Animated
  • Historical
  • Real-time

13
Program Visualization
TogetherSoft
14
TogetherSoft
  • Purpose Program specification program
    understanding
  • Scope static code data structures
  • Abstraction code, classes, packages,
    relationships
  • Specification None all info already in code
  • Interaction direct manipulation text dialogs
  • Presentation
  • Standard UML diagrams poor use of space and
    color
  • Code white space and color
  • Benefits
  • Well known modeling technique
  • Round-trip engineering between diagrams and code
  • Drawbacks
  • Poor use of space can not see the big picture
  • Limited support for run-time analysis
  • No elision

15
Program Visualization
DEC FUSE Program Visualizer
16
DEC Fuse Program Visualizer
  • Purpose Navigate and view large programs
  • Scope Static code
  • Abstraction Code
  • Specification None extracted from code
  • Interaction Direct manipulation
  • Presentation Text, color, size
  • Benefits
  • Good use of space
  • Overview detail
  • Drawbacks
  • Limited abstraction

17
Program Visualization
JGrasp James H. Cross II Auburn University
18
Complexity Analysis
JGrasp James H. Cross II Auburn University
19
JGrasp
  • Purpose Program specification program
    understanding, program analysis
  • Scope static code, control structures
  • Abstraction code, program blocks, control flow,
    derived statistics
  • Specification None all info in code
  • Interaction text
  • Presentation
  • Text, color, diagrams
  • Color coded bar graphs
  • Benefits
  • Control diagrams integrated with code
  • Complexity analysis mapped to code segments
  • Drawbacks
  • No high level abstractions
  • No elision

20
Program Visualization
Imagix 4D
21
Imagix 4D
  • Purpose Program visualization
  • Scope code, control structures
  • Abstraction code, structures
  • Specification None all info collected from
    code
  • Interaction GUI
  • Presentation Text, color, size, graphs
  • Benefits
  • A variety of techniques for browsing code and
    analyzing complexity
  • Drawbacks
  • Limited abstraction
  • No elision

22
Program Execution Analysis
IBM AIX Program Visualizer (PV)
23
IBM Program Visualizer
  • Purpose Analyze program execution
  • Scope dynamic code
  • Abstraction code, memory, cpu
  • Specification annotated by compiler
  • Interaction GUI
  • Presentation Text, color, size, graphs
  • Benefits
  • Lots of relevant information
  • User configurable
  • Drawbacks
  • No high level abstraction
  • No linkage between charts

24
Visual Programming
Cantata
25
Cantata
  • Purpose Visual programming
  • Scope software components/programs
  • Abstraction information flow pipe and filter
  • Specification use available components
  • Interaction direct manipulation
  • Presentation glyphs, diagrams
  • Benefits
  • No code necessary to write programs
  • Drawbacks
  • Restricted to existing components
  • Limited scalability of presentation poor use of
    space

26
Concurrent Program Visualization
ConchViz
27
ConchViz
  • Purpose Animate message passing
  • Scope message flow
  • Abstraction messages, time
  • Specification Polka animation language, code
    instrumentation to gather data
  • Interaction GUI
  • Presentation Text, color, glyphs, lines,
    animation
  • Benefits
  • Animation helps information and message flow
    analysis
  • Drawbacks
  • Single level of abstraction
  • Poor use of space difficult to scale to many
    processes

28
Concurrent Program Visualization
Gthreads
29
Gthreads
  • Purpose Concurrent program execution analysis
  • Scope synchronization and control structures
  • Abstraction code, memory, threads,
    synchronization
  • Specification precompiler macros, POLKA
    animation
  • Interaction GUI
  • Presentation Text, color, glyphs, size, graphs
  • Benefits
  • Lots of views to determine state of
    synchronization
  • Drawbacks
  • Difficult to scale to large numbers of processes
  • Based on trace data, not real-time

30
Analysis of Existing Applications
  • Software visualization has limited utility for
    comprehensive program analysis due to inability
    to browse and view software at multiple levels of
    abstraction
  • Abstraction
  • Limited single data structures or code
  • Specification and analysis using different views
  • Usually low level
  • Interaction
  • Little direct manipulation
  • Presentation
  • Limited use of elision
  • Details only no context (or vice versa)
  • Limited animation
  • Recommendations
  • Similar analysis and specification views
  • Direct manipulation interaction with focus
    context animated views

31
Visualization of Distributed Systems
  • Deployment of services What goes where?
  • Availability of services Whats out there?
  • Performance optimization Where are the
    bottlenecks?
  • Failure How do we identify and work around
    unexpected failures?
  • Visibility How do we examine something thats
    taking place across the country?

32
Information Gathering Objectives
  • Dynamic analysis of distributed multiagent
    systems
  • Not another class or agent diagram
  • Real-time, animated system execution
  • Evaluate goal satisfaction and design performance
  • Identify anomalies or errors that might impair
    goal satisfaction
  • Invalid/unsynchronized data flows, program bugs,
    network failures
  • Real-time observation of system load and delays
    affecting performance
  • Redundant tasks, communications frequency,
    algorithm inefficiencies, available computational
    power, network bandwidth
  • Avoid line-by-line investigation of source code
  • Overview first, details on demand
  • Information filtering

33
Information Gathering Methods
  • System evaluation monitor messages between
    agents
  • Behavior revealed through service requests and
    data flows
  • Performance revealed through delays, size, and
    quantity
  • Requires only minor changes to messaging
    infrastructure no changes in system design
  • Individual agent evaluation remote program
    debugging API
  • Not yet incorporated into visual presentation

34
Information Presentation
  • Multiple views at different levels of detail
  • Agent Relationship View
  • Conversation Flow View
  • Message View
  • Content View
  • Integrated with Multiagent Systems Engineering
    (MaSE) tool.
  • User configurable data selection and
    arrangement
  • Interactive direct manipulation interface for
    data navigation and data abstraction

35
Sample Application Command and Control
Simulation
10 Agents 3 Platforms Local Area Network
36
Agent Relationship View
Agents depicted by glyphs and labels
Width of line depicts number of messages
X depicts error
37
(No Transcript)
38
Detailed Views
Message View
Content View
39
Conversation Flow View
40
Analysis
  • Scope message flow
  • Information and control
  • Requested services and behaviors
  • Bandwidth and latency
  • Abstraction multiple views
  • Drill down to lower levels of abstraction
  • Filter out extraneous information
  • Specification method duplication of messages
  • Maintain order of messages
  • Changes limited to messaging infrastructure
  • Interface direct manipulation of visual
    representations
  • Presentation structural and temporal views
  • Scalability architectural and visual

41
Focus Context Views
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
Context
42
Summary Conclusions
  • Visualization techniques almost certainly improve
    understanding of complex software systems
  • Current techniques are somewhat limited in their
    ability to browse and view multiple levels of
    abstraction usually preferring to focus on code
    details
  • Visualization technologies currently exist that
    can remedy many of the deficiencies with existing
    software visualization techniques

43
Key References
  • John Stasko et al, editors, Software
    Visualization Programming as a Multimedia
    Experience, MIT Press, 1998.
  • Peter Eades and Kang Zhang, editors, Software
    Visualisation, World Scientific Publishing Co.,
    1996.
Write a Comment
User Comments (0)
About PowerShow.com