Visualization Four groups Design pattern for information visualization

Slides:



Advertisements
Similar presentations
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Advertisements

The Last Procedure Before First Functional Prototype Grant Boomer, Brett Papineau, Tanis Lopez, Archana Shrestha CS 383.
Introduction to Databases
SS ZG653Second Semester Topic Architectural Patterns – Review of Patterns.
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec Software.
Prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Database management concepts Database Management Systems (DBMS) An example of a database (relational) Database schema (e.g. relational) Data independence.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
© Copyright Eliyahu Brutman Programming Techniques Course.
Chapter 8 Object Design Reuse and Patterns. Finding Objects The hardest problems in object-oriented system development are: –Identifying objects –Decomposing.
WebDynpro for ABAP Short introduction.
Course Instructor: Aisha Azeem
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Academic Year 2014 Spring.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
1 Architectural Patterns Yasser Ganji Saffar
UNIT-V The MVC architecture and Struts Framework.
Chapter 4: Organizing and Manipulating the Data in Databases
Chapter 10 Architectural Design
MVC pattern and implementation in java
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Architectural Specification Principles & Foundation Piero Corte, Engineering Ing. Inf. NEXOF-RA.
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Software Design Patterns for Information Visualization 薛乃榮 Q NCBCI LAB.
Introduction to MDA (Model Driven Architecture) CYT.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
-1- Philipp Heim, Thomas Ertl, Jürgen Ziegler Facet Graphs: Complex Semantic Querying Made Easy Philipp Heim 1, Thomas Ertl 1 and Jürgen Ziegler 2 1 Visualization.
Visual Analysis of Hierarchical Management Data Zhao Geng 1, Gaurav Gathania 2, Robert S.Laramee 1 and ZhenMin Peng 1 1 Visual Computing Group, Computer.
Software Architecture and Patterns
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
What’s MPEG-21 ? (a short summary of available papers by OCCAMM)
05/26/2004www.indyjug.net1 Indy Java User’s Group May Knowledge Services, Inc.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
VisDB: Database Exploration Using Multidimensional Visualization Maithili Narasimha 4/24/2001.
Behavioral Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
The InfoVis Toolkit Jean-Daniel Fekete INRIA Futurs/LRI, France
Distributed Data Analysis & Dissemination System (D-DADS ) Special Interest Group on Data Integration June 2000.
Object storage and object interoperability
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
1 Presentation Methodology Summary B. Golden. 2 Introduction Why use visualizations?  To facilitate user comprehension  To convey complexity and intricacy.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Chapter 5-1. Chapter 5-2 Chapter 5: Organizing and Manipulating the Data in Databases Introduction Normalization Validating the Data in Databases Extracting.
1 February 1-7, Cancun, Mexico ACHI’09 A structured approach to support 3D User Interface Development Juan Manuel Gonzalez-Calleros, Jean Vanderdonckt.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Semantic Graph Mining for Biomedical Network Analysis: A Case Study in Traditional Chinese Medicine Tong Yu HCLS
Data Visualization with Tableau
Examples (D. Schmidt et al)
Design Patterns: MORE Examples
Chapter 10 Design Patterns.
Chapter 5:Design Patterns
Introduction to Design Patterns
Introduction to Unified Modeling Language (UML)
CSC420 Showing Complex Data.
Database management concepts
Database.
Software Architecture
Software models - Software Architecture Design Patterns
Data Model.
Database management concepts
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Course Instructor: Supriya Gupta Asstt. Prof
Presentation transcript:

Visualization Four groups Design pattern for information visualization Interface Design pattern and visual complexity Google API and Other related tools Pivot

Software Design Patterns for Information Visualization Mubarek K. Priyank H. Yu Chi Jen

Content Introduction Categories of SDP for IV Patterns Patterns working together

Introduction Diverse software architectures supporting information visualization However it is difficult to identify, evaluate and re-apply the design solutions Capture successful solutions in design patterns The pattern discussion follow software design pattern format

Categories The Information visualization patterns lie in one or more of the following groups Data representation Graphics Interaction

Design Patterns Relationships

Reference Model “Provides a general template for structuring visualization applications that separates data models, visual models, views and interactive controls.” Right separation of concerns reflects the complexity, extensibility and reusability of software architectures. Provides a high-level template for application design whose implementation can be informed by other patterns.

Structure of Reference Model

Data Column “Organize relational data into data columns providing flexible data representations and extensible data schemas.”

Cascaded Table “Allow relational data tables to inherit data from parent tables, efficiently supporting derived tables.”

Relational Graph “Use relational data tables to represent network structures, facilitating data reuse and efficient data processing.” For optimized query processing, network structures are implemented using relational data tables to represent node and edge data. Each table stores various data attributes of nodes and edges in network.

Relational Graph Advantage: Helps unify data representation issues i.e. one can easily swap in and out edge data or node table can be reused across multiple graphs. Issue: Performance, in case of traversing graph with an unacceptable overhead.

Proxy Tuple “Use an object relational mapping for accessing, manipulating, grouping and reordering table and graph data.” Instead of accessing graph and table data directly, a proxy object is created to access them.

Expression “Provides an expression language for data processing tasks such as specifying queries and computing derived values.” Language statements are represented as tree of expression objects for data processing.

Scheduler “Provide schedulable activities for implementing time-sensitive, potentially recurring operations. “ Includes animations and time-sensitive responses to user input.

Structure of Scheduler Pacer is used to adjust the scheduler : slow, fast

Operator “Decompose visual data processing into a series of composable operators, enabling flexible and reconfigurable visual mappings.” We will have granular control on the visualization and other operators can be applied easily

Renderer “Separate visual components from their rendering methods, allowing dynamic determination of visual appearances” Avoids creating sub-classing to change appearance Renderer de-couples the representation of a visual item from its rendering item’s visual attributes into actual “pixels” Dedicated and re-usable module for renderer

Structure of renderer Application Related patterns Java swing interface Prefuse visualization toolkit uses RendererFactory Related patterns Production Rule Flyweight

Production Rule “Use a chain of if-then-else rules to dynamically determine visual properties using rule-based assignment or delegation.” E.g. Default color encoding but overriding in special cases

Camera “Provide a transformable camera view onto a visualization, supporting multiple views and spatial navigation of data displays.” Panning and zooming arise in large data sets Multiple views - overview+detail Treat the data view as camera Moving, zooming, or rotating the camera accordingly changes the viewpoint

Structure of Camera pattern Known uses OpenGL - camera in 3D graphics Related Patterns Renderer Scheduler

Dynamic Query Binding “Allow data selection and filtering criteria to be specified dynamically using direct manipulation interface components. “ Refining a data view through direct manipulation Sliders, range sliders, checkboxes and textboxes may be used for user input

Structure Known uses Related Patterns InfoVis Factory Method Expression

Conclusion Most of the patterns can be used in isolation Their relationship gives the greatest value E.g Scheduler and Operator => animation Relational graph and Proxy Tuple The patterns are not static and other related pattern may be created

Design Patterns Relationships

References [1] J. Heer and M. Agrawala, Software Design Patterns for Information Visualization, IEEE Transactions on Visualization and Computer Graphics, Vol. 12 No. 5, Setp/Oct 2006 [2] Gamma and et al , Software Design Pattern