RAP and PLT Seminars

Course #:  COMP 617 (Monday and Wednesday) and 610 (Friday)
Instructor:  Walid Taha (DH 3103)
Class time:  MWF 11:00AM – 11:50AM
Class room: DH 3110
Mailing list: Rap-Seminar (effective Spring 05)

 
   

Introduction

While high-level programming languages can be very helpful for general-purpose programming, they can be unsuitable for programming systems that interact directly with the physical world. Such systems include real-time and embedded systems. This seminar explores the design space for high-level languages that can support the more specialized task of resource-aware programming (RAP) in the context of a physical environment, and embedded system, or in a hostile environment.

Lectures

#

Date

Day

Paper

Presentor

Reading group Paper

1 8/23 M organizational meeting    
2 8/25 W organizational meeting    
3 8/27 F     Types for safe locking
4 8/30 M RAP Languages Intro Walid  
5 9/1 W RAP Languages Intro Walid  
6 9/3 F     Types for safe locking
  9/6 M labor day - no classes    
7 9/8 W Advanced Language Techniques for Device Drivers (NI Work) Roumen  
8 9/10 F     Types for safe locking
9 9/13 M Advanced Languages Techniques for Device Drivers Kedar  
10 9/15 W Advanced Language Techniques for Device Driver Kedar  
11 9/17 F     Types for safe locking
12 9/20 M Advanced Language Techniques for Device Drivers Kedar  
13 9/22 W     The Essence of Functional Programming
14 9/24 F Generating Verified Combinatorial Circuits Walid  
15 9/27 M      
16 9/29 W      
17 10/1 F      
18 10/4 M Advanced Language Techniques for Device Drivers (NI work) Roumen  
19 10/6 W Scrape Your Boilerplate: A Practical Design Pattern for Generic Programming Anthony  
20 10/8 F   Walid Static Type Inference for Specialization in a Telescoping Compiler
21 10/11 M midterm recess - no classes    
22 10/13 W     Walid  Static Type Inference for Specialization in a Telescoping Compiler
23 10/15 F     Types for safe locking
24 10/18 M Resource Usage Analysis Seth  
25 10/20 W Dynamic Code Generation with Type-Safe Parameter Passing in C++ Dr. Olev Beckmann  
26 10/22 F     Types for safe locking
27 10/25 M      
28 10/27 W      
29 10/29 F      
30 11/1 M
Reading Group @ 11
Scala@10
Moez Types for safe locking
31 11/3 W
Real-Time Specification for Java@10

Reading group @ 11AM
Michael @ 10
 
32 11/5 F Resource Bound Certification
Reading Group @ 10AM
Seth @ 11AM
 
33 11/8 M Types for Atomicity Anthony  
34 11/10 W Types for Atomicity @ 10AM
Hume: a domain-specific language for real-time embedded systems
Anthony @ 10 AM
Kevin Hammond @ 11 AM
 
35 11/12 F Scala
Hume: a domain-specific language for real-time embedded systems
Moez @ 10AM
Kevin Hammond @ 11AM
 
36 11/15 M Types for Atomicity Anthony  
37 11/17 W Time Regions and Effects for Resource Usage Analysis Seth  
38 11/19 F Type Assignment
Program Transformations for Re-Engineering C++ Components
Moez @ 10AM
Dr. Ira Baxter @ 11AM
 
39 11/22 M Real-Time Specification for Java @ 10AM
Type-Safe Multithreading in Cyclone @ 11AM
Michael @ 10
Anthony @ 11AM
 
40 11/24 W Staged Notational Definitions @ 10AM
Real-Time Specification for Java @ 11AM
Moez @ 10A
Michael @ 11AM
 
41 11/26 F Thanksgiving recess - no classes    
42 11/29 M      
43 12/1 W      
44 12/3 F      
           

Resources

Real-Time Systems and Programming Languages

Paper Wishlist

Ital

Resource-bound certification

The Logical Approach to Stack Typing

Functional In-place Update with Layered Datatype Sharing

Monads & Arrows

Type structure for low-level languages

Zinc

From system F to typed assembly langauge

Real-time garbage collection (Appel)

Scala

Tridirectional Typechecking

An Effective Theory of Type Refinements

Type Assignment for Intersections and Unions in Call-by-Value Language

Functional Programming for Real Applications (Invited Paper). ES'01.

A Gentle Introduction to Multi-stage Programming. DSPG'04.

DSL Implementation in MetaOCaml, Template Haskell, and C++. DSPG'04.

A Methodology for Generating Verified Combinatorial Circuits. EMSOFT'04.

Generating Heap-Bounded Programs in a Functional Setting. EMSOFT'03.

Implementing Multi-stage Languages using ASTs, gensym, and reflection. GPCE'03.

Environment Classifiers. POPL'03.

ML-like Inference for Classifiers. ESOP'04.

Tagless Staged Interpreters for Typed Languages. ICFP'02.

Event-driven FRP. PADL'02.

Real-Time FRP. ICFP'01.

Macros as Multi-Stage Computations. ICFP'01.

Staged Notational Definitions. GPCE'2003.

Sound Reductions for Untyped CBN MetaML. PEPM'00

LLVA: A low-level virtual instruction set architecture

A Statically allocated parallel functional language

Eliminating stack overflow by abstract interpretation

Related Seminars

Software Performance Optimization Reading Group - Imperial College

Programming Languages Reading Group - Macquarie University

Programming Languages Seminar - Johns Hopkins University

Literature on Programming Languages - Aaron Keen, CS Dept, California Polytechnic State University

Programming Languages Reading Group - University of Colorado at Boulder

PROLANGS Reading Group - Rutgers - State U. of New Jersey

The Programming Languages Reading Group - University of Wisconsin, Madison

Programming Languages Reading Group - National University of Singapore

Program Analisys Reading Group - MIT

SPL Reading Group - University of British Columbia

 

Accomodations for Students with Special Needs

Students with disabilities are encouraged to contact me during the first two weeks of class regarding any special needs. Students with disabilities should also contact Disabled Student Services in the Ley Student Center and the Rice Disability Support Services.