Towards a Common Object Model and API for Accelerator Controls
F. Di Maio (CERN) and A. Goetz (ESRF)
An Object-Oriented Application Programming Interface (OO API) can provide the
applications with an abstract model of the components of an accelerator. One
question is how to encapsulate into one single abstract model different control
systems. The abstract model of an OO API can be described in a formal way via
object models in order to clarify the semantic issues, describe the important
concepts (beam, attributes...), and decompose the objects up to the granularity
where the model of some objects can be shared between labs. From the
object-model can be derived the C++ API (as well as C API). This paper
presents a common object model which is derived from both the current CERN-PS
model and the current ESRF model. We describe the technical difficulties we
encountered in migrating existing control systems into a shared but usable
model. We also aim to reduce the model's diversity by taking into account the
CEBAF's "cdev" developments. A high-level description of the model will be
presented with examples of the derived API and of its usage from the console
applications.