UW-DCG Application Page

This is a very preliminary list (assembled by Joel) of the kind of applications that we hope will later showcase our system.

Potential applications

Interpreters
The dynamic constant is the interpreted program.
Emacs Lisp bytecode
Ghostscript
Smalltalk
8086 code interpreter
Numerical Code
Sparse Matrix
Dynamic constants: matrix structure, values
Simulators
Dinero
Dynamic constants: cache size, properties
Power Grid Simulator
Dynamic constants: grid structure
Computer Simulation
Dynamic constants: architecture, program, instrumentation
debugging
Dynamic constants: program, breakpoints
Incremental Computation
Write a general incremental routine to recompute a function based on an arbitrary set of changed input parameters. Use dynamic compilation to generate specialized incremental routines to recompute the function when a specific set of input parameters has changed.
Local Illumination in 3D Graphics
Do a better version of what Brian Guenter of Microsoft's local illumination application. This incrementally computes new solutions to the lighting model when a single parameter of the model changes. He currently generates, offline, incremental functions corresponding to each of the possible model parameters. We could do it on the fly.
Decompression
MPEG
Dynamic constants: screen size, dithering parameters
Table based
Dynamic constants: string table
Graphics Rendering
3D rendering
Dynamic constants
scene description (polygons, lighting, point of view)
number of sides per polygon
type of scene element: polygon, sphere, cubic
2D rendering (X-Windows, Ghostscript)
Dynamic constants:
window boundaries
block size
permissions
graphics context (color draw with, etc.)
SPIN
Specialized system calls
Inlining of spindles/event handlers
Removing unecessary checks
Don't bother with locks if no one else has access.
Standard benchmarks
SPEC
Method dispatch
Dynamic constants: method table, selector
printf()
Dynamic constants: format string
infinite precision math
Dynamic constant: how big the numbers really are
inspector/executor programming style
Dynamic constant: problem structure
Encryption/Decryption
Dynamic constant: key

Last updated July 18, 1996.
Brian Grant (grant@cs.washington.edu)