An improved Ada run-time system interface

Abstract It is desirable to have a clean, simple interface between the run-time environment that supports execution of Ada programs and the code generated by an Ada compiler. This would permit building run-time environments to fit the needs of different applications without the need for modification, or even deep understanding, of the compiler. Building “custom” run-time systems appears necessary to achieve the performance required for diverse real-time embedded applications. However, it is not currently possible, except at great cost and with collaboration of the compiler developer. An additional benefit of having a well-defined run-time system interface is that a run-time system developed to work with one compiler could easily be adapted to work with another compiler as long as both compilers conform to the interface conventions. A procedure-level interface can be specified fairly simply and so as not to excessively limit the implementation options of the compiler and run-time system developers. One such possible interface is presented, based on lessons learned on the FSU/AFATL Ada compiler project and more recent studies of the trade-offs encountered in implementing Ada for small real-time multiprocessor systems.