Patterns:Reference Model: Difference between revisions

From InfoVis:Wiki
Jump to navigation Jump to search
added category tag
 
added related patterns and brief summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Editing Patterns:Reference Model
{| align="right"
From VizPatterns
| __TOC__
Jump to: navigation, search
|}
Bold textItalic textInternal linkExternal link (remember http:// prefix)Level 2 headlineEmbedded imageMedia file linkMathematical formula (LaTeX)Ignore wiki formattingYour signature with timestampHorizontal line (use sparingly)
== Summary ==
{| align="right" | __TOC__ |} == 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.''' [[Image:Reference model.png]] == 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> proscribe 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. IEEE Symposium on Information Visualization (InfoVis), 2004.</ref>, Polaris <ref> 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.</ref>, <ref> Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using 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 (CHI), 2005. </ref>, and SAS/JMP <ref> Chen, H. Towards Design Patterns for Dynamic Analytical Data Visualization. Proceedings Of SPIE Visualization and Data Analysis, 2004.</ref>. == Related Patterns == == References == <div class="references-small"> <references/> </div> 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.
A structural pattern for dealing with the complexity of visualisation system architectures.  


Please note that all contributions to VizPatterns may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
== Category ==
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Project:Copyrights for details). DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
Data Modelling and Management
Summary:


This is a minor edit  Watch this page
== Context ==
Cancel | Editing help (opens in new window)
Retrieved from "http://vizpatterns.org/wiki/index.php?title=Patterns:Reference_Model"
Views


    * Patterns
== Problem ==
    * Discussion
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
    * Edit
interactive controls.
    * History
== Forces ==
    * Protect
    * Delete
    * Move
    * Watch


Personal tools
== 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.'''


    * WikiSysop
[[Image:Reference model.png]]
    * My talk
    * My preferences
    * My watchlist
    * My contributions
    * Log out


Navigation
== 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. [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.
IEEE Symposium on Information Visualization (InfoVis), 2004.</ref>,
Polaris <ref> 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.</ref>, <ref> Stolte, C., D. Tang, and P. Hanrahan. Multiscale Visualization Using
Data Cubes. IEEE Symposium on Information Visualization (InfoVis),
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. [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>.


    * Main Page
== Related Patterns ==
    * Visualization 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>
    * Recent changes
    * Random page
    * Help
    * FAQ


useful links
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.


    * Community portal
    * InfoVis Wiki


Search
== References ==
<div class="references-small"> <references/> </div>
Toolbox


    * What links here
See also:
    * Related changes
    * Upload file
    * Special pages
 
Powered by MediaWiki
 
    * Privacy policy
    * About VizPatterns
    * Disclaimers


[[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

  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.
  10. Heer, J. & Agrawala, M., 2006. Software Design Patterns for Information Visualization. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 12(5), p.853.
  11. Jason Cai, Ranjit Kapila, and Gaurav Pal (July, 2000). "HMVC: The layered pattern for developing strong client tiers". JavaWorld Magazine.
  12. "TP" (2000). "Is HMVC PAC? (letter to the editor)". JavaWorld Magazine.
  13. 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: