CS 395/495: Autonomic Computing Systems
Winter 2006

"Civilization advances by extending the number of important operations which we can perform without thinking about them." - A. N. Whitehead

[Communication | Projects | Schedule ]


Remember to check this regularly

Administrative Information


Fabián E. Bustamante
Technological Institute, L465
+1 847 491-2745
Office Hours: TBA

Course Description

This new course, organized as a CS 395/495 seminar/project, will focus on new ideas and developments that address one of the greatest challenges faced by the computing community: the design of large-scale systems whose operation requires no human intervention other than to add/replace hardware or to change the system's service contract. As systems become more interconnected and diverse, architects find it increasingly difficult to design interactions among components and anticipate their consequences - "The growing complexity of the I.T. infrastructure threatens to undermine the very benefits information technology aims to provide". The only option remaining is autonomic computing - computing systems that can manage themselves given high-level objectives from administrators.

Throughout the quarters you will read, present, and discuss papers on this topic, from autonomic middleware, to distributed systems, to monitoring and self-healing. You will get to explore some of these ideas as part of a quarter-long research project leading to a conference-style paper that will be presented at a mini-symposium and potentially extended into a conference publication.

Location and Time

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or ssd@northwestern.edu. SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Course Prerequisites

The purpose behind these prerequisites is to assure that you get the most out of the course. Nevertheless, if you do not meet some of these requirements, but feel you are prepared to take the course, please contact me.

Communication Channels

We will use the course web site to post homework assignments, projects, course-related announcements, etc. You should check this regularly.

Course Organization

The course is organized as a series of in-class presentations based on research papers (in charge of the students and instructor), a major quarter-long project, and a open-book, final exam covering the readings.


Research projects are a critical component of this course. Your goal is to design, construct and evaluate an interesting software system. The system should explore the issues, solve problems and exploit techniques from classroom discussions and readings. Projects must be written up in a term paper (due last day of classes) and teams will present their results at the end of the course in a systems class mini-conference. Projects ideas will be suggested by the instructor, but you are encouraged to come up with your own ideas.

This is the schedule of deliverables (this is mainly to ensure steady progress):


There will be one final, open-book exam covering the reading material. A sample exam will be available along with sample solutions.


General Advice:

  1. Roy Levin and David D. Redell, An evaluation of the ninth SOSP submissions -or- How (and how not) to write a good systems paper, ACM SIGOPS Operating Systems Review 17(3):35-40 (July, 1983)
  2. Alan Jay Smith, The Task of the Referee, IEEE Computer, 23 (4):65-71 (April 1990)
  3. George D. Gopen and Judith A. Swan,The Science of Scientific Writing,American Scientist (Nov-Dec 1990), 78: 550-558.
  4. B. Lampson, Hints for Computer System Design, ACM Symposium on Operating Systems Principles, Dec. 1983, pp 33-48.
  5. Richard P. Gabriel, "Worse is Better", an excerpt (section 2-2.1, pages 7-10) from LISP: good news, bad news, how to win BIG AI Expert, vol. 6, no. 6, June 1991, pp. 31-39.


Late policy:

Unless otherwise indicated, homework assignments and projects are due by midnight on their due date. If you hand in an assignment late, we will take off 10% for each day (or portion thereof) it is late. Projects cannot be handed in more than two days late.

Cheating vs. Collaboration:

Collaboration is a really good thing and we encourage it. On the other hand, cheating is considered a very serious offense. When in doubt, remember that it's OK to meet with colleagues, study exams together, and discuss assignments with them. However, what you turn in must be your own (or for group projects, your group's own) work. Copying code, solution sets, etc. from other people or any other sources is strictly prohibited.

Last modified: Thu Nov 6 13:29:32 CST 2008