Resource Aware Programming

Course #:  COMP 517
Instructor:  Walid Taha (DH 3103) and Dan Wallach (3004)
Class time:  MWF 11:00AM – 11:50AM (Office Hours:  M 2:00PM – 2:50PM)
Class room: TBA

 

 

 

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.

This course is a graduate seminar, and will focus primarily on covering research papers.  The papers will be determined by consensus based on the organizational meeting in the first class.  Participants in the class will be responsible for reading and presenting most of the papers covered.  The instructors will participate actively in discussions, and the same is expected from all participants taking class.  Participants taking the class for credit are expected to pick three papers that they determined to be the most relevant to their topic of interest, and use them to write a summary on the topic (term project).  Students taking the class for credit are also expected to write a one-page summary of each paper covered.

Students are encouraged to discuss the material covered in class in homeworks on the news group rice.owlnews.comp617.

Suggested Papers

1.        Taha, Hudak, Wan.  Functional Programming for Real Applications. ES'01. dvi, ps, pdf.

2.        Wan, Taha, Hudak.  Event-driven FRP. PADL'02. dvi, ps, pdf.

3.        Wan, Taha, Hudak.  Real-Time FRP. ICFP'01. dvi, ps, pdf.

4.        Frank Dabek, Nickolai Zeldovich, Frans Kaashoek, David Mazi`eres, Robert Morris, Event-driven Programming for Robust Software, [PDF].

5.        Vivek S. Pai, Peter Druschel, Willy Zwaenepoel, Flash: An efficient and portable Web server, [PDF].

6.        Mycroft, A. and Sharp, R.W. The FLaSH Project: Resource-aware Synthesis of Declarative Specifications. [as PDF].  Proceedings of the International Workshop on Logic Synthesis 2000.

7.        Mycroft, A. and Sharp, R.W. A Statically Allocated Parallel Functional Language. [as PDF].
Lecture Notes in Computer Science: Proc.\ 27th ICALP, vol.~1853, Springer-Verlag, 2000.

8.        Sharp, R.W. and Mycroft, A. A Higher-Level Language for Hardware Synthesis. [as PDF].
Lecture Notes in Computer Science: Proc.\ CHARME'01, vol.~2144, Springer-Verlag, 2001.

9.        Mycroft, A. and Sharp, R.W. Hardware/Software Co-Design using a Functional Language. [as PDF].  Lecture Notes in Computer Science: Proc.\ TACAS~2001---Tools and Algorithms for the Construction and Analysis of Systems. vol.~2031, Springer-Verlag, 2001. Slides. Preliminary version appeared as Computer Laboratory Technical Report 503, 2000.

10.  L. Réveillère and G. Muller, Improving Driver Robustness: an Evaluation of the Devil Approach, In DSN-2001, pages 131-140, Göteborg (Sweden), July 2001.

11.  Devil: An IDL for Hardware programming
F. Mérillon, L. Réveillère, C. Consel, R. Marlet, and G. Muller
In OSDI 2000 , pages 17-30, San Diego, October 2000. [ Slides ]

12.  A DSL Approach to Improve Productivity and Safety in Device Drivers Developmen
L. Réveillère, F. Mérillon, C. Consel, R. Marlet, and G. Muller
In ASE 2000, Grenoble, September 2000.[ Slides ]

13.  Towards Robust OSes for Appliances: A New Approach Based on Domain-Specific Languages
G. Muller, C. Consel, R. Marlet, L.P. Barreto, F. Mérillon, and L. Réveillère
In ACM SIGOPS European Workshop 2000 ( EW2000 ), pages 249-249, Rennes, Juin 1999. [ Slides ]

14.  A Typed Interrupt Calculus, with Di Ma. In FTRTFT'02, 7th International Symposium on Formal Techniques in Real-Time and Fault Tolerant Systems, pages 291--310. Springer-Verlag (LNCS 2469), Oldenburg, Germany, September 2002. Slides.

15.  Cormac Flanagan, Martín Abadi, Types for Safe Locking, [PDF].

16.  David Walker, Karl Crary, and Greg Morrisett, Typed Memory Management via Static Capabilities. ACM TOPLAS, July 2000.
(abstract, ps, pdf)

17.  Karl Crary and Stephanie Weirich, Resource Bound Certification. 2000 Symposium on Principles of Programming Languages.
(abstract, ps.gz, dvi)

18.  Karl Crary and Greg Morrisett, Type Structure for Low-Level Programming Languages. 1999 International Colloquium on Automata, Languages, and Programming.
(abstract, ps.gz, dvi)

19.  Greg Morrisett, David Walker, Karl Crary, and Neal Glew, From System F to Typed Assembly Language. ACM TOPLAS, May 1999.
(abstract, ps)

20.  …and more papers can be found here.

Lectures

#

Date

Day

Topic

1

1/13

M

Organizational Meeting.

 

1/15

W

 

 

1/17

F

 

2

1/22

W

 

3

1/24

F

 

4

1/27

M

 

5

1/29

W

 

6

1/31

F

 

7

2/3

M

 

8

2/5

W

 

9

2/7

F

 

10

2/10

M

 

11

2/12

W

 

12

2/14

F

 

13

2/17

M

 

14

2/19

W

 

15

2/21

F

 

16

2/24

M

 

17

2/26

W

 

18

2/28

F

 

19

3/3

M

 

20

3/5

W

 

21

3/7

F

 

22

3/17

M

 

23

3/19

W

 

24

3/21

F

 

25

3/24

M

 

26

3/26

W

 

27

3/28

F

 

28

3/31

M

 

29

4/2

W

 

30

4/4

F

 

31

4/7

M

 

32

4/9

W

 

33

4/11

F

 

34

4/14

M

 

35

4/16

W

 

36

4/18

F

 

37

4/21

M

 

38

4/23

W

 

39

4/25

F

 

 

Additional References

1.        TBA

Class Projects

·            TBA

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.