Title :
Declarative Language Design for Interactive Visualization
Author :
Heer, Jeffrey ; Bostock, Michael
Author_Institution :
Comput. Sci. Dept., Stanford Univ., Stanford, CA, USA
Abstract :
We investigate the design of declarative, domain-specific languages for constructing interactive visualizations. By separating specification from execution, declarative languages can simplify development, enable unobtrusive optimization, and support retargeting across platforms. We describe the design of the Protovis specification language and its implementation within an object-oriented, statically-typed programming language (Java). We demonstrate how to support rich visualizations without requiring a toolkit-specific data model and extend Protovis to enable declarative specification of animated transitions. To support cross-platform deployment, we introduce rendering and event-handling infrastructures decoupled from the runtime platform, letting designers retarget visualization specifications (e.g., from desktop to mobile phone) with reduced effort. We also explore optimizations such as runtime compilation of visualization specifications, parallelized execution, and hardware-accelerated rendering. We present benchmark studies measuring the performance gains provided by these optimizations and compare performance to existing Java-based visualization tools, demonstrating scalability improvements exceeding an order of magnitude.
Keywords :
Java; data visualisation; interactive programming; object-oriented programming; rendering (computer graphics); specification languages; Java; Protovis specification language; animated transition; declarative domain-specific language; declarative language design; event handling; hardware-accelerated rendering; interactive visualization; object-oriented language; parallelized execution; runtime compilation; statically-typed programming language; unobtrusive optimization; visualization specification; Animation; Data visualization; Indexes; Java; Optimization; Rendering (computer graphics); Visualization; declarative languages; domain specific languages; information visualization; optimization; toolkits; user interfaces;
Journal_Title :
Visualization and Computer Graphics, IEEE Transactions on
DOI :
10.1109/TVCG.2010.144