Browse Prior Art Database

PARADIGMS FOR DESIGN AND IMPLEMENTATION IN ADA

IP.com Disclosure Number: IPCOM000128487D
Original Publication Date: 1984-Oct-01
Included in the Prior Art Database: 2005-Sep-16
Document File: 11 page(s) / 41K

Publishing Venue

Software Patent Institute

Related People

Rajlich, Vaclav: AUTHOR [+3]

Abstract

In the paper, three characteristic paradigms of a design and implementation in Ada are described and compared: Bottom-up incremental programming, top-down semiincremental programming, and large-small traditional programming. Several examples illustrate the selection of the correct paradigm for the given set of circumstances.

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

Page 1 of 11

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

PARADIGMS FOR DESIGN AND IMPLEMENTATION IN ADA

1 Vaclav Rajlich

CRL-TR-43-84

THE UNIVERSITY OF MICHIGAN COMPUTING RESEARCH LABORATORY2

October 1984

Room 1079, East Engineering Building
Ann Arbor, Michigan 48109
USA
Tel: (313) 783-8000

Abstract

In the paper, three characteristic paradigms of a design and implementation in Ada are described and compared: Bottom-up incremental programming, top-down semiincremental programming, and large-small traditional programming. Several examples illustrate the selection of the correct paradigm for the given set of circumstances.

[ chapter ] Introduction

Programming languages Ada [ 1 ] and others [ 2 ] , [ 8 ] , [ 15 ] , [ l8 ] , represent a new generation of languages. They are a culmination of long research in modularity, i.e. the tools and techniques of decomposition of large software systems into smaller pieces. They are also new and powerful software tools, providing extensive help to both the designer and programmer who uses them.

One of the most powerful modularity techniques is the principle of information hiding as outlined by Parnas and others [ 10 ] . The principle can be briefly summarized in the following way: We want to decompose the programs into modules (packages) which will have simpler and more understandable interfaces than the detailed code they are hiding inside. They will be reusable, will localize the impact of the changes in the program, allow cooperation of several programmers on a program, etc.

Traditionally, the process of program creation is divided into two phases, the design and implementation' where the purpose of design is to find the "right" packages with the properties described above, while purpose of the implementation is to actually produce the code for the packages. The programming language Ada contains elaborate features which support the

1 Ada is a registered trademark of the United States Government, Ada Joint Program Office (AJPO)

2 Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the funding agency.

University of Michigan Computing Research Laboratory Page 1 Oct 01, 1984

Page 2 of 11

PARADIGMS FOR DESIGN AND IMPLEMENTATION IN ADA

implementation (i.e. code writing) of programs divided into packages. In this paper, Ada will be used both as a design and implementation language, and several paradigms will be discussed.

In Section 2, we describe separate compilation in Ada. Section 3 describes a certain desirable architecture of Ada programs. Section 4 describes paradigms and life-cycles in general, with the emphasis on non-traditional incremental and semi-incremental life-cycles. In Sections 5, 6, and 7, we describe three selected paradigms. The summary in Section 8 contains several hypothetical examples of a paradigm selection.

2. [ chapter ] Separate compilation in Ada

The basic buildi...