From: John Howard <jhoward@sky.net>
To: "Richard A. O'Keefe" <ok@goanna.cs.rmit.edu.au>
Subject: Re: AVL Tree Implementation
Date: 1996/10/16
Date: 1996-10-16T00:00:00+00:00 [thread overview]
Message-ID: <Pine.GSO.3.93.961012145953.16769A-100000@sky.net> (raw)
In-Reply-To: 53ak1c$ar4$1@goanna.cs.rmit.edu.au
Reusing operations while allowing variant abstract data types is the focus
of this CS 460 lecture notes book:
"A Systematic Catalogue of Reusable Abstract Data Types" by Jurgen Uhl &
Hans Albrecht Schmid. ISBN 0-387-53229-3. Publ. 1990, pp. 344.
Springer-Verlag 1-800-777-4643 [New York]. Cost $42.00
It relies upon a variant programming approach to component based software
construction. It also relies upon some capable brand of Ada 87 and a C
preprocessor based syntax translation tool.
I bought this book in 1995. I was happy with the new way of thinking
presented. Their catalogue of reusable components is a great idea.
Unfortunately, the presentation is unusable without further substantial
work from the reader. Variant programming seems crippling compared to
classwide programming. They chose to present their ideas with Ada because
C++ could not satisfy the dynamic storage requirement.
I was disappointed because: body implementations were not provided; their
Ada specifications were copyrighted; and their variant programming focus
necessitated a special syntax preprocessor which mostly precludes code
sharing for different variants. Consequently their code specs (115 pages)
cannot be readily used by the readers. They provide one case study (17
pages) to demonstrate using their catalogue.
Still their catalogue concept of reusable abstract data types is a
tremendous influence. They emphasize the "level of abstraction" for a
problem depends upon the available operations. An implementor can switch
ADT's as needed to enhance performance without a major rewrite of source
code. The completeness of implementation variants is the key to providing
efficiency.
The structure of their reusable ADT catalogue:
List, Stack, Queue and Deque, Tree, Order, Set, Map, and Bag.
The structure of their building blocks:
Linked collections; Tabular collections; Hash tables; Lists, Linked Lists,
Tabular Lists; Stacks; Queues and Deques; Trees, Linked Trees, Tabular
Trees; Orders, Sets; Maps; and Bags.
The building blocks employ structure sharing, compact and dispersed
representations, and recursive composition. Generic parameters are used
and operations are mostly in-common.
I wish they would release a source code version updated for Ada 95 and
classwide programming with the intention of making their catalogue
popularly used.
-- John Howard <jhoward@sky.net> -- Team Ada Team OS/2 --
next prev parent reply other threads:[~1996-10-16 0:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-09-24 0:00 AVL Tree Implementation Steve Kiraly
1996-09-25 0:00 ` Richard A. O'Keefe
1996-09-26 0:00 ` Michael Feldman
1996-10-01 0:00 ` Richard A. O'Keefe
1996-10-03 0:00 ` Michael Feldman
1996-10-06 0:00 ` Stanley Allen
1996-10-07 0:00 ` Richard A. O'Keefe
1996-10-16 0:00 ` John Howard [this message]
1996-09-27 0:00 ` Mats Weber
1996-09-30 0:00 ` Gerald.Kasner
-- strict thread matches above, loose matches on Subject: below --
1996-09-28 0:00 Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox