CMSDK 2.0.1
Cross-platform C++ base library and SDK for the Psyclone AIOS platform
Loading...
Searching...
No Matches
Using CMSDK in Psyclone

This track is for developers writing software for the Psyclone platform — modules and their cranks, PsySpecs, whiteboards and catalogs. It takes you from first contact to expert use, in order. If instead you want to use CMSDK as a standalone C++ library with no Psyclone involved, see Using CMSDK standalone.

Psyclone is a general-purpose platform for deploying multiple processes with powerful message and stream communications, built on a publish–subscribe core. CMSDK provides the two fundamental objects a Psyclone component works through — cmlabs::PsyAPI and cmlabs::PsySpace — plus the messaging, memory and timing machinery beneath them.

The guide, in reading order

  1. What is CMSDK? — the elevator story and the mental model: nodes, spaces, modules, cranks, messages, whiteboards, catalogs.
  2. Getting Started — build, run your first system, watch it in PsyProbe (the built-in web monitor).
  3. Core Concepts — publish–subscribe, triggers, contexts, signals, the message lifecycle and the PsySpec-vs-code separation.
  4. Writing a Module (Crank) — the crank contract, the PsyAPI handle, one-shot vs long-running cranks and the concurrency rules.
  5. Writing a PsySpec — the XML wiring language, element by element, from runnable examples.
  6. Whiteboards & Catalogs — storing and retrieving messages, the built-in catalogs, queries.
  7. Distributed Systems — spaces (process isolation) and nodes (multiple machines).
  8. Going Deeper — shared memory and the ABI rule, threading, the request fabric, the built-in HTTP server, microsecond time, SSL.
  9. Examples Index — every shipped example, one line each.