next up previous
Next: THE CORBA FRAMEWORK Up: CORBA OBJECTS FOR SLS Previous: CORBA OBJECTS FOR SLS

INTRODUCTION

The SLS (Swiss Light Source)[1] is a synchrotron light source located at the Paul Scherrer Institute (PSI) in Switzerland. Scheduled for operation in August 2001, the SLS will deliver synchrotron radiation of high brilliance to experiments from a variety of disciplines. The SLS complex itself consists of three main accelerator facilities. A 100 MeV linear accelerator supplies electrons to a booster synchrotron which accelerates the electron beam to the full operating energy of 2.4 GeV before injection into the storage ring. Several high-level beam dynamics applications are required for the commissioning and operation of the SLS accelerator complex. These applications share a number of generic tasks that can be developed, through object oriented methodology, as reusable components. Common functions include:

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.


next up previous
Next: THE CORBA FRAMEWORK Up: CORBA OBJECTS FOR SLS Previous: CORBA OBJECTS FOR SLS
Jan Chrin
2000-11-13