CSP.LMC software architecture

This section provides a high-level view of the CSP.LMC software architecture and its main building blocks.

CSP.LMC is implemented as a set of cooperating software layers that together enable command execution, state monitoring, and supervision of the CSP subsystems. These layers are designed to address distinct concerns while remaining loosely coupled and evolvable over time.

At a conceptual level, the architecture is organized around:

  • a subsystem abstraction layer (Components), which provides a uniform software interface to CSP subsystems such as CBF, PSS, and PST, shielding higher-level logic from direct TANGO interactions;

  • a Long Running Command (LRC) layer, responsible for composing, executing, and tracking asynchronous operations that span multiple subsystems and devices;

  • a monitoring and supervision layer, which ingests asynchronous subsystem events, maintains a coherent system view, and publishes stable and consistent state information.

These layers are not isolated silos: they interact through well-defined interfaces and shared models, forming a coherent control architecture that supports asynchronous operation, fault handling, and observation supervision.

The following sections describe each architectural area in more detail.