Skip to Main Content
A real-time programming course is described that provides both an understanding of real-time applications and a basis for designing systems using modern system concepts. Design is based on concurrent interacting tasks and modules sharing common resources. Specification of the real-time system is based on real-time software engineering concepts. Emphasis is on detailed testing and verification of the resulting concurrent programs. Programming is done on personal computers using a real-time operating system. Testing and verification are aided by an event-tracing facility. It is concluded that the teaching of real-time programming can be greatly facilitated by the use of realistic examples and assignments, a simple method for specifying the overall design for classwide evaluation, and the provision of a support environment that permits debugging and verification of the student's design.