Duke, D.J., Borgo, R., Runciman, C. and Wallace, M. (2009) Huge data but small programs: visualization design via multiple embedded DSLs. In: Practical Aspects of Declarative Languages : 11th International Symposium, PADL 2009, Savannah, GA, USA, January 19-20, 2009, Proceedings. Lecture Notes in Computer Science (5418). Springer , pp. 31-45. ISBN 978-3-540-92994-9Full text available as:
Available under License : See the attached licence file.
Although applications of functional programming are diverse, most examples deal with modest amounts of data -- no more than a few megabytes. This paper describes how Haskell has been used to address a challenging visualization problem, involving 200 time steps from an astrophysics simulation of early star formation. Each individual step involves nearly 40 million samples, and uncompressed the complete dataset is nearly a terabyte.
Our solution makes novel and extensive use of domain specific languages to specify data resources, rendering abstractions, and most significantly, the desired visualization. The result is a powerful framework for multi-field visualization, including the use of animation to explore the evolution of data over time. This approach represents a significant departure from standard practices in visualization, and has applications well beyond the original problem. That our solution consists of less than 4.5K lines of code is itself a notable result. This paper motivates and describes the overall architecture of our solution, and technical features of the DSLs that are used in place of the traditional visualization pipeline. We conclude with thoughts on how functional technologies may find even broader use within other branches of visualization.
|Item Type:||Book Section|
|Copyright, Publisher and Additional Information:||© 2009 Springer. This is an author produced version of a paper published in 'Lecture Notes in Computer Science'. Uploaded in accordance with the publisher's self-archiving policy.|
|Academic Units:||The University of Leeds > Faculty of Engineering (Leeds) > School of Computing (Leeds)
The University of York > Computer Science (York)
|Depositing User:||Mrs Irene Rudling|
|Date Deposited:||22 Dec 2008 09:52|
|Last Modified:||08 Feb 2013 17:05|
Actions (login required)