CS4220/6235 - Embedded Systems and Real-Time Systems

Spring 2005

Location: College of Computing Building 17
Time: MW 4:35-5:55

Instructor: Calton Pu (calton@cc.gatech.edu)
Office: 269 CCB Bldg.
Office hrs.: by appointment.

TA: Younggyun Koh (you can pronounce my first name simply as Young) (young@cc.gatech.edu)
Office: CCB 225F
Office hours: MW 3:30-4:30 CCB 260 or by appointment
Email: please include [CS4220/6235] in the title of your email to get immediate attention

Newsgroup: git.cc.class.cs6235



Course Description

CS4220 (Embedded Systems) and CS6235 (Real-Time Systems) are co-listed this term.  This course covers the principles of real-time and embedded systems inherent in many hardware platforms and applications being developed for engineering and science as well as for ubiquitous systems, including robotics and manufacturing, interactive and multimedia, immersive and omnipresent applications. As part of this course, students will learn about real-time and quality of service system principles, understand real-time operating systems and the resource management and quality of service issues that arise, and construct sample applications on representative platforms. Platforms range from handheld and mobile computers to media and real-time server systems. Platforms may also include specialized systems used in application-specific contexts, such as autonomous robotics, smart sensors, and others.


Homework


All students must submit written abstracts for at least 75% of the papers studied in class, before each paper's presentation. These abstracts must summarize the main points of the paper. Abstracts should not be simple cut and paste from the papers -- they should display some understanding of the material and criticism of the work (both pros and cons). Only one abstract is due for each class, and unless indicated, students may choose which paper to summarize. Each abstract will be graded by 0 (not submitted), 1 (average), and 2 (good).  Abstracts must be emailed to the TA by class time. The title of email should be a form of [CS4220/6235] (your last name) (the last name of the first author of the paper you have chosen) or similar (for example, "[CS4220] Koh Burns")

Grading Policy

Sample abstracts from another class
(use user_id cs4803 and password carmen)

Projects


Class projects will use the Unix Solaris and Linux operating systems, both of which offer some facilities for construction and control of real-time systems. Class members have access to selected real-time devices and ubiquitous systems, including smart sensors (skiff boards running Linux), possibly including Lego robots (if there is class interest), including handheld devices and portable PCs (Linux-based PCs and PalmOS/Linux-based handhelds and/or wearables), including camera and other video-based sensors on PCs running Windows or Linux, and they can have access to the commercially most prevalent real-time operating system kernel, called Vxworks, running on Pentium and Sparc machines.

Sample applications available to students include multimedia codes (video and audio), distributed games, sensor processing codes, image processing codes, location identification (if there is class interest) and possibly, distributed virtual environments (again, given class interest).



Course Outline

NOTES:

The paper links are hosted on an internal web server, so you may download them ONLY FROM ON-CAMPUS HOSTS with Georgia Tech domain(gatech.edu), excluding resnet and eastnet.  To download files from remote sites, you can ssh any CoC or gatech linux/Solaris machines and use wget.
Please send your commentaries in plain TXT format placing them in your email. Do NOT attach your commentaries especially in doc or pdf format. I appreciate your help.

Important Notice: Project documentation due on April 29th


Check your commentary gradings here

Weeks 1: Basic Concepts

Weeks 3 - 4: Sample Real-Time Applications, Environments, and Measurements

  1. "Some Computer Science Issues in Ubiquitous Computing." M. Weiser. Communications of the ACM. 1993.
  2. "The Challenges of Mobile Computing." G. Forman and J. Zahorjan. UW CSE. 1994.
  3. UG book track: Chapter 3 of Liu book.
Weeks 5 - 6: Real-Time Scheduling Algorithms
    1. "Design and Evaluation of a Feedback Control EDF Scheduling Algorithm." C. Lu, J. A. Stankovic, G. Tao, and S. H. Son. Proceedings of the 20th IEEE Real-Time Systems Symposium. 1999.
    1. "Real-Time Scheduling Theory and Ada." Lui Sha and J. B. Goodenough. IEEE Computer. 1990.
    2. "The Rate Monotonic Scheduling Algorithm - Exact Characterization and Average Case Behavior." J. Lehoczky, L. Sha, and Y. Ding. Proceedings of the Real-Time Systems Symposium. 1989.
    1. "Hard Real-Time Communication in Multiple-Access Networks." Malcolm and Zhao. Journal of Real-Time Systems. 1994.
    2. "Utilization-Based Admission Control for Scalable Real-Time Communications." B. K. Choi, D. Xuan, C. Li, R. Bettati, and W. Zhao. Journal of Real-Time Systems. 2000.
Weeks 7 - 8: QoS and Feedback-Based Scheduling
Weeks 9 - 10A: Industrial Embedded Software
Weeks 10B - 13A: Research Results

กก


Important Notice: Project documentation is due on April 29th


กก

Weeks 13B - 15: Project Final Presentations





Please send your commentaries in plain TXT format placing them in your email. Do NOT attach your commentaries especially in doc or pdf format. I appreciate your help.
Suggested Book for the optional UG book track:
Real-Time Systems
by Jane W. S. Liu.  The book is available from many online bookstores.


Student Project Presentations

Important Notice: Project documentation due on April 29th

Instructions:

Project documentation to be handed in machine-readable form (paper optional). Source code, documentation, help pages, test and demo code, scripts to build the system, run tests, and demos, links to appropriate documentation for the underlying platforms. Other documentation that complements the project description. For example, if you built a hardware gadget and you are not handing in the gadget, then you should have enough description of the gadget (photos, pictures, schematics, and documentation) so we can appreciate your work.

A copy of the project proposal, history of changes if appropriate, and the presentation slides.

Project documentation: a few pages of "evaluator guide" to navigate the above documentation. Typically it's a cleaned-up version of the presentation, with the same structure as described above.


Additional, Possible Class Topics:


Structuring and describing real-time software
Performance Evaluation Further issues in Real-Time Systems

Note:

This class is taught every year, by combining the 4220 and 6235 course numbers.  It is suitable for both CoC and non-CoC majors, in part because grades are based on project work, which is defined jointly by the instructor and students. The intent is to ensure some basic skills on the part of each student and also to match both student interests/background and course objectives.

Grading

Each student (or team) will present one course topic in class and also complete the class projects. Maximum team size is 3 students. In addition, as part of class homework, all students must submit written commentaries for at least 75% of the papers studied in class, before each paper's presentation. These commentaries should consists of three paragraphs (not too long, since quality is more important than quantity). The first paragraph should summarize the main ideas and the strong points of the paper.  The second paragraph should outline the limitations or weaknesses of the paper.  The third paragraph contains your own comments. Each commentary will be graded by 0 (not submitted), 1 (average), and 2 (good).
  1. 60% Project
  2. 20% Commentaries/Class Participation
  3. 20% Student Presentations

Useful Links:

Real-time Systems Reading List
Boston University: CS835 Reading List
Computer Science Research Paper Search Engine
Real-Time Resources
Ubiquitous Computing Links
Postscript(R) to PDF Converter