JObserve Overview

Software Organization

The design of JObserve is divided along several lines. In order to potentially support multiple telescopes, generic operations which are presumed to apply to any telescope are separated from those which are specific to a given telescope. This is accomplished using generic virtual base classes for Telescope and Scan ; all actual instantiation is done of a derived specific class, e.g. VLATelescope or VLAScan .

The second line of division is between the manipulation of the schedule and the GUI user interface. This allows for possible changes in the user interface and/or the inner scheduling mechanisms with minimal impact on the other. The major reason that the previous VLA observe program was abandoned was that the scheduling mechanisms were too intertwined with the display to allow an upgrade of the display as computer technology changed. However, much of the design of JObserve is inherited from the older program. The Java package (directory) structure is shown in the following.
JObserve
The structure of the packages used in JObserve.

Program Organization

The main window of JObserve is defined by class Observe which has the structure displayed in the following:
JObserve

The visible components of the GUI interface are the MenuBar, (GUI.ObserveMenubar) Buttor bar (GUI.ObserveButtonBar) and the status line (GUI.StatusLabel). The Observation (Observation) contains the actual schedule, auxillary, and related information.

The schedule basically consists of a set of initial/global information and a linked list of Scan structures. A Scan is the atomic unit of scheduling and describes a single measurement or procedure which the telescope is to execute. The scans are linked in the order in which they are to be performed. There are also a number of auxillary lists in addition to the list of observing Scans; these are illustrated in the following which shows the basic structure of an Observation:
JObserve

In addition to the editing window there is an optional Help browser window which consists of topic/subtopic lists an an html rendering window:
JObserve