Guideline to Select, Configure, and Use an Ada Runtime Environment

Abstract

The Ada Language has incorporated many features such as tasking, dynamic storage management, and exception handling that require substantial execution-time support. Most of these features were not previously available in commonly used real-time languages, but were instead provided by an separate executive. The inclusion of these features into the language expands the possibility for transportable and reusable software, but complicates the software development process to some degree. Engineers that previously had familiarity with their own executives, now are forced to accept the code of a compiler vendor for the execution-time support. This guide has been written to help software developers in the difficult task of selecting, configuring, and using a runtime that will meet the needs of their application. The wide variety of applications for which Ada is used necessitates considerable flexibility within the implementation of the runtime code. Different algorithms for tasking, storage management, interrupt handling, and exception propagation can radically effect the behavior of real-time programs. Variations among compilers for the same processor can be as great as a factor of six in runtime size and factor of eleven in tasking performance. It is therefore essential that software developers completely understand the characteristics of the available runtimes prior to selecting one for use on a project.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 15, 1989
Accession Number
ADA223086

Tags

Communities of Interest

  • Autonomy
  • C4I
  • Energy and Power Technologies
  • Engineered Resilient Systems
  • Human Systems
  • Weapons Technologies

DTIC Thesaurus Topics

  • Application Software
  • Artificial Intelligence
  • Compilers
  • Computer Program Documentation
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computers
  • Debugging
  • Embedded Systems
  • High Level Languages
  • Message Processing
  • Object Code
  • Operating Systems
  • Programming Languages
  • Servers (Computer Hardware)
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Modeling and Simulation
  • Computer Science.
  • Parallel and Distributed Computing.