Files
marte-debug/SPECS.md
2026-02-21 22:30:16 +01:00

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 TcpLogger service.
  • 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.