Patterns:Reference Model

From InfoVis:Wiki
Revision as of 12:16, 8 November 2007 by 216.170.232.85 (talk) (Changed word "proscribe" (means to forbid) to "prescribe" (authorize))
Jump to navigation Jump to search

Summary

Category

Data Modelling and Management

Context

Problem

Information visualization application development requires balancing issues of data management, visual mappings, computer graphics, and interaction. Determining the right separation of concerns has serious consequences for the complexity, extensibility, and reusability of software architectures. The Reference Model pattern provides a general template for structuring visualization applications that separates data models, visual models, views, and interactive controls.

Forces

Solution

Separate data and visual models to enable multiple visualizations of a data source, separate visual models from displays to enable multiple views of a visualization, and use modular controllers to handle user input in a flexible and reusable fashion.

Examples

The Reference Model pattern has been widely used and advocated. Both Chi et al’s data state model [1] and Card et al’s infovis reference model [2] prescribe the use of this pattern. In their exploration of design choices for architecting visualizations, Tang et al. [3] also discuss the importance of separating data and visual models. Finally, numerous software frameworks adopt this template of application structure, including Advizor [4], Improvise [5], Polaris [6], [7], prefuse [8], and SAS/JMP [9].

Related Patterns

References

  1. Chi, E. H., J. T. Riedl. An Operator Interaction Framework for Visualization Systems. IEEE Symposium on Information Visualization (InfoVis), 1998.
  2. Card, S. K., J. D. Mackinlay, B. Schneiderman (eds.). Readings in Information Visualization: Using Vision To Think. Morgan-Kaufman, 1999.
  3. Tang, D., C. Stolte, and P. Hanrahan. Design Choices when Architecting Visualizations. IEEE Symposium on Information Visualization (InfoVis), 2003.
  4. Eick, S. G. Visual Discovery and Analysis. IEEE Transactions on Visualization and Computer Graphics, 6(10). January 2000.
  5. Weaver, C. Building Highly-Coordinated Visualizations In Improvise. IEEE Symposium on Information Visualization (InfoVis), 2004.
  6. Stolte, C., D. Tang, and P. Hanrahan. Polaris: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases. IEEE Transactions on Visualization and Computer Graphics, 8(1), January 2002.
  7. Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using Data Cubes. IEEE Symposium on Information Visualization (InfoVis), 2002.
  8. Heer, J., S. K. Card, J. A. Landay. prefuse: A Toolkit for Interactive Information Visualization. ACM Human Factors in Computing Systems (CHI), 2005.
  9. Chen, H. Towards Design Patterns for Dynamic Analytical Data Visualization. Proceedings Of SPIE Visualization and Data Analysis, 2004.

See also: Heer, J., and Agrawala, M., (2003). “Software Design Patterns for Information Visualization”. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 12, NO. 5, SEPTEMBER/OCTOBER 2006.