1.5 KiB
1.5 KiB
MARTe2 Debug Suite Specifications
1. Goal
Implement a "Zero-Code-Change" observability layer for the MARTe2 real-time framework, providing live telemetry, signal forcing, and execution control without modifying existing application source code.
2. Requirements
2.1 Functional Requirements (FR)
- FR-01 (Discovery): Discover the full MARTe2 object hierarchy at runtime.
- FR-02 (Telemetry): Stream high-frequency signal data (verified up to 100Hz) to a remote client.
- FR-03 (Forcing): Allow manual override of signal values in memory during execution.
- FR-04 (Logs): Stream global framework logs to a dedicated terminal via a standalone
TcpLoggerservice. - FR-05 (Execution Control): Pause and resume the real-time execution threads via scheduler injection.
- FR-06 (UI): Provide a native, immediate-mode GUI for visualization (Oscilloscope).
2.2 Technical Constraints (TC)
- TC-01: No modifications allowed to the MARTe2 core library or component source code.
- TC-02: Instrumentation must use Runtime Class Registry Patching.
- TC-03: Real-time threads must remain lock-free; use
FastPollingMutexSemor atomic operations for synchronization. - TC-04: Telemetry must be delivered via UDP to minimize impact on real-time jitter.
3. Performance Metrics
- Latency: Telemetry dispatch overhead < 5 microseconds per signal.
- Throughput: Support for 100Hz+ sampling rates with zero packet loss on local networks.
- Scalability: Handle up to 4096 unique signals and 16 simultaneous client connections.