Abstraction hierarchies in top-down design

  • Authors:
  • Glenn H Macewen;T.Patrick Martin

  • Affiliations:
  • Queen's University, Kingston, OntarioCanada;Queen's University, Kingston, OntarioCanada

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 1981

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a program design discipline that has successfully produced well-modularized programs. The basic approach is to apply, in a uniform way, the concepts of data and procedural abstraction in a top-down decomposition during the initial programming-in-the-large phase of construction. This combination of data and procedural abstraction, called hybrid abstraction, views the system as composed almost entirely of abstract objects. The resulting structural design is partially expressed as a syntactic specification for a set of modules (a module being a set of objects) having no directly shared global data. In addition to the syntactic specification, the design expresses the abstract type decomposition and the structural relationships of the modules. Three relations on the set of modules define the hierarchies is called by, implements, and obtains resources from. These relations define the discipline and characterize the class of designs possible. Modules in practice are used in two different ways: single-instance use and multiple-instance use. Abstract objects can be of two different kinds: collection objects and singular objects. The relationships of these variations in module construction are illustrated. Three moderately large examples are shown. euclid is used to illustrate the discipline.