|
Welcome to the Rice PLT project on Resource Aware Programming (RAP)Languages for embedded software |
|
|
|
|
This research group explores the impact of
state-of-the-art programming languages techniques such as multi-stage
programming in embedded systems. Multi-stage languages already provide
significant safety guarantees. For example, a program generator written in such
a language not only is type-safe in the traditional sense, but we are
guaranteed that any generated program will also be type safe. This provides a
noteworthy degree of assurance about the quality of the generated code. But
like most traditional high-level programming techniques, multi-stage
programming was designed to satisfy functional requirements rather than
operational ones, and existing multi-stage languages do not provide any
guarantees about the behavior of programs in the presence of bounded resources.
The challenge in this setting is ensuring that the generated programs are
suitable for execution on an embedded platform.
Our current focus is on ways to address this
problem by strengthening ``traditional'' multi-stage type systems using
(mainly) foundational techniques from type theory and functional reactive
programming (FRP) to create a paradigm of resource-aware multi-stage
programming. Linear and alias types (in conjunction with dependent typing) will
be used to ensure space-boundedness, new typing techniques are used to ensure
time-boundedness, and signals and behaviors from FRP allow for a natural style
of reactive programming.
o Functional Programming for Real Applications, Invited
Paper (ES’01)
o Event-driven FRP (PADL’02)
o Real-Time FRP (ICFP’01)
These papers are also available in dvi and ps formats.
|
MetaOCaml: A compiled, multi-stage OCaml |
o Postdoctoral Research Scientist
Supported by NSF ITR "A Framework for Rapid Development of Reliable Robotics Software"