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 inheritancebased 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 second part of a two-part paper. The first part discussed the reuse strategy and defined an Ada 9X subset that will implement it. In this part, a translation from the Ada 9X subset to Ada 83 will be outlined.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.