We have implemented access to beam physics models of the Fermilab accelerators and beamlines through the Fermilab control system. The models run on Unix workstations, communicating with legacy controls software via a front end redirection mechanism (the open access server), a relational database and simple text-based protocol over TCP/IP. The clients and the server are implemented in object-oriented C++. We discuss limitations of our approach and the difficulties that arise from it. Some of the obstacles may be overcome by introducing a new layer of abstraction. To maintain compatibility with the next generation of accelerator control software currently under development at the laboratory, this layer would be implemented in Java. We discuss the implications of that choice.We have implemented access to beam physics models of them Fermilab accelerators and beamlines through the Fermilab control system.
The models run on Unix workstations, communicating with legacy controls software via a front end redirection mechanism (the open access server), a relational database and simple text-based protocol over TCP/IP. The clients and the server are implemented in object-oriented C++. We discuss limitations of our approach and the difficulties that arise from it. Some of the obstacles may be overcome by introducing a new layer of abstraction. To maintain compatibility with the next generation of accelerator control software currently under development at the laboratory, this layer would be implemented in Java. We discuss the implications of that choice.