COSC 6384 Real-Time Systems / COSC 4331 Real-Time Systems and Embedded Programming (M W 2:30pm - 3:45pm, synchronous on-line via MS Teams, live lectures also recorded) - Spring 2021

Dr. Albert M. K. Cheng
Office: PGH 534 (Spring 2021 at MS Teams)
Office hours: M W 4:00pm-5:00pm and by appointment (please send email)

Required textbook:
Real-Time Systems: Scheduling, Analysis, and Verification by Prof. Albert M. K. Cheng (Publisher: John Wiley & Sons).

Computers are increasingly employed to monitor and control physical processes and systems. 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, autonomous vehicles, Space Station control software, high-performance network and telephone switching systems, medical monitoring instruments, multimedia tools, virtual reality systems, robotic controllers, and emerging Internet-of-Things (IoT) and Cyber-Physical Systems (CPS).

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 RTOSs (such as VxWorks) are introduced. Workbench/Tornado development tools are used in projects. 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. The course also serves as a forum for discussing state-of-the-art research topics in real-time systems design.

Alumni of this course have joined prestigious academic and governmental institutions as well as leading companies such as NASA, Harvard U., Yale U., NYU, Duke U., Rice U., Virginia Tech, U. of Ljubljana, UH, UH-Clear Lake, Texas A&M, NC State, Intel, HP, Microsoft, Amazon, Facebook, Oracle, Nokia Bell Labs (formerly AT&T Bell Labs), Samsung, Uber, Cisco, Halliburton, BMC Software, Aspen Technology, GE, Johnson Controls, VMWare, Emerson, Roku, Shell,, J.P. Morgan Chase, and more.

Course outline:
Introduction to real-time and embedded systems, Internet-of-Things (IoT) and Cyber-Physical Systems (CPS).
System decomposition and scheduling techniques
In-depth study of Rate-Monotonic Scheduler (RMS), EDF, LLF, and other schedulers
Programming language and operating systems support
Wind River VxWorks RTOS and Workbench/Tornado Development Tools
Formal specification, analysis, and verification techniques
Embedded programming techniques
Real-time rule-based expert systems
Fault detection, fault recovery, and reliability issues
Time-critical distributed systems and communication networks

Recommended prerequisite:
Operating Systems or equivalent

Course requirements and grading:
Several (typically 3) homework assignments (25%), one open-book exam on 3/31/2021 (no final exam) (35%), one project report (25%), and one project presentation (15%).