Glossary

An alphabetical list of terms with a short description. To help distinguish between the plain English meaning of these terms, and our more specific use, we Capitalize terms from this glossary when we refer to the LECO-specific meaning.

Actor

An Actor offers a standardized interface to the LECO network to communicate with some Device. This happens via a Driver contained in the Actor, see Actor. An Actor implements the mapping/translation between LECO messages and the Driver’s interface.

Component

A type of entity, a set of which make up the LECO communication Network, see Components.

Component name

The individual name in a Node, under which a Component can be addressed, see Naming scheme.

Coordinator

A Component primarily concerned with routing/coordinating the message flow between other Components, see Coordinator. There are Control Coordinators, Data Coordinators, and Logging Coordinators.

Device

Some piece of hardware controlled by a Driver.

Director

A Component which takes part in orchestrating a (i.e. LECO-controlled) measurement setup, see Director.

Directory

Each Coordinator maintains a local Directory with all the Components connected to it (i.e. other Coordinators and the Components of its own Node), and a global Directory with all Components in the whole Network, see Directory.

Driver

An object that takes care of communicating with a Device. This object is external to LECO, for example coming from and instrument control library like pymeasure, instrumentkit or yaq. See Driver.

Full name

The name of a Component unique for the whole setup. It consists of the namespace and component-name, see Naming scheme.

LECO

The Laboratory Experiment COntrol protocol framework.

Message

A LECO Message is one set of data transmitted from one Component to another, see Messages. Messages are broadly divided into three categories or “channels”: control, data, and logging messages.

Message Layer

The Message Layer is the communication layer that concerns itself with LECO message (de)composition, validation, serialisation, etc., see Message Layer.

TODO

This is maybe gonna use Avro, but we still need to hash that out.

Message Transport Mode (LMT/DMT)

The Node-local Message Layer can have a local or distributed mode, see Message Transport Mode (LMT/DMT).

Namespace

The name of a Node in the Network, see Naming scheme.

Node

A Node is a local context in which (part of) a LECO deployment runs. This may be a single application using one or more threads or processes. A LECO network has one or more Nodes, see Node.

Network

The web of Components communicating with each other in a LECO deployment.

Observer

A Component that receives data from other Components, e.g. for logging, storage, or plotting, see Observer.

Processor

A Component on the LECO network which runs some kind of processing operation on one or more inputs and produces one or more outputs. Can be stateful or stateless. See Processor.

Transport Layer

The Transport Layer is the communication layer that transports LECO messages between Components. This uses zeromq or simpler localised methods, see Message Transport Mode above. See Transport Layer.