Speaker
Description
Control systems are inherently asynchronous: devices emit events, commands propagate across networks, and system state evolves continuously. Yet application code interacting with these systems is often written in imperative styles that make complex asynchronous flows difficult to express and maintain.
This talk explores a different approach: applying ReactiveX principles to the Tango control system.
Using the open-source project RxJTango, we demonstrate how Tango attributes, commands, and events can be modeled as reactive streams. This enables developers to compose device interactions using high-level operators such as filtering, merging, throttling, or retrying.
A live demo will show how this model can simplify common patterns in control-system development, including:
reacting to state changes across multiple devices
composing event-driven workflows
implementing robust error-handling strategies
coordinating distributed device interactions
Beyond the prototype implementation in Java, the talk will discuss how reactive abstractions could be implemented in other Tango ecosystems (C++, Python) and how such approaches might influence the future design of control-system APIs.
| Tags | library |
|---|