CMLabs · Psyclone AIOS

# Glossary

The core Psyclone vocabulary in one place — every term in one or two plain sentences, with a link to the chapter that covers it in depth.

## Terms

Term | Definition | Chapter
--- | --- | ---
AIOS | “AI Operating System” — the full product name is Psyclone AIOS. Not an OS you install on hardware, but the runtime that hosts, connects and monitors the components of your application. | 1
PsySpec | The single XML file that declares an entire system: every component, its triggers, cranks and posts, plus nodes, spaces, contexts and variables. | 3, 13
Component | A running part of a Psyclone system: a module, whiteboard or catalog. | 1
Module | The basic building block: subscribes to input messages via triggers, processes them in crank functions, and publishes results through posts. | 4
Crank | The function (C++ or Python) that does a component's actual work; it is called when a trigger fires and talks to the system through a `PsyAPI` handle. Built-in cranks (like `Ping`) need no user code. | 4
Trigger | A module's input declaration: which message type(s) wake the module. Crank code refers to triggers by name, so rerouting is a spec-only change. | 4, 5
Post | A module's output declaration: what message type an output published by the crank gets, and optionally where a direct copy goes. | 4, 5
DataMessage | The universal data container that travels between components: typed entries (int, float, string, time, binary, nested messages) plus header fields like type, timestamps and tags. | 9
PsyType (message type) | A message's dot-notation type, e.g. `input.video.raw` — increasingly specific left to right. Posts apply types; triggers and subscriptions match them, exactly or with wildcards. | 5
Signal | A lightweight broadcast that bypasses subscription matching — the fast lane. Think of a conductor's stick beating time in a simulation. | 5
Context | A named situation (e.g. `SoB.Alive.Awake`) that selects which trigger/post sets are active in each module — the mechanism for reconfiguring dataflow at runtime. | 6
Whiteboard | A message store: keeps posted messages and offers a retrieval query language, plus visual message viewing and filtering in PsyProbe. Under the hood, a specialised catalog. | 7
Catalog | An advanced module that additionally answers synchronous queries: a data store with a query language, or a conduit to an external system. | 8
Query | A synchronous request/reply exchange with a catalog (or whiteboard), in contrast to the asynchronous publish/subscribe message flow. | 8
Node | One running Psyclone instance. A distributed system is a master node plus satellite nodes declared in the master's PsySpec. | 10
System ID (`sysid`) | A 16-bit number identifying a running Psyclone system. An external program links CMSDK and calls `PsySpace::connect(sysid)` with this ID to attach to that system (a single local system is `1`). | 4, 10
Space | A separate OS process within a node. Components in a crashing space are restarted without harming the rest of the system — crash isolation. | 10
PsyProbe | Psyclone's built-in web interface for live monitoring and interaction, served over HTTP on the main port (default `http://localhost:10000/`). | 12
CMSDK | The bundled base library (threads, networking, shared memory, timing…) that Psyclone is built on and that your crank libraries compile and link against. | 2, 4

Tip. New to all of this? Read Introduction and Core Concepts first — they introduce these terms in order and with diagrams.
PreviousTutorials NextOverview