Patterns:Reference Model: Difference between revisions
No edit summary |
added related patterns and brief summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
|} | |} | ||
== Summary == | == Summary == | ||
A structural pattern for dealing with the complexity of visualisation system architectures. | |||
== Category == | == Category == | ||
Line 21: | Line 21: | ||
== Examples == | == Examples == | ||
The Reference Model pattern has been widely used and advocated. Both Chi et al’s data state model <ref>Chi, E. H., J. T. Riedl. An Operator Interaction Framework for Visualization Systems. IEEE Symposium on Information Visualization (InfoVis), 1998.</ref> and Card et al’s infovis reference model <ref>Card, S. K., J. D. Mackinlay, B. Schneiderman (eds.). Readings in Information Visualization: Using Vision To Think. Morgan-Kaufman, 1999.</ref> | The Reference Model pattern has been widely used and advocated. Both Chi et al’s data state model <ref>Chi, E. H., J. T. Riedl. [http://www-users.cs.umn.edu/~echi/papers/infovis98/operator.pdf An Operator Interaction Framework for Visualization Systems.] IEEE Symposium on Information Visualization (InfoVis), 1998.</ref> and Card et al’s infovis reference model <ref>Card, S. K., J. D. Mackinlay, B. Schneiderman (eds.). Readings in Information Visualization: Using Vision To Think. Morgan-Kaufman, 1999.</ref> prescribe the use of this pattern. In their exploration of design choices for architecting visualizations, Tang et al. <ref>Tang, D., C. Stolte, and P. Hanrahan. Design Choices when Architecting Visualizations. IEEE Symposium on Information Visualization (InfoVis), 2003. </ref> also discuss the importance of separating data and visual models. Finally, numerous software frameworks adopt this template | ||
of application structure, including Advizor <ref>Eick, S. G. Visual Discovery and Analysis. IEEE Transactions on Visualization and Computer Graphics, 6(10). January 2000.</ref>, Improvise <ref>Weaver, C. Building Highly-Coordinated Visualizations In Improvise. | of application structure, including Advizor <ref>Eick, S. G. Visual Discovery and Analysis. IEEE Transactions on Visualization and Computer Graphics, 6(10). January 2000.</ref>, Improvise <ref>Weaver, C. Building Highly-Coordinated Visualizations In Improvise. | ||
IEEE Symposium on Information Visualization (InfoVis), 2004.</ref>, | IEEE Symposium on Information Visualization (InfoVis), 2004.</ref>, | ||
Line 29: | Line 29: | ||
January 2002.</ref>, <ref> Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using | January 2002.</ref>, <ref> Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using | ||
Data Cubes. IEEE Symposium on Information Visualization (InfoVis), | Data Cubes. IEEE Symposium on Information Visualization (InfoVis), | ||
2002. </ref>, prefuse <ref>Heer, J., S. K. Card, J. A. Landay. prefuse: A Toolkit for Interactive Information Visualization. ACM Human Factors in Computing Systems | 2002. </ref>, prefuse <ref>Heer, J., S. K. Card, J. A. Landay. [http://guir.berkeley.edu/pubs/chi2005/prefuse.pdf prefuse: A Toolkit for Interactive Information Visualization.] ACM Human Factors in Computing Systems | ||
(CHI), 2005. </ref>, and SAS/JMP <ref> Chen, H. Towards Design Patterns for Dynamic Analytical Data Visualization. Proceedings Of SPIE Visualization and Data Analysis, | (CHI), 2005. </ref>, and SAS/JMP <ref> Chen, H. [http://www.cs.unc.edu/~hongchen/papers/patterns_vda_final.pdf Towards Design Patterns for Dynamic Analytical Data Visualization.] Proceedings Of SPIE Visualization and Data Analysis, | ||
2004.</ref>. | 2004.</ref>. | ||
== Related Patterns == | == Related Patterns == | ||
The components are much like those of MVC, and has been characterised as a 'tiered version of MVC, with the model divided into separate abstractions for the data and visual properties.'<ref>Heer, J. & Agrawala, M., 2006. [http://vis.berkeley.edu/papers/infovis_design_patterns/ Software Design Patterns for Information Visualization]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.</ref> | |||
This characterisation invites comparisons with like the Hierarchical-Model-View-Controller (HMVC)<ref>Jason Cai, Ranjit Kapila, and Gaurav Pal (July, 2000). [http://www.javaworld.com/javaworld/jw-07-2000/jw-0721-hmvc.html "HMVC: The layered pattern for developing strong client tiers"]. JavaWorld Magazine.</ref> and, the more general<ref>"TP" (2000). [http://web.archive.org/web/20050205080537/http://www.javaworld.com/javaworld/jw-09-2000/jw-0908-letters.html "Is HMVC PAC? (letter to the editor)"]. JavaWorld Magazine.</ref>, Presentation-Abstraction-Control(PAC)<ref>Coutaz, J., 1997. [http://iihm.imag.fr/publs/1997/DSVIS97_PACing.pdf PAC-ing the architecture of your user interface.] Proc. 4th Eurographics Workshop on Design, Specification and Verification of Interactive Systems, p.15-32.</ref> pattern. | |||
== References == | == References == | ||
<div class="references-small"> <references/> </div> | <div class="references-small"> <references/> </div> | ||
See also: | See also: | ||
[[Category:Patterns]] | [[Category:Patterns]] |
Latest revision as of 11:55, 31 January 2008
Summary
A structural pattern for dealing with the complexity of visualisation system architectures.
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
The components are much like those of MVC, and has been characterised as a 'tiered version of MVC, with the model divided into separate abstractions for the data and visual properties.'[10]
This characterisation invites comparisons with like the Hierarchical-Model-View-Controller (HMVC)[11] and, the more general[12], Presentation-Abstraction-Control(PAC)[13] pattern.
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.
- ↑ Heer, J. & Agrawala, M., 2006. Software Design Patterns for Information Visualization. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.
- ↑ Jason Cai, Ranjit Kapila, and Gaurav Pal (July, 2000). "HMVC: The layered pattern for developing strong client tiers". JavaWorld Magazine.
- ↑ "TP" (2000). "Is HMVC PAC? (letter to the editor)". JavaWorld Magazine.
- ↑ Coutaz, J., 1997. PAC-ing the architecture of your user interface. Proc. 4th Eurographics Workshop on Design, Specification and Verification of Interactive Systems, p.15-32.
See also: