ROS 2 / K8S LAB
SCENARIO 01 · P1 / FIRST EXPERIMENT

ROS 2 DDS & Kubernetes Fault Diagnosis with Jev

A listener stops receiving messages. Is the cause DDS discovery, QoS, networking or resource pressure? Build a transparent diagnostic comparison without touching a robot.

Proposal · not benchmarkedBeginner → MScLaptop only for casebook
CONCEPTUAL WORKFLOW / NOT LIVEROBOTICS · CLOUD · AI
SIMULATED / RESEARCH BLUEPRINTNO ACTUATION

See the idea in a minute

A listener goes quiet. Clues pile up, plain code sorts the cause, and a person reviews it. Press play or pick a step. Every part of this picture is made up for teaching.

Why did the listener go quiet?

Illustration · synthetic
A made-up ROS 2 listener goes quiet, and the cause is sorted in five steps A publisher on the left sends messages toward a subscriber on the right. The publisher is set to best-effort delivery and the subscriber asks for reliable delivery, so the messages stop at a marker labelled Messages stop here. An evidence strip then holds two clues: a log line saying incompatible QoS and the two QoS settings. A hard gate made of ordinary code names the family as QoS incompatibility. An optional Jev advice slot is marked advisory only. A person then reviews and decides what to do. All of it is synthetic. No real ROS 2 traffic and no Jev answer is shown. Publishersends Subscriberlistens Messages stop here best-effortreliable QoS mismatch Evidence: log lineincompatible QoSmade-up log text Evidence: QoS settingspublisher: best-effortsubscriber: reliable Hard gateFamily: QoS incompatibility Jev adviceOptional · advisory only Human reviewA person decides what to do
Step 1 of 5

Made up for teaching. No real ROS 2 traffic, no Jev inference, no result and no robot. The study that would measure Jev against a rule baseline is a proposal and has not been run.

Plain-language guide

QoS (quality of service)
Settings in ROS 2 that say how a topic delivers messages, such as best-effort or reliable. A subscriber that asks for reliable delivery cannot connect to a best-effort publisher, so it receives nothing.
DDS discovery
The way ROS 2 programs find each other over DDS, the messaging layer under ROS 2. If discovery fails, a listener may never learn that a publisher exists.
Hard gate
An ordinary code check that must pass first. Here it reads the clues and names the family of problem. Jev cannot override it.
Jev
A structured decision model this research proposes to try as an optional adviser. Its answers are advice, never permissions or commands, and a person still reviews the result.
01 / What are we studying?

One real research question, not a product claim.

A fictional ROS 2 listener has missed a publisher's messages. The provided record might point to QoS incompatibility, DDS discovery, missing connectivity, or insufficient evidence; the underlying cause is deliberately not assumed.

Research hypothesis

Question: Can a bounded Jev Choice improve held-out synthetic incident classification over a deterministic rule baseline without overconfident diagnoses?

Null hypothesis: Jev offers no meaningful increase in macro-F1 or selective coverage at a fixed error rate compared with a simple offline rule baseline.

Alternative: Jev adds diagnostic information on ambiguous cases while preserving an unknown/review option; this must be measured on held-out data.

Audience & learning targets

ROS 2 students · SREs · teaching assistants · Beginner → MSc · Laptop only for casebook

  • Distinguish ROS 2 application nodes from Kubernetes worker nodes.
  • Identify reliability and durability QoS mismatches versus DDS discovery gaps.
  • Treat ambiguous logs as evidence, not commands; practice abstention.
  • Measure a structured classifier against a deterministic baseline.
02 / Interactive walkthrough

Follow an illustrative decision trace.

Select a fabricated case and trace where conventional code, an optional Jev judgment, and human review belong. This animation is preauthored educational content: it performs no inference, no API call, and no robot action.

SYNTHETIC ONLY
A fictional ROS 2 listener has missed a publisher's messages. The provided record might point to QoS incompatibility, DDS discovery, missing connectivity, or insufficient evidence; the underlying cause is deliberately not assumed.

Illustrative stage 1 of 4: Synthetic ROS 2 and pod events

Visual explanation only; Jev probabilities and experimental outcomes are intentionally absent.

Keyboard users: select a case or activate any stage button. The animation can be paused in the header, and system reduced-motion preferences are supported.

03 / Experiment blueprint

Variables, baselines and measurements.

Before anyone reports performance, the task, failure cases, comparison methods and test split must be fixed. Keep negative results and rejected advice visible.

Research dimensionProposed measurement contract
Dataset20–40 starter synthetic incidents across discovery, QoS, network, resource, healthy and unknown; family-grouped held-out test set for later research.
BaselineRule-based event triage and majority-class/always-unknown controls. Define label criteria before model evaluation.
VariablesEvent completeness, contradictions, ROS distro wording, log injection, Choice option order and Jev question wording.
Failure casesStale timestamp, missing QoS metadata, conflicting evidence, API 429/timeout, malicious text inside a simulated log.
Primary metricsMacro-F1, per-class recall and selective risk vs accepted-coverage; measured end-to-end p95 and provider availability later.
ReproducibilitySeed, synthetic fixture family, model/request revision, criteria hash, failures, abstentions and exact source commit.

Suggested experiment procedure

  1. Author a small licensed synthetic incident corpus with class rationale, ambiguity flags and family IDs.
  2. Specify the input/output schema and deterministic rules (no provider key required).
  3. Split by incident family; preserve a held-out test set and preregister evaluation targets.
  4. Optionally query pinned Jev on sanitized synthetic state with an explicit cost/network budget.
  5. Report accepted/rejected/unknown outcomes, confidence calibration and runtime/cost evidence from real runs only.

What a contribution should produce

  • Synthetic incident casebook + label guidelines
  • Versioned schema and offline baseline tests
  • Reproducibility manifest and raw predictions (only after actual runs)
  • Error analysis and confidence/abstention charts (only from observed data)

Required before publishing a result: independent run ID, method, seed, source/model revisions, environment, raw measurements, executable analysis, errors/limitations and human review.

04 / Evidence not marketing

Current results: not measured.

No verified experiment results yet

No Jev-vs-baseline accuracy, latency, energy, fairness or simulator task-success result is available for this scenario. The website does not fabricate graphs or sample performance numbers. Future evidence must include raw data and replay instructions.

Open results registry ↗

Dependencies and research honesty

Follow existing research work #74 and the broader scenario epic #83. The legacy Vagrant/Foxy manifests and current Jazzy image-local test do not establish multi-worker DDS or physical robot integration.

Safety: no actuator commands, unrestricted cluster operations, or vendor data collection from this static demonstration.