25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# 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.
|
|
- **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 `FastPollingMutexSem` or 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.
|