- Predefined language environment
- - Packages include Standard, Ada, Characters, String Handling, and Numerics
- Language interfaces
- - Support for other languages, especially C, COBOL, and FORTRAN
- Systems programming
- - Low level features including interrupt handling, access to machine operations, shared variable access, and task identification
- Real-time
- - Requires the Systems Programming annex
- - Task priorities and scheduling (including dynamic priorities and multiple scheduling algorithms), monotonic time package, and delay accuracy
Previous slide | Contents | Next slide |
From the Script: Slide 25 - Annexes
The following information is taken from the Ada 95 LRM, the Ada 95 Rationale, and the John Barnes book referenced earlier.
Predefined Language Environment - One of the main objectives of Ada 95 is to supply a set of supplemental packages of general utility in order to promote portability and reusability. These features are supported by the packages within this annex.
Language Interfaces - It is important for Ada 95 to be able to interface effectively with systems written in other languages. The success of Ada 95 depends in part on its ability to cleanly and portably support interfaces to such systems as X Windows, POSIX, and commercial windows-based personal computer environments. To achieve this, this annex supports pragmas to C, COBOL, and Fortran. Additionally, the root package Interfaces contain declarations for hardware-specific numeric types.
Systems Programming - This annex covers a number of low-level features such as in-line machine instructions, interrupt handling, shared variable access and task identification. This annex is a prior requirement for the Real-Time Systems annex.
Real-time - This annex addresses various scheduling and priority issues including setting priorities dynamically, and scheduling algorithms and entry queue protocols. It also includes detailed requirements on the abort statement for single and multiple processor systems and a monotonic time package (as distinct from Calendar which might go backwards because of time-zone or daylight-savings changes).