COSC 4397 Introduction to Real-Time Systems and Embedded Programming (200-PGH) - Spring 2005
Dr. Albert M. K. Cheng
534-PGH Spring Office hours: TTh 3:00-4:00pm and by appointment
Synopsis:
Computers are increasingly used to monitor and control physical processes
.
These real-time embedded systems must satisfy stringent timing and
reliability constraints in addition to functional correctness requirement
s.
Examples of these embedded systems include the new generation of airplane
avionics, the Space Station control software, high-performance
network and telephone switching systems, medical monitoring instruments,
multimedia tools, virtual reality systems, robotic controllers,
PDAs (running Pocket PC, Palm OS, and Linux Embedix OS),
and wireless phones.
This course introduces a formal framework and powerful techniques for
the design and development of this class of systems.
These theoretical
foundations are followed by hands-on practice in employing these advanced
techniques to build, analyze, and verify different modules of actual
real-time systems. Scheduling tools
and OSs (such as VxWorks) are introduced.
Hands-on projects in C/C++
are performed in the lab's Tornado/VxWorks
environment with multi-platform timing analyzer.
Programming in real-time/rule-based languages such as Ada, EQL, MRL,
and OPS5 is also described.
Specification and verification tools such as Statechart, Modechart,
and Estella are used to help design experimental real-time systems.
Embedded programming techniques are studied.
Course outline:
Introduction to real-time systems;
System decomposition and scheduling techniques;
Programming language and operating systems support;
Formal specification, analysis, and verification techniques;
Embedded programming techniques;
Sensor Input/Actuator Output;
Power-aware computing (dynamic voltage/frequency scaling,
shutdown techniques);
Real-time rule-based expert systems;
Fault detection, fault recovery, and reliability issues;
Time-critical distributed systems and communication networks.
Reading materials:
Required textbook:
Real-Time Systems: Scheduling, Analysis, and Verification
(John Wiley and Sons)
by Prof. Albert M. K. Cheng.
VxWorks and Tornado user's guides are available
at the lab's PCs.
Tutorials are available on-line.
Recommended prerequisite:
Computer organization
Course requirements and grading:
Homeworks (40%, typically
two short programs and two written
assignments), two exams (60%, 1 at midterm,
1 on last day of class, no final exam).