|ERC32 Ada Technical Summary: For mission-critical applications using the ERC32 spacecraft computer|
The Ada 95 Reference Manual, ANSI/ISO/IEC-8652:1995, explicitly allows variations between Ada processors in a number of aspects. This chapter describes the language supported by ERC32 Ada and is organized according to the appropriate chapters and annexes of the Ada Manual.
ERC32 Ada supports several restricted Ada 95 profiles that prohibit the use of unsafe language features, and which are compatible with the requirements for high-integrity software applications.
The XGC profile (the largest profile and the default)
Ravenscar (which includes a limited form of tasking)
Restricted run-time system
No run-time system (for safety-critical applications)
Language features that are always restricted are not supported at all. This means that the compiler and run-time system can be optimized for the safe subsets and unlike unrestricted compilers, need not be hindered by the need to support complex and inefficient features that are never used.
The gain in efficiency is evident in the performance figures, which are an order of magnitude smaller and faster than competing compilation systems that support the full language.
The following list gives language features that are prohibited. The references to sections in this list apply to the Ada 95 Reference Manual. Further details appear in the respective section below: