Rice Computer Science: <title>Rice Computer Science-Colloquia
[RiceCS]
DEPARTMENT
RESEARCHACADEMICS
PEOPLENEWS
[Rice]
Rice Computer Science
  SEARCH:
  
Rice University
Department of Computer Science
presents

Walid Taha
Yale University

Toward Better Language Support for Resource-Aware Programming (RAP)

Abstract

As embedded systems play an increasingly important role in our daily life, demand for technologies that can help enhance the reliability of such systems will continue to grow. This talk examines why traditional high-level programming languages can be inappropriate for such applications, and introduces the idea of resource-aware programming (RAP) languages. The key feature of these languages is that they have a clear underlying cost model, and that the programmer has finer control over various interesting notions of resources. We review two very different examples of RAP languages: Multi-stage languages (such as MetaML and MetaOCaml), and resource-bounded functional reactive programming (FRP) languages (such as RT-FRP and E-FRP).

In addition to having the usual constructs of a general-purpose language, multi-stage languages have constructs that allow fine control over evaluation order. These constructs allow us to break down a computation and allow us to execute various stages on various platforms. In addition, these constructs can be also viewed as internalizing the notions of runtime program generation and execution. This means they also provide the programmer with the essence of partial evaluation and program specialization techniques, both of which have been shown to lead to dramatic resource-utilization gains in a wide range of applications, starting from implementations of domain-specific compilers, to high-performance operating systems. Multi-stage languages make it possible to write generic and highly-parameterized programs that do not pay unnecessary runtime overheads.

More recently, Taha has been involved in the development of two resource bounded languages called RT-FRP and E-FRP. While these languages cannot be used to achieve the same performance gains as multi-stage languages, they provide another important example of resource awareness: All programs written in these languages use finite resources. These languages have been given formal semantics, are compiled to generate C code for an embedded system, and have been used to program small robots developed at Yale University.

Thursday, April 11, 2002 at 4:00 p.m. Duncan Hall 1064
Reception at 3:30 p.m. in Duncan Hall 3092

About Walid Taha

Walid Taha received his Bachelors degree from Kuwait University in 1992. He received his Doctoral degree from the Oregon Graduate Institute in 1999. After a one year post-doctoral post at Chalmers University (Sweden), he accepted a research faculty position at Yale University (November 2000), and has been there since then. Walid is currently the principal investigator on an NSF ITR grant entitled "Putting Multi-stage Annotations to Work", and is the General Chair of the First International ACM SIGPLAN/SIGSOFT Conference on Generators and Components (GCSE/SAIG'02). Dr. Taha is a faculty candidate

--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---