TA: David Buttler ( buttler@cc )
Office: CCB commons area
Office hours: by appointment
Course Description
CS6235 (Real-Time Systems) 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). Abstracts must be emailed to the TA (buttler@cc) with the subject "CS6235 --
summary".
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).
(1/9) (Christian Poellabauer)
A. Burns, A. Wellings, "Real-Time Systems and Their Programming
Languages", Chapter 1: Introduction to Real-time Systems, (handout)
(1/9) P. Laplante, "Real-Time Systems Design and Analysis: An
Engineer's Handbook", Chapter 1: Basic Real-time Concepts, IEEE Press,
(handout) (PPT slides, PDF slides)
(1/14) J. Stankovic, "Misconceptions
about Real-Time Computing", IEEE Computer, Oct. 1988 (handout)
(1/14) J. Stankovic, K. Ramamritham, "What is Predictability for
Real-Time Systems?", IEEE Press, 1990. Abstract required.
(1/30) Albrecht Schmidt, Kofi Asante Aidoo, Antti Takaluoma, Urpo
Tuomela, Kristof Van Laerhoven, Walter Van de Velde, "Advanced
Interaction in Context", University of Karlsruhe, Germany
(2/6) (Raj Krishnamurthy) "Introduction to Real-Time Computing", textbook excerpt on
benchmarks
(2/6) Rabindra P. Kar, "Implementing Rhealstone Real-Time
Benchmark", Dr. Dobb's Journal, April 1990
(2/6) Nelson H. Weiderman, Nick I. Kamenoff, "Hartstone
Uniprocessor Benchmark: Definition and Experiments for Real-Time
Systems.", the Journal of Real-Time Systems, 1992
(2/18) K. Schwan, H. Zhou, and A. Gheith, "
Real-time Threads", ACM Operating Systems Review, vol. 25, pp.
35-46, Oct. 1991. (note: pages are in reverse order)
(2/18) S. Oikawa and H. Tokuda, "
User-level Real-Time Threads", Proceedings of the 11th IEEE Workshop
on Real-Time Operating Systems and Software, Seattle, WA, May 1994.
Comparative abstract for #2 and #3 required.
(2/25) David C. Steere, Ashvin Goel, Joshua Gruenberg, Dylan
McNamee, Calton Pu, and Jonathan Walpole, "
A Feedback-Driven Proportion Allocator for Real-Rate Scheduling",
Operating System Design and Implementation (OSDI), February, 1999.
Abstract required.
(3/18) (Lenin) Vanegas R, Zinky JA, Loyall JP, Karr DA, Schantz RE,
Bakken DE. "
QuO's Runtime Support for Quality of Service in Distributed Objects",
Proceedings of the IFIP International Conference on Distributed Systems
Platforms and Open Distributed Processing (Middleware'98), 15-18
September 1998.
(Presentation Slides)
(Abstract required for one of the two papers)
(3/20)
Richard E. Schantz, Joseph P. Loyall, Douglas C. Schmidt, Craig Rodrigues, Yamuna Krishnamurthy, and Irfan Pyarali.
"
Flexible and Adaptive QoS Control for Distributed Real-time and Embedded Middleware",
Middleware 2003, 4th IFIP/ACM/USENIX International Conference on Distributed Systems Platforms, June 16-20, 2003, Rio de Janeiro, Brazil.
(Local copy)
(Abstract required for one of the two papers)
(4/1)
Tarek F. Abdelzaher and Kang G. Shin, "
End-host Architecture for QoS-Adaptive Communication", IEEE
Real-Time Technology and Applications Symposium, Denver, Colorado, June
1998
(Abstract required for one of the two papers)
(4/10) Baochun Li and Klara Nahrstedt, "
A Control-based Middleware Framework for Quality of Service Adaptations",
IEEE Journal of Selected Areas in Communication, Special Issue on
Service Enabling Platforms, 1999, Vol. 17, No. 9, September 1999.
(Abstract required for one of the two papers)
Specification and statement of timing constraints.
Verification of timing correctness.
Compiler techniques, including compiling for embedded
systems.
Imprecise computation
Object-oriented real-time applications and design tools
Performance Evaluation
Modeling
Measurement and Monitoring
Optimization
Further issues in Real-Time Systems
Real-time database
Reliability
High availability
Multi-version
Replication
Fault tolerance
Graceful degradation
Note:
This class is taught only once every two years due to CoC resource
constraints. It is suitable for both CoC and non-CoC majors, in part
because grades are based on project work, where one smaller project is
predefined and the main course project 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
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.