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.