Browse Prior Art Database

A PARADIGM FOR TOP- DOWN DESIGN WITH PACKAGES

IP.com Disclosure Number: IPCOM000128458D
Original Publication Date: 1983-Nov-01
Included in the Prior Art Database: 2005-Sep-16
Document File: 12 page(s) / 41K

Publishing Venue

Software Patent Institute

Related People

Rajlich, Vaclav: AUTHOR [+3]

Abstract

The paper presents a paradigm for the design with packages. The paradigm combines the methodology of stepwise refinement with information hiding principle. It is based on steps of definition, decomposition, completion, and abstraction, which produce clean and well-defined packages. A part of the paradigm are the rules by which the procedures acquire the parameters (called first and second rules for parameters). The paradigm is illustrated by an example.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 11% of the total text.

Page 1 of 12

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

A PARADIGM FOR TOP- DOWN DESIGN WITH PACKAGES

Vaclav Rajlich

CRL-TR-31-83

THE UNIVERSITY OF MICHIGAN COMPUTING RESEARCH LABORATORY

NOVEMBER 1983

Room 1079, East Engineering Building
Ann Arbor, Michigan 48109
USA
Tel: (313) 763 A Paradigm for Top-down Design with Packages.

Vaclav Rajlich

Department of Computer and Communication Science University of Michigan
Ann Arbor, MI 48109

ABSTRACT

The paper presents a paradigm for the design with packages. The paradigm combines the methodology of stepwise refinement with information hiding principle. It is based on steps of definition, decomposition, completion, and abstraction, which produce clean and well-defined packages. A part of the paradigm are the rules by which the procedures acquire the parameters (called first and second rules for parameters). The paradigm is illustrated by an example.

It is argued that "with" clauses of ADA (together with ADA order of compilation) encourage bottom-up programming while discouraging the top-down programming, and hence should be considered harmful.

1. Introduction

Packages (sometimes also called modules) are generally recognized as an important feature of the new programming languages1. If properly used, they allow a program to be split into manageable pieces which can be individually designed, coded and tested. They allow cooperation of several programmers on one software project. If they are powerfull and general enough, they extend the language by new constructs and hence they extend an applicability of the language. They are also intended to play a role of reusable parts for future programs.

1 Ada Programming Language, Military standard MIL-STD-1815. Lauer, H.C., Satterthwaite, E.H., The Impact of Mesa on System Design, Proc. 4th. International Conference on Software Engineering, IEEE Catalog No. 79CH1479-5C, 1979, 174-182. Wirth, N., Modula-2, Res. Rep. 36, ETH, Institut fur Informatik, Zurich, March 1982.

University of Michigan Computing Research Laboratory Page 1 Nov 01, 1983

Page 2 of 12

A PARADIGM FOR TOP- DOWN DESIGN WITH PACKAGES

These and other benefits were the reasons why packages or modules were included into ADA and other programming languages. The basic idea of the packages is information hiding2. Each package implements several objects like procedures, data structures, data types, etc. It is connected to the rest of the program through the so-called specification (in other languages also called interface). The specification lists all objects (procedures, functions, types, variables, etc.) which are defined in the body of the package and are available to the outside program. However the definitions themselves are invisible to the outside. Hence the implementation details and related complexities remain hidden inside the package.

During the process of program design, the role of the designer is to develop the specifications of the packages. All the beneficial reasons for...