Traditionally, the choice of programming language and operating system has been motivated by the availability of associated libraries and extensions, often leading to a compromise. The advent of the Common Object Request Broker Architecture (CORBA)[2], however, allows for the development of a heterogenous distributed system in which objects, implemented in any language, on whatever platform, are able to interoperate. The advantage of using CORBA in a distributed client-server model for beam dynamics applications was recognized in earlier work[3] and its deployment at the SLS was motivated by requirements for flexibility, modularity and reusability[4]. Shared services can be developed as CORBA server objects in any language for which an appropriate application programmer interface (API) exists. In practice, APIs developed in C++ are preferred for optimal performance. The criteria for selecting the client language is consequently narrowed, in many cases, to aspects concerning the graphical user interface (GUI). Optimal use can thus be made of the GUI components provided by specialized toolkits such as the Tcl/Tk package[5], with the powerful BLT extension, or the Java Foundation Classes (JFC)[6]. Such a CORBA based client-server model further provides for the rapid development of applications as client programs are liberated from the complexities of the many APIs and can thus be kept comparatively short in length and be easily maintained.
The fundamental components of the CORBA framework are introduced and the CORBA objects developed for use in beam dynamics applications at the SLS are presented. An account of their use in the commissioning of the booster synchrotron accelerator is then given.