Controls Console Manager (CCM)

The Controls Console Manager (CCM) is an application launcher in the shape of a menu tree allowing the launch and control of accelerator controls applications in CERN's operational environments.

The CCM provides the following services:

  • Eight virtual desktops, called Context. The contexts allow accelerator operators and physicists to open different sets of applications to tweak accelerator controls and to easily switch from one configuration to another. When switching context, the related applications are automatically iconified and restored by the CCM;
  • A SHared REGistry (SHREG), a local server, simplifying the communication between running applications;
  • An active task menu which keeps the list of running applications managed by the CCM. This allows to hide/show/close any application;
  • A search text feature allowing you to search for an application by its name, menu item's name, etc.;
  • Display of some system information like the CPU load average, the available memory, etc. in order to detect if the workstation is overloaded or has memory problems.

Each CCM operational environment set of data is called an Operational Configuration (OpConfig) and it has its associated menu tree.
The image below shows the CCM for the Anti-proton Decelerator (AD) operational configuration:

CCM for the AD machine

The CCM menu trees and application definitions are editable thanks to another application, the CCM Editor, written in Java with JavaFX application, as shown below. The CCM Editor also allows the definition of the Applications characteristics such as the command line, window title, etc.

CCM Editor


What are the main technologies involved?

The CCM is written using Java Swing technology.
The communication with the SHREG server is based on Java RMI technology, and therfore it is only usable by Java applications. 

There are plans to migrate to a more technology-agnostic solution in the coming years to open the CCM services to other UI technology such as Python, C++ , WINCC OA, Web apps, etc.