The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.06 - November/December (2010 vol.16)
pp: 1149-1156
ABSTRACT
We investigate the design of declarative, domain-specific languages for constructing interactive visualizations. By separatingspecification from execution, declarative languages can simplify development, enable unobtrusive optimization, and supportretargeting across platforms. We describe the design of the Protovis specification language and its implementation within anobject-oriented, statically-typed programming language (Java). We demonstrate how to support rich visualizations without requiring atoolkit-specific data model and extend Protovis to enable declarative specification of animated transitions. To support cross-platformdeployment, we introduce rendering and event-handling infrastructures decoupled from the runtime platform, letting designers retargetvisualization specifications (e.g., from desktop to mobile phone) with reduced effort. We also explore optimizations such as runtimecompilation of visualization specifications, parallelized execution, and hardware-accelerated rendering. We present benchmark studiesmeasuring the performance gains provided by these optimizations and compare performance to existing Java-based visualizationtools, demonstrating scalability improvements exceeding an order of magnitude.
INDEX TERMS
information visualization, user interfaces, toolkits, domain specific languages, declarative languages, optimization
CITATION
Jeffrey Heer, Michael Bostock, "Declarative Language Design for Interactive Visualization", IEEE Transactions on Visualization & Computer Graphics, vol.16, no. 6, pp. 1149-1156, November/December 2010, doi:10.1109/TVCG.2010.144
REFERENCES
[1] M. Bostock and J. Heer, Protovis: A graphical toolkit for visualization. IEEETrans. Vis. and Comp. Graphics, 15 (6): 1121–1128, 2009.
[2] H. Chafi, Z. DeVito, A. Moors, T. Rompf, A. Sujeeth, P. Hanrahan, M. Odersky, and K. Olukotun, Language virtualization for heterogeneous parallel computing. In Onward!, 2010.
[3] J. A. Cottam and A. Lumsdaine, ThisStar: Declarative visualization prototype. In IEEE Information Visualization Posters, 2007.
[4] J. A. Cottam and A. Lumsdaine, Stencil: A conceptual model for representation and interaction. In International Information Visualisation Conference, pages 51–56, 2008.
[5] D. J. Duke, R. Borgo, M. Wallace, and C. Runciman, Huge data but small programs: Visualization design via multiple embedded DSLs. In Practical Aspects of Declarative Languages, pages 31–45. Springer, 2009.
[6] J.-D. Fekete, The Info Vis Toolkit. In IEEE InfoVis, pages 167–174, 2004.
[7] Flare. http :/flare.prefuse.org, March 2009.
[8] E. Gamma, R. Helm, R. Johnson, and J. M. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Upper Saddle River, NJ, 1994.
[9] J. Heer and M. Agrawala, Software design patterns for information visualization. IEEE Trans. Vis. and Comp. Graphics, 12 (5): 853–860, 2006.
[10] J. Heer, S. K. Card, and J. A. Landay, prefuse: a toolkit for interactive information visualization. In Proc. ACM CHI, pages 421–430, 2005.
[11] J. Heer and G. G. Robertson, Animated transitions in statistical data graphics. IEEETrans. Vis. and Comp. Graphics, 13 (6): 1240–1247, 2007.
[12] P. Hudak, Building domain-specific embedded languages. ACM Comput. Surv., 28 (4), 1996.
[13] S. Hudson and J. T. Stasko, Animation support in a user interface toolkit: Flexible, robust, and reusable abstractions. In ACM UIST, pages 57–67, 1993.
[14] H. W. Lie, Cascading Style Sheets. PhD thesis, University of Oslo, 2005.
[15] B. Lucas, G. D. Abram, N. S. Collins, D. A. Epstein, D. L. Gresh, and K. P. McAuliffe, An architecture for a scientific visualization system. In IEEE Visualization, pages 107–114. IEEE Computer Society Press, 1992.
[16] B. McDonnel and N. Elmqvist, Towards utilizing GPUs in information visualization: A model and implementation of image-space operations. IEEE Trans. Vis. and Comp. Graphics, 15 (6): 1105–1112, 2009.
[17] M. Mernik, J. Heering, and A. M. Sloane, When and how to develop domain-specific languages. ACM Comput. Surv., 37 (4): 316–344, 2005.
[18] A Pattern Language for Parallel Programming. http://parlab.eecs.berkeley.edu/wikipatterns, March 2009.
[19] H. Piringer, C. Tominski, P. Muigg, and W. Berger, A multi-threading architecture to support interactive visual exploration. IEEE Trans. Vis. and Comp. Graphics, 15 (6): 1113–1120, 2009.
[20] A. Slingsby, J. Dykes, and J. Wood, Configuring hierarchical layouts to address research questions. IEEE Trans. Vis. and Comp. Graphics, 15 (6): 977–984, 2009.
[21] C. Stolte, D. Tang, and P. Hanrahan, Polaris: A system for query, analysis, and visualization of multidimensional relational databases. IEEE Trans. Vis. and Comp. Graphics, 8: 52–65, 2002.
[22] F. B. Viégas, M. Wattenberg, F. van Ham, J. Kriss, and M. McKeon, Many Eyes: a site for visualization at internet scale. IEEE Trans. Vis. and Comp. Graphics, 13 (6): 1121–1128, 2007.
[23] C. E. Weaver, Building highly-coordinated visualizations in Improvise. In Proc. IEEE InfoVis, pages 159–166, 2004.
[24] H. Wickham, ggplot2: Elegant Graphics for Data Analysis. Springer, 2009.
[25] L. Wilkinson, The Grammar of Graphics (Statistics and Computing). Springer-Verlag, Secaucus, NJ, 2005.
6 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool