Patterns:Reference Model
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
- ↑ Chi, E. H., J. T. Riedl. An Operator Interaction Framework for Visualization Systems. IEEE Symposium on Information Visualization (InfoVis), 1998.
- ↑ Card, S. K., J. D. Mackinlay, B. Schneiderman (eds.). Readings in Information Visualization: Using Vision To Think. Morgan-Kaufman, 1999.
- ↑ Tang, D., C. Stolte, and P. Hanrahan. Design Choices when Architecting Visualizations. IEEE Symposium on Information Visualization (InfoVis), 2003.
- ↑ Eick, S. G. Visual Discovery and Analysis. IEEE Transactions on Visualization and Computer Graphics, 6(10). January 2000.
- ↑ Weaver, C. Building Highly-Coordinated Visualizations In Improvise. IEEE Symposium on Information Visualization (InfoVis), 2004.
- ↑ 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.
- ↑ Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using Data Cubes. IEEE Symposium on Information Visualization (InfoVis), 2002.
- ↑ Heer, J., S. K. Card, J. A. Landay. prefuse: A Toolkit for Interactive Information Visualization. ACM Human Factors in Computing Systems (CHI), 2005.
- ↑ Chen, H. Towards Design Patterns for Dynamic Analytical Data Visualization. Proceedings Of SPIE Visualization and Data Analysis, 2004.
See also: Heer, J. & Agrawala, M., 2006. Software Design Patterns for Information Visualization. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.