[ Introduction | Chapter I | Chapter II | Chapter III | Chapter IV | Reference ]








Executive Summary


Modern society is becoming very dependent upon software. Our transport systems, financial systems, medical systems and defense systems all depend to a very large degree upon software. As a consequence the safety of many human lives and much property now depends upon the reliable functioning of software. Moreover, the fall in the cost of hardware has now made possible the development of large software systems.

Ada is a programming language of special value in the development of large programs which must work reliably. This applies to most defense applications (from which background Ada evolved) and extends to many application domains. Indeed over half the Ada programs now being developed are for non-defense applications.

This document introduces Ada 95, the revised International Standard which increases the flexibility of Ada thus making it applicable to wider domains but retains the inherent reliability for which Ada is noted. Important aspects of Ada 95 include

These enhancements to Ada make Ada 95 an outstanding language. It adds the flexibility of languages such as C++ to the reliable Software Engineering framework provided and proven by Ada 83 over the past ten years.

Ada 95 is a natural evolution of Ada 83. The enhancements have been made without disturbing the existing investment in Ada 83 programs and programmers. Upward compatibility has been a prime goal and has been achieved within the constraints imposed by other requirements.

This document contains four chapters. Chapter 1 gives the background to the development process including the capture of the requirements from the existing and future user community. Chapter 2 introduces the highlights of the language, especially the three topics mentioned above, Objected Oriented Programming, Hierarchical Libraries and Protected Objects; it is in a tutorial style. Chapter 3 gives an overview of the whole language showing how the new facilities fit into the overall framework. Finally, Chapter 4 addresses the issue of upward compatibility with Ada 83 and shows that for normal programs the goal of compatibility has been achieved. This document will be of special value to program managers, team leaders and all software professionals with concern for the organized development of software.

Ada 95 deserves the attention of all members of the computing profession. It is a coherent and reliable foundation vehicle for developing the major applications of the next decade.


Acknowledgements

This document was prepared by the author as a consultant to the Ada 9X Design Team based at Intermetrics Inc. It is based on the first part of the Ada 95 Rationale which accompanies the new standard.

The author is extremely grateful for the support and encouragement of all members of the Intermetrics team and of Christine Anderson, the Ada 9X Project Manager. Special thanks are also due to Bill Taylor of Transition Technology Ltd for providing the material upon which Chapter 4 is based.

 
John Barnes, Reading, England January 1995.

Contents

Executive Summary

Acknowledgements

1. Evolution of Ada 95

2. Highlights of Ada 95 3. Overview of the Ada Language 4. Upward Compatibility References