[comp.sw.components] Ada Software Repository

wtwolfe@hubcap.clemson.edu (Bill Wolfe) (07/02/89)

---------------------------------------------------------------------------
   The following has been condensed from the Ada Software Repository's
   Welcome Message; the Ada Software Repository is a large collection
   of publicly available (i.e., free) reuseable software components.
---------------------------------------------------------------------------

	ADA SOFTWARE REPOSITORY AVAILABLE ON TAPE

       Charge by the ASR Support Contractor: None

Tape copies of the Ada Software Repository (ASR) are available on 9
Track, 1600 and 6250 BPI magtapes in the following formats:

 in ANSI format at 1600 BPI - 6 tapes (note: VAX/VMS users can read ANSI)
 in ANSI format at 6250 BPI - 2 tapes (note: VAX/VMS users can read ANSI)
 in TOPS10 INTERCHANGE at 1600 BPI - 3 tapes
 in TOPS10 INTERCHANGE at 6250 BPI - 1 tape
 in TOPS20 DUMPER at 1600 BPI - 1 tape
 in TOPS20 DUMPER at 6250 BPI - 1 tape
 in UNIX TAR at 1600 BPI - 3 tapes
 in UNIX TAR at 6250 BPI - 1 tape

Instructions:

(1) Send the number of tapes indicated by Table 1 below, a stamped,
self-addressed mailing label, and a short, informal cover letter
stating that you would like a copy of the Ada Software Repository 
and specifying the format.  Personnel at White Sands will copy to 
the tapes as they have time and mail them back to you.

(2) Please send your tapes to the ASR Support Contractor.  Send a 
completed UPS Collect or Federal Express Collect form to cover payment
of postage.

(3) Status of tape requests made to the ASR Support Contractor can be
determined by contacting him by phone or in writing.

To contact MACA in order to be placed on one or both of the
distributions or to request assistance, phone 505/678-3288 between the
hours of 7:30 AM and 4:00 PM MST.  Ask for Prince Levy, Janet
McKellar, David Moon, or Mannie Gamez.  You may also write to MACA at
the following address:

	Management Assistance Corporation of America
	PO Drawer 100 - Building T148
	White Sands Missile Range, New Mexico  88002

MACA may be reached via electronic mail at:

	MACAWSMR@WSMR-SIMTEL20.ARMY.MIL

The Manager of the ASR may be reached at either of the following
electronic mail addresses:

	ADA-SW-REQUEST@WSMR-SIMTEL20.ARMY.MIL
	SW-COMP-REQUEST@WSMR-SIMTEL20.ARMY.MIL

------------------------------------------

	The following describes the various directories which make up
the Ada Software Repository on SIMTEL20.

------------------------------------------
PD2:<ADA>

This is the top-level directory.  The names of the subdirectories
(*.DIRECTORY) and several statistics and information files can be seen
here.


------------------------------------------
PD2:<ADA.ABSTRACTIONS>

	This subdirectory contains the ABSTRACTIONS reusable software
components library of Intermetrics.  Each file of the library is
presented as a separate file, as opposed to the entire library being
presented as one large PAGER SRC file.  This subdirectory contains
the files present within the PAGER SRC file PD2:<ADA.COMPONENTS>ABSTRACT.SRC.

------------------------------------------
PD2:<ADA.ADA-ADOPT>

This subdirectory contains Version 1.0 of the "Ada Adoption Handbook:
A Program Manager's Guide" by John Foreman and John Goodenough of the
Software Engineering Institute in machine-readable form.  This is
Technical Report CMU/SEI-87-TR-9, ESD-TR-87-110, May 1987.

This document is approved for public release.  Distribution unlimited.

Note: these files have been edited from the original distribution.
The original distribution contained additional characters for bold
facing and underlining, but no backspaces where included, so the
document was not very readable.  The editing changes eliminated the
duplicate characters and extra spaces and underscores, producing a
readable document with no bold facing or underlining.

------------------------------------------
PD2:<ADA.ADA-CAN>

"Ada Can" -- the contest to solve the "impossible" problems that "Ada can't do"

presented by
EVB Software Engineering, Inc.
5320 Spectrum Drive
Frederick, MD 21701
(301) 695-6960

DESCRIPTION

All of us in the Ada community have heard stories about "deficiencies"
in the Ada language. Most of these accounts can be ascribed to one or
more of the following problems:

-	unawareness of one or more language features which directly
	address the problem.

-	looking for a single Ada statement which will solve the
	problem. Oddly, some feel that having to write two or more Ada
	statements to accomplish one's objectives is a 	deficiency in the
	language.

-	a propensity to duplicate some feature of a more familiar
	language, e.g., FORTRAN or assembly language.

-	Wanting an excuse not to use the Ada language.

While Ada is not a perfect language, there is much that can be
accomplished with the language in its present form. Further, although
knowledgeable, the software engineering population frequently seems to
be poorly directed.

Because we at EVB believe that much could be learned from an endeavor
which would promote the positive benefits and strengths of software
engineering in Ada, we are announcing the EVB "Ada Can" project.
 
The bound problem definitions and their solutions will be available by
Friday, December 9, 1988.

------------------------------------------
PD2:<ADA.ADA-SQL>

This subdirectory contains files associated with the development of a
standard Ada DBMS interface (Ada/SQL) based on the dpANS Data Base
Language SQL.

------------------------------------------
PD2:<ADA.ADA-TUTR>

This subdirectory contains an interactive Ada tutorial.  This tutorial
includes a discussion of the syntax of the Ada language, many question
and answer session, and six programming exercises with answers.  See
the file PRINT.ME for details.  This tutorial is shareware, and a fee
should be paid if you decide to use it after trying it.  See the file
INVOICE.TXT and the files READ.ME and READ.ME2 for details.  The
tutorial is written in Ada and ports to many different platforms.


------------------------------------------
PD2:<ADA.ADAIC>

This subdirectory contains information on and files published by
the Ada Information Clearinghouse (AdaIC).

------------------------------------------
PD2:<ADA.AI>

This subdirectory contains software and information related to the
fields of artificial intelligence.

------------------------------------------
PD2:<ADA.ANSI-LRM>

This subdirectory contains a machine-readable copy of the ANSI Version
of the Ada Language Reference Manual (LRM).

Chapters 1-14 and Appendices A-F are included as CHAPxx.DOC (like,
CHAP01.DOC or CHAPA.DOC).  Error files are also included as
CHAPxx.ERR.  The Foreword (FOREWORD.DOC, ERR), Postscript
(POSTSCRPT.DOC, ERR), and Table of Contents (TOC.DOC) are included.
INDEX.DOC contains the index.

------------------------------------------
PD2:<ADA.BENCHMARKS>

This subdirectory contains various Ada compiler benchmarks.

------------------------------------------
PD2:<ADA.CAIS>

This subdirectory contains software associated with the Common APSE
Interface Set (CAIS).  The CAIS is defined in MIL-STD-1838.

------------------------------------------
PD2:<ADA.CAIS-TOOLS>

This subdirectory contains tools which are compatable with and
modified or implemented to run under the CAIS presented in the
directory PD2:<ADA.CAIS>.

------------------------------------------
PD2:<ADA.COMPILATION-ORDER>

This subdirectory contains software which deals with the analysis of
groups of Ada programs to determine the proper compilation order.
Other information pertaining to the interrelationship of software
segments of a system may be obtained as well.

------------------------------------------
PD2:<ADA.COMPONENTS>

This is the components subdirectory.  Software components, including
general-purpose procedures, packages, and generics, are stored here.
Examples are: math packages, TERMCAP routines, generic linked list
packages, and dynamic string packages.

------------------------------------------
PD2:<ADA.CROSS-REFERENCE>

This subdirectory contains tools which generate cross-reference
listings of Ada programs.

------------------------------------------
PD2:<ADA.DBMS>

This subdirectory contains Ada software components and programs
directly related to Data Base Management functions.

------------------------------------------
PD2:<ADA.DDN>

This subdirectory contains tools and components related to the Defense
Data Network, its file transfer, mail, and communications facilities.
Implementations of the TCP/IP communications protocol, the FTP file
transfer tool, and the SMTP mail handler are included.

See also PD2:<ADA.DDN2>.

------------------------------------------
PD2:<ADA.DDN2>

This subdirectory contains tools and components related to the Defense
Data Network, its file transfer, mail, and communications facilities.
Implementations of the TCP/IP communications protocol are included.

See also PD2:<ADA.DDN>.

------------------------------------------
PD2:<ADA.DEBUGGER>

This subdirectory contains Ada source-level debuggers.  A Symbolic
Debugger is included.

------------------------------------------
PD2:<ADA.EDITORS>

This subdirectory contains the source code and documentation on some
text editors written in Ada.

------------------------------------------
PD2:<ADA.EDUCATION>

This is the education subdirectory.  Sample programs, tutorials, and
online courseware are located here.

------------------------------------------
PD2:<ADA.EXTERNAL-TOOLS>

This subdirectory contains several miscellaneous tools which are
helpful in developing Ada code but are not written in Ada or pertain
to specific environments.  For example, an Ada language development
interface for the EMACS editor can be found here.

------------------------------------------
PD2:<ADA.FORMGEN>

This subdirectory contains tools for the generation of forms for use
by Ada programs.  The forms generator will display and accept input
into a form (in a screen-oriented fashion via the virtual terminal) in
such a way that this mechanism is transparent to the Ada program using
it.  Instead, the program simply reads fields from the form via
procedure interfaces.

------------------------------------------
PD2:<ADA.GENERAL>

This is the General Information subdirectory.  Notes, comments, usage
information, and other data are stored here.

------------------------------------------
PD2:<ADA.GKS>

This subdirectory contains routines associated with a Graphical Kernel
System.

------------------------------------------
PD2:<ADA.GNU-ADA-MODE>

	This subdirectory contains the Ada mode implementation for
GNU EMACS as developed by Lynn Slater and others.

------------------------------------------
PD2:<ADA.ID-FILES>

This subdirectory contains Item Description (ID) files for all items
of text and software in the Ada Software Repository.  The *.SID files
describe the items of software, and the *.TID files describe the items
of text.

------------------------------------------
PD2:<ADA.MANAGEMENT-TOOLS>

This subdirectory contains tools for use in managing an Ada software
development project.  Status tracking and Manpower estimation tools
are included.

------------------------------------------
PD2:<ADA.MASTER-INDEX>

This subdirectory contains a machine-readable copy of the Master
Index, a book which documents the items in the Ada Software Repository.
The *.CH files are ASCII text files which make up the title page,
table of contents and taxonomy, chapters and appendices, and index of
the Master Index.  The *.CH files files are designed to be printed on
8 1/2" x 11" paper in elite (12 chars/inch) type.  No margins should be
preset; a 1" margin is already formatted into these files.

The order of the files in this subdirectory is:

		TITLE.CH	Title Page
		TOC.CH  	Table of Contents and Taxonomy
		CH01.CH 	Chapter 1
		...
		CHnn.CH 	Chapter nn
		CHA.CH  	Appendix A
		CHB.CH  	Appendix B
		INDEX.CH	Index

Other files in this subdirectory, namely the *.CHS and *.INC files,
are data files used in the creation of the Master Index and are not of
general interest.

------------------------------------------
PD2:<ADA.MATH>

This subdirectory contains packages of math routines.  All routines
are written in Ada.  Routines for trig functions, exponential
functions, matrix manipulation, bit manipulation, and others are
contained here.

------------------------------------------
PD2:<ADA.MENU>

This subdirectory contains software used in the generation of menus.
Applications programs may use these menu generators as front-ends.

------------------------------------------
PD2:<ADA.MESSAGE-HANDLING>

This subdirectory contains tools for use in message handling
facilities and message transfer.

------------------------------------------
PD2:<ADA.METRICS>

This subdirectory contains tools used to perform metrics analysis of
Ada software.  Tools for path analysis, performance analysis, and
other metrics reports are included.

------------------------------------------
PD2:<ADA.NEW-ABSTRACTIONS>

	This subdirectory contains the NEW ABSTRACTIONS reusable software
components library of Intermetrics.  Each file of the library is
presented as a separate file, as opposed to the entire library being
presented as one large PAGER SRC file.  This subdirectory contains
the files present within the PAGER SRC file PD2:<ADA.COMPONENTS>NEWABS.SRC.

------------------------------------------
PD2:<ADA.NEWS>

This subdirectory contains the Ada Software Repository (ASR)
Newsletters.  File names are ASRnnn.DOC.

------------------------------------------
PD2:<ADA.ONLINE-DOC>

This subdirectory contains supporting files for the online
documentation system of the Ada Repository.

------------------------------------------
PD2:<ADA.PAGER>

This subdirectory contains tools which create and manipulated paged
files.  All SRC files are paged files, which are files composed of
several smaller files separated by a special flag.

------------------------------------------
PD2:<ADA.PDL>

This subdirectory contains software associated with Ada Program Design
Languages and tools to support the Ada program designer.  Such tools
include tools for data dictionary manipulation and design analysis.
There may be some overlap between this directory and software which
may fall into the PDL category that is scattered among the other
subdirectories.

------------------------------------------
PD2:<ADA.PIWG>

TAPE_12_12_87
TAPE_5_1_87
	Note: 12/12/87 differs from 5/1/87 in documentation only;
		this distriubtion is 12/12/87

PIWG is a suite of tests/benchmarks prepared by the Performance Issues
Working Group of ACM SIGAda.  The purpose of PIWG is to develop the
benchmarks and collect and disseminate results.

The PIWG tests have been under development for many years and have
been run against many Ada compilers.  The PIWG test suite contains
over 200 files which include Whetstone (to measure processor speed),
Dhrystone (to measure statement execution per unit time), and other
benchmarks which test various attributes of the Ada language and their
implementations under specific compilers.  The PIWG tests must be
customized for a particular compiler, and instructions are included to
do this.

------------------------------------------
PD2:<ADA.POINTERS>

This is the pointers subdirectory.  Information on other sources of
software and information is presented here.  This data pertains to
both on- and off- net resources.

------------------------------------------
PD2:<ADA.PRETTY-PRINTERS>

This subdirectory contains pretty printers for Ada source programs.
The pretty printers reformat the Ada source programs in order to
outline the structure of the programs and provide other useful
information for the programmer.

------------------------------------------
PD2:<ADA.RATIONALE>

This subdirectory contains a machine-readable copy of "The Rationale
for the Design of the Ada Programming Language."

This document has evolved over a number of years.  A first version
appeared in 1978 as the Rationale for the Green programming language,
and this was revised in 1979 at the time that Green was finally
selected as Ada.  The purpose of these documents was to explain the
motivation for the language design, and to justify and defend its
position against the other competitive languages and the Ironman
(later Steelman) requirements.  No corresponding document was written
in 1980 when Ada was proposed as a standard, nor in January when Ada
finally became both an ANSI and Military Standard.  The present
version completes and revises a draft issued in January 1984 and which
was the subject of public review.

------------------------------------------
PD2:<ADA.REAL-TIME>

This subdirectory contains documents and items of Ada
software which address questions and standards dealing with the
real-time use of the Ada programming language.

Documents and information generated and presented by the
Ada Runtime Environment Working Group (ARTEWG) are made available
in this subdirectory.

------------------------------------------
PD2:<ADA.SEI>

This subdirectory contains information on the Software Engineering
Institute (SEI) at Carnegie Mellon University (CMU).  This information
includes details on its mission, activities, and publications.

------------------------------------------
PD2:<ADA.SIMULATION>

This subdirectory contains programs and tools associated with
performing simulations, such as queuing simulations.

------------------------------------------
PD2:<ADA.SPELLER>

This subdirectory contains spelling checkers written in Ada.
Dictionaries are also included here.

------------------------------------------
PD2:<ADA.STARTER-KIT>

This subdirectory contains tools which are useful in accessing the
software in the repository.  It includes the PAGER tool, which is used
to assemble and disassemble SRC (paged) files.

------------------------------------------
PD2:<ADA.STUBBER>

This subdirectory contains Ada program body stubber tools.  They
analyze the definition of an Ada software design and generate software
bodies as stubs to be filled in later during development.

------------------------------------------
PD2:<ADA.STYLE>

This subdirectory contains Ada style checking tools.  They analyze Ada
source code and report on various aspects of the programming style,
such as consistent indentation and use of long variable names.

------------------------------------------
PD2:<ADA.TOOLS>

This is the miscellaneous tools subdirectory.  Sources to various
tools which do not fit into the categories of the other subdirectories
are placed here.

------------------------------------------
PD2:<ADA.TRANSLATORS>

This subdirectory contains tools which convert programs written in one
language into Ada automatically.  These tools include a COBOL to Ada
translator and a FORTRAN to Ada translator.

------------------------------------------
PD2:<ADA.TRI-ADA>

	This subdirectory contains the results generated by and other
materials related to the "Hands-on Ada Workshop and Programming
Contest", Tutorial 2 at the TRI-Ada '88 (tm) conference sponsored
by ACM/SIGAda from October 24 to October 27, 1988.

	"Objectives:
	Evaluate designs and Ada implementations of a small, non-trivial
sensor monitoring problem
	Provide a forum for Ada language experts and embedded
system practitioners to jointly explore the Ada process while
producing actual code."

------------------------------------------
PD2:<ADA.VIRTERM>

This subdirectory contains tools for a virtual terminal package, which
performs screen-oriented functions by reading terminal characteristics
from a UNIX-like TERMCAP data base.  The application program can call
routines in these packages and not be concerned with the type of
terminal being addressed.

------------------------------------------
PD2:<ADA.WIS-ADA-TOOLS>

This subdirectory contains information about the software tools
submitted by the Naval Oceans Systems Center (NOSC).  An abstract of
the tools is included.

These tools were paid for by WIS (WWMCCS Information Systems).

------------------------------------------
PD2:<STARS>

	This top-level directory contains software created under
the STARS (Software Technology for Adaptable, Reliable Systems)
Foundations contracts.

------------------------------------------
PD2:<STARS.X-WINDOWS>

	This subdirectory contains an Ada-to-X Windows binding.
The current release of the Ada-to-X binding is contained in
this directory.  Previous releases of the Ada-to-X binding are
located in PD2:<STARS.XW-ARCHIVE>.

Derivation   : MIT X Window System, V11.R2

This Ada language binding to the X Window System inherits
the MIT copyright. The following copyright must be included
in all software utilizing this binding.

Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology

Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of M.I.T. not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
M.I.T. makes no representations about the suitability of
this software for any purpose.  It is provided "as is"
without express or implied warranty.

------------------------------------------
PD2:<STARS.XW-ARCHIVE>

	This subdirectory contains an Ada-to-X Windows binding.
It is an archive of previous releases of the Ada-to-X binding
for V11.R1 and V11.R2.
	The current release of the Ada-to-X binding is located
in PD2:<STARS.X-WINDOWS>.  See the derivation and copyright notices
in PD2:<STARS.X-WINDOWS>A0READ.ME for copyright and use permission
information.


------------------------------------------
PD2:<STARS.XW-ARCHIVE>

	This subdirectory contains an Ada-to-X Windows binding.
It is an archive of previous releases of the Ada-to-X binding
for V11.R1 and V11.R2.
	The current release of the Ada-to-X binding is located
in PD2:<STARS.X-WINDOWS>.  See the derivation and copyright notices
in PD2:<STARS.X-WINDOWS>A0READ.ME for copyright and use permission
information.