Rationale for Ada 2005

John Barnes
Contents   Index   References   Search   Previous   Next 

5.1 Ada Issues: Tasking and Real-Time

The WG9 guidance document [1] identifies real-time systems as an important area. It says
"The main purpose of the Amendment is to address identified problems in Ada that are interfering with Ada's usage or adoption, especially in its major application areas (such as high-reliability, long-lived real-time and/or embedded applications and very large complex systems). The resulting changes may range from relatively minor, to more substantial."
It then identifies the inclusion of the Ravenscar profile [4] (for predictable real-time) as a worthwhile addition and then asks the ARG to pay particular attention to
Improvements that will maintain or improve Ada's advantages, especially in those user domains where safety and criticality are prime concerns. Within this area it cites as high priority, improvements in the real-time features and improvements in the high integrity features.
Ada 2005 does indeed make many improvements in the real-time area and includes the Ravenscar profile as specifically mentioned. The following Ada Issues cover the relevant changes and are described in detail in this chapter:
Ravenscar profile for high-integrity systems
Partition elaboration policy for high-integrity systems
Task termination procedure
Timing events
Non-preemptive dispatching
New pragma and restrictions for real-time systems
Execution-time clocks
Definition of dispatching policies
Dynamic ceiling priorities
Protected and task interfaces
Title of Annex H
Group execution-time budgets
Priority dispatching including Round Robin
Earliest Deadline First scheduling
Further functions returning time-span values
Redundant Restrictions identifiers and Ravenscar
Conformance and overriding for procedures and entries
Single tasks and protected objects with interfaces
Sequential activation and attachment
Synchronized private extensions
Dynamic ceilings and interrupt handlers
These changes can be grouped as follows.
First there is the introduction of a mechanism for monitoring task termination (266).
A major innovation in the core language is the introduction of synchronized interfaces which provide a high degree of unification between the object-oriented and real-time aspects of Ada (345, 397, 399, 443).
There is of course the introduction of the Ravenscar profile (249) plus associated restrictions (305, 394) in the Real-Time Systems annex (D).
There are major improvement to the scheduling and task dispatching mechanisms with the addition of further standard policies (298, 321, 327, 355, 357, 445). These are also in Annex D.
A number of timing mechanisms are now provided. These concern stand-alone timers, timers for monitoring the CPU time of a single task, and timers for controlling the budgeting of time for groups of tasks (297, 307, 354, 386). Again these are in Annex D.
Finally, more control is provided over partition elaboration which is very relevant to real-time high-integrity systems (265, 421). This is in Annex H which is now entitled High Integrity Systems (347).
Note that further operations for the manipulation of time in child packages of Calendar (351) will be discussed with the predefined library in Section 7.3.

Contents   Index   References   Search   Previous   Next 
© 2005, 2006, 2007 John Barnes Informatics.
Sponsored in part by:
The Ada Resource Association and its member companies: ARA Members AdaCore Polyspace Technologies Praxis Critical Systems IBM Rational Sofcheck and   Ada-Europe: