An Ada 9X subset for inheritance-based reuse and its translation to Ada 83 (Part 1)

  • Authors:
  • Michael Hirasuna

  • Affiliations:
  • P.O. Box 746, MS 499, Westinghouse Electric Corporation, Electronic Systems Group, Baltimore, Maryland

  • Venue:
  • ACM SIGAda Ada Letters
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

An object oriented reuse strategy based on the Ada 9X inheritance syntax is presented. This paper defines a minimal Ada 9X subset that implements inheritance-based reuse, and outlines its translation to Ada 83. Inheritance allows software modules to be reused without modification to the original source. It is preferred to the "copy and tailor" approach, which has limited software life-cycle benefit since tailored copies need to be tested and maintained.Reuse may be applied at the low level, for components, or at higher levels, for subsystems. Inheritance may be used at any level of reuse, but it is more important for the higher levels. Ada 83 does not support inheritance, but low-level reuse can still be implemented in the form of generic components [BOO87]. The cost advantage from low-level reuse is already assumed when planning today's software systems. Further cost savings must come from high-level reuse, which needs inheritance to be implemented properly. Inheritance will be fully supported in Ada 9X.The approach presented here may be used in a reuse plan for a system that will start development before Ada 9X becomes viable. The Ada 9X subset allows the system software to be structured for reuse, to be implemented in Ada 83, and to be ready for migration to Ada 9X.This is the first part of a two-part paper. This part will discuss the reuse strategy and define an Ada 9X subset that will implement it. In the second part, a translation from the Ada 9X subset to Ada 83 will be outlined.