DRAMA Documentation
We have attempted to provide a good set of documentation with DRAMA, but
we admit to sometimes having trouble keeping it up to date. To help in
this, we generate a large amount automatically from source code comments.
Documentation generated this way provides most of the routine and program
descriptions available.
Most of the printed documentation is generated from Latex sources through
recent documentation is either HTML or MS Word/Power Point. Later documentation
is using tools like doxygen for HTML pages (e.g. C++ sources)
Automatically generated documentation is generated using one of three tools
-
wflman (William Lupton's Manual generation utility)
-
This tool was generated at the AAO around about 1989 and later developed
further at the Keck Observatory. It generates
documentation from file and function headers into
Latex, Man, and HTML formats. wflman is well suited for
documenting C routines but it no longer being developed.
-
Javadoc
-
JAVA's documentation tool - the standard way of generating documentation
for JAVA software. Due to its relationship with JAVA, this seems a good
way of getting high quaility JAVA documentation. Note that DRAMA's JAVA
documentation is NOT generated until the DJAVA library is built (due to
the string relationship with JAVA).
-
Doxygen
-
This is a public domain documentation tool which works in a similar way
to javadoc. We find it particularly suitable for C++ documentation,
which is its main use at this point. The AAO will probably move from
wflman to doxygen for all new code.
If you have not already been there, the full set of on line documentation
can be found
here. This includes the current page, C API, C++ API, JAVA API,
Utility Program and TCL command descriptions.
The full DRAMA release includes this set of Web pages, a set of pages
for use with the unix man command and the Latex sources of the
full documentation set.
There are two overview documents on DRAMA. The larger
more complete version (2015) and a
handout version (2019).
There is a draft of a book on DRAMA. This is available in
PDF
format.
This document is NOT under active development and many parts have not
yet been completed, but it is a good start to programming in DRAMA. The
examples have not yet been sorted out on line, but the examples from the
course mentioned in the following paragraph are similar.
There is a document on DRAMA2. The more modem C++ interface. This is available in
PDF
format.
The AAO can give a course on DRAMA. Please contact us if you want one.
The following Postscript documentation is available for components of DRAMA.
- DRAMA Software Organization
- This document introduces the Organization of the DRAMA software and
management of software Versions.
- Guide to Writing Drama Tasks
- This document is an in depth guide to how to write programs using DRAMA.
- The Error Reporting System
- The DRAMA Error Reporting System provides techniques for reporting errors
in a consistent manner. It is independent of any user interface or
message technique.
- The Dits Specification
- Dits is the software
package which implements the basic tasking structure, allowing
distributed tasks to communicate in a reliable and efficient way.
- The Message Code System
- Implements a portable Message/Error code system allowing distributed tasks
to pass integer error codes between machines and relate those codes to
appropriate text. It is compatible with the VAX/VMS message code system.
- The Self Defining Data System
- SDS is used by DITS to move data between machines of various architectures,
making allowances for the various machine specific ways of storing numbers and
characters. The user may use SDS directly or via the ARG package supplied
as part of SDS. SDS is capable of being using Standalone for storage and
transfer of data between machines of different architecture.
- The Interprocess Message Passing System
- IMP is the underlining message system used by DITS. It provides the fastest
possible techniques for sending messages between processes on the one machine
while also providing an almost transparent interface for sending messages
to tasks on other machines across a network. IMP is not normally used
directly by DRAMA task authors.
- The Generic Instrumentation Task Specification
- This document describes the requirements imposed on AAO instrumentation
tasks and the package used to implement such requirements. It shows how
inheritance techniques can be used in DRAMA. In addition, several utility
routines are specified.
- Guide to Creating Makefiles for Drama programs
- DRAMA uses an
imake
based scheme (similar to that used by
X11) to create Makefiles. The technique allows, for example, the one Make
configuration file to be used for Unix
, VMS
and
VxWorks
based systems. It also allows Make configuration files
to be independent of the location of DRAMA
- DTCL - DRAMA Interface to TCL
- This document describes the DRAMA Interface to TCL and TK (See the book
Tcl and the Tk Toolkit by John K. Ousterhout (Addison-Wesley 1994)).
DTCL provides a way to quickly write
high quality user interfaces to distributed instrumentation systems and
to prototype DRAMA programs.
- DRAMA Utilities Library
- This document describes a number of utility programs and routines which
may be used by DRAMA programs.
- Older DRAMA C++ interface
- This document described the DRAMA C++ interface. (don't use for net work, instead use DRAMA2)
Click here for the DRAMA home page and
here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au