Skip to main content

Glossary

Definitions of key terms and concepts used in Cerulion Graph Editor and the Cerulion platform.

A

Array

A collection type that holds multiple values of the same type. Arrays can be fixed-length or variable-length. Defined in schemas as array<element_type>.

C

Canvas

The main workspace in the Graph Editor where you place nodes and draw connections. The canvas is zoomable and pannable.

Connection

A visual link between two ports that creates a topic. Connections are drawn from output ports to input ports.

D

Data Flow

The movement of data through a graph, from publishers through processors to subscribers. Data flow is defined by connections between nodes.

F

Fan-In

A pattern where multiple publishers send data to a single subscriber. Requires a join node to synchronize multiple inputs.

Fan-Out

A pattern where one publisher sends data to multiple subscribers. Each subscriber receives its own copy of the data.

Field

A component of a schema that defines a single piece of data. Fields have a name and a type.

G

Graph

A visual representation of a data pipeline, consisting of nodes connected by topics. Graphs define the structure and flow of data processing.

Generate

The process of creating framework code from a visual graph design. Generation creates communication code, type definitions, and build configuration.

I

Input Port

A connection point on the left side of a node that receives data. Input ports are blue (normal) or red (trigger).

J

Join Node

A special node that synchronizes data from multiple inputs. Join nodes wait for data on all inputs before processing.

L

A visual connection between ports. Links are drawn on the canvas and automatically create topics.

Local Transport

Communication method using shared memory (iceoryx2) for nodes on the same machine. Provides sub-microsecond latency with zero-copy.

N

Network Transport

Communication method using Zenoh for nodes on different machines. Provides async, non-blocking network communication.

Node

A computation unit in a graph. Nodes contain code that processes data and have input and output ports for data flow.

O

Output Port

A connection point on the right side of a node that sends data. Output ports are green.

P

Port

A connection point on a node. Ports can be inputs (receive data) or outputs (send data). Ports are typed and ensure type safety.

Project

A container for related graphs, schemas, and node code. Projects organize your work and can be shared.

Publisher

A node that generates and sends data. Publishers typically have no inputs (or minimal configuration inputs) and one or more outputs.

S

Schema

A definition of data structure. Schemas define field names and types, ensuring type safety across the graph. Schemas are defined in YAML.

Subscriber

A node that receives and consumes data. Subscribers typically have one or more inputs and no outputs (or minimal status outputs).

T

Topic

A named, typed data channel that connects nodes. Topics are automatically created when you connect nodes and ensure type safety.

Trigger

An input port configuration that determines when a node executes. When data arrives on a trigger input, the node runs. By default, all inputs are triggers.

Type Safety

The guarantee that only compatible data types can flow through connections. Type safety prevents runtime errors from mismatched data.

V

Validation

The process of checking schemas, connections, and code for correctness. Validation happens before code generation and catches errors early.

Common Patterns

Publisher-Subscriber Pattern

A simple pattern with one publisher and one subscriber connected by a topic.

Pipeline Pattern

A sequential pattern where data flows through multiple processing stages: Publisher → Processor 1 → Processor 2 → Subscriber.

Fan-Out Pattern

A broadcasting pattern where one publisher sends to multiple subscribers.

Fan-In Pattern

A collection pattern where multiple publishers send to one subscriber (via a join node).

Cerulion Core

The underlying framework that provides pub/sub communication, serialization, and transport. Graph Editor generates code that uses Cerulion Core.

Code Generation

The automatic creation of framework code from visual graph designs. Code generation handles communication, serialization, and integration.

Multi-Language Support

The ability to mix Rust, Python, and C++ nodes in the same graph. The framework handles type conversion and communication automatically.

Next Steps