Course Description

CSC 460/560 (A01) - Summer 2009

Instructor: Dr. M. Cheng

Course Title: Design and Analysis of Real-Time Systems

What does the software designed for aircraft auto-pilot, automobile cruise control, medical diagnostic equipment, portable music/video players, etc., have in common? All must process inputs, data, and outputs in a timely manner. Many are interacting with multiple input/output devices simultaneously. Designing software for concurrent and time-sensitive systems is challenging. Implementing, testing, and analyzing systems where software and hardware are tightly integrated requires a thorough understanding of a different set of tools, techniques and methodologies.

Few programming languages can express timing and concurrency explicitly. Typical real time applications require the support of a real time operating system (RTOS). Other than scheduling issues, an RTOS must also address the predictability of timing and communication issues among software tasks and hardware devices.

This course covers the concepts and techniques of designing and implementing real time software, explains the structure and design of a real time operating systems, demonstrates with various hands-on experiments how a real time application is designed, developed, and instrumented using an RTOS. It should be of interests to students who are or will be working in embedded systems, mechatronics systems, wireless sensor networks, mobile robots, distributed control systems, network media servers, musical instrument or human computer interfaces, etc.