Rationale for Ada 2005
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
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).
There are major improvement to the scheduling and
task dispatching mechanisms with the addition of further standard policies
(
298,
321,
327,
355,
357).
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 a later chapter –
see
7.3.
© 2005, 2006 John Barnes Informatics.
Sponsored in part by: