Generating efficient virtual worlds for visualization using partial evaluation and dynamic compilation
Clifford Beshers, Steven Feiner
Abstract
Clifford Beshers, Steven Feiner
Abstract
We argue that runtime program transformation, partial evaluation, and dynamic compilation are essential tools for automated generation of flexible, highly interactive graphical interfaces. In particular, these techniques help bridge the gap between a high-level, functional description and an efficient implementation. To support our claim, we describe our application of these techniques to a functional implementation of n -Vision, a real-time visualization system that represents multivariate relations as nested 3D interactors, and to Auto Visual , a rule-based system that designs n -Vision visualizations from high-level task specifications. n -Vision visualizations are specified using a simple functional language. These programs are transformed into a cached dataflow graph. A partial evaluator is used on particular computation-intensive function applications, and the results are compiled to native code. The functional representation simplifies generation of correct code, and the program transformations ensure good performance. We demonstrate why these transformations improve performance and why they cannot be done at compile time.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
We argue that runtime program transformation, partial evaluation, and dynamic compilation are essential tools for automated generation of flexible, highly interactive graphical interfaces. In particular, these techniques help bridge the gap between a high-level, functional description and an efficient implementation. To support our claim, we describe our application of these techniques to a functional implementation of n -Vision, a real-time visualization system that represents multivariate relations as nested 3D interactors, and to Auto Visual , a rule-based system that designs n -Vision visualizations from high-level task specifications. n -Vision visualizations are specified using a simple functional language. These programs are transformed into a cached dataflow graph. A partial evaluator is used on particular computation-intensive function applications, and the results are compiled to native code. The functional representation simplifies generation of correct code, and the program transformations ensure good performance. We demonstrate why these transformations improve performance and why they cannot be done at compile time.
Key concepts: Computer science, Partial evaluation, Dataflow, Visualization, Programming language, Compiler, Functional programming, Program transformation