zerodds-rtc
OMG RTC 1.0 (formal/2008-04-04) — Robotic Technology Component.
Lightweight RTC + ExecutionContext + lifecycle state machine +
Periodic/Stimulus/Mode profiles + resource introspection. Local PSM
(§6.3) compliant; no_std + alloc, forbid(unsafe_code). Safety
classification: STANDARD.
Spec mapping
| Spec | Section |
|---|---|
| OMG RTC 1.0 | §5.2.1 ReturnCode_t |
| OMG RTC 1.0 | §5.2.2.2 LightweightRTObject |
| OMG RTC 1.0 | §5.2.2.3 LifeCycle |
| OMG RTC 1.0 | §5.2.2.4 Component-Action-Trait |
| OMG RTC 1.0 | §5.2.2.5 / §5.2.2.6 ExecutionContext |
| OMG RTC 1.0 | §5.2.2.7 ExecutionKind |
| OMG RTC 1.0 | §5.3 Execution-Semantics (Periodic/Stimulus/Modes) |
| OMG RTC 1.0 | §5.4 Resource Data Model |
| OMG RTC 1.0 | §6.3 Local PSM |
What's included
return_code—ReturnCodewith all 6 status codes plusis_ok()/into_result()helpers.lifecycle—LifeCycleState,ExecutionKind,ComponentActiontrait + state-machine enforcement.object—LightweightRtObject,ExecutionContextHandle.execution—ExecutionContext,ExecutionContextOperationstrait.semantics—DataFlowComponentAction(Periodic),FsmComponentAction(Stimulus),MultiModeComponentAction+ModeOfOperation(Modes).resource—Introspection,ComponentProfile,PortProfile,ConnectorProfile,PortDirection,ProfileId.
What's not covered
- CORBA PSM (§6.5) — requires a CORBA ORB; ZeroDDS has none.
- Lightweight CCM PSM (§6.4) — requires an LwCCM container; see
crates/ccm/, which provides the IDL-equivalent transformation but no container. - §5.4 discovery/wire aspect — partial: the resource data model is in the crate, the discovery wire aspect is not.
Example
use ReturnCode;
// Spec §5.2.1.1: ReturnCode::Ok is the only OK code.
assert!;
assert!;
assert_eq!;
Tests