COSC 4397 Introduction to Real-Time Systems and Embedded Programming - Fall 2003
Dr. Albert M. K. Cheng
534-PGH Fall Office hours: TTh 3:00-4:00pm and by appointment
Required textbook:
Real-Time Systems: Scheduling, Analysis, and Verification
by Prof. Albert M. K. Cheng (Publisher: John Wiley & Sons)
ISBN # 0471-184063.
Real-Time Systems: Scheduling, Analysis, and Verification
TA: Zhu Zhen, Office hours in 520-PGH: T 2:30-4p, W 3-4p
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 requirements.
Examples of these embedded systems include the new generation of airplane
avionics, the planned 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 2002, 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 (such as Rapid RMA, PerfoRMAx,
and TimeWiz) and OSs (such as VxWorks) are introduced.
Programming in real-time/rule-based languages such as Ada, EQL, MRL,
and OPS5 is 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
Real-time rule-based expert systems
Fault detection, fault recovery, and reliability issues
Time-critical distributed systems and communication networks
Recommended prerequisite:
Computer organization
Course requirements and grading:
several homework (typically two short programs and two written)
assignments (40%), two exams (1 at midterm, 1 on last day of class, no final exam!) (60%)
optional project of your choice to substitute for a homework or bonus.