Abstract

This tutorial assumes basic knowledge or experience with the Ada programming language. Basic understanding of tasking and real-time constraints -- at the level of tutorial MA1 -- would be helpful. We assume that attendees have a minimal background on real time operating systems, Ada tasking and critical real time applications/systems; however, a (very) short presentation of such topics will be included in the tutorial.This tutorial deals with real time scheduling theory and its use with Ada. Real time scheduling theory was firstly proposed in 1974, but stays mostly unused by many software designers.Too many practitioners have no background on real time scheduling. This tutorial should help them to understand the basis of such a theory and to apply it with Ada technologies. This tutorial is expected to help Ada engineers to predict the performances of their critical Ada real time applications.This tutorial will be organized in three parts: 1. First, we define what a real time system is and then, the theoretical results of the real time scheduling theory are presented. The basic task models and schedulers are explained (their behavior and their properties). The tutorial focusses on fixed priority scheduler and its feasibility tests (eg. Rate monotonic and worst case task response time) which is the most useful scheduler with current real-life applications. However, a dynamic priority scheduler is also presented (eg. EDF). At the end of this first part, attendees should understand what a feasibility test is and how it can help them to predict performances of their real time applications. This part is ended with a short introduction on shared resource support (eg. what a priority inversion is, how PIP/PCP work).2. Second, we show how real time scheduling features are taken into account in Ada international standards such as ISO/IEC Ada 1995 and 2005, the POSIX 1003 Ada binding and ARINC 653 (which is an avionic operating system standard providing an Ada binding). In this part, we try to show the relationships between the real time scheduling theory and the implementation of real time schedulers into practical systems.3. Finally, some Ada program examples are presented and explained.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call