17-811 Self-Healing Systems: Course Information
David Garlan
Spring Semester 2003, 2nd Half
Class Meetings
Monday and Wednesday, 1:30pm - 2:50pm
Baker Hall 154 A
First class: March 10, 2003
Instructor
David Garlan
garlan@cs.cmu.edu
WeH 8115 (x8-5056)
Secretary
Margaret Weigand
weigand@cs.cmu.edu
WeH 8120 (x8-2568)
Description
An increasingly important requirement for software-based systems is the
ability to adapt themselves at run time to handle such things as resource
variability, changing user needs, and system faults. In this graduate seminar
we will examine past and current research into self-adaptation in software
systems, including robotics planning, control systems, programming language
design for adaptation, software architecture, fault-tolerant computing,
and machine learning.
Organization
-
Content. The course will be organized around topics related to self-healing
systems. The primary purpose of the course is to become familar with these
topics through selected papers, and to understand (a) their relationship
to eachother, and (b) their implications for software engineering. Each
student will be responsible for covering one of those topics, preparing
a short report on the selected topic, and leading
a class discussion on it.
-
Credit. 6 Units
-
Web site. www.cs.cmu.edu/~garlan/17811/
-
Text and Readings. There is no course text. Instead, students will
read a number of papers on the topic of self-healing systems, and prepare
short written summaries of the readings.
-
Grading. Each student will be graded on the following:
-
Class participation: A key component of the course will be a discussion
of representative papers selected for subtopics of self-healing systems.
Students will be expected to have read the required papers before class,
and come prepared to discuss them.
-
Reading summaries: To help prepare for class discussion, each student
will be expected to prepare a short written summary of each assigned reading.
Summaries are due before class, and will be graded on a check/minus basis.
-
Class presentation: Each student will lead a discussion of one of
the course subtopics. The discussion will normally include a short presentation
that covers the material assigned for reading in the topic, plus other
relevant papers in the area. The goal of the presentation is to deepen
-
Course project: Each student will turn in a project report, which
describes a subtopic of the course. Details on the
project.
-
There will be no final examination for the course.
Sample Topics
-
Foundations
-
User Interfaces
-
Model-based Approaches
-
Mobility, Ubiquitous Computing, OS Support
-
Alternative Models of Computation
-
Algorithms and Code
-
Networks, Distributed Systems, and Middleware
-
Fault Tolerance and Dependability
-
Formal Models
Topic Classification Scheme
For more details.
Syllabus
Course topics, lecture slides, hints,
and reading assignments.
Resources
Evolving list of papers and other resources.