The Original Booch Components
These components were originally written by Grady Booch in the 1980's using Ada 83
and this web site exists in order to maintain and extend them for use with the current
and future versions of the Ada language in a way that is in keeping with the style in
which they were first written.
These components provide definitions of generic structures and tools that work with those structures.
All of the structures and tools can be instantiated to contain and work on a user-specified type of item.
Also, there are several variations of each basic component. Each variation caters to a distinct
usage environment such as the presence or lack of multiple tasks and speed and memory usage constraints.
- The basic stuctures provided are: stacks; strings; rings (circular queues);
priority or nonpriority, balking or nonbalking queues and deques; discrete or simple,
cached or noncached maps; simple or discrete bags and sets; singly or doubly
linked lists; binary and arbitrarily branching trees; directed or undirected and graphs.
- The tools provide filters, pipes, sorting, searching and pattern matching
procedures, along with helper utilities that work with the previously mentioned structures.
- The book SOFTWARE COMPONENTS WITH Ada Structures, Tools, and Subsystems,
ISBN 0-8053-0609-9 by Grady Booch, fully describes the original design and usage
of this software.
Component License Terms
- The copyright for all of the Original Booch Components is held by Grady Booch.
- The components, however, are now distributed under the terms of the GNU General
Public License with the same special exception
described in the GNAT run time library and are distributed in the hope that they
will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- Because of the special exception in the license,
you are allowed to use these components to make proprietary products under the specific
circumstances covered by the exception.
- Read the GNU General Public License for the other details.
Gallery of User Submitted Samples
Discussion and Support