1 / 17

The Directory Service for the CERN Accelerator Control Application Programs

The Directory Service for the CERN Accelerator Control Application Programs. J.Cuperus, M.Peryt, E.Roux, J.Schinzel CERN, Geneva, Switzerland. What is the Directory Service ?. It is a library of Java classes

cleary
Download Presentation

The Directory Service for the CERN Accelerator Control Application Programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Directory Service for the CERN Accelerator Control Application Programs J.Cuperus, M.Peryt, E.Roux, J.Schinzel CERN, Geneva, Switzerland

  2. What is the Directory Service ? • It is a library of Java classes • It is an interface for obtaining read-only information about devices, classes, properties, characteristics, bit patterns, device groupings, device relations, and programs. • Also a read-write interface for device initialisation parameters. • Configuration database access through Java Database Connectivity (JDBC).

  3. Application Programs Other Interface Libraries Generic Components Device Access library Directory Service Middleware Device Access Modules in FECs Configuration Database Controlled Devices in 10 Accelerators Place in Control System

  4. Device Data • An accelerator device is something that can be controlled, like a magnet power supply, a timing, a beam monitor, a vacuum pump... Not counting the LHC, we now control directly 35000 devices. • An instance of class Controldevice can be obtained with: • Controldevice device = ControlDevice.getControlDevice(deviceName) • This instance has many methods, like: • String accelerator = device.getAccelerator() • ControlDeviceClass devclass = device.getControlDeviceClass()

  5. Device Sets • An array of devices can be obtained with: • ControlDevice[] devices = ControlDevice. getControlDevices(String query, String order) • query: any SQL query statement against the columns of database table DEVICES, like: query="accelerator='PSB' and classname='POW' " • order: a comma-separated list of table columns according to which you want the result ordered.

  6. WorkingSet DeviceGroup ControlDevice Device Relations Working Sets • A more complex device set is the working set, which is an array of array of devices. • A hand-made working set can be obtained with: • WorkingSet wset = WorkingSet.getWorkingSetByName(String wsetName); • It is also possible to get a working set by query, grouped by device class: • Workingset wset = WorkingSet.getWorkingSetByQuery(String query)

  7. Device Relations • For each device, it is possible to get the associated devices and the relation they have to the device, like: timxxx is TRIG-START for powyyy. • Some existing relation names: • TRIG-START • TRIG-ACQUISITION • ACTUATOR • INPUT ... • ~relation indicates the inverse relation: powyyy is ~TRIG-START by timxxx

  8. DeviceCompositeProperty 1 ControlDeviceClass 1 ControlDevice m DeviceProperty n 1 MetaProperty 1.. k DeviceAtomicProperty Device Classes and Properties • Properties are for acquiring and controlling certain aspects of a device through the middleware. • Properties can be atomic, or composite by grouping several atomic properties. • Properties can have attributes like datatype, dimensions, units, minval, maxval, ... • The meaning of the properties of each ControlDeviceClass are described in class MetaProperty.

  9. Meta Properties • Each ControlDeviceClass can be associated with a number of MetaProperty instances. • A metaproperty indicates an important function of the class in general terms, understandable by generic programs that have no a-priory knowledge about the ControlDeviceClass and its properties. • As an example, the database input form for metaproperty STAT-MC (recognised by generic programs and components as meaning: main status control), for a power supply class.

  10. Input Form for metadata

  11. Console Menus andWorking Sets • OpConfig describes an operational configuration like CPSOP (operation of CPS accelerator). • OpConfigProces is part of this, like particle ejection. • A working-set selection menu is associated with the OpConfig, with OpconfigProcess submenus. • A number of program selection menu trees is associated with the OpConfig. • ProgDef describes the program and its attributes.

  12. Generic Workset Display Program

  13. Generic Control Knob Component

  14. Initialisation Parameters • Any status or value control parameter for a device can be stored as a REFERENCE. This includes arrays for function generators. • This can be done for any of up to 64 virtual machines which configure our accelerators for a particular operation like injecting protons in the LHC. • Particular sets of values can be stored in named ARCHIVES for a virtual machine. Used to set up the machines for a particular operation. • The Directory Service provides interfaces for storing and retrieving REFERENCES and ARCHIVES.

  15. Documentation • Full documentation of public Java Classes and Methods of the Directory Service with the JavaDoc tool. • Enhanced by providing a detailed description of each class, method, and method argument. • Consultable from the Web. • Available on-line in Java Design tools for application programs.

  16. Conclusions • Some of our accelerator equipment is over 40 years old and some is brand new, with a great diversity of equipment types and control technologies. • The Directory Service presents this diversity in a uniform way to the application programs, so that generic programs and software components can be written, that handle many control and display tasks. • New application programs are mainly written in Java and they use the Directory Service for their configuration data.

  17. The End

More Related