| Version 1.9 Build 1367
|
|
April 9, 1992
Tentative Proposal for an AIPS++ Project Book
R.M. Hjellming and B. Glendenning
We propose that the AIPS++ development group write and maintain a
project ``book" that describes the current state of the AIPS++ project,
with the two of us as initial co-editors. The project book
should be written in TEXINFO format so it can be read both
on-line by X-windows terminals and in ``printed" or ``previewable" postscript
files. The primary purpose is to have an accurate description
of the state of the project for AIPS++ developers, but a secondary purpose
would be to provide documentation for others who wish to learn about the state
of the project. The VLBA project book is an example of a successful
project book for an instrumental project. While a software project
is more difficult to describe because of the primitive state of
software ``engineering", the software approach of
developing AIPS++ in object-oriented C++ code should be matched with
a rigorous approach to documenting the system for a mixture of
programmers and astronomers involved in, or interest in learning about,
the project.
In most cases the project book should NOT describe things that are
planned for implementation, to avoid the confusion between hopes and
realities. Some exceptions might be descriptions of coordinates and
other basic reference material. However in all cases contents
must be a description of things as they really are, even in
preliminary or prototype form.
The following are some of the possible ``sections" of the proposed
project book:
- Table of contents
- Introduction and statement of purpose for the AIPS++ project and
the project book in particular, with cross-referencing to other
documentation including memo series.
- Brief history of AIPS++ development, mainly to indicate evolution
of major concepts and design elements
- Glossary of terms used for data, instrumental components,
algorithms, etc.
- Glossary of mathematical notation
used in mathematical description of algorithms and data
- Descriptions of coding and documentation standards and software
maintenance procedures
- Concise summary of software system components in terms of classes
and their relationships, using diagrams including class hierarchies and
descriptions in notations like Coad-Yourdon
- Descriptions of public interfaces of implemented classes and
class libraries
- Descriptions of AIPS++ specific data base structures
- Mathematical description of algorithms implemented in AIPS++,
including coordinate systems, coordinate transformations, measurement
equations for telescopes, and equations (plus logic where necessary)
for calibration, correction, imaging, deconvolution, etc.
- A description of the system management tools necessary to
maintain versions of the system,
recompile the code, and update the code at remote sites from a master
repository.
- A series of appendices that contain, in as uniform language as
possible, technical descriptions of the aspects of AIPS++ consortium
instruments that are important for software development and maintenance,
emphasizing
things that affect the data and instrument-specific data processing.
- Index of key words
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc.,
Washington, D.C.
Return to AIPS++ Home Page
2006-03-28