Embedded/Real-Time Programming In Ada
This unique course focuses on the use of Ada in applications in which reliability and timeliness are of utmost importance. Unlike many "real-time" courses, which limit themselves to the tasking facilities for concurrent programming, this course takes a detailed, issue-driven exploration of the approaches, advantages, and problems in the use of Ada for real-time systems. The roles of the compilation system and runtime support system are examined with respect to responsibilities and options. These two systems, which address real-time application requirements through predictability and deterministic behavior, control resource management for both storage and processors. The course covers models for reliable storage management and two of the most popular strategies for dealing with processor management: the Cyclic Executive model and the Rate-Monotonic Analysis (RMA) model. The strengths and weaknesses of each of the models is considered in light of practical application issues, allowing students to apply them to domain-specific requirements. Throughout the course, the powerful new facilities of Ada for real-time applications will be examined, including the new user-defined storage management capabilities, RTSE tailoring and the Real-Time and Systems Programming Annexes, which provide direct, integrated support for the timing analysis models examined.
The ideal student will be fairly familiar with the Ada language, and will have experience in real-time systems development.
ObjectivesAfter the course the student will have learned how to: