Time:
MWF
Location:
126 Harvey R. Bright Bldg
Instructor: |
Teaching
Assistant: |
||
|
Riccardo Bettati |
|
|
|
e-mail: bettati@cs.tamu.edu |
|
e-mail: s0c6496@cs.tamu.edu |
|
Office hours: MW |
|
Office hours: TBA |
News
Course Overview
The advent of integrated services over many forms of networks (Voice-over-IP, sensor networks, multimedia wireless services, etc...) and many forms of multimedia computing, together with the increased use of commercial off-the-shelf technology in embedded systems have raised the general awareness for real-time issues. From being traditionally confined to areas of embedded and/or control systems, where timing constraints have played an important role for a long time, real-time issues now find more and more the interest of the computing community at large. In accordance to these developments, we see real-time facilities increasingly becoming part of general-purpose computing equipment.
This course is designed to provide the student with the theoretical foundations for the design and synthesis of real-time systems and applications; it also presents criteria used to evaluate and validate such systems.
Reading material will expose the student to a small fraction of the classical literature in this area and to recent developments, the latter mostly in the communication area. This course is introductory in nature, and will not have a strong research component to it.
Prerequisites
I will assume that you have a solid background in operating systems, algorithms (if NP completeness is a new concept to you, please stay away from this course; I mean it), networks, and basic queueing theory. Please be aware that the material in this course is very dense, and you won't be able to find much time to develop the required skills on the side.
Material Covered in this Course
Real-time computing means computing so that things get done in time. We will therefore devote much time to how to get things done in time (scheduling) and how to validate that things will be done in time (schedulability analysis). We will then study how operating systems must be designed to support real-time computing, and how some of them are not. Finally, we will devote some time on real-time communication, and how to get it to work in terms of scheduling, architectures, and protocols.
In the second portion of this course, we will study - in quite some detail - deterministic queueing theory. The particular flavor covered in this class will be Network Calculus, which will give you a rather general framework to analyze network elements and their deterministic services in internetworks. Be aware that this part of the course will be quite theoretical.
First Part (Real-Time Systems)
Second Part (Network Calculus)
Required Reading
The material covered in the first part of the course follows very closely
the textbook Real-Time
Systems by Jane W.S. Liu at
The second portion of the course will follow the tutorial: Network Calculus: A Theory of Deterministic Queuing Systems for the Internet by J.-Y. LeBoudec and Patrick Thiran. This book appeared as Springer Verlag Lecture Notes in Computer Science (No. 2050), but is available in PDF form on the web as well, at this location.
Homeworks
We will have a non-trivial number of homeworks, which will give you the opportunity to play around with the material covered in class.
Exams
We will have two tests, one for each part of the course. These tests will be rather short, in-class, open-book. The midterm exam will tentatively be held on October 18. A second exam will tentatively be held on December 9th.
Projects
An important part of this class will be a term project. In a few weeks I will be distributing a list of smaller research problems. In addition, I will make available a Request for Solutions. Students can then choose to either attempt to solve a research problem or participate in a competition to provide the best solution in response the the RFS.
Assessment Method
Ideally, grades will be assigned along the following lines:
Last
modified: 9/2/2002 10:45AM