GIZA : A framework for visualization - Marc

Giza: A framework for
visualization
Louis C. Vroomen, Marc-Antoine Parent &
Luc Beaudoin
Human Computer Interaction Group
Centre de recherche informatique de Montréal
http://www.crim.ca/ipsi (Français)
http://www.crim.ca/hci (English)
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
Problem definition
Components of a Traditional Visualization Approach
Visualization
Command
Data modeling
Problem definition
Framework
• Set of cooperating classes
– reusable designs for a specific class of software
– customize to a particular application by creating
application-specific subclasses of classes from
the framework
• Visualization
– set of classes to facilitate the creation of a flexible
visualization application
Problem definition
Components of a Visualization Framework
Task
Visualization
Data modeling
Problem definition
Main task
• Navigation
– provide flexible means to access elements and
the relations between them.
– user can perform two types of actions
• structural analysis
• investigation
Problem definition
Actions
• Structural analysis
– support visual correlation and discrimination tasks
by providing the ability to compare,
simultaneously, remote parts of a structure.
• Investigation
– reinforce the expression of the current location, in
context if possible, and refine the control
– where have I been, where am I, where can I go.
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
CHEOPS approach
Purpose
• Ability to browse and explore complex
hierarchical information structures,
• Ease of use,
• Runs on standard personal computers,
with SVGA resolution.
CHEOPS approach
Dewey Decimal Classification System
• 10 by 10 levels
deep, with 1.2 cm
triangles, drawn
out would take
12,000 km.
12.12 cm
• CHEOPS fits
within 12 cm.
square
11.83 cm
CHEOPS approach
Design
• Object-oriented design
– versatile,
– scalable.
• Written in JavaTM
– cross-platform,
– usable over the net.
CHEOPS approach
Some advantages (1/3)
• Small foot print for fairly deep hierarchies
• Reuse of few visual objects
– allows display of large hierarchies ,
– quick update on a personal computer.
• Processing the opening of a branch is a
fast, simple descent
CHEOPS approach
Some advantages (2/3)
• CHEOPS provides a stable,
synthetic view of the global structure
– The relationship between
global context and the selected branch
is always maintained.
• At each node, CHEOPS provides
a unique and permanent visual signature
– visual signatures facilitate re-entry,
– representation of deep descendants allows long
jump.
CHEOPS approach
Some advantages (3/3)
• Strategies are consistent
everywhere in the hierarchy and
they enhance one another
– users can combine available tools to form strategies
to fit their needs,
– this ability allows users an incremental,
yet quick method to learn the approach
and optimize their strategies.
CHEOPS approach
General difficulties / possible solutions
• Branching factor
– investigate new manipulation tools
• Very deep hierarchies
– fragmentation strategies (eg: relative root position)
• As hierarchies grow, descent can become
computationally intensive
– load on demand?
CHEOPS approach
Limitations inherent to CHEOPS / possible solutions
• One branch open at a time
– different visual semantics
– investigate complementary manipulation tools
• People are disconcerted by speed & power
– learning curve seems quite short
CHEOPS approach
Implementation limitations / possible solutions
• Need all nodes in memory to descend and for ghost
– load on demand with limited ghost information
• Overloading is arbitrary
– investigate placement by a simple ordering function
CHEOPS Approach
Next step
• Investigate identified solutions
• Representation of non-hierarchical links
• Representation of graphs
• Access tools like histograms and filters
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
Giza Framework
Limitations of first Cheops implementation (1/3)
• Data model and visualization coupling
– inherently hierarchical, thus cannot show nonhierarchical relations or graphs
Task
Visualization
Data modeling
Giza Framework
Limitations of first Cheops implementation (2/3)
• Visualization and task coupling
– Cheops: only one representation, yet different
representations may be required
– need to visualize associated data, filtering
Task
Visualization
Data modeling
Giza Framework
Limitations of first Cheops implementation (3/3)
• Data modeling and task coupling
– inherently hierarchical browsing
Task
Visualization
Data modeling
Giza Framework
Giza Framework
• Object oriented framework
• Plugable representations
– now: cheops, millipede, tree, explorer
– soon: fish-eye, intelligent zoom,
hyperbolic geometry, tree map,etc.
• Extendable widgets
– investigate new manipulation tools
• Customizable
Giza Framework
Results
• Redesign of architecture
• Attempt decoupling data
modeling/visualization
– can visualize non-hierarchical links.
– multiple representations available and easy to
implement
• Attempt decoupling task/visualization
– representations can be notified of state changes
– associated data viewable (timelines, etc.)
– filtering available based on data model
Giza Framework
Results
• Attempt decoupling data model from task
– Can navigate through non-hierarchical links and
graphs
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
Inside Giza: Context
Analysing the modeling approach
• What is in the model for structures
(hierarchies and graphs)?
– Elements with properties
– Links define a structure (a topology)
Data Modeling
Structure (Topology)
Elements
Properties
Links
Inside Giza: Context
Analysing the visualization technique
• What is in a representation?
– Components with visual attributes
– The layout of components defines neighbourhood
(topology)
Visualization
Representation
Components
Visual attributes
Layout
Inside Giza: Context
Analysing the visualization technique (1/2)
• Traditional approach (MVC):
components and elements within a
representation correspond 1 to 1
Data Modeling
Structure (Topology)
Elements
Visualization
Representation
Components
Properties
Visual attributes
Links
Layout
Inside Giza: Context
Analysing the visualization technique (2/2)
• Cheops:
Many elements displayed by one component
• Multiple representations, polymorphy:
Many components display some elements
Data Modeling
Structure (Topology)
Elements
Visualization
Representation
Components
Properties
Visual attributes
Links
Layout
Inside Giza: Context
Abstract coupling of properties
• Decoupling visualization from data
– Access properties through an abstract protocol
• Representing arbitrary structures
– Make topology into a property
Data Modeling
Structure
Elements
Properties
(Topology)
Abstract
protocol
Visualization
Representation
Components
Visual attributes
(Layout)
Inside Giza: Context
Recipes for coupling of properties
• Encapsulate coupling to vary it
– Each coupling is made into an accessor object
• Multiple representations
– Each representation couples its attributes to
properties through a distinctive process
Data Modeling
Visualization
Structure
Representation
Elements
Properties
Components
Accessor
object
Visual attributes
Representation
Components
Accessor
object
Visual attributes
Inside Giza: Context
Contexts to bring accessors together
• The couplings that make a representation
possible are bundled in a context object
– Possibility to vary couplings for multiple
representations
– Contexts are linked in a inhertance hierarchy
Data Modeling
Contexts
Representation
Structure
Elements
Properties
Visualization
Accessor
objects
Components
Visual attributes
Representation
Accessor
objects
Components
Visual attributes
Inside Giza: Context
Dynamic nature of contexts (1/2)
• The task sets in: Commands can modulate the
coupling methods
• The representations react accordingly:
Components can observe changes in the data,
and accessor objects can automatically adjust to
changes in the coupling
Data Modeling
Contexts
Representation
Structure
Elements
Properties
Visualization
Accessor
objects
Components
Visual attributes
Representation
Tasks
User commands
Accessor
objects
Components
Visual attributes
Inside Giza: Context
Why Contexts?
• Data structures, tasks and
representations come in many colours
– Each context specifies a way to bridge the gap
between the model , a representation, and user
requirements
– The context determines the best possible match
Inside Giza: Context
Our Goal:
Task
Context
Visualization
Data modeling
Inside Giza: Context
Contexts and structure (1/4)
• The data IS how you look at it
– We analyze or abstract models into structures by
querying features of the data
Inside Giza: Context
Contexts and structure (2/4)
• The data IS how you look at it
– We analyze or abstract models into structures by
querying features of the data
– Feature extraction is an active process, creates
data, and ultimately the structure itself
Inside Giza: Context
Contexts and structure (3/4)
• The data IS how you look at it
– We analyze or abstract models into structures by
querying features of the data
– Feature extraction is an active process, creates
data, and ultimately the structure itself
– Each contextual system of feature extraction
defines a different structure
Inside Giza: Context
Contexts and structure (4/4)
• The data IS how you look at it
– We analyze or abstract models into structures by
querying features of the data
– Feature extraction is an active process, creates
data, and ultimately the structure itself
– Each contextual system of feature extraction
defines a different structure
– Structural analysis tools should look at the model
through many such contextual systems
Inside Giza: Context
Future work and development
• Representation of graphs
• Representation of large hierarchical
spaces
• Visualization application for software
engineering
Outline of presentation
Problem definition
CHEOPS approach
Giza Framework
Inside Giza: Context
How to reach us
How to reach us
Cheops Innovator
• Luc Beaudoin ([email protected])
Cheops/Giza Implementation
• Luc Beaudoin
• Marc-Antoine Parent ([email protected])
• Louis C. Vroomen ([email protected])
Director of the HCI Group
• France deVerteuil ([email protected])
URLs
HCI Group
• www.crim.ca/ipsi (Français)
• www.crim.ca/hci (English)
Main Cheops Page
• www.crim.ca/ipsi/cheops/index1.html (Français)
• www.crim.ca/hci/cheops/index1.html (English)
Graphical User Interfaces for Hierarchies: A Workshop
• www.crim.ca/~vroomen/workshop/ (English)