Figure 1. shows a modified object diagram [7] of the GBT system. Information flows up and down the diagram with the user sitting on top working with the user-interface generated by an interpreter program, while in the bottom right corner a telescope device is installed underneath the digital interface. Boxes representing C++ classes have capitalized names; other boxes represent programs, files, or hardware. The lines between the boxes represent associations where the filled circles indicate multiplicity, e.g., there exists a one-to-many relationship between an interpreter program and its PanelClient, or a one-to-one relationship between a Driver and its digital interface. In addition, when the relationship includes the flow of data, it is indicated by an arrow, e.g., between the Accessor and a Monitor. There are three layers to the software. Starting at the top of the diagram is the User Programs layer, next is the Interface Daemons layer which provides network access, and last is the Telescope Systems layer which interfaces to a telescope device. The box representing the telescope device is in the bottom right corner of the diagram.
As stated in the Introduction, the four basic functions of the telescope system handle all of the interactions between a user and a device. Each device is fully encapsulated by a Manager object so that all software communications with the device pass through the Manager. Likewise, the user can only interact with the software via a user-interface program, which in the case of the GBT, is an interpreter. The classes implementing the telescope basic functions are represented in the diagram by four sets of intervening boxes between the Manager class and the interpreter program. The control system consists of the PanelClient, RecipientServer, PanelServer, RecipientClient, Manager, and Parameter classes. The monitor system consists of the Monitor, Accessor, Archivist, Transporter, and Sampler classes. The message/alarm handling system consists of the MesgMuxIF, MessageMux, and Message classes. Data production is represented by the data file box. For the writing of data files, all data produced by the telescope devices are written to individual files in Flexible Image Transport System's (FITS) binary tables.[8] This is true whether the data is backend data, scan data associated parameters, or engineering logs.