The Ada 95 programming language was designed to meet the needs of a variety of programming domains. Some of these areas require special definition of additional features or restrictions to the language that were beyond the core language specification. The Ada 95 Special Needs Annexes provided the standard definition of the facilities required for special areas of use such as Systems Programming, Real-Time and Safety Critical domains.
As the user community began to put the profiles defined in the Special Needs Annexes to use, the need for new ones emerged. The first such profile, Ravenscar, was defined as part of the work of the International Real-Time Ada Working Group (IRTAWG). This group has refined the definition based upon the findings of the existing implementations of Ravenscar.
The Ravenscar profile will be the starting point for this presentation. From there, additional modifications to the profile to meet other user needs will be described including the recommended model for Extensible Protected Types (EPTs) and a proposal for Dynamic Ceiling Priorities. Alternative profiles will also be discussed, such as support for a round-robin within priority scheduling policy.
The concluding comments will provide some insights into the future of the Ada programming language with respect to support for special needs in the domains of real-time and high-integrity programming.