An Object-Oriented Data Display for the TESLA Test Facility
K.Rehlich
DESY, Notkestrasse 85, Hamburg, Germany
Abstract
This paper describes an object oriented editor for designing and running graphical user interfaces for control
screens of the Distributed Object Oriented Control System(DOOCS). The whole DOOCS system [1] is based on theobject-oriented methodology, i.e. devices are handled as objects, data objects are transferred between client and server
programs and the data is visualized by display objects. Thecontrol system has to display and change the parameters ofmany devices of the same type. With the drawing editor theuser creates a single instance as a synoptical representationof such a device and reuse it in all locations of the display bycopy and paste commands. The device display is animatedby actual device data and may contain sensitive fields to activate commands to the devices or to start new sub-windows.
The required information is passed to the sub-window, therefore, a single prototype of a sub-window has to be createdonce for all devices of the same type. Historical trends ordigital scope plots are also integral parts of the DOOCS datadisplay (ddd) program.

control. Just the device addresses are different. The main improvement of ddd compared to other tools is the possibility
to create reusable components. A once-created component
may be used in several places in a synoptic diagram or displayed in separate windows. The functionality of the components are the same. They only differ in the addresses to access the data from the control system. The ddd program uses
a hierarchy of addresses for passing to the reusable components.

Figure. 2. Plot of the horizontal and vertical beam displacements of the TTF linac as read from the beam position
monitors and a single monitor signal including the historical
trend.
Figure. 1. Main window of the ddd editor. The ‘OTR station’ is selected and shown in the small preview window.

1 Introduction
The DOOCS Data Display is a program to draw components
for a control system with an editor and to run the createddrawing with real data. Two versions of the program areavailable. One is to draw and run or test the drawings. The
second one is a run-time version only which does not allowchange of the drawing.
A control system has a lot of similar devices. All thisequipment has the same types of properties to display and to2 The editor
All synoptical pictures are created with the assistance of theddd editor. The editor permits the drawing of simple shapes
like lines or text and complex elements which are used todisplay and control data in the control system. These elements are used to display the device status as floating point
or integer values, as text strings, status register or different
types of plots. Parts of the drawing may depend on the dataof a device. Any group of shapes can be drawn to depend onon-line data. An example is shown in figure 3. Furthermore,components or whole windows are stored in a library and canbe reused in other drawings. These library components may

consist of device dependent data also. Such a component
could be a view screen/OTR station for instance that shows
which of the targets is inserted into the beam pipe. Thislibrary component is later used by drawing an outline in apaint window. The component is scaled to the drawn outline
and the address of the device has to be specified in a panel.
Further clones of this view screen station are generated bycopy and paste commands. Each clone then gets its individual relative device address. The addresses are propagated tothe subcomponents in a hierarchical manner. Components
can also be created by including other library componentsthat contain other library parts.
This view screen example shows the basic informationof the device only. A library element can contain sensitive fields that allows activations of a further window withdetailed information during run-time. These windows aredrawn once for all devices of the same type. A click on thesensitive field passes a base address to the activated window
in order to display the device specific data of the selected
device only. Several devices of the same type, but with different addresses in the control system can be displayed at thesame time.

3 Running the application
The synoptical displays for the control system are organized
in a hierarchical manner, i.e. by mouse clicks the user selects
more and more detailed information on certain subsystems
or devices. All information including archived data and othertypes of plots can be accessed just by mouse clicks from thegraphical status displays.
4 Implementation
The whole editor and run-time environment is written in C++
as class libraries. Output can be generated on any X-display
and as PostScript in a file or on a printer. The drawings are
stored in ASCII format.

Figure. 4. Synoptical display of a cavity test stand. The
status of the devices is indicated by different colors and different forms.

5 Conclusions
With the assistance of the ddd editor synoptical displays of acontrol system are created in an efficient way since all parts
can be reused. For TTF we created several hundred of displays in a short time.
Figure. 3. This example shows the creation of an ‘OTR station’ component. The five different target positions are animated by the ‘TARGETPOSITION’ property of the device
and are specified in ‘if’ conditions.

References[1] S. Goloborodko, G. Grygiel, O. Hensler, V. Kocharyan,
K.Rehlich, P.Shevtsov ”DOOCS: an Object-Oriented
Control System as the Integrating Part for the TTF
Linac”, ICALEPCS 97, Beijing.

Figure. 5. Zoomed display of the TTF linac. The visible part can be shifted by the sliders. A click on an object activates awindow with detailed information (e.g. a viewscreen station) or a plot (e.g. history of the pressure of an ion pump).