Skip to content

Librux in 3 Minutes

Librux is easiest to understand as a runtime kernel for software-defined robots.

Librux models the robot before it models a process. Each deployment describes one robot composition, a reusable platform plus an application, made concrete by deployment data.

Robot = Platform + Application + Deployment

The runtime owns the concerns around that definition, including validation, launch, spec-defined communication, federation, timing state, diagnostics, and resource admission.

flowchart TB ROBOT["Robot"] PLATFORM["Platform<br/>what the robot is"] APP["Application<br/>what the robot should do"] DEPLOY["Deployment<br/>what runs and how it connects"] RUNTIME["Librux Runtime"] SPEC["Librux Spec"] subgraph PIECES["Executable Pieces"] G1["gateways"] C1["components"] C2["compounds"] A1["applications"] end PLATFORM --> ROBOT APP --> ROBOT ROBOT --> DEPLOY DEPLOY --> RUNTIME RUNTIME --> PIECES SPEC -.-> PIECES

The Core Objects

Robot
The top-level Librux composition unit. A robot is one platform, one application selection, and the deployment data that binds concrete runtime pieces together.
Platform
The app-less definition of what the robot is and what it can provide. It is compound internally. Deeper pages break it into parts, slots, API contracts, compound subsystems, and robot capabilities.
Application
The top-level app for one robot. It declares the platform capabilities it needs and may constrain optional platform compatibility labels.
Deployment
The concrete composition. It chooses the packages to run, records launch modes and host placement, and connects gateway, component, compound, and application pieces.
Subsystem
The executable and contract-bearing unit inside a robot composition. After the robot, application, and deployment model is clear, subsystems are the concrete gateway, component, compound, or application pieces that run.
Managed Package
The deployable execution unit that wraps one subsystem. A package declares the entrypoint, arguments, environment, resource claims, and optionally a static package frontend.
Librux Runtime
The host runtime that validates deployments, launches managed packages, admits requested resources before start, carries time-stamped packets, and routes communication locally or across federation.
Librux Spec
The public contract vocabulary implemented by subsystems and robot capabilities. It defines message schemas, API contracts, components, and communication surfaces.
Time-Stamped Packet
The packet exchanged between subsystems with timing metadata attached by the runtime. Librux uses this timing context to support local and cross-host execution semantics.

Terminology rule. Use subsystem for the runtime unit that registers, launches, communicates, and is validated by Librux. The word component appears in two controlled places. In role: component, it means a subsystem role for a replaceable robot function between gateways and compound or application layers. In public contract IDs such as component.*, it means the compatibility contract or API bundle exposed by that role. Do not use component as a generic synonym for subsystem. API contracts use domain namespaces such as api.motion.*, api.locomotion.*, and api.io.*.

Federation

When one robot spans machines, each host keeps its own managed packages and subsystems. Federation connects the Librux runtimes on those hosts, then each runtime routes the time-stamped packet to its local subsystems. Federation is host composition for one robot, not the primary model for a fleet.

flowchart LR subgraph H1["Host A"] LA["Librux Runtime"] subgraph PA["Managed Package A"] A1["Subsystem A"] end A1 -->|"local Time-Stamped Packet"| LA end subgraph H2["Host B"] LB["Librux Runtime"] subgraph PB["Managed Package B"] B1["Subsystem B"] end LB -->|"local delivery"| B1 end LA <-->|"federated Time-Stamped Packet"| LB

Subsystem code still thinks in terms of the same robot deployment and spec-defined communication model. Librux owns the cross-host route and local delivery.

The Practical Rule

Use Librux when the robot system needs the following.

  • a robot definition that separates platform, application, and deployment
  • a stable subsystem model from local development to multi-host deployment
  • explicit contracts instead of ad-hoc message shapes
  • control-owned remote routing instead of per-subsystem socket wiring
  • managed launch and resource admission for product deployments
  • timing state that is visible and accepted before one-way cross-host timing is trusted

Continue next with Robot, Application, And Deployment or the deeper Design Philosophy.