JACoW logo

Joint Accelerator Conferences Website

The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.


RIS citation export for MOBPL06: Reactive Programming, and How It Fits Within Control Systems

TY - UNPB
AU - Michel, V.
ED - Schaa, Volker RW
ED - Costa, Isidre
ED - Fernández, David
ED - Matilla, Óscar
TI - Reactive Programming, and How It Fits Within Control Systems
J2 - Proc. of ICALEPCS2017, Barcelona, Spain, 8-13 October 2017
C1 - Barcelona, Spain
T2 - International Conference on Accelerator and Large Experimental Control Systems
T3 - 16
LA - english
AB - The MAX-IV synchrotron decided to adopt events as the main communication channel in order to increase both the responsiveness and reliability of its TANGO* control system. That means the tango (software) devices do not perform read hardware operation on client request but instead maintain a reliable communication with the hardware while publishing the data through event channels. Reactive programming** is an asynchronous programming paradigm oriented around data streams and the propagation of change. Instead of using the traditional imperative approach of maintaining the integrity of variables, a reactive program expresses the relationship between data streams. High-level tango devices (software devices aggregating data from other tango devices) make very good candidates for reactive programming. More precisely, it is possible to describe the attributes of those devices as relationships, where the input data comes from the event channels of lower-level devices. The facadedevice*** python library is an attempt to implement the reactive machinery within a tango device base class, and provides a descriptive API for defining the relationships in a clear and concise way.
PB - JACoW
CP - Geneva, Switzerland
ER -