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)
© Copyright 2025 Paperzz