Umut Acar
Toyota Technological Institute and the
University of Chicago
Self-Adjusting
Computation in C
Abstract:
Self-adjusting
computation is a technique that was born from my doctoral-thesis
research here at CMU. It is motivated by a myriad of examples in
a broad set of application domains including programming languages,
robotics, scientific computing, computational biology, etc. The
goal is to offer linguistic paradigms, techniques, and tools for
developing safe and efficient software systems that can automatically
respond to modifications to their data, state, or environment (due to a
number of reasons, e.g., user interactions, changes in the physical
world). To achieve this goal, we develop techniques that combine
ideas from type-systems, programming-languages, algorithms, and system
design in innovative ways.
In our work thus
far, we have primarily used high-level, type-safe, mostly functional
languages, e.g., SML, to host self-adjusting-computation languages and
systems. We recently started experimenting
with ideas for supporting self-adjusting computation efficiently in the
context of the ultimate low-level language: C. In this talk, I
will give a brief overview of self-adjusting computation and describe
our experience in developing the CEAL (read "seal") language: A C-based
language for self-adjusting computation.
Friday, February
6, 2009
3:30 p.m.
Wean
Hall 8220
Principles
of Programming Seminars