Alarm System

The Alarm System provides a mechanism for notifying asynchronously operators and registered applications of the occurrence of important anomalous conditions that can disrupt the observation or be potentially dangerous for the system[RD01 - 6.4.1 Definition].

The design and implementation of the ACS Alarm System are based on the Laser system developed by CERN for the LHC accelerator [RD19] and take into account the OVRO hierarchical alarm system [RD22][RD01 - 6.4.5. Hierarchy]. For more details on the Laser system and for a very good Alarm System Requirements Document see [RD19].

An Alarm System API implemented in C++, Java and Python allows applications to publish Alarms.

Properties are able to trigger alarms. The simple alarm is triggered when the value of the property exceeds or falls below the alarm limits defined for the property.

Hysteresis could be implemented for the alarm limits (Implementation not foreseen for ALMA).

Alarms are events published on an Alarm Notification Channel. Notification is done when the alarm is set and when it is cleared.

Whenever an alarm is set or cleared, the event is logged in the Logging System [RD01 - 6.4.6. Alarm logging].

Alarm events are characterized by the following information:

An Alarm Server application keeps track of all active alarms.

Hierarchical alarms can be constructed by the Alarm Server that behaves as client on top of the available alarm system and re-publish hierarchical alarms.

The Alarm Server is also responsible to maintain State Alarms. These are alarms that maintain an internal state. In this case the alarm will be incarnated by an Alarm Object whose life cycle is controlled by the Alarm Server. They will have the following additional properties:

It is possible to define actions that have to be started on the occurrence of a given alarm condition [RD01 - 6.4.8. Binding]. Applications can use normal Notification Channel techniques to request a notification to be sent for the occurrence of specific alarms.

An alarmDisplay GUI provides an operator user interface to the alarms. Using this application the operator can browse through the currently active alarms, request for detailed information and help about a specific alarm, acknowledge alarms when this is required.

The Alarm System supports the definition of reduction rules.


Figure 3.20: Alarm System architecture